:root{--navy: #12275a;--navy-2: #1b3a7e;--blue: #2f5fd0;--blue-2: #4d7ce8;--blue-soft: #e8effc;--gold: #2f5fd0;--gold-light: #4d7ce8;--bg: #f2f6fd;--card: #ffffff;--text: #1c2536;--muted: #64748b;--border: #dfe7f3;--red: #dc2626;--green: #16a34a;--amber: #d97706;--grad: linear-gradient(135deg, #2f5fd0 0%, #4d7ce8 100%);--shadow-card: 0 1px 2px rgba(18, 39, 90, .05), 0 8px 24px rgba(18, 39, 90, .06);--font-display: "Playfair Display", Georgia, "Times New Roman", serif}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:radial-gradient(1000px 500px at 85% -10%,rgba(77,124,232,.1),transparent 60%),var(--bg);color:var(--text);font-size:14px}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:14px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(900px 480px at 20% 0%,rgba(77,124,232,.35),transparent 55%),radial-gradient(700px 420px at 90% 100%,rgba(47,95,208,.3),transparent 55%),linear-gradient(160deg,#0e1f4b,#16306b 55%,#1b3a7e)}.login-card{background:var(--card);border-radius:18px;padding:36px 32px;width:400px;box-shadow:0 24px 70px #06102a73;border:1px solid rgba(255,255,255,.6)}.login-card h1{margin:0 0 4px;font-size:24px;color:var(--navy);font-family:var(--font-display);font-weight:700;letter-spacing:.01em}.login-card .sub{color:var(--muted);margin:0 0 20px;font-size:13px}.brand-badge{display:block;margin:0 0 18px;background:none;padding:0;color:var(--navy);font-weight:800;font-size:12px;letter-spacing:.08em}.brand-badge img{display:block;max-width:250px;height:auto}.field{margin-bottom:14px}.field label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;outline:none;background:#fff;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f5fd024}.btn{border:none;border-radius:999px;padding:10px 18px;font-weight:600;font-size:14px;background:var(--grad);color:#fff;box-shadow:0 4px 14px #2f5fd04d;transition:transform .12s,box-shadow .12s,filter .12s}.btn:hover{filter:brightness(1.06);box-shadow:0 6px 18px #2f5fd061;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.gold{background:var(--grad);color:#fff}.btn.gold:hover{filter:brightness(1.08)}.btn.ghost{background:#fff;color:var(--blue);border:1px solid var(--border);box-shadow:none}.btn.ghost:hover{background:var(--blue-soft);filter:none;transform:none;box-shadow:none}.btn.danger{background:linear-gradient(135deg,#dc2626,#ef4444);box-shadow:0 4px 14px #dc262647}.btn.sm{padding:6px 12px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn.full{width:100%}.error-box{background:#fef2f2;color:var(--red);border:1px solid #fecaca;border-radius:10px;padding:8px 12px;font-size:13px;margin-bottom:12px}.ok-box{background:#f0fdf4;color:var(--green);border:1px solid #bbf7d0;border-radius:10px;padding:8px 12px;font-size:13px;margin-bottom:12px}.shell{display:flex;min-height:100vh}.sidebar{width:224px;color:#c7d3ea;padding:20px 14px;flex-shrink:0;display:flex;flex-direction:column;background:radial-gradient(420px 260px at 0% 0%,rgba(77,124,232,.22),transparent 60%),linear-gradient(180deg,#0e1f4b,#12275a)}.sidebar .logo{color:#fff;font-weight:800;font-size:15px;letter-spacing:.05em;padding:0 8px 18px;display:flex;align-items:center;gap:10px}.sidebar .logo img{width:34px;height:34px;display:block}.sidebar .logo .logo-text{line-height:1.15}.sidebar .logo .logo-text small{display:block;font-size:9px;font-weight:700;letter-spacing:.28em;color:#8fb0ef}.sidebar nav{display:flex;flex-direction:column;gap:3px;flex:1}.sidebar nav button{text-align:left;background:none;border:none;color:#c7d3ea;padding:10px 12px;border-radius:10px;font-size:14px;transition:background .12s,color .12s}.sidebar nav button:hover{background:#ffffff14;color:#fff}.sidebar nav button.active{background:var(--grad);color:#fff;font-weight:700;box-shadow:0 4px 14px #1c3e9473}.sidebar .whoami{font-size:11px;color:#8fa3c8;padding:10px 8px;border-top:1px solid rgba(255,255,255,.12)}.main{flex:1;padding:26px 30px;max-width:1200px}.main h2{margin:0 0 4px;color:var(--navy);font-size:24px;font-family:var(--font-display);font-weight:700}.main .sub{color:var(--muted);margin:0 0 18px;font-size:13px}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:var(--shadow-card)}.card h3{margin:0 0 12px;font-size:16px;color:var(--navy);font-family:var(--font-display);font-weight:700}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.row .field{flex:1;min-width:140px;margin-bottom:0}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;padding:8px 10px;color:#7286a5;font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--border)}table.data td{padding:9px 10px;border-bottom:1px solid #eaf0f9;vertical-align:middle}table.data tr:hover td{background:#f6f9fe}.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:11px;font-weight:600}.pill.gray{background:#f1f5f9;color:var(--muted)}.pill.green{background:#dcfce7;color:var(--green)}.pill.amber{background:#fef3c7;color:var(--amber)}.pill.red{background:#fee2e2;color:var(--red)}.pill.navy{background:var(--blue-soft);color:var(--blue)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.muted{color:var(--muted)}.spacer{flex:1}.codes{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.codes span{background:#f1f5f9;border-radius:8px;padding:6px 10px;text-align:center}.qr-wrap{display:flex;justify-content:center;padding:14px 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.stat{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow-card)}.stat .num{font-size:24px;font-weight:800;color:var(--navy);font-family:var(--font-display)}.stat .lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
