:root{--purple-950:#190a2b;--purple-900:#2a0f4a;--purple-800:#3a1663;--purple-700:#4c2178;--purple-600:#5d2e8c;--purple-500:#7a52a6;--purple-400:#9d7cc0;--purple-300:#c0abd8;--purple-200:#ddd0ec;--purple-100:#ece4f6;--purple-50:#f6f1fb;--ink:#1c0f31;--muted:#6f6484;--bg:#ece3f6;--card:#fff;--border:#ddd2ee;--ok:#0f7a37;--warn:#9a5b00;--surface:#fdfaff;--surface-2:#f7f1fc;--surface-3:#ece2f7;--panel-border:#e2d7f2;--hairline:#efe7f9;--dim:.42;--focus-ring:0 0 0 3px #5d2e8c52;--focus-glow:0 0 0 3px #5d2e8c47, 0 10px 34px #2a0f4a2e;--danger:#b91c1c;--danger-bg:#fdeeee;--danger-border:#f2cccc;--radius-xs:6px;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-xs:0 1px 2px #2a0f4a12;--shadow-sm:0 2px 10px #2a0f4a17;--shadow:0 8px 26px #2a0f4a24;--shadow-lg:0 26px 64px #190a2b57;--chrome:linear-gradient(180deg, #3a1663, #2a0f4a);--on-chrome:#f4eefb;--on-chrome-muted:#b7a3d3;--ui:13.5px;--ui-sm:12px;--ui-xs:11px}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}@media (width<=1100px){:is(html:has(.admin-app),body:has(.admin-app)){overscroll-behavior:auto;height:auto;overflow:visible}}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--ui);color:var(--ink);background:radial-gradient(1100px 720px at 10% -14%, #e0d0f4, transparent 62%), radial-gradient(900px 620px at 110% 112%, #ddcbf3, transparent 58%), var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;line-height:1.4}a{color:var(--purple-700)}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:linear-gradient(180deg, var(--purple-600), var(--purple-700));color:#fff;border:none;padding:.4rem .75rem;line-height:1.3;transition:background .14s,box-shadow .14s,transform 60ms,opacity .14s}button:hover{background:linear-gradient(180deg, var(--purple-700), var(--purple-800))}button:active{transform:translateY(1px)}button:focus-visible{box-shadow:var(--focus-ring);outline:none}button:disabled{background:var(--surface-3);color:var(--muted);cursor:not-allowed;transform:none}button.ghost{color:var(--purple-700);border:1px solid var(--border);background:0 0}button.ghost:hover{background:var(--purple-100)}button.quiet{color:var(--muted);font-size:var(--ui-sm);background:0 0;padding:.15rem .4rem}button.quiet:hover{background:var(--surface-3);color:var(--ink)}button.danger{color:var(--danger);border:1px solid var(--danger-border);background:0 0}button.danger:hover{background:var(--danger-bg)}button.sm{font-size:var(--ui-sm);border-radius:var(--radius-xs);padding:.2rem .5rem}input,select,textarea{font:inherit;font-size:var(--ui);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:.4rem .55rem;transition:border-color .14s,box-shadow .14s}input:focus,select:focus,textarea:focus{border-color:var(--purple-500);box-shadow:var(--focus-ring);outline:none}input[type=checkbox]{width:auto;accent-color:var(--purple-600);vertical-align:-1px}label{font-size:var(--ui-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.25rem;font-weight:600;display:block}.panel{background:var(--surface);border:1px solid var(--panel-border);border-radius:var(--radius);min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.panel-head{border-bottom:1px solid var(--panel-border);background:linear-gradient(var(--surface-2), var(--surface-3));flex:none;align-items:center;gap:.5rem;padding:.5rem .7rem;display:flex}.panel-title{font-size:var(--ui-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--purple-600);font-weight:700}.panel-body{flex:auto;min-height:0;overflow:hidden auto}.count{background:var(--purple-100);color:var(--purple-700);font-size:var(--ui-xs);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 .4rem;font-weight:700}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.spacer{flex:auto}.badge{font-size:var(--ui-xs);white-space:nowrap;border-radius:999px;padding:.1rem .45rem;font-weight:600;display:inline-block}.badge.pending{color:var(--warn);background:#fff4e0}.badge.synced,.badge.online{color:var(--ok);background:#e7f7ec}.dot{background:var(--purple-300);border-radius:50%;flex:none;width:8px;height:8px;transition:background .2s}.dot.on{background:var(--ok);box-shadow:0 0 0 3px #16a34a26}.swatch{background:var(--c,var(--purple-500));border-radius:3px;flex:none;width:10px;height:10px;box-shadow:inset 0 0 0 1px #0000001f}*{scrollbar-width:thin;scrollbar-color:var(--purple-300) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--purple-300);background-clip:content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--purple-400);background-clip:content-box}.shake{animation:.45s cubic-bezier(.36,.07,.19,.97) both shake}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-8px)}40%,60%{transform:translate(8px)}}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
