:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f6fa;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top left,rgba(47,94,225,.12),transparent 32%),#f4f6fa}.login-card{width:min(440px,100%);background:#fff;border:1px solid #e5e9f1;border-radius:22px;padding:36px;box-shadow:0 22px 70px #1b27481a}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#234fd2;color:#fff;font-weight:800;letter-spacing:.04em;margin-bottom:24px}.brand-mark.small{width:40px;height:40px;border-radius:12px;margin:0}.eyebrow{color:#234fd2;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(28px,4vw,40px);letter-spacing:-.03em}h2{margin-bottom:6px;font-size:20px}.muted{color:#6a7284;line-height:1.6}.login-form,.admin-form{display:grid;gap:18px;margin-top:28px}.login-form label,.admin-form label{display:grid;gap:8px;font-size:14px;font-weight:700}.login-form input,.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid #d8deea;border-radius:12px;padding:12px 14px;background:#fff;color:#172033;outline:none}.login-form input:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:#234fd2;box-shadow:0 0 0 3px #234fd21f}.primary-button,.secondary-button{border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.primary-button{background:#234fd2;color:#fff}.secondary-button{background:#eef3ff;color:#234fd2}.primary-button:disabled,.secondary-button:disabled{opacity:.6;cursor:wait}.error-box{border:1px solid #f0b6b6;background:#fff3f3;color:#9c2a2a;padding:11px 13px;border-radius:10px;font-size:14px}.success-box{border:1px solid #b9dfc6;background:#f2fbf5;color:#176535;padding:11px 13px;border-radius:10px;font-size:14px}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#111827;color:#fff;padding:22px 18px;display:flex;flex-direction:column;gap:30px}.sidebar-brand{display:flex;gap:12px;align-items:center;padding:4px 6px}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand span{color:#97a0b4;font-size:12px;margin-top:3px}.nav-list{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#c7cede;text-align:left;padding:11px 12px;border-radius:10px;cursor:pointer}.nav-item:hover,.nav-item.active{background:#202a3c;color:#fff}.sidebar-footer{margin-top:auto;padding:14px 6px 4px;color:#aeb6c7;font-size:12px;overflow-wrap:anywhere;display:grid;gap:5px}.sidebar-footer strong{color:#fff;font-size:14px}.link-button{border:0;background:transparent;color:#9db5ff;padding:8px 0 0;cursor:pointer;text-align:left}.content{min-width:0;padding:36px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0}.summary-card,.panel{background:#fff;border:1px solid #e4e8f0;border-radius:16px;box-shadow:0 8px 28px #1d2a4a0d}.summary-card{padding:20px}.summary-card span{display:block;color:#6a7284;font-size:13px;margin-bottom:10px}.summary-card strong{font-size:28px}.panel{padding:22px}.panel-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.panel-toolbar{align-items:flex-start}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 12px;text-align:left;border-bottom:1px solid #edf0f5;font-size:14px;white-space:nowrap;vertical-align:top}th{color:#677086;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.status-pill{display:inline-block;padding:6px 9px;border-radius:999px;background:#eef3ff;color:#234fd2;font-size:12px;font-weight:800}.empty-state{text-align:center;color:#7a8293;padding:34px}.user-grid{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:20px;margin-top:28px;align-items:start}.form-card{position:sticky;top:24px}.role-list{display:flex;flex-wrap:wrap;gap:6px}.role-chip{display:inline-block;padding:5px 8px;border-radius:999px;background:#f0f2f7;color:#3f485b;font-size:12px;font-weight:700}.acceptance-panel{max-width:980px}.acceptance-form{margin-top:8px}.form-section{display:grid;gap:16px;padding:18px 0;border-top:1px solid #edf0f5}.form-section:first-child{border-top:0;padding-top:0}.form-section h3{margin:0;font-size:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.span-2{grid-column:span 2}.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.checkbox-card{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;border:1px solid #dfe4ed;border-radius:12px;padding:12px;cursor:pointer;background:#fff}.checkbox-card input{width:auto!important;margin-top:3px}.checkbox-card span{display:grid;gap:2px}.checkbox-card small{color:#6a7284;font-weight:500;line-height:1.35}.confidential-section{background:#fafbff;border:1px solid #e3e8f7;border-radius:14px;padding:18px}.info-box{border:1px solid #cbd7f4;background:#f5f8ff;color:#34456f;padding:12px 14px;border-radius:10px;line-height:1.55;font-size:14px}.form-actions{display:flex;justify-content:flex-end}@media (max-width: 1050px){.user-grid{grid-template-columns:1fr}.form-card{position:static}}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.nav-list{grid-template-columns:repeat(2,1fr)}.sidebar-footer{margin-top:0}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.content{padding:22px 16px}.form-grid,.checkbox-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-header{flex-direction:column}.summary-grid,.nav-list{grid-template-columns:1fr}.panel{padding:18px 14px}}.text-button{border:0;background:transparent;color:#234fd2;padding:4px 0;font-weight:700;cursor:pointer;text-align:center}.text-button:hover{text-decoration:underline}.full-button{width:100%;margin-top:18px}
