:root{--canvas:#eeedf1;--surface:#fff;--surface-raised:#fff;--surface-soft:#f1ece8;--surface-hover:#f6f3f0;--border:#e5e0dc;--border-soft:#efebe7;--text:#211b17;--text-secondary:#776e68;--text-muted:#766c65;--school-primary:#007c83;--school-secondary:#007c83;--school-tertiary:#007c83;--school-primary-contrast:#fff;--school-secondary-contrast:#fff;--school-tertiary-contrast:#fff;--accent:#007c83;--accent-hover:#00686e;--accent-contrast:#fff;--accent-hover-contrast:#fff;--accent-soft:color-mix(in srgb, var(--accent) 14%, transparent);--positive:#067a55;--positive-soft:#067a5521;--warning:#8a5b00;--warning-soft:#8a5b0024;--danger:#c62038;--danger-soft:#c620381f;--info:#1f55b5;--info-soft:#1f55b521;--shadow-sm:0 1px 2px #1018280d, 0 1px 3px #1018280a;--shadow-md:0 8px 28px #10182824;--radius-sm:7px;--radius:11px;--radius-lg:15px;--radius-pill:999px;--font-display:var(--font-geist-sans,"Plus Jakarta Sans"), "Avenir Next", Avenir, system-ui, sans-serif;--font-ui:var(--font-geist-sans,Inter), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--school-primary:#00c9d2;--school-secondary:#00c9d2;--school-tertiary:#00c9d2;--school-primary-contrast:#101820;--school-secondary-contrast:#101820;--school-tertiary-contrast:#101820;--accent:#00c9d2;--accent-hover:#00aeb7;--accent-contrast:#101820;--accent-hover-contrast:#101820;--canvas:#17140f;--surface:#1f1b18;--surface-raised:#262120;--surface-soft:#151210;--surface-hover:#2c2624;--border:#423c38;--border-soft:#332d2a;--text:#f6f5f3;--text-secondary:#b4aca6;--text-muted:#8f867f;--positive:#34d399;--positive-soft:#34d39924;--warning:#f0c244;--warning-soft:#f0c24424;--danger:#f4707f;--danger-soft:#f4707f24;--info:#6ba5f7;--info-soft:#6ba5f724;--shadow-sm:0 1px 3px #00000073;--shadow-md:0 16px 40px #00000085;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%}html{background:var(--canvas);font-size:14px}body{background:var(--canvas);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;overflow-x:hidden}button,input,select{color:inherit;font:inherit}button,select{cursor:pointer}button:focus-visible,select:focus-visible,a:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed}h1,h2,h3,p{margin:0}svg{stroke-width:1.8px;flex:none;width:18px;height:18px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--accent);font-family:var(--font-display);letter-spacing:.13em;text-transform:uppercase;font-size:.7rem;font-weight:800}.muted{color:var(--text-muted)}.mono{font-variant-numeric:tabular-nums}.button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:34px;color:var(--text-secondary);justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-size:.82rem;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.button:hover{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));background:var(--surface-hover);color:var(--text)}.button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.button.primary:hover{background:var(--accent-hover);color:var(--accent-hover-contrast)}.main-content{min-width:0}.page-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:20px;min-height:108px;padding:22px 24px 17px;display:flex}.page-header h1{font-family:var(--font-display);letter-spacing:-.035em;margin-top:4px;font-size:clamp(1.6rem,2.5vw,2rem);font-weight:800;line-height:1.1}.page-header>div>p:last-child{color:var(--text-secondary);margin-top:5px;font-size:.8rem}.page-actions{align-items:center;gap:8px;display:flex}.content-section{padding:24px}.section-heading{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.section-heading strong{font-family:var(--font-display);font-size:.84rem}.section-heading span{color:var(--text-muted);font-size:.75rem}.signal-row{flex-wrap:wrap;gap:7px;min-height:34px;margin-bottom:13px;display:flex}.signal{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-height:34px;color:var(--text-secondary);align-items:center;gap:7px;padding:5px 10px;font-size:.76rem;font-weight:650;display:inline-flex}.signal i{border-radius:50%;place-items:center;width:17px;height:17px;font-size:.67rem;font-style:normal;font-weight:900;display:grid}.signal svg{width:12px;height:12px}.signal.danger i{background:var(--danger-soft);color:var(--danger)}.signal.warning i{background:var(--warning-soft);color:var(--warning)}.signal.positive i{background:var(--positive-soft);color:var(--positive)}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.kpi-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:112px;box-shadow:var(--shadow-sm);padding:17px 16px 14px}.kpi-card>span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:800;display:block}.kpi-card>strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin-top:5px;font-size:1.95rem;display:block}.kpi-card>p{color:var(--text-muted);margin-top:3px;font-size:.69rem}.kpi-card.accent{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 68%, var(--surface))}.kpi-card.accent>strong{color:var(--accent)}.kpi-card.positive>strong{color:var(--positive)}.kpi-card.warning>strong{color:var(--warning)}.kpi-card.danger>strong{color:var(--danger)}.table-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.75rem}th,td{border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:middle;min-width:105px;padding:10px 13px}th{background:color-mix(in srgb, var(--surface-soft) 68%, var(--surface));color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding-block:10px;font-size:.61rem;font-weight:800}td{color:var(--text-secondary)}td strong{color:var(--text);font-weight:680}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-hover)}td.number,th.number{text-align:right;font-variant-numeric:tabular-nums}.event-table th:first-child,.event-table td:first-child{min-width:160px}.event-table th:nth-child(2),.event-table td:nth-child(2){min-width:270px}.event-table th:nth-child(3),.event-table td:nth-child(3){min-width:200px}.cell-note{color:var(--text-muted);margin-top:2px;font-size:.68rem;display:block}.sport-label{color:var(--text);align-items:center;gap:6px;margin-right:5px;font-weight:680;display:inline-flex}.sport-label i{border-radius:var(--radius-pill);width:3px;height:14px}.badge{border-radius:var(--radius-pill);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;align-items:center;width:fit-content;padding:3px 7px;font-size:.59rem;font-weight:850;display:inline-flex}.badge.positive{background:var(--positive-soft);color:var(--positive)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.neutral{background:var(--info-soft);color:var(--info)}.notice-banner{border:1px solid color-mix(in srgb, var(--info) 30%, var(--border));border-radius:var(--radius);background:var(--info-soft);color:var(--info);align-items:flex-start;gap:10px;margin-bottom:14px;padding:13px 15px;display:flex}.notice-banner strong,.notice-banner span{display:block}.notice-banner strong{color:var(--text);font-size:.8rem}.notice-banner span{color:var(--text-secondary);margin-top:2px;font-size:.73rem}.facility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.facility-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:11px;padding:15px;display:grid}.facility-icon{border-radius:var(--radius);background:var(--accent-soft);width:38px;height:38px;color:var(--accent);grid-row:span 2;place-items:center;display:grid}.facility-card h3{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.facility-card p,.facility-card>span{color:var(--text-muted);font-size:.7rem}.facility-card>strong{color:var(--accent);font-family:var(--font-display);text-align:right;font-size:1.3rem}.facility-card>span{text-align:right}.facility-next{border-top:1px solid var(--border-soft);grid-column:2/-1;justify-content:space-between;margin-top:11px;padding-top:10px;display:flex}.facility-next small{color:var(--text-muted)}.facility-next b{font-size:.72rem}.empty-card{border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);min-height:190px;color:var(--text-muted);text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:30px;display:flex}.empty-card h3{color:var(--text);margin-top:10px}.empty-card p{margin-top:4px;font-size:.75rem}.empty-table{height:150px;color:var(--text-muted);text-align:center}.empty-table svg{margin:0 auto 7px;display:block}.report-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:12px;display:grid}.report-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);padding:16px}.bar-chart{gap:10px;display:grid}.bar-row{grid-template-columns:120px minmax(70px,1fr) 34px;align-items:center;gap:9px;font-size:.72rem;display:grid}.bar-row>span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-row>div{border-radius:var(--radius-pill);background:var(--surface-soft);height:7px;overflow:hidden}.bar-row i{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-hover));height:100%;display:block}.bar-row b{font-variant-numeric:tabular-nums;text-align:right}.report-list>div{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(100px,1fr) auto auto;align-items:center;gap:12px;min-height:41px;padding:8px 0;font-size:.7rem;display:grid}.report-list>div:last-child{border-bottom:0}.report-list>div>span{color:var(--text-muted)}.person-cell{align-items:center;gap:8px;display:inline-flex}.person-cell .avatar{flex-basis:28px;width:28px;height:28px}.dashboard-loading{padding:28px 24px}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-soft), var(--surface-hover), var(--surface-soft));background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.skeleton.heading{width:270px;height:28px}.skeleton.subheading{width:180px;height:11px;margin-top:9px}.skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:52px;display:grid}.skeleton-grid>div{border-radius:var(--radius-lg);background:var(--surface-soft);height:112px}.skeleton.table{border-radius:var(--radius-lg);height:360px;margin-top:14px}.content-error{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));border-radius:var(--radius-lg);background:var(--surface);max-width:620px;box-shadow:var(--shadow-sm);gap:16px;margin:80px auto;padding:28px;display:flex}.content-error>svg{width:28px;height:28px;color:var(--danger)}.content-error h1{font-family:var(--font-display);margin-top:4px;font-size:1.25rem}.content-error div>p:not(.eyebrow){color:var(--text-secondary);white-space:pre-line;margin:7px 0 15px}.state-page{background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 34%), var(--canvas);place-items:center;min-height:100vh;padding:24px;display:grid}.state-card{border:1px solid var(--border);background:var(--surface);width:min(470px,100%);box-shadow:var(--shadow-md);text-align:center;border-radius:18px;padding:32px}.state-card.danger{border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.state-icon{background:var(--accent-soft);width:50px;height:50px;color:var(--accent);border-radius:15px;place-items:center;margin:0 auto 16px;display:grid}.state-card.danger .state-icon{background:var(--danger-soft);color:var(--danger)}.state-icon svg{width:24px;height:24px}.state-card h1{font-family:var(--font-display);margin-top:5px;font-size:1.5rem}.state-card>p:not(.eyebrow){color:var(--text-secondary);margin:8px auto 18px;font-size:.84rem}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width:1120px) and (min-width:901px){.kpi-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.content-section,.page-header{padding-inline:16px}.kpi-grid,.kpi-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.report-layout{grid-template-columns:1fr}}@media (max-width:640px){html{font-size:15px}.page-header{align-items:flex-start;min-height:116px;padding-block:18px}.page-actions .button{width:38px;padding:0;font-size:0}.page-actions .button svg{width:16px;height:16px}.content-section{padding-top:18px}.kpi-grid,.kpi-grid.four{grid-template-columns:1fr;gap:8px}.kpi-card{min-height:94px;padding:14px}.kpi-card>strong{font-size:1.55rem}.facility-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:90px minmax(60px,1fr) 28px}.state-page{padding:14px}.state-card{padding:25px 19px}}.profile-mark{border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.profile-mark svg{stroke-width:1.65px;width:26px;height:26px}.button.saved{border-color:var(--positive);background:var(--positive);color:#fff}.button-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:0 0 15px;width:15px;height:15px;animation:.7s linear infinite spin;display:inline-block}.profile-content{width:100%;max-width:1320px;margin-inline:auto}.profile-feedback{border-radius:var(--radius-sm);border:1px solid;align-items:center;gap:9px;min-height:42px;margin-bottom:16px;padding:10px 13px;font-size:.82rem;font-weight:700;display:flex}.profile-feedback svg{width:17px;height:17px}.profile-feedback.positive{border-color:color-mix(in srgb, var(--positive) 34%, var(--border));background:var(--positive-soft);color:var(--positive)}.profile-feedback.danger{border-color:color-mix(in srgb, var(--danger) 34%, var(--border));background:var(--danger-soft);color:var(--danger)}.profile-feedback.warning{border-color:color-mix(in srgb, var(--warning) 34%, var(--border));background:var(--warning-soft);color:var(--warning)}.profile-layout{grid-template-columns:245px minmax(0,1fr);align-items:start;gap:18px;display:grid}.profile-summary-card,.profile-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow-sm)}.profile-summary-card{padding:23px 20px 18px;position:sticky;top:80px;overflow:hidden}.profile-summary-card:before{background:var(--accent);content:"";height:3px;position:absolute;inset:0 0 auto}.avatar.large{width:72px;height:72px;font-family:var(--font-display);margin-bottom:15px;font-size:1.3rem}.profile-summary-card h2{overflow-wrap:anywhere;font-family:var(--font-display);font-size:1.06rem;line-height:1.3}.profile-summary-card>div>p{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.76rem;overflow:hidden}.profile-summary-card dl{border-top:1px solid var(--border-soft);margin:20px 0 0;padding-top:14px}.profile-summary-card dl>div{justify-content:space-between;align-items:center;gap:12px;min-height:30px;display:flex}.profile-summary-card dt{color:var(--text-secondary);font-size:.75rem}.profile-summary-card dd{color:var(--text);font-family:var(--font-display);margin:0;font-size:.85rem;font-weight:800}.profile-stack{gap:18px;min-width:0;display:grid}.profile-card{padding:21px}.profile-card-heading{border-bottom:1px solid var(--border-soft);align-items:flex-start;gap:11px;margin-bottom:20px;padding-bottom:16px;display:flex}.profile-card-heading>span{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:50%;flex:0 0 34px;place-items:center;display:grid}.profile-card-heading svg{width:17px;height:17px}.profile-card-heading h2{font-family:var(--font-display);font-size:.94rem;line-height:1.35}.profile-card-heading p{color:var(--text-muted);margin-top:2px;font-size:.75rem}.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.profile-field{gap:6px;min-width:0;display:grid}.profile-field>span{color:var(--text-secondary);font-size:.73rem;font-weight:750}.profile-field input,.profile-field select,.contact-add-row input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:39px;color:var(--text);outline:none;padding:0 11px;font-size:.82rem;transition:border-color .15s,box-shadow .15s}.profile-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%237e8998' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:34px}.profile-field input:focus,.profile-field select:focus,.contact-add-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.contact-panel,.role-panel{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-soft);min-width:0;padding:15px}.contact-panel{flex-direction:column;display:flex}.contact-panel-heading{align-items:center;gap:8px;margin-bottom:12px;display:flex}.contact-panel-heading>span:first-child{color:var(--accent);place-items:center;display:grid}.contact-panel-heading svg{width:16px;height:16px}.contact-panel-heading h3{font-family:var(--font-display);flex:1;font-size:.82rem}.contact-empty{border:1px dashed var(--border);border-radius:var(--radius-sm);min-height:54px;color:var(--text-muted);text-align:center;place-items:center;padding:15px 10px;font-size:.75rem;display:grid}.contact-list{gap:7px;max-height:216px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.contact-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:8px;min-width:0;min-height:58px;padding:9px 8px 9px 10px;display:flex}.contact-list li>div{flex:1;min-width:0}.contact-list strong{text-overflow:ellipsis;white-space:nowrap;margin-bottom:5px;font-size:.76rem;display:block;overflow:hidden}.contact-list button{width:31px;height:31px;color:var(--danger);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.contact-list button:hover:not(:disabled){background:var(--danger-soft)}.contact-list button:disabled{opacity:.5}.contact-list button svg{width:15px;height:15px}.contact-add-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:auto;padding-top:12px;display:grid}.contact-add-row .button{min-width:74px}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.role-panel>div{justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px;display:flex}.role-panel h3{font-family:var(--font-display);font-size:.82rem}.role-panel ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.role-panel li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:8px;min-height:38px;padding:8px 10px;font-size:.76rem;font-weight:650;display:flex}.role-panel li svg{width:15px;height:15px;color:var(--accent)}.role-panel>p{color:var(--text-muted);font-size:.75rem}.team-role-list{border-top:1px solid var(--border-soft);margin-top:20px;padding-top:18px}.team-role-grid{gap:7px;display:grid}.team-role-grid article{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:14px;min-width:0;min-height:58px;padding:10px 12px;display:flex}.team-role-grid article>div:first-child{min-width:0}.team-role-grid strong,.team-role-grid article>div:first-child>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.team-role-grid strong{font-size:.78rem}.team-role-grid article>div:first-child>span{color:var(--text-muted);margin-top:3px;font-size:.7rem}.team-role-badges{flex:none;align-items:center;gap:5px;display:flex}@media (max-width:1080px){.profile-layout{grid-template-columns:210px minmax(0,1fr)}.contact-grid{grid-template-columns:1fr}}@media (max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-summary-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;display:grid;position:static}.profile-summary-card .avatar.large{width:56px;height:56px;margin:0;font-size:1rem}.profile-summary-card dl{border-top:0;border-left:1px solid var(--border-soft);margin:0;padding:0 0 0 18px}}@media (max-width:640px){.profile-content{padding-inline:12px}.profile-summary-card{grid-template-columns:auto minmax(0,1fr)}.profile-summary-card dl{border-top:1px solid var(--border-soft);border-left:0;grid-column:1/-1;padding:10px 0 0}.profile-card{padding:16px}.profile-form-grid,.role-grid,.contact-add-row{grid-template-columns:1fr}.contact-add-row .button{width:100%}.team-role-grid article{flex-direction:column;align-items:flex-start}}
