:root{--bg: #0f1117;--bg-soft: #161923;--panel: #1c2030;--panel-2: #232838;--border: #2c3244;--text: #e7e9ee;--muted: #9aa1b2;--accent: #6366f1;--accent-hover: #7c7ff2;--accent-soft: rgba(99, 102, 241, .15);--danger: #f05252;--ok: #34d399;--nav-active: #ffffff;--radius: 12px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-theme=light]{--bg: #eceef2;--bg-soft: #f7f8fa;--panel: #ffffff;--panel-2: #eef1f5;--border: #e0e3ea;--text: #1a1d26;--muted: #5f6675;--accent-soft: rgba(99, 102, 241, .12);--nav-active: #4f46e5}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--accent-hover);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.small{font-size:.82rem}.fullscreen-center{height:100%;display:flex;align-items:center;justify-content:center}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff;font-weight:800;border-radius:9px;font-size:1.1rem}.brand-name{font-weight:700;font-size:1.2rem;letter-spacing:-.02em}.auth-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1000px 500px at 20% -10%,rgba(99,102,241,.18),transparent),radial-gradient(800px 500px at 100% 110%,rgba(168,85,247,.14),transparent),var(--bg)}.auth-card{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 20px 60px #0006}.auth-card h1{font-size:1.5rem;margin:20px 0 4px;letter-spacing:-.02em}.auth-card form{margin-top:22px;display:flex;flex-direction:column;gap:16px}.auth-alt{margin-top:20px;text-align:center;color:var(--muted);font-size:.9rem}label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted);font-weight:500}input{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:11px 13px;color:var(--text);font-size:.95rem;outline:none;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled{opacity:.5}.hint{font-size:.75rem;color:var(--muted);font-weight:400}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:12px 16px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,transform .05s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:9px;padding:8px 12px;cursor:pointer;font-size:.85rem;width:100%}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.form-error{background:#f052521f;border:1px solid rgba(240,82,82,.3);color:#ff9b9b;padding:9px 12px;border-radius:9px;font-size:.85rem}.form-note{margin-top:14px;font-size:.88rem;color:var(--text)}.app-shell{display:grid;grid-template-columns:248px 1fr;height:100%}.sidebar{background:var(--bg-soft);border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column}.sidebar-brand{padding:0 8px 22px}.sidebar nav{display:flex;flex-direction:column;gap:4px;flex:1}.nav-item{display:flex;align-items:center;gap:11px;background:transparent;border:none;color:var(--muted);font-size:.92rem;font-weight:500;padding:10px 12px;border-radius:9px;cursor:pointer;text-align:left;width:100%;transition:background .12s,color .12s}.nav-item:hover{background:var(--panel);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--nav-active)}.nav-icon{width:20px;text-align:center}.sidebar-footer{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--border)}.org-chip{padding:0 8px}.org-name{font-weight:600;font-size:.9rem}.content{overflow-y:auto;padding:36px 44px}.page{max-width:960px}.page h1{font-size:1.7rem;letter-spacing:-.02em;margin:0 0 6px}.page h2{font-size:1.05rem;margin:0 0 14px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:26px 0}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.stat-value{font-size:1.8rem;font-weight:700;letter-spacing:-.02em;text-transform:capitalize}.stat-label{font-size:.9rem;margin:2px 0 6px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-top:8px}.status-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.status-list li{color:var(--muted);font-size:.95rem}.status-list li.done{color:var(--text)}.empty-state{text-align:center;padding:44px 22px}.badge{display:inline-block;background:var(--accent-soft);color:var(--accent-hover);padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:600;margin-bottom:12px}.status-on{color:var(--ok);font-weight:500}.version-tag{text-align:center;color:var(--muted);font-size:.72rem;letter-spacing:.03em;margin-top:12px;opacity:.7}.theme-toggle{font-size:.8rem}.inv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.inv-actions{display:flex;gap:10px;align-items:center}.btn-ghost.inline{width:auto;display:inline-flex;align-items:center;text-decoration:none}.btn-ghost.inline:hover{text-decoration:none}.inv-toolbar{display:flex;gap:12px;align-items:center;margin:20px 0 4px}.inv-search{flex:1;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:10px 14px;color:var(--text);font-size:.92rem}.inv-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.view-toggle{display:flex;border:1px solid var(--border);border-radius:9px;overflow:hidden}.view-toggle button{background:var(--panel);color:var(--muted);border:none;padding:8px 14px;cursor:pointer;font-size:1rem;line-height:1}.view-toggle button.active{background:var(--accent);color:#fff}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px}.chip{background:var(--panel);border:1px solid var(--border);color:var(--muted);padding:6px 14px;border-radius:999px;font-size:.85rem;cursor:pointer;transition:all .12s}.chip:hover{color:var(--text);border-color:var(--muted)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px}.product-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:8px;transition:transform .1s,box-shadow .1s,border-color .1s}.product-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0000002e;border-color:var(--muted)}.product-thumb{position:relative;aspect-ratio:1 / 1;border-radius:8px;overflow:hidden;background:var(--panel-2);display:grid;place-items:center}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-badge{position:absolute;top:8px;left:8px;background:#11131bd1;color:#fff;padding:3px 9px;border-radius:7px;font-size:.64rem;font-weight:700;letter-spacing:.06em;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.thumb-empty{color:var(--muted);font-size:.78rem}.thumb-empty.sm{width:40px;height:40px;border-radius:6px;background:var(--panel-2)}.product-name{font-size:.82rem;font-weight:500;margin-top:9px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.1em}.product-meta{display:flex;justify-content:space-between;font-size:.78rem;margin-top:6px}.inv-table{width:100%;border-collapse:collapse;font-size:.9rem}.inv-table th{text-align:left;color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;padding:8px 12px;border-bottom:1px solid var(--border)}.inv-table td{padding:10px 12px;border-bottom:1px solid var(--border)}.inv-table tr:hover td{background:var(--panel)}.cell-thumb{width:52px}.cell-thumb img{width:40px;height:40px;object-fit:cover;border-radius:6px;display:block}.cell-name{font-weight:500}.tag{margin-left:8px;background:var(--accent-soft);color:var(--accent-hover);padding:2px 8px;border-radius:6px;font-size:.68rem;font-weight:700;letter-spacing:.04em}.chan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.chan-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.chan-top{display:flex;justify-content:space-between;align-items:center}.chan-name{font-weight:600;font-size:.95rem}.chan-x{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.8rem}.chan-x:hover{color:var(--danger)}.chan-badge{display:inline-block;margin-top:10px;padding:2px 10px;border-radius:999px;font-size:.72rem;text-transform:capitalize}.chan-badge.ok{background:#34d39929;color:var(--ok)}.chan-badge.muted{background:var(--panel-2);color:var(--muted)}.chan-badge.err{background:#f0525229;color:var(--danger)}.chan-status{margin:10px 0;font-size:.82rem}.chan-status.ready{color:var(--ok)}.chan-status.needkeys{color:var(--muted)}.chan-actions{margin-top:4px}.btn-primary.sm,.btn-ghost.sm{padding:6px 12px;font-size:.82rem;width:auto}.sched-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}.sched-form select,.sched-form input{background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;padding:9px 11px;color:var(--text);font-size:.88rem}.sched-form select:focus,.sched-form input:focus{border-color:var(--accent);outline:none}.cal-head{display:flex;align-items:center;gap:14px;margin:20px 0 12px}.cal-head h2{margin:0;min-width:190px;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-dow{text-align:center;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding-bottom:4px}.cal-cell{min-height:94px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px;overflow:hidden}.cal-cell.empty{background:transparent;border-color:transparent}.cal-day{font-size:.72rem;color:var(--muted);margin-bottom:4px}.cal-ev{display:flex;justify-content:space-between;gap:4px;align-items:center;font-size:.7rem;padding:3px 6px;border-radius:5px;margin-bottom:3px;cursor:pointer;background:var(--accent-soft);color:var(--text)}.cal-ev.done{background:#34d3992e}.cal-ev-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-ev-x{opacity:0;font-size:.6rem}.cal-ev:hover .cal-ev-x{opacity:.7}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:18px 0 20px}.tabs button{background:none;border:none;color:var(--muted);cursor:pointer;padding:10px 16px;font-size:.9rem;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.sender-form{display:block}.sender-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sender-form input,.sender-form select,.sender-form textarea{background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;padding:9px 11px;color:var(--text);font-size:.88rem;width:100%;font-family:inherit}.sender-form textarea{margin-top:10px;resize:vertical}.sender-form .btn-primary{margin-top:12px}.sender-form .when{display:flex;gap:8px}.sender-form .when input{flex:1}.chk{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem}.chk input{width:auto}.twofa-setup{margin-top:12px;display:flex;flex-direction:column;gap:10px}.qr{width:180px;height:180px;background:#fff;padding:8px;border-radius:10px;align-self:flex-start}.row{display:flex;gap:10px}.row input{flex:1}@media (max-width: 720px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:24px}}
