:root{--bg: #f5f6f8;--panel: #ffffff;--ink: #14181f;--muted: #6b7280;--line: #e5e7eb;--brand: #0b6bcb;--brand-ink: #084e96;--sidebar: #0e1726;--sidebar-ink: #c7d2e0;--ok: #11823b;--okbg: #e7f6ec;--warn: #9a6700;--warnbg: #fff4d6;--danger: #b42318;--dangerbg: #fee4e2;--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);color:var(--sidebar-ink);display:flex;flex-direction:column;padding:20px 14px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:#fff;font-size:16px;padding:6px 8px 18px}.brand-mark{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--brand);color:#fff;font-size:15px;font-weight:800}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:block;padding:9px 12px;border-radius:8px;color:var(--sidebar-ink);text-decoration:none;font-weight:500}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:var(--brand);color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.who{font-size:13px;color:#fff;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-link{background:none;border:none;color:var(--sidebar-ink);cursor:pointer;padding:0;font-size:13px}.btn-link:hover{color:#fff;text-decoration:underline}.content{padding:28px 36px;max-width:1100px}.page-title{font-size:22px;font-weight:700;margin:0 0 4px}.page-sub{color:var(--muted);margin:0 0 22px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px;margin-bottom:18px}.card h3{margin:0 0 14px;font-size:15px}.field{margin-bottom:16px}.field:last-child{margin-bottom:0}.field label{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.cred{display:flex;align-items:center;gap:10px;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:14px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:10px 12px;word-break:break-all}.cred .val{flex:1}.btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;border-radius:8px;padding:8px 14px;font-weight:600;font-size:13px;border:1px solid transparent}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-ink)}.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{background:#f3f4f6}.btn-danger{background:#fff;color:var(--danger);border-color:var(--dangerbg)}.btn-danger:hover{background:var(--dangerbg)}.btn-sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.55;cursor:default}.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600}.badge.ok{background:var(--okbg);color:var(--ok)}.badge.pending{background:var(--warnbg);color:var(--warn)}.badge.other{background:#eef2f7;color:var(--muted)}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line);background:#fbfcfd}td{padding:12px 16px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:none}td.mono,.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.stat .k{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.stat .v{font-size:24px;font-weight:700;margin-top:6px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px}select,input.inp{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;background:#fff}.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:14px;color:var(--muted)}.notice{padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:14px}.notice.err{background:var(--dangerbg);color:var(--danger)}.notice.info{background:#e8f1fc;color:var(--brand-ink)}.empty{padding:40px;text-align:center;color:var(--muted)}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,#0e1726,#14233d);padding:24px}.login-card{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:400px;padding:34px 32px}.login-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;margin-bottom:6px}.login-sub{color:var(--muted);margin:0 0 24px}.login-step{margin-top:10px}.gbtn-holder{display:flex;justify-content:center;min-height:44px}.otp-input{width:100%;font-size:22px;letter-spacing:8px;text-align:center;font-family:ui-monospace,monospace;padding:12px;border:1px solid var(--line);border-radius:10px}.muted{color:var(--muted)}.center{text-align:center}.mt{margin-top:14px}.spacer{flex:1}
