.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:400px;background:var(--surface);border:1px solid var(--hair);border-radius:26px;box-shadow:var(--shadow);padding:34px 32px 28px;display:flex;flex-direction:column;align-items:center}.brand-mark{background:var(--well);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;flex:none}.brand-mark img{width:62%;height:62%;object-fit:contain}.login-title{font-size:24px;font-weight:800;letter-spacing:-.01em;margin-top:16px}.login-subtitle{font-size:13px;font-weight:500;color:var(--mut);line-height:1.55;text-align:center;margin-top:8px}.login-form{width:100%;display:flex;flex-direction:column;gap:14px;margin-top:24px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}.login-field input{background:var(--well);border:1px solid var(--hair);border-radius:13px;padding:12px 14px;font-size:14px;font-weight:500;outline:none;color:var(--ink)}.login-field input:focus{border-color:var(--acc)}.login-field input:-webkit-autofill,.login-field input:-webkit-autofill:hover,.login-field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:inset 0 0 0 1000px #17181b;transition:background-color 9999999s ease-in-out 0s}.login-error{background:var(--red-bg);color:var(--red-text);border-radius:12px;padding:10px 13px;font-size:12px;font-weight:600;line-height:1.5}.login-submit{justify-content:center;padding:14px;margin-top:4px}.login-footnote{font-size:11px;font-weight:500;color:var(--faint);margin-top:18px;text-align:center;line-height:1.5}.login-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-links-row{display:flex;justify-content:flex-end;margin-top:-6px}.login-link{color:var(--mut);font-size:12px;font-weight:600;text-decoration:none}.login-link:hover{color:var(--ink);text-decoration:underline}.login-link-btn{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:12px;font-weight:600}.login-cta-link{display:flex;width:100%;margin-top:18px;text-decoration:none}.login-terms{display:flex;gap:9px;align-items:flex-start;font-size:12px;font-weight:500;color:var(--mut);line-height:1.5;cursor:pointer}.login-terms input{margin-top:2px;accent-color:var(--acc)}.auth-divider{width:100%;display:flex;align-items:center;gap:12px;margin:18px 0 14px}.auth-divider span{flex:1;height:1px;background:var(--hair)}.auth-divider em{font-style:normal;font-size:11px;font-weight:600;color:var(--faint)}.oauth-row{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:13px;background:var(--well);border:1px solid var(--hair);color:var(--ink);font-size:13px;font-weight:700;cursor:pointer}.oauth-btn:hover{border-color:var(--acc)}.gate-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.gate-card{width:440px;background:var(--surface);border:1px solid var(--hair);border-radius:26px;box-shadow:var(--shadow);padding:34px 32px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.gate-card h1{margin:0;font-size:21px;font-weight:800;letter-spacing:-.01em}.gate-card p{margin:0;font-size:13px;font-weight:500;color:var(--mut);line-height:1.6}.app-frame{display:flex;height:100vh;overflow:hidden}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.sidebar{width:76px;flex:none;background:#ffffff0a;border-right:1px solid var(--hair);display:flex;flex-direction:column;align-items:center;padding:18px 0 16px;gap:8px}.sidebar-item{width:46px;height:46px;border-radius:15px;display:flex;align-items:center;justify-content:center;color:#f0f2f561;position:relative;transition:color .12s ease}.sidebar-item:hover{color:#f0f2f5b3}.sidebar-item.active{background:var(--chip-hi);color:var(--ink)}.sidebar-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--red);border:1.5px solid var(--bg)}.sidebar-item.active .sidebar-dot{border-color:var(--chip-hi)}.sidebar-avatar{margin-top:6px}.admin-sidebar{width:216px;flex:none;background:#ffffff0a;border-right:1px solid var(--hair);display:flex;flex-direction:column;padding:18px 12px 14px;gap:4px}.admin-brand{display:flex;align-items:center;gap:10px;padding:0 6px 16px;border-bottom:1px solid var(--hair);margin-bottom:10px}.admin-brand b{display:block;font-size:14px;letter-spacing:-.01em}.admin-brand span{display:block;font-size:11px;font-weight:600;color:var(--mut)}.admin-nav{display:flex;flex-direction:column;gap:2px}.admin-nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:13px;color:#f0f2f580;font-size:13px;font-weight:600;transition:color .12s ease}.admin-nav-item:hover{color:#f0f2f5cc;background:var(--well)}.admin-nav-item.active{background:var(--chip-hi);color:var(--ink)}.admin-nav-label{flex:1}.admin-nav-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--amber-bg);border:1px solid rgba(242,178,104,.3);color:var(--amber-text);font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center}.admin-switch{border:1px dashed var(--hair);margin-bottom:8px}.admin-avatar-row{display:block}.admin-account{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border-radius:14px;text-align:left}.admin-account:hover{background:var(--well)}.admin-account-text{min-width:0}.admin-account-text b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-account-text span{display:block;font-size:11px;color:var(--mut)}.sidebar-avatar-wrap{position:relative;display:flex;justify-content:center}.acct-pop{position:absolute;left:calc(100% + 14px);bottom:0;z-index:70;width:264px;background:var(--panel);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:inset 0 1px #ffffff14,0 30px 70px #000000a6;padding:14px;text-align:left}.acct-identity{display:flex;align-items:center;gap:11px;padding:4px 4px 12px;border-bottom:1px solid var(--hair)}.acct-identity-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.acct-identity-text b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-identity-text span{font-size:11px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-items{padding:8px 0;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--hair)}.acct-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px;border-radius:12px;font-size:13px;font-weight:600;color:var(--ink);text-align:left}.acct-item svg{color:var(--mut);flex:none}.acct-item:hover{background:var(--well)}.acct-signout{margin-top:6px;color:var(--red-text);justify-content:center;font-weight:700}.acct-signout:hover{background:var(--red-bg)}.acct-pass-form{display:flex;flex-direction:column;gap:13px;margin-top:14px}.acct-pass-form label{display:flex;flex-direction:column;gap:6px}.acct-pass-form label span{font-size:12px;font-weight:600;color:var(--mut)}.acct-pass-form input{background:var(--well);border:1px solid var(--hair);border-radius:13px;padding:11px 14px;font-size:13px;color:var(--ink);outline:none}.acct-pass-form input:focus{border-color:var(--acc-border)}.acct-pass-hint{font-size:12px;color:var(--amber-text)}.acct-pass-note{margin:16px 0 4px;font-size:13px;color:var(--mut)}:root{--bg: #0b0c0f;--surface: rgba(255, 255, 255, .055);--ink: #f5f6f7;--ink-deep: #0b0c0e;--mut: rgba(240, 242, 245, .55);--faint: rgba(240, 242, 245, .35);--hair: rgba(255, 255, 255, .08);--chip: rgba(255, 255, 255, .08);--chip-hi: rgba(255, 255, 255, .14);--well: rgba(255, 255, 255, .05);--cat-a: rgba(126, 166, 255, .16);--cat-b: rgba(242, 178, 104, .16);--cat-c: rgba(111, 213, 178, .16);--cat-d: rgba(201, 163, 242, .16);--cat-e: rgba(255, 143, 168, .16);--acc: #c8f551;--acc-hi: #d4ff66;--acc-grad: linear-gradient(120deg, #d4ff66, #c8f551);--acc-soft: rgba(200, 245, 81, .12);--acc-border: rgba(200, 245, 81, .28);--green-text: #d4ff66;--green-strong: #d4ff66;--on-acc: #10120a;--amber-text: #f2b268;--amber-bg: rgba(242, 178, 104, .12);--red: #ff6961;--red-text: #ff8f88;--red-bg: rgba(255, 105, 97, .12);--cta: #f5f6f7;--on-cta: #0b0c0e;--panel: #15171c;--shadow: inset 0 1px 0 rgba(255, 255, 255, .07);--shadow-acc: 0 10px 22px rgba(200, 245, 81, .35)}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1000px 620px at 80% -10%,rgba(94,134,255,.1),transparent 60%),radial-gradient(800px 620px at -5% 45%,rgba(111,213,178,.06),transparent 60%),var(--bg);background-attachment:fixed;color:var(--ink);font-family:-apple-system,SF Pro Text,SF Pro Display,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px}button{font-family:inherit;border:none;background:none;padding:0;cursor:pointer;color:inherit}input,textarea,select{font-family:inherit}a{color:var(--acc-hi);text-decoration:none}@keyframes limeShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--hair);border-radius:20px;padding:17px 18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.card-title{font-size:14px;font-weight:700}.btn-cta{display:inline-flex;align-items:center;gap:8px;background:var(--cta);border-radius:999px;padding:11px 18px;font-size:13px;font-weight:700;color:var(--on-cta);box-shadow:0 10px 24px #00000073}.btn-cta:disabled{opacity:.5;cursor:default}.btn-chip{display:inline-flex;align-items:center;gap:7px;background:var(--chip);border:1px solid var(--hair);border-radius:999px;padding:10px 17px;font-size:13px;font-weight:600;color:var(--ink)}.btn-chip.muted{color:var(--mut)}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;white-space:nowrap}.pill.green{background:var(--acc-soft);border:1px solid var(--acc-border);color:var(--acc-hi)}.pill.amber{background:var(--amber-bg);border:1px solid rgba(242,178,104,.25);color:var(--amber-text)}.pill.red{background:var(--red-bg);border:1px solid rgba(255,105,97,.3);color:var(--red-text)}.pill.blue{background:#7ea6ff1a;border:1px solid rgba(126,166,255,.25);color:#7ea6ff}.pill.teal{background:#6fd5b21a;border:1px solid rgba(111,213,178,.25);color:#6fd5b2}.pill.dark{background:#0c0e08d9;border:1px solid var(--acc-border);color:var(--acc-hi)}.filter-chip{display:inline-flex;align-items:center;gap:6px;background:var(--well);border:1px solid var(--hair);color:var(--mut);border-radius:999px;padding:7px 14px;font-size:12px;font-weight:600;white-space:nowrap}.filter-chip.active{background:var(--cta);border-color:var(--cta);color:var(--on-cta);font-weight:700}.seg{display:flex;gap:4px;background:var(--well);border:1px solid var(--hair);border-radius:999px;padding:4px}.seg button{border-radius:999px;padding:7px 16px;font-size:12px;font-weight:600;color:var(--mut)}.seg button.active{background:var(--chip-hi);font-weight:700;color:var(--ink)}.progress-track{height:7px;border-radius:6px;background:#ffffff17;overflow:hidden}.progress-fill{height:100%;border-radius:6px;background:var(--acc-grad)}.toggle{width:44px;height:26px;border-radius:999px;background:var(--chip);border:1px solid var(--hair);position:relative;flex:none;transition:background .15s ease}.toggle.on{background:var(--acc-grad);border-color:transparent}.toggle .knob{position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #00000059;transition:transform .15s ease}.toggle.on .knob{transform:translate(18px)}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex:none;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.icon-round{width:34px;height:34px;border-radius:50%;background:var(--chip);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center}.search-box{display:flex;align-items:center;gap:9px;background:var(--well);border:1px solid var(--hair);border-radius:999px;padding:10px 16px}.search-box input{border:none;background:transparent;outline:none;font-size:13px;font-weight:500;flex:1;min-width:0;color:var(--ink)}.search-box input::placeholder{color:var(--faint)}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--chip);border-top-color:var(--acc);animation:spin .8s linear infinite}.page-loading{flex:1;display:flex;align-items:center;justify-content:center;padding:60px}.empty-note{padding:20px;text-align:center;font-size:12px;font-weight:600;color:var(--faint)}.view-head{padding:18px 28px 14px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--hair);background:#ffffff08}.view-title{font-size:26px;font-weight:700;letter-spacing:-.01em}.view-sub{padding:12px 28px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--hair);background:#ffffff05}.flex-1{flex:1}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50}.dialog{width:520px;max-height:calc(100vh - 60px);overflow-y:auto;background:var(--panel);border:1px solid rgba(255,255,255,.1);border-radius:26px;box-shadow:inset 0 1px #ffffff14,0 40px 90px #000000a6;padding:24px 26px}.toast-host{position:fixed;right:22px;bottom:22px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:90;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:9px;max-width:380px;padding:11px 16px;border-radius:14px;background:var(--panel);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff14,0 18px 44px #0000008c;color:var(--ink);font-size:12.5px;font-weight:600;line-height:1.45;text-align:left;animation:toast-in .18s ease-out}.toast.error{border-color:#ff696159}.toast.success{border-color:var(--acc-border)}.toast-dot{flex:none;width:7px;height:7px;border-radius:999px}.toast-dot.error{background:var(--red)}.toast-dot.success{background:var(--acc)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.qr-tile{display:inline-flex;background:#fff;border-radius:18px;padding:10px}.qr-canvas{display:block;border-radius:10px}.upload-tile{position:relative;height:96px;border:1px dashed var(--hair);border-radius:16px;background:var(--well);display:flex;align-items:center;justify-content:center;color:var(--mut);overflow:hidden}.upload-tile:hover{border-color:var(--acc-border);color:var(--ink)}.upload-tile img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.upload-tile-label{position:absolute;left:10px;bottom:8px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#0000008c;color:#fff;border-radius:999px;padding:3px 8px}.slot-dlg-head{display:flex;align-items:center;justify-content:space-between}.slot-dlg-title{font-size:20px;font-weight:800;letter-spacing:-.01em}.slot-dlg-actions{display:flex;gap:9px;margin-top:20px}.slot-dlg-publish{flex:1;justify-content:center;border-radius:14px}.pw-wrap{position:relative;display:flex}.pw-wrap input{flex:1;width:100%;padding-right:42px}.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;padding:6px;background:none;border:none;border-radius:8px;color:var(--mut);cursor:pointer}.pw-eye:hover{color:var(--ink)}
