:root{--navy:#0b2538;--blue:#176b87;--aqua:#28a7a1;--ice:#eef8f8;--ink:#142634;--muted:#687985;--line:#dce8eb;--white:#fff;--shadow:0 12px 32px rgba(13,49,67,.08)}
*{box-sizing:border-box}body{margin:0;background:#f5f9fa;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--blue);text-decoration:none}button,input{font:inherit}.eyebrow{margin:0 0 7px;color:var(--aqua);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.muted{color:var(--muted)}.brand-mark{display:grid;width:60px;height:60px;border-radius:20px;background:linear-gradient(145deg,var(--aqua),var(--blue));place-items:center;color:#fff;font-weight:900;box-shadow:0 10px 24px rgba(40,167,161,.28)}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:.8rem}.button{border:0;border-radius:11px;padding:11px 17px;font-weight:750;cursor:pointer}.primary{background:linear-gradient(135deg,var(--blue),var(--aqua));color:#fff;box-shadow:0 8px 18px rgba(23,107,135,.2)}.secondary{background:var(--white);border:1px solid var(--line);color:var(--ink)}
.login-shell{display:grid;min-height:100vh;grid-template-columns:1.08fr .92fr}.login-brand{display:flex;padding:10vw;flex-direction:column;justify-content:center;background:radial-gradient(circle at 80% 20%,rgba(40,167,161,.35),transparent 28%),linear-gradient(145deg,#071d2b,var(--navy));color:#fff}.login-brand h1{margin:20px 0 8px;font-size:clamp(3rem,7vw,6.5rem);letter-spacing:-.06em}.login-brand>p:last-child{max-width:560px;color:#c7dce4;font-size:1.25rem;line-height:1.6}.login-card{align-self:center;width:min(430px,85%);margin:auto;padding:38px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.login-card h2{margin:0;font-size:2rem}.login-card form{display:grid;gap:18px;margin-top:26px}.login-card label{display:grid;gap:7px;font-size:.86rem;font-weight:750}.login-card input{width:100%;padding:13px 14px;border:1px solid #cbdadd;border-radius:10px;outline:0}.login-card input:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(40,167,161,.12)}.alert{margin-top:20px;padding:12px;border-radius:9px;background:#fff0f0;color:#a52b2b}
.app-shell{display:grid;min-height:100vh;grid-template-columns:245px 1fr}.sidebar{position:sticky;top:0;display:flex;height:100vh;padding:24px 18px;flex-direction:column;background:var(--navy);color:#fff}.logo{display:flex;align-items:center;gap:11px;color:#fff;font-size:1.15rem;font-weight:850}.sidebar nav{display:grid;gap:5px;margin-top:36px}.sidebar nav a{padding:11px 13px;border-radius:9px;color:#bcd0d8;font-size:.9rem}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(40,167,161,.15);color:#fff}.sidebar nav a.active{border-left:3px solid var(--aqua)}.sidebar-footer{display:grid;gap:3px;margin-top:auto;padding:16px 12px;border-top:1px solid rgba(255,255,255,.12)}.sidebar-footer small{color:#8eabb6}.sidebar-footer button{padding:8px 0;border:0;background:none;color:#66d0c7;cursor:pointer}.content{padding:35px clamp(20px,4vw,58px)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.page-header h1{margin:0;font-size:2.05rem;letter-spacing:-.035em}.page-header p:last-child{margin-bottom:0}.quick-actions{display:flex;gap:9px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0 20px}.kpi{display:grid;min-height:150px;padding:21px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.kpi span{font-size:.83rem;font-weight:750;color:var(--muted)}.kpi strong{align-self:center;font-size:2.35rem}.kpi small{color:#8a9aa3}.kpi.accent{background:linear-gradient(145deg,var(--blue),var(--aqua));color:#fff}.kpi.accent span,.kpi.accent small{color:#d7f3f0}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.panel{min-width:0;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.span-2{grid-column:span 2}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.panel-heading h2{margin:0;font-size:1.05rem}.panel-heading>a{font-size:.8rem;font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 10px;border-bottom:1px solid #edf2f3;text-align:left;font-size:.84rem}th{color:var(--muted);font-size:.72rem;text-transform:uppercase}.group-dot{display:inline-block;width:8px;height:8px;margin-right:9px;border-radius:50%}.stack-list{display:grid;gap:13px}.stack-list>div{display:grid;gap:4px;padding:12px;border-radius:10px;background:#f5f9fa}.stack-list span,.stack-list small{color:var(--muted);font-size:.78rem}.results>div{position:relative;padding-right:70px}.results b{position:absolute;top:18px;right:13px;color:var(--blue)}.qualifier-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.qualifier-grid>div{display:grid;grid-template-columns:32px 1fr auto;gap:2px 8px;align-items:center;padding:12px;border:1px solid #e5efef;border-radius:10px}.qualifier-grid .medal{grid-row:span 2;display:grid;width:30px;height:30px;border-radius:10px;background:#dff6f2;place-items:center;color:var(--aqua)}.qualifier-grid span:not(.medal){color:var(--muted);font-size:.75rem}.qualifier-grid b{grid-row:span 2;color:var(--blue);font-size:.8rem}.empty{padding:22px;border-radius:10px;background:#f5f9fa;color:var(--muted);text-align:center}
@media(max-width:1000px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}}
@media(max-width:720px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.app-shell{display:block}.sidebar{position:static;height:auto;padding:15px}.sidebar nav{grid-template-columns:repeat(2,1fr);margin-top:18px}.sidebar-footer{display:none}.content{padding:22px 15px}.page-header{align-items:flex-start;flex-direction:column}.quick-actions{width:100%}.quick-actions .button{flex:1}.kpi-grid,.dashboard-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.qualifier-grid{grid-template-columns:1fr}}
.flash{margin-bottom:18px;padding:13px 16px;border:1px solid #bce4dc;border-radius:11px;background:#eaf9f5;color:#14665f;font-weight:700}.flash.error{border-color:#f2c4c4;background:#fff1f1;color:#9b2929}.compact{align-items:center}.filter-tabs{display:flex;gap:5px;margin:25px 0 12px}.filter-tabs a{padding:8px 13px;border-radius:9px;color:var(--muted);font-size:.82rem;font-weight:750}.filter-tabs a.active{background:#dff4f2;color:#14665f}.management-panel{padding:7px 16px}.management-panel td{padding-top:16px;padding-bottom:16px}.actions-heading{text-align:right}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.row-actions a,.text-button{font-size:.78rem;font-weight:750}.row-actions form{margin:0}.text-button{padding:0;border:0;background:none;color:var(--blue);cursor:pointer}.text-button.danger{color:#a64242}.status-pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:800}.status-pill.active{background:#ddf5ee;color:#176d5d}.status-pill.archived{background:#edf0f2;color:#65747b}.empty-state{display:grid;gap:5px;padding:45px;text-align:center}.empty-state span{color:var(--muted);font-size:.86rem}.form-panel{max-width:820px;margin-top:26px}.form-errors{margin-bottom:22px;padding:14px 17px;border:1px solid #f1c5c5;border-radius:10px;background:#fff3f3;color:#902e2e}.form-errors ul{margin:8px 0 0;padding-left:20px}.entity-form{display:grid;gap:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:grid;gap:7px;font-size:.85rem;font-weight:800}.form-grid label>span{color:var(--muted);font-size:.7rem;font-weight:500}.form-grid input,.form-grid select{width:100%;padding:12px;border:1px solid #cadadd;border-radius:9px;background:#fff;color:var(--ink);outline:0}.form-grid input:focus,.form-grid select:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(40,167,161,.12)}.form-grid input[type=color]{min-height:44px;padding:5px}.span-full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:720px){.form-grid{grid-template-columns:1fr}.span-full{grid-column:auto}.management-panel{padding:4px}.filter-tabs{overflow:auto}.row-actions{align-items:flex-start;flex-direction:column}.sidebar nav{max-height:230px;overflow:auto}}

.count-pill{display:inline-grid;min-width:22px;height:22px;margin-left:5px;padding:0 6px;border-radius:999px;background:var(--aqua);place-items:center;color:#fff;font-size:.72rem}.notification-panel{margin-top:18px}.notification-list{display:grid;gap:12px}.notification-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;background:#fff}.notification-item.high{border-left-color:#d37a1f}.notification-item.success{border-left-color:var(--aqua)}.notification-item.is-read{background:#f7fafb}.notification-item.is-resolved{opacity:.66}.notification-copy{min-width:0}.notification-copy h2{margin:7px 0 5px;font-size:1rem}.notification-copy p{margin:0 0 7px}.notification-copy small{color:var(--muted)}.notification-meta{display:flex;align-items:center;gap:8px}.notification-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.notification-actions form{margin:0}.link-button{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}.danger-text{color:#a52b2b}@media(max-width:720px){.notification-item{align-items:flex-start;flex-direction:column}.notification-actions{flex-wrap:wrap}}

/* Phase 10 integrated command centre */
.nav-notification{display:flex!important;align-items:center;justify-content:space-between}.nav-count{display:inline-grid;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eea853;place-items:center;color:#172b37;font-size:.68rem;font-weight:900}.dashboard-kpis{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:14px;margin:30px 0 18px}.dashboard-kpi{display:grid;min-height:138px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow);color:var(--ink);transition:transform .15s ease,box-shadow .15s ease}.dashboard-kpi:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(13,49,67,.12)}.dashboard-kpi span{color:var(--muted);font-size:.76rem;font-weight:800}.dashboard-kpi strong{align-self:center;font-size:2rem}.dashboard-kpi small{color:#84959f}.dashboard-kpi.accent{border-color:transparent;background:linear-gradient(145deg,var(--blue),var(--aqua));color:#fff}.dashboard-kpi.accent span,.dashboard-kpi.accent small{color:#d7f3f0}.dashboard-kpi.alert-kpi{border-color:#f0d29a;background:#fffaf0}.dashboard-kpi.alert-kpi strong{color:#a86416}.attention-panel{margin-bottom:18px;border-top:3px solid #eea853}.dashboard-alerts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dashboard-alert{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:11px;color:var(--ink)}.dashboard-alert.high{border-color:#f1d28d;background:#fffaf0}.dashboard-alert.success{border-color:#bee7df;background:#f2fbf9}.dashboard-alert>span:nth-child(2){display:grid;gap:3px}.dashboard-alert small{color:var(--muted)}.dashboard-alert b{color:var(--muted);font-size:.66rem;text-transform:uppercase}.alert-icon{display:grid;width:28px;height:28px;border-radius:9px;background:#e8f4f8;place-items:center;color:var(--blue);font-weight:900}.phase10-grid{align-items:start}.meet-stack>a,.results>a{position:relative;display:grid;gap:4px;padding:12px;border-radius:10px;background:#f5f9fa;color:var(--ink)}.meet-stack>a span,.meet-stack>a small,.results>a span,.results>a small{color:var(--muted);font-size:.76rem}.results>a{padding-right:78px}.results>a b{position:absolute;top:18px;right:13px;color:var(--blue)}.attendance-trend{display:grid;grid-template-columns:repeat(6,1fr);height:225px;gap:14px;align-items:end;padding-top:16px}.trend-column{display:grid;grid-template-rows:20px 145px 20px 16px;gap:4px;text-align:center}.trend-value{color:var(--blue);font-size:.75rem;font-weight:850}.trend-track{display:flex;align-items:flex-end;overflow:hidden;border-radius:8px 8px 4px 4px;background:#edf3f4}.trend-track i{display:block;width:100%;min-height:3px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--aqua),var(--blue))}.trend-column strong{font-size:.72rem}.trend-column small{color:var(--muted);font-size:.66rem}.qualifier-grid>a{display:grid;grid-template-columns:32px 1fr auto;gap:2px 8px;align-items:center;padding:12px;border:1px solid #e5efef;border-radius:10px;color:var(--ink)}.qualifier-grid>a .medal{grid-row:span 2;display:grid;width:30px;height:30px;border-radius:10px;background:#dff6f2;place-items:center;color:var(--aqua)}.qualifier-grid>a span:not(.medal){color:var(--muted);font-size:.75rem}.qualifier-grid>a b{grid-row:span 2;color:var(--blue);font-size:.8rem}.dashboard-shortcuts{display:grid;gap:9px}.dashboard-shortcuts .panel-heading{margin-bottom:4px}.dashboard-shortcuts>a{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--ink)}.dashboard-shortcuts>a span{font-weight:800}.dashboard-shortcuts>a small{color:var(--muted)}
@media(max-width:1250px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.dashboard-alerts{grid-template-columns:1fr}}
@media(max-width:720px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-kpi{min-height:120px}.attendance-trend{gap:7px}.dashboard-alert{grid-template-columns:30px 1fr}.dashboard-alert b{grid-column:2}.dashboard-header .quick-actions{display:grid;grid-template-columns:1fr 1fr}.dashboard-header .quick-actions a{text-align:center}}
.nav-count[hidden]{display:none}

/* Phase 10.1: keep long navigation inside the full-height dark rail. */
@media(min-width:721px){.sidebar{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(102,208,199,.55) transparent;scrollbar-width:thin}.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(102,208,199,.45)}.sidebar nav{flex:0 0 auto}.sidebar-footer{flex:0 0 auto}}

/* Phase 10.2: fixed desktop rail prevents any document-level overflow. */
@media(min-width:721px){.sidebar{position:fixed;inset:0 auto 0 0;width:245px;height:100vh;height:100dvh;min-height:100vh;background:var(--navy);overflow-x:hidden;overflow-y:auto}.content{grid-column:2;min-width:0}}

/* Phase 11 administration */
.account-link{color:#fff;font-weight:800}.account-link:hover{color:#66d0c7}.settings-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:18px;margin-top:26px}.security-note{padding:16px;border-left:4px solid #eea853;border-radius:10px;background:#fffaf0;color:#6b4b1d}.role-pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#e6f1fb;color:#24618d;font-size:.7rem;font-weight:800}.inline-warning{margin:0;padding:11px 13px;border-radius:9px;background:#fffaf0;color:#7c541c;font-size:.8rem}.button.danger{background:#fff;border:1px solid #efc3c3;color:#a52b2b}.user-meta{display:grid;gap:3px}.user-meta small{color:var(--muted)}
@media(max-width:850px){.settings-grid{grid-template-columns:1fr}}
@media(max-width:720px){.content{overflow-x:hidden}.page-header .button{width:100%;text-align:center}.settings-grid{margin-top:18px}.form-actions{flex-wrap:wrap}.form-actions .button{flex:1;text-align:center}.management-panel table{min-width:720px}}
.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0 18px}.recovery-card{display:flex;align-items:flex-start;flex-direction:column}.recovery-card h2{margin:14px 0 4px}.recovery-card p{min-height:64px;color:var(--muted);line-height:1.5}.recovery-card form{margin-top:auto}.recovery-icon{display:grid;width:42px;height:42px;border-radius:13px;background:#dff4f2;place-items:center;color:#14665f;font-weight:900}.restore-panel{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr);gap:30px;border-top:4px solid #c45c5c}.restore-panel h2{margin:4px 0}.restore-panel input[type=file]{padding:9px}.restore-panel .inline-warning{margin-top:-8px}@media(max-width:850px){.restore-panel{grid-template-columns:1fr}}@media(max-width:720px){.recovery-grid{grid-template-columns:1fr}.recovery-card p{min-height:0}}

/* Phase 13 final responsive and accessibility polish */
.mobile-bar,.nav-overlay,.nav-close{display:none}.sidebar-head{display:flex;align-items:center;justify-content:space-between}.skip-link{position:fixed;z-index:2000;top:8px;left:8px;padding:10px 14px;border-radius:8px;background:#fff;color:var(--navy);font-weight:850;box-shadow:var(--shadow);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid #f2ad45;outline-offset:3px}.content{max-width:1680px;width:100%;margin:0 auto}.table-wrap{max-width:100%;scrollbar-color:var(--aqua) #edf3f4;scrollbar-width:thin}.table-wrap:focus-within{box-shadow:0 0 0 3px rgba(40,167,161,.12)}.button,.text-button,.sidebar button,.sidebar nav a{min-height:44px}.text-button{display:inline-flex;align-items:center}.entity-form input,.entity-form select,.entity-form textarea,.report-filters input,.report-filters select{min-height:44px}.page-header>div{min-width:0}.page-header h1,.page-header p,.panel h2,.panel p,td{overflow-wrap:anywhere}
@media(max-width:1100px){.content{padding:30px 26px}.page-header{align-items:flex-start}.quick-actions{flex-wrap:wrap}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid>.span-2{grid-column:span 2}.report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.report-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){body.nav-open{overflow:hidden}.app-shell{display:block}.mobile-bar{position:sticky;z-index:900;top:0;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:10px 15px;background:var(--navy);box-shadow:0 5px 18px rgba(7,29,43,.18)}.mobile-bar .logo{font-size:1rem}.nav-toggle{display:grid;width:46px;height:46px;padding:11px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:transparent;place-content:center;gap:5px}.nav-toggle span{display:block;width:22px;height:2px;border-radius:2px;background:#fff}.nav-overlay{position:fixed;z-index:950;inset:0;display:block;background:rgba(4,18,28,.6);backdrop-filter:blur(2px)}.nav-overlay[hidden]{display:none}.sidebar{position:fixed;z-index:1000;inset:0 auto 0 0;display:flex;width:min(86vw,330px);height:100vh;height:100dvh;padding:18px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:18px 0 40px rgba(4,18,28,.26);overflow-x:hidden;overflow-y:auto}.nav-open .sidebar{transform:translateX(0)}.sidebar>.logo{display:none}.sidebar-head .nav-close{display:grid;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:transparent;place-items:center;color:#fff;font-size:1.7rem}.sidebar nav{display:grid;grid-template-columns:1fr;gap:4px;max-height:none;margin-top:22px;overflow:visible}.sidebar nav a{display:flex;align-items:center;padding:10px 13px}.sidebar-footer{display:grid;margin-top:24px;padding-bottom:8px}.sidebar-footer button{min-width:90px;text-align:left}.content{max-width:none;padding:22px 15px 34px}.page-header{gap:14px}.page-header h1{font-size:clamp(1.65rem,8vw,2.05rem)}.page-header>.button{width:100%;text-align:center}.quick-actions,.dashboard-header .quick-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.quick-actions .button{display:grid;min-width:0;place-items:center;text-align:center}.panel{padding:17px;border-radius:13px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.span-2{grid-column:auto}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}.dashboard-kpi{min-width:0;min-height:112px;padding:14px}.dashboard-kpi strong{font-size:1.65rem}.table-wrap{margin-right:-4px;padding-bottom:5px;overflow-x:auto;overscroll-behavior-inline:contain}.table-wrap table{min-width:660px}.management-panel{padding:5px 12px}.management-panel table{min-width:720px}.form-panel{width:100%;margin-top:18px}.form-grid,.settings-grid,.profile-grid,.recovery-grid{grid-template-columns:1fr}.form-actions{display:grid;grid-template-columns:1fr 1fr}.form-actions .button{width:100%;text-align:center}.report-filters{grid-template-columns:1fr}.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-actions,.notification-meta{width:100%;flex-wrap:wrap}.attendance-trend{height:190px;gap:6px}.trend-column{grid-template-rows:20px 110px 20px 16px}.login-card{width:min(430px,calc(100% - 28px));padding:28px 22px}.filter-tabs{padding-bottom:4px;overflow-x:auto;white-space:nowrap}}
@media(max-width:390px){.dashboard-kpis,.quick-actions,.dashboard-header .quick-actions,.form-actions,.report-kpis{grid-template-columns:1fr}.dashboard-kpi{min-height:100px}.content{padding-inline:12px}.panel{padding:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.strong-link{color:var(--ink);font-weight:800}.strong-link:hover{color:var(--blue)}.cell-note{display:block;margin-top:3px;color:var(--muted)}.form-panel.wide{max-width:980px}.entity-form fieldset{margin:0;padding:0 0 24px;border:0;border-bottom:1px solid var(--line)}.entity-form legend{margin-bottom:18px;font-size:1rem;font-weight:850}.field-note{color:var(--muted);font-size:.78rem}.form-grid textarea{width:100%;padding:12px;border:1px solid #cadadd;border-radius:9px;background:#fff;color:var(--ink);font:inherit;resize:vertical}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.check-grid label{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--line);border-radius:9px;font-size:.8rem;font-weight:700}.check-grid input{accent-color:var(--aqua)}.consent-date{margin-top:16px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.profile-grid .span-2{grid-column:span 2}.profile-grid h2{margin:0 0 16px;font-size:1.05rem}.detail-list{display:grid;gap:12px;margin:0}.detail-list>div{display:grid;gap:3px}.detail-list dt{color:var(--muted);font-size:.7rem;font-weight:750;text-transform:uppercase}.detail-list dd{margin:0;font-size:.87rem;white-space:pre-line}.sensitive-panel{border-top:3px solid #eea853}.consent-list{display:grid;gap:9px}.consent-list span{padding:9px;border-radius:8px;background:#f1f4f5;color:var(--muted);font-size:.8rem;font-weight:750}.consent-list span.granted{background:#ddf5ee;color:#176d5d}.guardian-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.guardian-cards>div{position:relative;padding:15px;border:1px solid var(--line);border-radius:11px}.guardian-cards>div>div:first-child{display:flex;justify-content:space-between;gap:10px}.guardian-cards>div>div:first-child span,.guardian-cards p{color:var(--muted);font-size:.78rem}.tag-row{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.tag-row span{padding:4px 7px;border-radius:999px;background:#e4f5f3;color:#176d5d;font-size:.66rem;font-weight:800}.link-form{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.link-form h3{font-size:.9rem}.compact-checks{grid-template-columns:repeat(4,1fr);margin:12px 0}.compact-checks label{padding:8px;font-size:.72rem}
@media(max-width:1000px){.profile-grid{grid-template-columns:1fr 1fr}.profile-grid .span-2{grid-column:span 2}.compact-checks{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.check-grid,.profile-grid,.guardian-cards{grid-template-columns:1fr}.profile-grid .span-2{grid-column:auto}.compact-checks{grid-template-columns:1fr}}
.status-pill.scheduled{background:#e6f1fb;color:#24618d}.status-pill.completed{background:#ddf5ee;color:#176d5d}.status-pill.cancelled{background:#fff0f0;color:#a64242}.session-banner{display:flex;gap:14px;margin-top:22px;padding:13px 16px;border-radius:11px}.session-banner.completed{background:#e5f7f1;color:#176d5d}.session-banner.cancelled{background:#fff0f0;color:#9d3939}.session-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 18px}.session-summary article{display:grid;gap:6px}.session-summary span{color:var(--muted);font-size:.72rem;text-transform:uppercase}.attendance-panel{margin-bottom:18px}.attendance-choice{display:flex;flex-wrap:wrap;gap:10px}.attendance-choice label{font-size:.75rem;font-weight:700;white-space:nowrap}.attendance-choice input{accent-color:var(--aqua)}.attendance-form td>input{min-width:170px;padding:8px;border:1px solid var(--line);border-radius:8px}.inactive-roster{opacity:.58}.correction-row{display:flex;align-items:end;justify-content:flex-end;gap:15px;padding:18px 10px 10px}.correction-row label,.session-controls label{display:grid;min-width:320px;gap:5px;font-size:.78rem;font-weight:750}.correction-row label span{color:var(--muted);font-size:.68rem;font-weight:500}.correction-row input,.session-controls input{padding:10px;border:1px solid var(--line);border-radius:8px}.session-controls form{display:flex;align-items:end;gap:12px}.danger-button{background:#a64242;color:#fff}.attendance-kpis{margin-top:28px}.group-bars{display:grid;gap:17px}.group-bars>div{display:grid;grid-template-columns:minmax(140px,1fr) 2fr 45px;align-items:center;gap:12px}.group-bars>div>div:first-child{display:grid}.group-bars span{color:var(--muted);font-size:.72rem}.bar{height:9px;overflow:hidden;border-radius:99px;background:#e8eff1}.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--aqua))}.group-bars b{text-align:right;color:var(--blue);font-size:.8rem}
@media(max-width:720px){.session-summary{grid-template-columns:1fr}.correction-row,.session-controls form{align-items:stretch;flex-direction:column}.correction-row label,.session-controls label{min-width:0;width:100%}.group-bars>div{grid-template-columns:1fr 45px}.group-bars>div>div:first-child{grid-column:1/-1}}
.course-pill{display:inline-block;padding:5px 8px;border-radius:7px;background:#e8f4f8;color:var(--blue);font-size:.7rem;font-weight:850}.status-pill.draft{background:#edf0f2;color:#65747b}.status-pill.open,.status-pill.accepted{background:#ddf5ee;color:#176d5d}.status-pill.entries_closed,.status-pill.submitted{background:#fff5d8;color:#87630f}.status-pill.in_progress{background:#e6f1fb;color:#24618d}.status-pill.rejected,.status-pill.withdrawn,.status-pill.scratched{background:#fff0f0;color:#a64242}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.event-grid article{display:grid;gap:3px;padding:17px;border:1px solid var(--line);border-radius:11px;background:#f8fbfb}.event-grid article span{color:var(--aqua);font-weight:900}.event-grid article small{color:var(--muted)}.meet-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.meet-summary article{display:grid;gap:9px}.meet-summary span{color:var(--muted);font-size:.7rem;text-transform:uppercase}.meet-summary strong{font-size:1rem}.workflow-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.workflow-panel>div:first-child{display:grid;gap:4px}.workflow-panel span{color:var(--muted);font-size:.78rem}.workflow-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.workflow-actions form{display:flex;gap:6px}.workflow-actions input,.programme-form input,.programme-form select,.entry-actions input{padding:9px;border:1px solid var(--line);border-radius:8px}.workflow-actions input{width:155px}.competition-panel{margin-bottom:18px}.programme-form{display:grid;grid-template-columns:2fr .7fr .7fr auto;gap:10px;margin:0 0 18px;padding:14px;border-radius:11px;background:#f5f9fa}.entry-actions{display:flex;flex-wrap:wrap;gap:9px}.entry-actions form{display:flex;align-items:center;gap:5px}.entry-actions input{width:120px;font-size:.72rem}.meet-notes h2{margin-top:0;font-size:1.05rem}.meet-notes p:last-child{white-space:pre-line}
@media(max-width:1000px){.event-grid,.meet-summary{grid-template-columns:repeat(2,1fr)}.workflow-panel{flex-direction:column}.workflow-actions{justify-content:flex-start}.programme-form{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.event-grid,.meet-summary{grid-template-columns:1fr}.workflow-actions,.workflow-actions form{width:100%;flex-direction:column}.workflow-actions input{width:100%}.programme-form{grid-template-columns:1fr}.entry-actions{align-items:flex-start;flex-direction:column}}
.status-pill.official{background:#ddf5ee;color:#176d5d}.status-pill.disqualified{background:#fff0f0;color:#a64242}.pb-badge{display:inline-block;margin-left:7px;padding:4px 7px;border-radius:999px;background:#fff0bd;color:#765810;font-size:.63rem;font-weight:900}.pb-badge.large{margin:7px 0 0}.meet-picker{display:flex;align-items:center;gap:18px;margin:18px 0}.meet-picker>div{display:flex;flex-wrap:wrap;gap:8px}.meet-picker a{padding:7px 10px;border-radius:8px;background:#eef8f8;font-size:.76rem;font-weight:750}.result-hero{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:24px 0}.result-hero>div{display:grid;gap:5px}.result-hero span{color:var(--muted);font-size:.7rem;text-transform:uppercase}.result-hero strong{font-size:1.1rem}.result-hero>div:first-child strong{color:var(--blue);font-size:2.4rem}.result-hero small{color:var(--muted)}.result-hero.dq{border-top:3px solid #b94b4b}.dq-panel{margin-bottom:18px;border-left:4px solid #b94b4b;background:#fff8f8}.dq-panel p{margin-bottom:0}.competition-panel{margin-top:18px}
@media(max-width:720px){.result-hero{grid-template-columns:1fr}.meet-picker{align-items:flex-start;flex-direction:column}}
.performance-profile{margin-top:18px}.performance-profile .stack-list>div{position:relative;padding-right:80px}.performance-profile .stack-list b{position:absolute;right:13px;top:18px;color:var(--blue)}
.source-warning{display:grid;gap:4px;margin:22px 0;padding:15px 18px;border:1px solid #f1d28d;border-radius:11px;background:#fff9e8;color:#735714}.source-warning span{font-size:.8rem}.active-standard{display:flex;align-items:center;justify-content:space-between;margin:22px 0;border-left:4px solid var(--aqua)}.active-standard>div{display:grid;gap:4px}.active-standard span,.active-standard small,.standard-meta span{color:var(--muted);font-size:.72rem}.qualification-kpis,.standard-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.qualification-kpis article,.standard-meta>div{display:grid;gap:7px}.qualification-kpis span{color:var(--muted);font-size:.72rem;text-transform:uppercase}.qualification-kpis strong{font-size:1.6rem}.level-badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#e6f1fb;color:#24618d;font-size:.7rem;font-weight:850}.level-badge.rank-3{background:#e4f5f3;color:#176d5d}.level-badge.rank-4{background:#fff0bd;color:#765810}.standards-tools{margin:18px 0}.standard-row-form{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.standard-row-form input,.standard-row-form select,.csv-form input{min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.standard-row-form button{grid-column:1/-1}.csv-form{display:grid;gap:12px;margin-top:18px}.standard-meta>div{padding:12px;border-radius:10px;background:#f5f9fa}.status-pill.retired{background:#edf0f2;color:#65747b}
@media(max-width:720px){.active-standard{align-items:flex-start;flex-direction:column;gap:12px}.qualification-kpis,.standard-meta,.standard-row-form{grid-template-columns:1fr}.standard-row-form button{grid-column:auto}}

/* Phase 8 reports */
.report-header{align-items:flex-end}.report-filter-panel{margin:20px 0}.report-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:12px;align-items:end}.report-filters label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:750}.report-filters input,.report-filters select{min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.report-period{display:flex;justify-content:space-between;gap:12px;margin:18px 0 10px;color:var(--muted);font-size:.78rem}.report-period strong{color:var(--ink)}.report-kpis{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:12px;margin-bottom:18px}.report-kpis article{display:grid;gap:7px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.report-kpis span{color:var(--muted);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.report-kpis strong{font-size:1.5rem}.report-export-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.report-export-panel h2{margin:0 0 4px}.report-export-actions{display:flex;flex-wrap:wrap;gap:8px}.report-section{margin-bottom:18px}.report-feed{display:grid;gap:2px}.report-feed a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 4px;border-bottom:1px solid var(--line);color:var(--ink)}.report-feed a:last-child{border-bottom:0}.report-feed span{display:grid;gap:3px}.report-feed small{color:var(--muted)}.report-feed b{white-space:nowrap}.progress-track{width:92px;height:7px;overflow:hidden;border-radius:999px;background:#e6eef1}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--aqua))}.report-two-column{align-items:start}
@media(max-width:1180px){.report-filters{grid-template-columns:repeat(3,1fr)}.report-kpis{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.report-header{align-items:flex-start}.report-filters{grid-template-columns:1fr}.report-kpis{grid-template-columns:repeat(2,1fr)}.report-export-panel{align-items:flex-start;flex-direction:column}.report-export-actions{width:100%}.report-export-actions form,.report-export-actions button{width:100%}.report-period{flex-direction:column}.print-button{width:100%}}
@media print{.sidebar,.no-print,.print-button,.flash{display:none!important}.app-shell{display:block}.content{padding:0;max-width:none}.panel,.report-kpis article{box-shadow:none;break-inside:avoid}.report-kpis{grid-template-columns:repeat(4,1fr)}a{color:inherit;text-decoration:none}.table-wrap{overflow:visible}body{background:#fff}}
