:root{--bg-primary: #07080c;--bg-secondary: #0b0d14;--card-bg: #0f111a;--border-subtle: #1a1c24;--border-strong: #232633;--violet-primary: #6e5bff;--violet-glow: #9f7bff;--text-primary: #edeff5;--text-secondary: #a1a6b3;--text-tertiary: #6b6f7c;--success: #4ade80;--danger: #ff6b7a;--r-xl: 20px}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}#root{min-height:100vh}.app-frame{min-height:100vh;display:grid;grid-template-columns:276px 1fr;background:#07080c}.rail{position:sticky;top:0;height:100vh;padding:22px 16px;border-right:1px solid var(--border-subtle);background:#080a10f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:18px;font-weight:850;margin-bottom:24px}.brand img{width:36px;height:36px;border-radius:10px;box-shadow:0 10px 32px #6e5bff52}.nav-list{display:grid;gap:6px}.nav-list button{width:100%;text-align:left;border:0;border-radius:12px;padding:12px 13px;color:var(--text-secondary);background:transparent;cursor:pointer;font-weight:750}.nav-list button.active{color:#fff;background:#6e5bff29;box-shadow:inset 0 0 0 1px #6e5bff57}.rail-foot{position:absolute;left:16px;right:16px;bottom:18px;display:grid;gap:8px}.main{min-width:0;padding:22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.topbar h1{margin:0;font-size:24px;letter-spacing:0}.topbar p{margin:3px 0 0;color:var(--text-secondary);font-size:13px}.account{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.chip{max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border-subtle);border-radius:999px;padding:9px 12px;color:var(--text-secondary);background:var(--bg-secondary)}.btn{border:1px solid var(--border-subtle);border-radius:999px;padding:10px 13px;color:var(--text-primary);background:#ffffff09;cursor:pointer;text-decoration:none}.btn.primary{border:0;color:#fff;font-weight:850;background:linear-gradient(135deg,var(--violet-primary),var(--violet-glow));box-shadow:0 14px 36px #6e5bff47}.btn:disabled{opacity:.58;cursor:wait}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.kpis.admin{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi,.panel{border:1px solid var(--border-subtle);border-radius:18px;background:linear-gradient(180deg,#ffffff0b,#ffffff03),var(--card-bg)}.kpi{padding:16px}.kpi strong{display:block;color:#fff;font-size:24px}.kpi span{color:var(--text-tertiary);font-size:12px}.grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px}.panel{padding:18px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2{margin:0;font-size:18px}.panel p{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;color:var(--text-tertiary);font-weight:800;padding:10px 8px;border-bottom:1px solid var(--border-subtle)}.table td{padding:12px 8px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top}.table strong,.list-card strong{color:var(--text-primary)}.status{display:inline-flex;border-radius:999px;padding:5px 8px;background:#ffffff0d;color:var(--text-secondary);font-size:12px}.status.on,.status.approved,.status.active{color:var(--success);background:#4ade801a}.status.submitted{color:var(--violet-glow);background:#6e5bff1f}.list{display:grid;gap:10px}.list-card,.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-secondary)}.list-card span,.toggle-row span{display:block;color:var(--text-tertiary);font-size:12px;margin-top:2px}.form{display:grid;gap:10px}.form input,.form textarea{width:100%;padding:12px 13px;border:1px solid var(--border-subtle);border-radius:12px;color:var(--text-primary);background:var(--bg-secondary);outline:none;font:inherit}.form textarea{min-height:112px;resize:vertical}.note{min-height:18px;color:var(--text-tertiary);font-size:12px}.note.success{color:var(--success)}.note.error{color:var(--danger)}.toggle{position:relative;width:52px;height:30px;border:1px solid var(--border-strong);border-radius:999px;background:#171923;cursor:pointer;flex:0 0 auto}.toggle:after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:var(--text-secondary);transition:transform .16s ease}.toggle.on{border-color:#6e5bff8c;background:#6e5bff52}.toggle.on:after{transform:translate(22px);background:#fff}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:80px 20px;background:#07080c}.auth-card{width:min(100%,440px);padding:28px;border:1px solid var(--border-subtle);border-radius:var(--r-xl);background:linear-gradient(180deg,#ffffff09,#fff0),var(--card-bg);box-shadow:0 26px 90px #00000057}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px;color:var(--text-primary);font-weight:800}.auth-brand img{width:34px;height:34px}.auth-card h1{margin:0 0 8px;font-size:28px;color:var(--text-primary)}.auth-card p{margin:0 0 22px;color:var(--text-secondary);line-height:1.6}@media (max-width: 980px){.app-frame{grid-template-columns:1fr}.rail{position:sticky;top:0;z-index:20;height:auto;padding:12px 14px;border-right:0;border-bottom:1px solid var(--border-subtle)}.brand{margin-bottom:10px}.nav-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.nav-list button{flex:0 0 auto;width:auto;white-space:nowrap;padding:10px 12px}.rail-foot{display:none}.main{padding:16px}.topbar{display:grid}.account{justify-content:flex-start}.kpis,.kpis.admin{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}}@media (max-width: 540px){.kpis,.kpis.admin{grid-template-columns:1fr}.chip{max-width:calc(100vw - 120px)}}
