:root{--bg:#f3f4f6;--bg-soft:#eceef2;--card:#ffffff;--text:#14171f;--muted:#6b7280;--border:#e2e4ea;--accent:#2563eb;--accent-soft:rgba(37,99,235,0.08);--danger:#dc2626;--danger-soft:rgba(220,38,38,0.08);--sidebar-bg:#14171f;--sidebar-text:#cfd3dc;--sidebar-text-active:#ffffff;--sidebar-border:#262a35}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}.wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,var(--bg-soft) 0,var(--bg) 55%)}.card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 20px 60px rgba(20,23,31,.08)}.brand{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px}.subtitle{color:var(--muted);margin:0 0 28px;font-size:14px}.btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;margin-bottom:12px;border-radius:10px;border:1px solid var(--border);background:#fff;color:#1a1a1a;font-size:15px;font-weight:600;cursor:pointer;transition:transform .05s ease,filter .15s ease,border-color .15s ease}.btn:hover{filter:brightness(.98);border-color:#cbd0da}.btn:active{transform:translateY(1px)}.btn--ghost{background:transparent;color:var(--text)}.btn--small{width:auto;padding:8px 14px;font-size:13px;margin-bottom:0}.btn--danger{color:var(--danger);border-color:var(--border)}.btn--danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn--primary:hover{filter:brightness(1.05)}.btn form{margin:0}.icon{width:18px;height:18px;flex:0 0 auto}.hint{color:var(--muted);font-size:12px;margin-top:20px;text-align:center;line-height:1.5}.error-box{background:var(--danger-soft);border:1px solid rgba(220,38,38,.3);color:var(--danger);border-radius:10px;padding:12px 14px;font-size:13px;margin-bottom:20px}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);padding:20px 0;display:flex;flex-direction:column}.sidebar-brand{font-size:15px;font-weight:700;color:#fff;padding:0 20px 20px;border-bottom:1px solid var(--sidebar-border);margin-bottom:12px}.nav-group{padding:0 12px}.nav-item{display:block;padding:9px 12px;border-radius:8px;font-size:14px;font-weight:600;color:var(--sidebar-text);text-decoration:none}.nav-item:hover{background:rgba(255,255,255,.06)}.nav-item.active{color:var(--sidebar-text-active);background:rgba(255,255,255,.1)}.nav-sub{margin:2px 0 8px 12px;padding-left:10px;border-left:1px solid var(--sidebar-border)}.nav-sub-item{display:block;padding:7px 10px;border-radius:6px;font-size:13px;color:var(--sidebar-text);text-decoration:none}.nav-sub-item:hover{background:rgba(255,255,255,.06)}.nav-sub-item.active{color:var(--sidebar-text-active);background:var(--accent)}.sidebar-footer{margin-top:auto;padding:12px 20px 0;border-top:1px solid var(--sidebar-border)}.sidebar-footer .muted{color:#8b90a0;font-size:12px;display:block;margin-bottom:10px;word-break:break-all}.main{padding:36px 44px;max-width:860px}.main h1{font-size:22px;margin:0 0 6px}.main .lede{color:var(--muted);font-size:14px;margin:0 0 28px}.panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px}.panel h2{font-size:15px;margin:0 0 16px}.form-row{display:grid;grid-template-columns:1.4fr 1.4fr 1fr auto;grid-gap:10px;gap:10px;align-items:end}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;color:var(--muted)}.field input,.field select{padding:9px 10px;border-radius:8px;border:1px solid var(--border);font-size:14px;background:#fff;color:var(--text);font-family:inherit}.field input:focus,.field select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:0 12px 10px}td,th{border-bottom:1px solid var(--border)}td{padding:12px}tr:last-child td{border-bottom:none}.provider-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg-soft);border:1px solid var(--border)}.empty-state{color:var(--muted);font-size:14px;padding:20px 0;text-align:center}