@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700&display=swap";:root{font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#3d0a28;background:#ffe6f1;--pink-50: #fff5fa;--pink-100: #ffe0f0;--pink-200: #ffbfe0;--pink-300: #ff9fd1;--pink-400: #ff7bc0;--pink-500: #ff4fa8;--pink-600: #f03c96;--pink-700: #d0267c;--pink-800: #a71c63;--pink-900: #7b134a}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(255,127,191,.35),transparent 55%),radial-gradient(circle at bottom right,rgba(255,200,230,.55),transparent 55%),linear-gradient(135deg,var(--pink-50),#ffeef6);animation:blush 18s ease-in-out infinite alternate}@keyframes blush{0%{background-position:0% 0%,100% 100%,0% 0%}to{background-position:15% 10%,85% 90%,100% 100%}}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh;position:relative;overflow-x:hidden}.sidebar{width:260px;flex-shrink:0;background:#ff9fd1eb;color:#fff0f7;padding:32px 24px 40px;display:flex;flex-direction:column;gap:30px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid rgba(255,255,255,.45);position:relative;overflow:hidden}.sidebar:before,.sidebar:after{content:"";position:absolute;border-radius:999px;background:#ffffff47;filter:blur(0);animation:floaty 14s ease-in-out infinite}.sidebar:before{width:140px;height:140px;top:-60px;right:-20px}.sidebar:after{width:110px;height:110px;bottom:-40px;left:20px;animation-delay:6s}.sidebar h1{margin:0;font-size:22px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;gap:8px}.sidebar h1:before{content:"💮";font-size:24px}.nav-links{display:flex;flex-direction:column;gap:12px}.nav-link{padding:12px 14px;border-radius:14px;color:#fff5fae6;transition:background .25s ease,transform .2s ease,box-shadow .2s ease;font-weight:600;-webkit-tap-highlight-color:rgba(255,255,255,.2);touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer}.nav-link.active{background:#ffffff47;color:#fff;box-shadow:0 12px 24px #ff6fb440}.nav-link:hover{background:#fff3;transform:translateY(-2px)}.nav-link:active{background:#ffffff4d;transform:translateY(0)}.content{flex:1;padding:48px clamp(24px,6vw,64px);display:flex;flex-direction:column;gap:32px;position:relative}.content:before{content:"";position:absolute;top:20px;right:32px;bottom:20px;left:32px;border-radius:36px;border:1px dashed rgba(255,140,201,.2);pointer-events:none}.content-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.content-header h2{margin:0;font-size:28px;font-weight:600;display:inline-flex;align-items:center;gap:10px}.content-header h2:before{content:"🌸";font-size:28px}.content-subtitle{color:#3d0a2894;margin-top:6px;font-size:15px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.status-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(120px,1fr))}.dashboard-preset-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width: 960px){.dashboard-preset-grid{gap:18px}}.card{background:#fffffff2;border-radius:16px;padding:14px 16px;box-shadow:0 18px 48px #ff6fb42e;display:flex;flex-direction:column;gap:10px;transition:transform .2s ease,box-shadow .2s ease;border:1px solid rgba(255,127,191,.25)}.card:hover{transform:translateY(-4px);box-shadow:0 26px 60px #ff6fb440}.card-title{font-size:16px;font-weight:600;color:var(--pink-800)}.card-value{font-size:22px;font-weight:700;color:var(--pink-900)}.card-meta{font-size:14px;color:#3d0a28a6}.section{display:flex;flex-direction:column;gap:16px}.section h3{margin:0;font-size:20px;font-weight:600;color:#d0267c;display:inline-flex;align-items:center;gap:8px}.section h3:before{content:"✨"}.panel{padding:24px;border-radius:20px;background:#fff5faeb;border:1px solid rgba(255,159,209,.3);box-shadow:0 12px 32px #ff7fbf26;display:flex;flex-direction:column;gap:20px}.user-chip-group{display:flex;flex-wrap:wrap;gap:12px}.user-chip{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:180px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,159,209,.35);background:#fff9fceb;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.user-chip:hover{border-color:#ff4fa880;box-shadow:0 6px 20px #ff6fb433}.user-chip.active{border-color:#ff4fa8bf;background:#ff7fbf26}.user-chip.current{background:#ffd9e8a6}.user-chip-name{font-size:15px;font-weight:600;color:var(--pink-800)}.user-chip-meta{font-size:13px;color:#3d0a288c}.button{border:none;border-radius:999px;padding:12px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;position:relative;overflow:hidden}.button-primary{background:linear-gradient(135deg,var(--pink-500),var(--pink-600));color:#fff4fb}.button-secondary{background:#ff7fbf26;color:var(--pink-700)}.button-danger{background:#ff6d922e;color:#c81e5f}.button:hover{transform:translateY(-2px);box-shadow:0 12px 20px #ff7fbf33}.button:active{transform:translateY(0);box-shadow:0 4px 12px #ff7fbf4d}.button:after{content:"";position:absolute;top:50%;right:50%;bottom:50%;left:50%;width:16px;height:16px;border-radius:50%;background:#ffffff73;transform:translate(-50%,-50%) scale(0);opacity:.85;transition:transform .45s ease,opacity .6s ease}.button:active:after{transform:translate(-50%,-50%) scale(18);opacity:0}.button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:16px;border:1px solid rgba(255,159,209,.25)}.table thead{background:#ff9fd126;color:var(--pink-800)}.table th,.table td{padding:14px 16px;text-align:left;font-size:14px}.table tbody tr:nth-child(2n){background:#fff6}.chip{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600}.chip-success{background:#ff9fd133;color:var(--pink-700)}.chip-warning{background:#ffd6b04d;color:#b45309}.chip-info{background:#ff9fd12e;color:var(--pink-700)}.notice{padding:12px 16px;border-radius:12px;font-size:13px;display:flex;align-items:center;gap:8px}.notice-error{background:#fecad980;color:#9d174d}.muted-text{font-size:13px;color:#3d0a288c}.input,select,textarea{padding:12px 14px;border-radius:14px;border:1px solid rgba(255,159,209,.35);background:#ffffffeb;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit}.input:focus,select:focus,textarea:focus{outline:none;border-color:#ff4fa899;box-shadow:0 0 0 4px #ff9fd140}.debug-panel{background:#47102c;color:#fde7f3;border-radius:16px;padding:20px;border:1px solid rgba(255,159,209,.3)}.debug-panel h4{margin:0 0 12px;font-size:16px;font-weight:600}.debug-panel pre{margin:0;padding:12px 14px;border-radius:12px;background:#3d0a28bf;overflow-x:auto;font-size:13px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:pre-wrap}.debug-panel pre+pre{margin-top:12px}.text-button{border:none;background:none;color:#d0267c;font-size:13px;cursor:pointer;padding:0}.text-button:hover{text-decoration:underline}.form-label{display:flex;flex-direction:column;gap:6px}.form-label--full{grid-column:1 / -1}.form-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.toggle-group,.toggle-group--wrap{display:flex;flex-wrap:wrap;gap:10px}.toggle-row{display:flex;flex-wrap:wrap;gap:10px;padding:4px 0 8px;margin-top:2px}.toggle-row>.toggle-button{white-space:nowrap}.toggle-button{border:1px solid rgba(240,112,184,.35);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;background:#ffffffe6;color:var(--pink-900);box-shadow:0 8px 18px #ff6fb426;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;flex-shrink:0}.toggle-button.is-active{background:var(--pink-400);color:#fff;box-shadow:0 14px 28px #f03c9640;border-color:transparent}.toggle-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.toggle-button:not(:disabled):hover{transform:translateY(-1px)}.toggle-button:not(:disabled):active{transform:scale(.95)}.toggle-button:focus-visible{outline:2px solid rgba(240,60,150,.6);outline-offset:2px}.toggle-button--compact{padding:6px 14px;font-size:13px;min-width:96px;text-align:center}.inline-field-group{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.inline-field{display:flex;flex-direction:column;gap:6px;min-width:110px;flex:1}.inline-field .input,.inline-field select{width:100%}.range-selector{width:100%;display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:18px;background:#ffffffeb;border:1px solid rgba(255,159,209,.25);box-shadow:0 16px 32px #ff6fb42e}.range-selector__header{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.range-selector__label{font-weight:600;color:var(--pink-800)}.range-selector__summary{font-size:14px;color:#3d0a28a6}.range-selector__clear{border:none;background:none;color:var(--pink-600);font-size:13px;font-weight:600;cursor:pointer;padding:0}.range-selector__body{display:flex;flex-direction:column;gap:12px}.range-selector__track{position:relative;height:8px;border-radius:999px;background:#f070b82e;cursor:pointer;touch-action:none}.range-selector__rail{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.range-selector__selection{position:absolute;top:0;height:100%;background:linear-gradient(90deg,var(--pink-300),var(--pink-500));border-radius:inherit}.range-selector__handle{position:absolute;top:50%;width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--pink-400);box-shadow:0 8px 18px #ff6fb440;transform:translate(-50%,-50%);cursor:grab;touch-action:none}.range-selector__handle:focus-visible{outline:none;box-shadow:0 0 0 3px #f070b859}.range-selector__scale{display:flex;justify-content:space-between;font-size:12px;color:#3d0a288c}.form-actions{align-self:flex-end;display:flex;gap:16px;margin-top:12px}.password-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,rgba(255,159,209,.35),transparent 55%),radial-gradient(circle at bottom right,rgba(255,200,230,.55),transparent 45%),linear-gradient(135deg,var(--pink-50),#ffe7f3);padding:24px}.password-gate__panel{width:min(420px,100%);background:#ffffffeb;border-radius:24px;border:1px solid rgba(255,159,209,.35);box-shadow:0 24px 60px #ff6fb438;padding:36px 32px;display:flex;flex-direction:column;gap:18px;text-align:center}.password-gate__emoji{font-size:42px}.password-gate__panel h1{margin:0;font-size:26px;font-weight:700;color:var(--pink-800)}.password-gate__panel p{margin:0;color:#3d0a2899}.password-gate__form{display:flex;flex-direction:column;gap:14px}.password-gate__hint{font-size:12px;color:#3d0a2873}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.fieldset{border:1px solid rgba(255,159,209,.35);border-radius:16px;padding:18px 20px;background:#ffffffd1;display:flex;flex-direction:column;gap:12px}.fieldset legend{padding:0 8px;font-size:14px;font-weight:600;color:var(--pink-800)}@keyframes floaty{0%{transform:translateY(0) translate(0) scale(1)}50%{transform:translateY(-18px) translate(10px) scale(1.04)}to{transform:translateY(0) translate(0) scale(1)}}@media (max-width: 960px){.app-shell{flex-direction:column}.sidebar{width:100%;position:sticky;top:0;z-index:8;flex-direction:row;align-items:center;justify-content:space-between;padding:18px clamp(18px,6vw,28px);gap:18px}.nav-links{flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:flex-end}.nav-link{padding:10px 12px;font-size:13px}.content{padding:32px clamp(18px,5vw,32px);gap:24px}.content:before{top:12px;right:16px;bottom:12px;left:16px;border-radius:24px}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.panel{padding:20px}.table th,.table td{padding:12px}}@media (max-width: 640px){.sidebar{flex-direction:column;align-items:stretch}.nav-links{width:100%;justify-content:flex-start}.nav-link{flex:1 1 calc(50% - 8px);text-align:center}.content-header{flex-direction:column;align-items:flex-start;gap:12px}.grid{grid-template-columns:1fr}.panel{padding:18px}.user-chip-group{flex-direction:column}.table{font-size:13px}.table th,.table td{padding:8px 6px}.form-grid{grid-template-columns:1fr;gap:16px}.status-card{padding:16px}.button{padding:10px 16px;font-size:14px}.monitor-card{min-width:260px;padding:16px}.monitor-card-grid{grid-template-columns:minmax(180px,1fr)}}.card-scroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.monitor-card{flex:0 0 auto;min-width:320px;background:#fff5faf5;border:1px solid rgba(255,159,209,.28);border-radius:18px;padding:18px;box-shadow:0 10px 28px #ff7fbf1f;display:flex;flex-direction:column;gap:12px}.monitor-card-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.monitor-card-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:12px}.monitor-card-slots{display:flex;flex-direction:column;gap:4px;margin-top:4px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}@keyframes successPop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes successShake{0%,to{transform:rotate(0)}10%,30%,50%,70%,90%{transform:rotate(-3deg)}20%,40%,60%,80%{transform:rotate(3deg)}}.success-animation{animation:successPop .3s ease-out,successShake .4s ease-in-out .3s}input[type=checkbox]{cursor:pointer;transition:transform .15s ease}input[type=checkbox]:checked{transform:scale(1.1)}input[type=checkbox]:active{transform:scale(.95)}.panel{transition:transform .2s ease,box-shadow .2s ease}.panel:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff9fd126}.status-card{padding:14px 18px;gap:6px;transition:transform .2s ease,box-shadow .2s ease}.status-card .card-title{font-size:15px}.status-card .card-value{font-size:20px}.status-card .card-meta{font-size:12px}.status-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #ff9fd133}.preset-selector{width:100%;display:flex;flex-direction:column;gap:18px}.preset-selector__venue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.preset-selector__sports{min-height:52px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.preset-selector__button{border:none;border-radius:14px;padding:10px 12px;font-size:14px;font-weight:600;color:var(--pink-900);background:#ffffffeb;box-shadow:0 10px 22px #ff6fb42e;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;width:100%;text-align:center}.preset-selector__button--venue{background:#f070b824;color:var(--pink-800)}.preset-selector__button--venue.is-active{background:var(--pink-400);color:#fff}.preset-selector__button.is-active{background:var(--pink-400);color:#fff;box-shadow:0 16px 28px #f03c9647}.preset-selector__button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.preset-selector__button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 18px 28px #ff6fb442}.preset-selector__button:not(:disabled):active{transform:translateY(0)}.preset-selector__button--sport{padding:8px 12px;font-size:13px;width:100%;background:#ffffffeb;color:var(--pink-900)}.preset-selector__button--sport.is-active{background:#fff7fb;color:var(--pink-700);border:1px solid rgba(240,112,184,.45);box-shadow:0 14px 26px #feaecf40}.preset-selector__hint,.preset-selector__empty{color:#3d0a2894;font-size:14px;padding:6px 0}.preset-selector__clear{border:none;background:none;color:var(--pink-700);font-weight:600;font-size:14px;padding:4px 0;cursor:pointer;transition:color .18s ease}.preset-selector__clear:hover{color:var(--pink-900);text-decoration:underline}.preset-selector__clear:disabled{opacity:.4;cursor:not-allowed;text-decoration:none}.confetti-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible;z-index:9999;animation:confetti-enter .18s ease-out}.confetti-overlay--fade{animation:confetti-fade .5s ease forwards}.confetti-particle{position:absolute;left:var(--confetti-origin-x, 50%);top:var(--confetti-origin-y, 35%);width:10px;height:18px;border-radius:4px;background:var(--confetti-color, #fff);box-shadow:0 0 8px #fff6;transform:translate(-50%,-50%);opacity:0;animation:confetti-flight var(--confetti-duration, 1.8s) cubic-bezier(.2,.9,.4,1) forwards}.confetti-particle:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:inherit;transform:rotate(45deg) scale(.65);border-radius:inherit;opacity:.75}.sparkle-pop{position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:9998;opacity:0;transition:opacity .12s ease}.sparkle-pop.is-active{opacity:1}.sparkle-pop__particle{position:absolute;width:8px;height:18px;border-radius:999px;background:var(--spark-color, #fff);transform-origin:center;transform:rotate(var(--spark-angle)) translateY(var(--spark-distance));filter:drop-shadow(0 0 10px rgba(255,255,255,.35));animation:sparkle-flight .44s ease-out forwards}@keyframes sparkle-flight{0%{opacity:1;transform:rotate(var(--spark-angle)) translateY(0) scale(.35)}70%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translateY(var(--spark-distance)) scale(.9)}}.fireworks-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:9997}.fireworks-overlay--fade{opacity:0;transition:opacity .5s ease}.firework{position:absolute;left:var(--firework-x, 50%);top:var(--firework-y, 40%);width:10px;height:10px;transform:translate(-50%,-50%);animation:firework-pop 1.8s ease-out forwards;animation-delay:var(--firework-delay, 0ms)}.firework__spark{position:absolute;left:50%;top:50%;width:6px;height:24px;border-radius:999px;transform-origin:center 10px;background:linear-gradient(to top,rgba(255,255,255,0),var(--firework-color, #fde68a));opacity:0;animation:firework-spark 1.3s ease-out forwards;animation-delay:calc(var(--firework-delay, 0ms) + 90ms)}.firework__spark:nth-child(n){transform:rotate(var(--spark-angle)) translateY(calc(var(--spark-distance) * -1))}.firework__halo{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:999px;background:radial-gradient(circle,#fff9,#fff0 60%);opacity:0;animation:firework-halo 1.4s ease-out forwards;animation-delay:calc(var(--firework-delay, 0ms) + .15s)}@keyframes firework-pop{0%{transform:translate(-50%,-10%);opacity:0}20%{opacity:1}to{transform:translate(-50%,-50%);opacity:.15}}@keyframes firework-spark{0%{opacity:0;transform:rotate(var(--spark-angle)) translateY(0) scaleY(.25)}35%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translateY(calc(var(--spark-distance) * -1)) scaleY(1)}}@keyframes firework-halo{0%{opacity:0;transform:scale(.1)}35%{opacity:.9}to{opacity:0;transform:scale(1.35)}}@keyframes confetti-enter{0%{opacity:0}to{opacity:1}}@keyframes confetti-flight{0%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}65%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--confetti-dx)),calc(-50% + var(--confetti-dy))) rotate(var(--confetti-rotate)) scale(.85)}}@keyframes confetti-fade{0%{opacity:1}to{opacity:0}}@media (max-width: 640px){.table-container{margin:0 -18px;padding:0 18px}}
