:root{--brand-blue:#25408f;--brand-light-blue:#00aeef;--brand-red:#c9252c;--brand-grey:#dcddde}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif;color:#1a1a1a;background:#faf9f8}.centered-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(160deg,#f2f5fb,#faf9f8 55%)}.card{background:#fff;border:1px solid var(--brand-grey);border-radius:8px;padding:24px}.app-shell{display:flex;min-height:100vh}.side-nav{width:220px;flex-shrink:0;background:var(--brand-blue);color:#fff;padding:20px 0;display:flex;flex-direction:column}.side-nav-brand{padding:0 20px 20px;font-size:20px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:12px}.side-nav-link{display:block;padding:10px 20px;color:rgba(255,255,255,.85);text-decoration:none;font-size:14px}.side-nav-link:hover{background:rgba(255,255,255,.08)}.side-nav-link.active{background:rgba(255,255,255,.15);color:#fff;font-weight:600;border-left:3px solid var(--brand-light-blue)}.main-content{flex:1 1;padding:24px 32px;max-width:1400px}button.primary{background:var(--brand-blue);color:#fff;border:none;padding:10px 18px;border-radius:4px;font-size:14px;cursor:pointer}button.primary:hover{background:#1c316c}input,select,textarea{font-family:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--brand-grey);border-radius:4px;width:100%}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--brand-grey);border-radius:8px;overflow:hidden}.data-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#605e5c;background:#faf9f8;padding:10px 14px;border-bottom:1px solid var(--brand-grey)}.data-table td{padding:10px 14px;border-bottom:1px solid #f0f0f0;font-size:14px}.data-table tr:last-child td{border-bottom:none}button.secondary{background:#fff;color:var(--brand-blue);border:1px solid var(--brand-blue);padding:8px 14px;border-radius:4px;font-size:13px;cursor:pointer}button.secondary:hover{background:#f2f5fb}button.danger{background:#fff;color:var(--brand-red);border:1px solid var(--brand-red);padding:6px 12px;border-radius:4px;font-size:13px;cursor:pointer}button.danger:hover{background:#fbe1e2}button.link-button{background:none;border:none;color:var(--brand-blue);cursor:pointer;font-size:13px;padding:4px 8px;text-decoration:underline}.form-row{margin-bottom:14px}.form-row label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.form-hint{font-size:12px;color:#605e5c;margin-top:2px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:flex-start;justify-content:center;padding-top:60px;z-index:100}.modal-panel{background:#fff;border-radius:8px;padding:24px;width:480px;max-width:90vw;max-height:80vh;overflow-y:auto}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.badge-active{background:#dff6dd;color:#107c10}.badge-inactive{background:#f3f2f1;color:#605e5c}.permission-group{margin-bottom:18px}.permission-group h4{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:#605e5c;margin-bottom:8px}.permission-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:14px}.permission-item input[type=checkbox]{width:auto}.admin-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--brand-grey)}.admin-tab{padding:10px 16px;text-decoration:none;color:#605e5c;font-size:14px;border-bottom:2px solid transparent}.admin-tab.active{color:var(--brand-blue);font-weight:600;border-bottom-color:var(--brand-blue)}.error-banner{background:#fbe1e2;color:var(--brand-red);padding:12px 16px;border-radius:4px;margin-bottom:16px;font-size:14px}