:root{--navy-950:#07111f;--navy-900:#0b1a2e;--navy-800:#13253f;--ink:#0f1c2e;--muted:#5b6b7c;--line:#0f1c2e1a;--line-strong:#0f1c2e29;--surface:#f7fafdeb;--surface-solid:#f7fafd;--surface-elevated:#fff;--accent:#0f766e;--accent-deep:#0b5f59;--accent-soft:#0f766e1f;--steel:#1d4e89;--ok:#0f766e;--warn:#9a6700;--bad:#b42318;--topbar-fg:#e8eef7;--radius:12px;--radius-sm:8px;--shadow:0 12px 40px #07111f2e;--font:"Manrope", "Noto Sans Tamil", system-ui, sans-serif;--font-display:"Sora", "Manrope", "Noto Sans Tamil", system-ui, sans-serif;color:var(--ink);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background-color:var(--navy-950);background-image:linear-gradient(180deg, #07111f26, #07111f8c), radial-gradient(ellipse 900px 520px at 12% -8%, #1d4e8973, transparent 60%), radial-gradient(ellipse 700px 480px at 92% 8%, #0f766e47, transparent 55%), linear-gradient(165deg, var(--navy-950) 0%, var(--navy-900) 48%, #0a2238 100%), repeating-linear-gradient(-18deg, transparent, transparent 11px, #e8eef705 11px, #e8eef705 12px);color:var(--ink);background-attachment:fixed}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--topbar-fg);z-index:40;background:linear-gradient(#0b1a2eeb,#07111fe0);border-bottom:1px solid #e8eef71a;align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;top:0}.topbar .brand-block{flex-direction:column;gap:1px;min-width:0;display:flex}.topbar .brand{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;font-size:1.05rem;font-weight:700}.topbar .brand-sub{letter-spacing:.08em;text-transform:uppercase;opacity:.62;font-size:.68rem;font-weight:600}.topbar nav{flex-wrap:wrap;flex:1;gap:6px;display:flex}.topbar a,.topbar button.linkish{color:var(--topbar-fg);border-radius:var(--radius-sm);cursor:pointer;opacity:.82;background:0 0;border:0;padding:8px 12px;font-size:.9rem;font-weight:600}.topbar a.active,.topbar a:hover,.topbar button.linkish:hover{opacity:1;background:#e8eef71a}.topbar a.active{box-shadow:inset 0 -2px 0 var(--accent)}.topbar .meta{opacity:.95;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;font-size:.85rem;display:flex}.topbar .user-chip{background:#e8eef714;border:1px solid #e8eef71f;border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:600}.page{width:min(1240px,100% - 28px);margin:22px auto 48px}.panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #e8eef78c;padding:20px 20px 16px}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.pagehead h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 4px;font-size:1.4rem;font-weight:700}.pagehead p{color:var(--muted);margin:0;font-size:.92rem}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--surface-elevated);color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:600}.chip:hover{border-color:#0f766e73}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.chip:disabled{opacity:.5;cursor:not-allowed}.banner{border-radius:var(--radius-sm);color:#6b4e00;background:#fff7e0;border:1px solid #9a67002e;margin-bottom:14px;padding:10px 12px;font-size:.9rem}.banner.info{color:#0b4f48;background:#e8f6f3;border-color:#0f766e33}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-elevated);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.88rem}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:11px 12px}table.data thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#eef3f8;font-size:.72rem;font-weight:700;position:sticky;top:0}table.data tbody tr:hover{background:#0f766e0a}table.data tbody tr:last-child td{border-bottom:0}.mono{color:var(--muted);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem}.pill{color:var(--ink);background:#e8eef5;border-radius:999px;padding:2px 8px;font-size:.74rem;font-weight:700;display:inline-block}.pill.active,.pill.trial{color:var(--ok);background:#d8f3ec}.pill.locked,.pill.blocked{color:var(--bad);background:#fde8e6}.pill.verification_pending,.pill.grace{color:var(--warn);background:#fff1cc}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.btn{border:1px solid var(--line-strong);background:var(--surface-elevated);color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;padding:7px 11px;font-size:.82rem;font-weight:600}.btn:hover{border-color:#0f766e73}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-deep)}.btn.danger{color:var(--bad)}.btn.ghost{background:0 0}.btn:disabled{opacity:.5;cursor:not-allowed}.login-page{place-items:center;min-height:100vh;padding:28px 18px;display:grid;position:relative;overflow:hidden}.login-page:before{content:"";pointer-events:none;background:radial-gradient(circle,#1d4e8959,#0000 70%);border-radius:50%;width:55vw;max-width:640px;height:55vw;max-height:640px;animation:14s ease-in-out infinite alternate drift;position:absolute;inset:-20% auto auto -10%}.login-page:after{content:"";pointer-events:none;background:radial-gradient(circle,#0f766e47,#0000 70%);border-radius:50%;width:48vw;max-width:520px;height:48vw;max-height:520px;animation:18s ease-in-out infinite alternate-reverse drift;position:absolute;bottom:-18%;right:-8%}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(18px,-22px)scale(1.06)}}.login-card{background:var(--surface);z-index:1;border:1px solid #e8eef78c;border-radius:16px;width:min(440px,100%);padding:32px 28px 26px;animation:.55s ease-out both rise-in;position:relative;box-shadow:0 24px 64px #07111f59}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.login-brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0 0 6px;font-size:clamp(1.55rem,4vw,1.85rem);font-weight:700;line-height:1.15}.login-card .corp{letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin:0 0 18px;font-size:.72rem;font-weight:700}.login-card .hint{color:var(--muted);margin:0 0 20px;font-size:.92rem}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{font-size:.84rem;font-weight:700}.field input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elevated);padding:11px 12px;transition:border-color .15s,box-shadow .15s}.field input:focus{box-shadow:0 0 0 3px var(--accent-soft);border-color:#0f766e8c;outline:none}.err{color:var(--bad);margin:0 0 12px;font-size:.88rem}.lang-toggle{color:var(--topbar-fg);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #e8eef747;padding:5px 9px;font-size:.78rem;font-weight:700}.lang-toggle:hover{background:#e8eef71a}.login-card .lang-btn{width:100%;margin-top:12px}.empty{color:var(--muted);padding:20px 4px}.flash{color:var(--ok);margin:0 0 12px;font-weight:700}.ok{color:var(--ok);margin:0 0 12px;font-size:.88rem;font-weight:600}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:80;background:#07111f94;place-items:center;padding:18px;animation:.2s ease-out fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface-solid);border:1px solid var(--line);border-radius:14px;width:min(420px,100%);padding:22px 20px 18px;animation:.28s ease-out rise-in;box-shadow:0 28px 70px #07111f66}.modal h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 4px;font-size:1.2rem}.modal .modal-sub{color:var(--muted);margin:0 0 16px;font-size:.88rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.isolation{color:var(--muted);margin-top:16px;margin-bottom:0;font-size:.8rem}@media (width<=720px){.topbar{flex-wrap:wrap;align-items:flex-start}.topbar nav{order:3;width:100%}.topbar .meta{margin-left:auto}.page{width:calc(100% - 20px);margin-top:16px}.panel{padding:16px 14px}.login-card{padding:26px 20px 22px}}
