:root{--color-navy:#08204e;--color-navy-light:#123a7a;--color-on-navy:#fff;--color-background:#faf9f6;--color-card:#fff;--color-foreground:#1a2338;--color-muted-foreground:#5c6579;--color-border:#e4e7ee;--color-muted:#f2f3f7;--color-compliant:#2ab572;--color-compliant-bg:#e7f7ef;--color-in-progress:#b48a00;--color-in-progress-bg:#fdf6dc;--color-gap:#d91c5b;--color-gap-bg:#fbe7ee;--color-not-started:#6b7280;--color-not-started-bg:#f2f3f7;--color-accent:#715fa9;--font-heading:"Poppins", system-ui, sans-serif;--font-body:"Open Sans", system-ui, sans-serif;--radius:10px;--sidebar-width:260px}.item-editor{border-top:1px solid var(--color-border);margin-top:1rem}.item-editor summary{cursor:pointer;min-height:44px;color:var(--color-navy);padding:12px 0;font-weight:600}.edit-form{margin-top:1rem}.edit-form fieldset{border:0;min-width:0;margin:0;padding:0}.edit-fields{flex-wrap:wrap;gap:1rem;display:flex}.edit-form label{flex:200px;margin-bottom:.75rem;font-size:.9rem;font-weight:600;display:block}.edit-form input:not([type=hidden]),.edit-form select,.edit-form textarea{border:1px solid var(--color-muted-foreground);width:100%;min-height:44px;font:inherit;color:var(--color-foreground);background:var(--color-card);border-radius:6px;margin-top:5px;padding:10px;display:block}.edit-form textarea{resize:vertical}.edit-button{min-height:44px;color:var(--color-on-navy);background:var(--color-navy);border:0;border-radius:6px;padding:10px 18px}.edit-button:hover{background:var(--color-navy-light)}.edit-button:disabled{cursor:wait;opacity:.65}.form-help{color:var(--color-muted-foreground);font-size:.85rem}.live-register-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-top:.5rem;display:flex}.register-data-label{border:1px solid var(--color-border);background:var(--color-muted);color:var(--color-navy);white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-block}.demo-notice{border-left:4px solid var(--color-navy);margin:1rem 0}.demo-notice p{margin-bottom:0}.register-table-scroll{max-width:100%;padding:0;overflow-x:auto}.register-data-table{border-collapse:collapse;width:100%;font-size:.9rem}.register-data-table caption{text-align:left;color:var(--color-navy);padding:1rem;font-weight:600}.register-data-table th,.register-data-table td{vertical-align:top;text-align:left;border-bottom:1px solid var(--color-border);min-width:125px;padding:.75rem .9rem}.register-data-table thead th{color:var(--color-navy);background:var(--color-muted);border-bottom-width:2px}.register-data-table tbody th{font-weight:600}.register-data-table tr:last-child td,.register-data-table tr:last-child th{border-bottom:0}.matrix-table .matrix-tick{text-align:center;font-size:1.1rem}.participants-table td:last-child{min-width:260px}.risk-record{margin-top:1rem}.risk-record .live-register-heading{margin-top:0}.risk-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;display:grid}.risk-details dt{color:var(--color-muted-foreground);font-size:.85rem}.risk-details dd{overflow-wrap:anywhere;margin:.25rem 0 0}.risk-detail-wide{grid-column:1/-1}@media (max-width:600px){.risk-details{grid-template-columns:minmax(0,1fr)}}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body{background:var(--color-background);color:var(--color-foreground);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}h1,h2,h3{font-family:var(--font-heading);color:var(--color-navy);margin:0}a{color:var(--color-navy);text-decoration:none}button{font-family:var(--font-body);cursor:pointer}input{font-family:var(--font-body)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-navy);color:#fff;z-index:30;flex-direction:column;gap:22px;height:100vh;padding:24px 18px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.nav-toggle-btn{display:none}main.content{margin-left:var(--sidebar-width);min-width:0;padding:32px 40px 80px}@media (max-width:880px){.sidebar{z-index:50;transition:transform .2s ease-out;transform:translate(-100%);box-shadow:4px 0 28px #00000047}.sidebar.open{transform:translate(0)}.nav-toggle-btn{z-index:60;background:var(--color-navy);color:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;display:flex;position:fixed;top:14px;left:14px;box-shadow:0 2px 10px #00000040}.sidebar-overlay{z-index:40;background:#08204e73;display:block;position:fixed;inset:0}main.content{margin-left:0;padding-top:74px}}@media (max-width:600px){main.content{padding-left:16px;padding-right:16px}}.brand{align-items:center;gap:10px;padding:0 6px;display:flex}.brand-text{flex-direction:column;line-height:1.25;display:flex}.brand-name{font-family:var(--font-heading);color:#fff;font-size:16px;font-weight:600}.brand-desc{letter-spacing:1.5px;text-transform:uppercase;color:#93a2c4;font-size:10.5px}nav.primary-nav{flex-direction:column;gap:2px;display:flex}.nav-section-label{letter-spacing:1.5px;text-transform:uppercase;color:#93a2c4;margin:14px 6px 6px;font-size:10.5px}.nav-btn{text-align:left;color:#dbe2f1;border-radius:var(--radius);background:0 0;border:none;align-items:center;gap:10px;width:100%;min-height:40px;padding:10px 12px;font-size:14.5px;font-weight:500;transition:background .18s ease-out,color .18s ease-out;display:flex}.nav-btn:hover{color:#fff;background:#ffffff14}.nav-btn.active{color:#fff;background:#ffffff1a;font-weight:700}.nav-btn .nav-icon{opacity:.85;flex:0 0 18px;width:18px;height:18px}.nav-btn.active .nav-icon{opacity:1}.sidebar-foot{color:#7a89ad;border-top:1px solid #ffffff1f;margin-top:24px;padding-top:14px;font-size:11px}.content-inner{max-width:1720px;margin:0 auto}.topbar{justify-content:flex-end;margin-bottom:12px;display:flex}.account-menu{position:relative}.account-avatar{background:var(--color-navy);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:700;transition:box-shadow .16s ease-out;display:flex}.account-avatar:hover{box-shadow:0 0 0 3px #08204e1f}.account-dropdown{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);z-index:20;flex-direction:column;gap:2px;min-width:200px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #08204e24}.account-dropdown-email{color:var(--color-muted-foreground);border-bottom:1px solid var(--color-border);margin-bottom:4px;padding:8px 10px;font-size:12px}.account-dropdown button{text-align:left;width:100%;color:var(--color-foreground);background:0 0;border:none;border-radius:6px;padding:9px 10px;font-family:inherit;font-size:13.5px;display:block}.account-dropdown button:hover{background:var(--color-muted)}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 18px;box-shadow:0 1px 2px #08204e0f,0 1px 6px #08204e0a}.stat-label{color:var(--color-muted-foreground);font-size:.78rem}.stat{font-family:var(--font-heading);font-size:1.5rem;font-weight:600}.dashboard-overview-grid{grid-template-columns:minmax(280px,1fr) 2fr;gap:1rem;margin-top:1.5rem;display:grid}.dashboard-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;display:grid}.dashboard-overview-grid>*,.dashboard-stats-grid>*{min-width:0}.snapshot-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem;display:grid}@media (max-width:1100px){.snapshot-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.snapshot-grid,.dashboard-overview-grid,.dashboard-stats-grid{grid-template-columns:1fr}}.list-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 2px #08204e0f,0 1px 6px #08204e0a}.list-row{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.7rem 1rem;display:flex}.list-row:first-child{border-top:none}.list-row a{color:var(--color-foreground);font-weight:500}.list-row a:hover{color:var(--color-navy);text-decoration:underline}
