*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fb;color:#18202f}button,input,select,textarea{font:inherit}button{border:1px solid #d8deea;background:#fff;color:#18202f;border-radius:6px;padding:9px 12px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap}button:hover{border-color:#7c8daa}button.primary{background:#174ea6;border-color:#174ea6;color:#fff}button.danger{background:#b42318;border-color:#b42318;color:#fff}input,select,textarea{width:100%;border:1px solid #d8deea;border-radius:6px;padding:10px 12px;background:#fff;min-height:40px}textarea{min-height:90px;resize:vertical}code{background:#eef2f7;border-radius:5px;padding:3px 6px;word-break:break-all}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#edf4ff}.login-panel{width:min(420px,100%);background:#fff;border:1px solid #e3e7ef;border-radius:8px;padding:28px;box-shadow:0 16px 40px #1f2d3d1f}.brand-mark{width:48px;height:48px;border-radius:8px;display:grid;place-items:center;color:#fff;background:#174ea6;margin-bottom:12px}.login-panel h1{margin:0;font-size:28px}.login-panel p{margin:6px 0 22px;color:#5b677a}.login-panel label{display:grid;gap:7px;margin-bottom:14px;font-weight:600;color:#303a4c}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#101828;color:#fff;padding:20px 14px;display:flex;flex-direction:column;gap:8px}.sidebar-title{font-weight:800;display:flex;align-items:center;gap:9px;margin-bottom:18px;padding:0 8px}.sidebar button{width:100%;border-color:transparent;background:transparent;color:#d9e0ec;justify-content:flex-start}.sidebar button.active,.sidebar button:hover{background:#1f2937;color:#fff}.sidebar-footer{margin-top:auto;color:#98a2b3;font-size:12px;padding:12px 8px 0;border-top:1px solid #263244}.content{padding:28px;min-width:0}.page-header{margin-bottom:20px}.page-header h1{margin:0;font-size:28px}.page-header p{margin:5px 0 0;color:#647084}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric,.section{background:#fff;border:1px solid #e3e7ef;border-radius:8px;padding:16px}.metric span{display:block;color:#667085;font-size:13px}.metric strong{display:block;margin-top:8px;font-size:26px}.toolbar,.form-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:10px;align-items:center;margin-bottom:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.wide{grid-column:1 / -1}.notice,.warning,.error{padding:12px;border-radius:6px;margin:12px 0;background:#eef7ff;border:1px solid #cde6ff;color:#214b71}.warning{background:#fff7ed;border-color:#fed7aa;color:#9a4d00}.error{background:#fff0f0;border-color:#f2c6c6;color:#a62020}.table-wrap{overflow-x:auto;background:#fff;border:1px solid #e3e7ef;border-radius:8px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px;border-bottom:1px solid #edf0f5;vertical-align:top}th{color:#475467;font-size:12px;text-transform:uppercase;background:#f8fafc}.actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e9edf5;color:#344054;font-weight:700;font-size:12px}.badge.active{background:#e7f8ee;color:#157347}.badge.revoked,.badge.blocked{background:#ffe4e4;color:#b42318}.badge.inactive{background:#fff3d6;color:#9a6700}.pager{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:14px;color:#475467}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.json-box{white-space:pre-wrap;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;background:#0f172a;color:#e5e7eb;padding:12px;border-radius:8px;max-height:300px;overflow:auto}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:2;flex-direction:row;overflow-x:auto}.sidebar-title,.sidebar-footer{display:none}.content{padding:18px}.metrics,.toolbar,.form-row,.form-grid,.detail-grid{grid-template-columns:1fr}}.sidebar-footer span{display:block;color:#fff;font-weight:700;margin-bottom:4px}.sidebar-footer small{display:block;line-height:1.35}
