:root{--app-primary:#ec175c;--app-primary-dark:#c41049;--app-blue:#4db8d8;--app-header:#16c0e6;--app-bg:#f4f6f9;--app-card:#fff;--app-border:#e7ebf0;--app-text:#1f2937;--app-muted:#6b7280;--app-radius:14px;--app-shadow:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.04);--app-sidebar-w:76px;--app-status-online:#16a34a;--app-status-offline:#dc3545;--app-pick-active-bg:#4db8d8;--app-pick-active-fg:#fff;--app-pick-radius:14px;--app-show-bg:#a5c422;--app-show-fg:#fff;--app-out-of-sync-bg:#e8a33d;--app-out-of-sync-fg:#fff;--app-tab-active-bg:#fdeaf1;--app-tab-active-fg:#ec175c;--app-switch:#ec175c;--app-slider:#ec175c;--app-header-switch-bg:#ec175c;--app-header-switch-fg:#fff;--app-footer-bg:#fff;--app-footer-fg:#1f2937}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--app-bg);color:var(--app-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px}a{color:var(--app-primary);text-decoration:none}h1,h2,h3{color:var(--app-text)}.card{background:var(--app-card);border:1px solid var(--app-border);border-radius:var(--app-radius);box-shadow:var(--app-shadow);padding:22px}.card+.card{margin-top:16px}.card-title{margin:0 0 4px;font-size:20px;font-weight:700}.card-sub{color:var(--app-muted);font-size:14px;margin:0 0 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:none;border-radius:10px;background:var(--app-primary);color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:filter .15s ease,background .15s ease}.btn:hover:not(:disabled){filter:brightness(.94)}.btn:disabled{opacity:.55;cursor:default}.btn-outline{background:#fff;color:var(--app-primary);border:1px solid var(--app-primary)}.btn-outline-secondary{background:#fff;color:#555;border:1px solid var(--app-border)}.btn-ghost{background:#eef1f4;color:#333}.btn-danger{background:#dc3545}.btn-sm{padding:6px 12px;font-size:13px;border-radius:8px}.field{width:100%;padding:12px 14px;border:1px solid var(--app-border);border-radius:10px;font-size:16px;background:#fff;outline:none}.field:focus{border-color:var(--app-primary);box-shadow:0 0 0 3px rgba(236,23,92,.12)}.tag-input{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:44px;padding:6px 10px;border:1px solid var(--app-border);border-radius:10px;background:#fff;cursor:text}.tag-input input{flex:1 1;min-width:120px;border:none;outline:none;font-size:15px;background:transparent}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;border:1px solid var(--app-primary);border-radius:16px;font-size:13px;color:var(--app-primary)}.tag-chip button{border:none;background:none;color:var(--app-primary);cursor:pointer;font-size:15px;line-height:1;padding:0 4px}.date-clear{width:22px;height:22px;border-radius:50%;border:none;background:var(--app-primary);color:#fff;cursor:pointer;font-size:13px;line-height:1}.wk-check{width:26px;height:26px;accent-color:var(--app-primary);cursor:pointer}.tod-range{position:absolute;top:6px;left:0;width:100%;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:16px}.tod-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--app-primary);border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.3);cursor:pointer;pointer-events:auto}.tod-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--app-primary);border:2px solid #fff;cursor:pointer;pointer-events:auto}.tod-range::-webkit-slider-runnable-track{background:transparent}.tod-range::-moz-range-track{background:transparent}.prof-row{display:flex;align-items:center;gap:12px;padding:6px 0}.prof-label{flex:0 0 120px;font-size:15px}.prof-val{flex:1 1;font-size:15px}.prof-editor{display:flex;gap:8px;padding:6px 0 10px 132px}.prof-notif-head{font-weight:700;font-size:14px;letter-spacing:.3px;margin:18px 0 4px;padding-bottom:8px;border-bottom:1px solid var(--app-border)}.prof-notif{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;font-size:15px;border-bottom:1px solid #f2f2f2}.chk-pink{width:22px;height:22px;accent-color:var(--app-primary);cursor:pointer;flex-shrink:0}.tr-chip{min-width:48px;text-align:center;padding:4px 8px;background:#fdeaf1;color:var(--app-primary);font-size:13px;font-weight:600}.tr-chip,.tr-invert{flex-shrink:0;border-radius:8px}.tr-invert{width:30px;height:30px;border:1px dashed var(--app-border);background:#fff;color:var(--app-muted);cursor:pointer;font-size:15px;line-height:1}.tr-invert:hover:not(:disabled){border-color:var(--app-primary);color:var(--app-primary)}.hours-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--app-border);margin-bottom:16px}.hours-info{display:flex;gap:8px;font-size:13px;color:var(--app-muted);line-height:1.5;margin:0 0 14px}.hours-info-i{color:var(--app-text);flex-shrink:0}.mss{position:relative;margin-bottom:18px}.mss-box{display:flex;align-items:center;gap:8px;min-height:46px;padding:6px 10px;border:1px solid var(--app-border);border-radius:10px;background:#fff;cursor:pointer}.mss-box.mss-open{border-color:#2684ff;box-shadow:0 0 0 3px rgba(38,132,255,.15)}.mss-chips{flex:1 1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mss-ph{color:var(--app-muted)}.mss-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 10px;border-radius:6px;background:#eef1f4;font-size:14px}.mss-chip button{border:none;background:none;cursor:pointer;font-size:15px;line-height:1;color:#333}.mss-actions{display:flex;align-items:center;gap:8px;color:var(--app-muted)}.mss-clear{border:none;background:none;cursor:pointer;font-size:18px;line-height:1;color:var(--app-muted)}.mss-sep{width:1px;height:20px;background:var(--app-border)}.mss-caret{font-size:16px}.mss-caret.up{transform:rotate(180deg)}.mss-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:#fff;border:1px solid var(--app-border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:8px}.mss-search{margin-bottom:6px}.mss-list{max-height:220px;overflow-y:auto}.mss-opt{display:flex;align-items:center;gap:8px;padding:8px 6px;font-size:14px;cursor:pointer;border-radius:6px}.mss-opt:hover{background:#f6f7f9}.mss-empty{padding:8px 6px;color:var(--app-muted);font-size:13px}.mss-all{font-weight:600;border-bottom:1px solid var(--app-border);margin-bottom:4px}.fs-pill{padding:8px 16px;border:1px dashed var(--app-border);border-radius:10px;background:#fff;cursor:pointer;font-size:14px;color:var(--app-text)}.fs-pill:hover{border-color:var(--app-primary)}.fs-pill.active{border-style:solid;border-color:var(--app-primary)}.ann-mic,.fs-pill.active{background:var(--app-primary);color:#fff}.ann-mic{width:96px;height:96px;border-radius:50%;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px rgba(236,23,92,.12);transition:box-shadow .2s}.ann-mic.rec{animation:ann-pulse 1.2s ease-in-out infinite}@keyframes ann-pulse{0%,to{box-shadow:0 0 0 8px rgba(236,23,92,.12)}50%{box-shadow:0 0 0 16px rgba(236,23,92,.08)}}.ann-switch{width:44px;height:24px;border-radius:12px;border:none;background:#ccc;position:relative;cursor:pointer;flex-shrink:0;transition:background .2s}.ann-switch.on{background:var(--app-switch)}.ann-switch:focus{outline:none}.ann-switch:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--app-switch) 35%,transparent)}.ann-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .2s}.ann-switch.on .ann-knob{left:22px}.ann-card{border-left:3px solid var(--app-primary);background:#f7f7f9;border-radius:8px;padding:14px 16px;margin-bottom:12px}.ann-info{display:flex;gap:8px;color:var(--app-muted);font-size:14px;line-height:1.6;margin:8px 0 0}.vol-heading{font-size:17px;font-weight:700;margin:6px 0 4px;padding-bottom:8px;border-bottom:1px solid var(--app-border)}.vol-row{display:flex;align-items:center;gap:12px;margin:12px 0}.vol-name{flex:0 0 110px;font-size:14px}.vol-range{flex:1 1;accent-color:var(--app-primary);height:4px}.vol-pct{flex:0 0 44px;text-align:right;font-size:14px}.vol-ic{border:none;background:none;cursor:pointer;font-size:16px;color:var(--app-primary);padding:2px 4px}.mp-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #f2f2f2;font-size:14px}.mp-label{flex:0 0 160px;color:var(--app-muted)}.mp-val{flex:1 1}.mp-row .vol-ic{color:var(--app-text)}.label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--app-border);margin-bottom:16px}.tab{background:none;padding:10px 14px;font-size:15px;font-weight:600;cursor:pointer;color:var(--app-muted);border:none;border-bottom:2px solid transparent;border-radius:8px 8px 0 0}.tab:focus{outline:none}.tab.active{color:var(--app-tab-active-fg);background:var(--app-tab-active-bg);border-bottom-color:var(--app-tab-active-fg)}.list{list-style:none;margin:0;padding:0}.list-row{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid var(--app-border)}.list-row:last-child{border-bottom:none}.badge{display:inline-block;font-size:11px;border-radius:999px;padding:3px 9px;border:1px solid var(--app-primary);color:var(--app-primary)}.badge-ok{border-color:#16a34a;color:#16a34a}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:16px;gap:16px}.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.dash-cell{display:contents}.dash-panel{display:flex;flex-direction:column;height:560px;min-width:0}.dash-panel *{min-width:0}.dash-panel .panel-title{margin:0;padding-bottom:12px;border-bottom:1px solid var(--app-border);font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;min-height:32px;display:flex;align-items:center}.dash-panel .panel-title.plain{text-transform:none;font-size:22px}.pill{display:inline-block;background:#f3f4f6;color:var(--app-primary);border:none;border-radius:999px;padding:7px 18px;font-weight:600;font-size:14px;cursor:pointer}.pill:focus{outline:none}.pill.active{background:var(--app-tab-active-bg,#fbe4ec)}.play-item{display:flex;align-items:center;gap:12px;padding:11px 2px;font-size:15px;border:none}.play-ic{width:22px;height:22px;min-width:22px;border:1.6px solid #111;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;color:#111}.now-playing{border-bottom:2px solid var(--app-primary);padding-bottom:3px}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);top:calc(100% + 8px);background:#1f2937;color:#fff;font-size:12px;font-weight:500;padding:6px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 6px 18px rgba(16,24,40,.22);animation:tipfade .12s ease}[data-tip]:hover:after,[data-tip]:hover:before{position:absolute;left:50%;transform:translateX(-50%);z-index:3000;pointer-events:none}[data-tip]:hover:before{content:"";top:calc(100% + 3px);border:5px solid transparent;border-bottom-color:#1f2937}[data-tip][data-tip-align=right]:hover:after{left:auto;right:0;transform:none;animation:none}[data-tip][data-tip-align=right]:hover:before{left:auto;right:8px;transform:none}[data-tip][data-tip-wrap]:hover:after{white-space:normal;width:max-content;max-width:220px;text-align:center;line-height:1.35}@keyframes tipfade{0%{opacity:0;transform:translateX(-50%) translateY(-3px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translateX(-50%) translateY(-14px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.icon-btn{transition:transform .12s ease,filter .12s ease;padding:2px}.icon-btn:hover{transform:scale(1.3);filter:brightness(.9)}.beat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.beat-card{border:1.5px dashed #d0d5dd;border-radius:14px;padding:22px 8px;text-align:center;font-weight:700;color:#4b5563;cursor:pointer;background:#fff;min-height:92px;display:flex;align-items:center;justify-content:center;position:relative;line-height:1.25;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.beat-card:hover{transform:translateY(-3px);border-color:var(--app-primary);box-shadow:0 8px 20px rgba(16,24,40,.14);z-index:10}.beat-card:active{transform:translateY(-1px)}.beat-card.active{border:none;background:var(--app-pick-active-bg);color:var(--app-pick-active-fg)}.beat-card.active:hover{box-shadow:0 10px 24px rgba(16,24,40,.22)}.pl-pill{display:flex;align-items:center;justify-content:space-between;background:var(--app-blue);color:#fff;border-radius:999px;padding:12px 18px;margin-bottom:12px;font-weight:600;position:relative}.pl-pill:hover{z-index:30}.pl-pill .btn-sm{background:hsla(0,0%,100%,.25)}.sys-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.sys-card{border:1px solid var(--app-border);border-radius:14px;min-height:110px;display:flex;align-items:center;justify-content:center;color:var(--app-primary);cursor:pointer;text-decoration:none;transition:box-shadow .15s ease}.sys-card:hover{box-shadow:var(--app-shadow)}.sys-card svg{width:40px;height:40px}.dash-panel .panel-scroll{overflow-y:auto;overflow-x:hidden;flex:1 1;min-height:0}@keyframes sbwave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.sb-wave{display:inline-flex;align-items:center;height:22px}.sb-wave span{display:inline-block;width:3px;height:20px;margin:0 1.5px;background:var(--app-primary);border-radius:2px;transform-origin:center;animation:sbwave .9s ease-in-out infinite}.sb-wave.paused span{animation-play-state:paused;transform:scaleY(.3)}.dash-panel.maximized{position:fixed;inset:3vh 4vw;z-index:901;max-height:94vh;width:auto}.max-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:900}@media (max-width:1100px){.dash-grid{grid-template-columns:repeat(2,1fr)}}.mobile-nav{display:none}.mobile-nav-btn{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;border:none;background:none;color:var(--app-muted);font-size:12px;font-weight:600;cursor:pointer;padding:8px 0}.mobile-nav-btn.active{color:var(--app-primary)}@media (max-width:720px){body,html{overflow-x:hidden;max-width:100%}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1402;background:#fff;border-top:1px solid var(--app-border);box-shadow:0 -2px 12px rgba(16,24,40,.08);padding:2px 0 env(safe-area-inset-bottom,4px)}.push-soft-prompt,.pwa-install-btn{bottom:78px!important}.max-btn{display:none!important}.main{height:100dvh;overflow:hidden}.topbar{flex-shrink:0}.content{flex:1 1;overflow:hidden;padding:14px 14px 66px}.content,.dash-grid{min-height:0;display:flex;flex-direction:column}.dash-grid{flex:1 1}.dash-cell{display:none}.dash-cell[data-active=true]{display:flex;flex-direction:column;flex:1 1;min-height:0}.dash-panel{flex:1 1;min-height:0;height:auto;max-height:none}}.shell{min-height:100vh;display:flex}.sidebar{width:var(--app-sidebar-w);background:#fff;border-right:1px solid var(--app-border);padding:14px 0;gap:6px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.side-link,.sidebar{display:flex;flex-direction:column;align-items:center}.side-link{width:52px;height:48px;border:none;background:transparent;border-radius:12px;cursor:pointer;color:var(--app-muted);justify-content:center;gap:2px;font-size:19px;text-decoration:none;transition:background .15s ease,color .15s ease}.side-link span.lbl{font-size:9px;font-weight:600}.side-link:hover{background:#f4f6f9}.side-link.active{background:rgba(236,23,92,.1);color:var(--app-primary)}.main{flex:1 1;display:flex;flex-direction:column;min-width:0}.topbar{background-color:var(--app-header);background-image:var(--app-header-bg-image,none);background-size:var(--app-header-bg-size,cover);background-position:var(--app-header-bg-position,center);background-repeat:var(--app-header-bg-repeat,no-repeat);color:var(--app-header-text,#fff);height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.brand{font-weight:800;font-size:22px;font-style:italic;letter-spacing:.5px}.content{flex:1 1;padding:22px;min-width:0}.store-select{padding:7px 12px;border-radius:8px;border:none;font-size:14px;max-width:220px;background:hsla(0,0%,100%,.92);color:var(--app-text)}@media (max-width:720px){.sidebar{display:none}.content{padding:16px 14px 76px;overflow-x:hidden;max-width:100vw}.dash-cell,.dash-grid,.dash-panel,.main,.shell{max-width:100%;min-width:0;overflow-x:hidden}.store-select{max-width:130px}}@keyframes assistant-blink{0%,45%{opacity:1}55%,to{opacity:0}}.assistant-caret{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:text-bottom;background:var(--app-primary);animation:assistant-blink 1s steps(1) infinite}#app-splash{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:var(--splash-bg,#fff);opacity:1;transition:opacity .45s ease,visibility .45s ease}#app-splash.hide{opacity:0;visibility:hidden;pointer-events:none}#app-splash .app-splash-inner{display:flex;flex-direction:column;align-items:center;gap:22px}#app-splash .app-splash-logo{max-width:190px;max-height:120px;width:auto;height:auto;animation:splash-breathe 1.4s ease-in-out infinite}#app-splash .app-splash-ring{width:34px;height:34px;border-radius:50%;border:3px solid rgba(0,0,0,.1);border-top:3px solid var(--splash-accent,#ec175c);animation:splash-spin .8s linear infinite}@keyframes splash-breathe{0%,to{transform:scale(.94);opacity:.75}50%{transform:scale(1.04);opacity:1}}@keyframes splash-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){#app-splash .app-splash-logo,#app-splash .app-splash-ring{animation:none}}