*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#f3f5f7;color:#171a1f}button,input,select{font:inherit}button{cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.preview-note{position:fixed;top:10px;left:50%;transform:translateX(-50%);z-index:100;background:rgba(24,27,32,.88);color:#dbe1e7;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);padding:7px 12px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.08em}.nx-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);background:radial-gradient(circle at 18% 4%,#fff 0,transparent 24%),radial-gradient(circle at 88% 14%,rgba(226,232,240,.78),transparent 27%),linear-gradient(180deg,#f8fafb,#eef1f4)}.nx-sidebar{position:sticky;top:0;height:100vh;padding:24px 16px 16px;background:linear-gradient(180deg,#20242a,#15181d);color:#d8dee5;border-right:1px solid rgba(255,255,255,.05);box-shadow:20px 0 55px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:26px}.nx-brand{display:flex;align-items:center;gap:12px;padding:6px}.nx-brand img,.nx-mobile-brand img{width:44px;height:44px;border-radius:14px;box-shadow:0 0 28px rgba(255,255,255,.12)}.nx-brand div,.nx-mobile-brand{display:flex;align-items:center}.nx-brand div{align-items:flex-start;flex-direction:column}.nx-brand strong{font-size:18px;color:#fff;letter-spacing:-.03em}.nx-brand span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#98a1ac;margin-top:3px}.nx-nav{display:grid;gap:7px}.nx-nav-btn{border:0;background:transparent;color:#aeb6bf;display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:15px;font-weight:700;text-align:left}.nx-nav-btn svg{width:20px;height:20px}.nx-nav-btn:hover{background:rgba(255,255,255,.06);color:#fff}.nx-nav-btn.active{background:linear-gradient(180deg,#fff,#edf1f4);color:#171a1f;box-shadow:0 8px 22px rgba(255,255,255,.11)}.nx-sidebar-foot{margin-top:auto;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);padding:15px;border-radius:18px;display:grid;gap:3px}.nx-sidebar-foot span,.nx-sidebar-foot small{font-size:10px;color:#8f99a4}.nx-sidebar-foot strong{color:#fff;font-size:16px}.nx-main{min-width:0}.nx-topbar{height:76px;position:sticky;top:0;z-index:40;background:rgba(248,250,251,.86);backdrop-filter:blur(18px);border-bottom:1px solid #e2e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 26px}.nx-mobile-brand{display:none}.nx-top-context{display:grid}.nx-top-context span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#7d8691;font-weight:800}.nx-top-context strong{font-size:18px;letter-spacing:-.02em}.nx-top-actions{display:flex;align-items:center;gap:9px}.icon-btn{width:42px;height:42px;border:1px solid #dde3e8;background:#fff;color:#3b424b;border-radius:13px;display:grid;place-items:center}.icon-btn svg{width:19px;height:19px}.profile-pill{border:1px solid #dfe4e8;background:#fff;border-radius:16px;display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px}.profile-pill>span{width:36px;height:36px;border-radius:11px;background:#1c2026;color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px}.profile-pill div{display:grid;text-align:left}.profile-pill strong{font-size:12px}.profile-pill small{font-size:10px;color:#7a838e}.nx-content{padding:24px;max-width:1500px;margin:0 auto}.nx-view{display:none}.nx-view.active{display:block}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7e8792;font-weight:850}.hero-panel,.section-head{position:relative;overflow:hidden;border:1px solid #dfe5ea;background:rgba(255,255,255,.88);border-radius:26px;padding:28px;box-shadow:0 18px 42px rgba(15,23,42,.07),0 0 40px rgba(255,255,255,.8);display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.hero-panel:after,.section-head:after,.panel:after,.kpi-card:after,.metric-card:after{content:"";position:absolute;width:190px;height:190px;right:-75px;top:-90px;border-radius:50%;background:radial-gradient(circle,#fff 0,rgba(226,232,240,.4) 40%,transparent 70%);pointer-events:none}.hero-panel h1,.section-head h1{font-size:38px;line-height:1.05;letter-spacing:-.05em;margin:6px 0 8px}.hero-panel p,.section-head p{margin:0;color:#67717c;max-width:720px}.btn{border:0;border-radius:14px;min-height:44px;padding:10px 15px;font-weight:800}.btn.dark{background:linear-gradient(180deg,#252a31,#15181d);color:#fff;box-shadow:0 8px 20px rgba(21,24,29,.18)}.btn.soft{background:#f3f5f7;border:1px solid #dfe4e8;color:#353c44}.btn.full{width:100%}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:16px 0}.kpi-card,.metric-card{position:relative;overflow:hidden;border:1px solid #e0e5e9;background:linear-gradient(145deg,#fff,#f8fafb);border-radius:22px;padding:19px;text-align:left;box-shadow:0 10px 28px rgba(15,23,42,.055);display:grid;gap:6px}.kpi-card:hover{transform:translateY(-2px);border-color:#cdd4da}.kpi-card span,.metric-card span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#78828d;font-weight:850}.kpi-card strong,.metric-card strong{font-size:31px;letter-spacing:-.045em}.kpi-card strong.kpi-date{font-size:27px}.kpi-card small,.metric-card small{color:#7b8490}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.span-2{grid-column:span 2}.panel{position:relative;overflow:hidden;border:1px solid #dfe5e9;background:rgba(255,255,255,.93);border-radius:23px;padding:20px;box-shadow:0 12px 32px rgba(15,23,42,.06)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.panel-head h2{margin:4px 0 0;font-size:20px;letter-spacing:-.035em}.text-btn{border:0;background:none;color:#535d68;font-weight:800;font-size:12px}.compact-event-list,.improvement-list,.task-list,.event-side-list,.history-list{display:grid;gap:9px}.compact-event,.improvement-row,.task-list button,.event-side-item,.history-row{border:1px solid #e2e7eb;background:#fafbfc;border-radius:16px;padding:12px;display:flex;align-items:center;gap:12px}.compact-event-date{width:48px;height:48px;flex:0 0 auto;border-radius:14px;background:#20242a;color:#fff;display:grid;place-items:center;align-content:center}.compact-event-date strong{font-size:16px}.compact-event-date span{font-size:9px}.compact-event-info{min-width:0;display:grid;gap:3px;flex:1}.compact-event-info strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-event-info span{font-size:11px;color:#7a838e}.status-pill,.trend-pill,.notice-state{border-radius:999px;background:#eef1f4;padding:5px 8px;font-size:9px;font-weight:850;color:#4c5661}.improvement-avatar,.athlete-avatar{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#2a2f36,#15181d);color:#fff;display:grid;place-items:center;font-weight:850;font-size:12px;flex:0 0 auto}.improvement-row div:nth-child(2){display:grid;gap:2px;flex:1}.improvement-row strong{font-size:13px}.improvement-row small{color:#7b8490}.improvement-value{font-size:13px;font-weight:900}.attendance-ring-wrap{display:grid;place-items:center;gap:18px;padding:6px}.attendance-ring{--pct:90;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#20242a calc(var(--pct)*1%),#e4e9ed 0);position:relative}.attendance-ring:after{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff}.attendance-ring>div{z-index:1;display:grid;text-align:center}.attendance-ring strong{font-size:30px}.attendance-ring span{font-size:10px;color:#7e8792}.ring-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 12px;font-size:10px;color:#65707a}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.dark{background:#20242a}.dot.light{background:#dfe5e9}.dot.mid{background:#8b95a0}.task-list button{border-color:#e2e7eb;width:100%;text-align:left}.task-icon{width:34px;height:34px;border-radius:10px;background:#20242a;color:#fff;display:grid;place-items:center;font-weight:850}.task-icon.neutral{background:#e9edf0;color:#252a31}.task-list button div{display:grid;gap:1px;flex:1}.task-list strong{font-size:12px}.task-list small{font-size:10px;color:#7b8490}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);gap:14px;margin-top:15px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-toolbar div{display:grid;text-align:center}.calendar-toolbar span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#7b8490}.calendar-toolbar strong{font-size:20px}.calendar-week,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-week{margin-bottom:6px}.calendar-week span{text-align:center;font-size:9px;color:#8a939e;font-weight:850}.month-day{min-height:112px;border:1px solid #e1e6ea;background:#fbfcfd;border-radius:14px;padding:9px;display:grid;align-content:start;gap:5px}.month-day.outside{opacity:.35}.month-day.today{box-shadow:inset 0 0 0 2px #30363e}.month-day-num{font-size:11px;font-weight:850}.calendar-event{border:0;background:#23272d;color:#fff;border-radius:9px;padding:6px;text-align:left;font-size:9px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.soft{background:#e9edf0;color:#343b44}.event-side-item{align-items:flex-start}.event-side-item .event-date-box{width:45px;height:45px;border-radius:12px;background:#20242a;color:#fff;display:grid;place-items:center;align-content:center;flex:0 0 auto}.event-date-box strong{font-size:15px}.event-date-box span{font-size:8px}.event-side-item>div:nth-child(2){display:grid;gap:3px}.event-side-item h3{font-size:12px;margin:0}.event-side-item p{font-size:10px;color:#7b8490;margin:0}.attendance-layout{margin-top:15px}.attendance-day-panel{padding:0}.date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:15px;border-bottom:1px solid #e5e9ed}.date-pill{border:1px solid #e0e5e9;background:#fafbfc;border-radius:14px;padding:10px 6px;display:grid;text-align:center;gap:3px}.date-pill span{font-size:9px;color:#7b8490}.date-pill strong{font-size:16px}.date-pill.active{background:#20242a;color:#fff;border-color:#20242a}.date-pill.active span{color:#ccd2d8}.session-selector{padding:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid #e5e9ed}.session-selector h2{margin:4px 0;font-size:20px}.session-selector p{margin:0;color:#7a838e;font-size:12px}.session-stats{display:flex;gap:8px}.session-stats span{background:#f4f6f8;border:1px solid #e1e6ea;border-radius:12px;padding:8px 10px;font-size:10px;color:#6d7681}.session-stats strong{font-size:15px;color:#22272d}.attendance-tools,.directory-tools{padding:14px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e6eaee}.attendance-tools input,.directory-tools input,.progress-controls select,.progress-controls input,.quick-modal input{width:100%;border:1px solid #dce2e7;background:#fff;border-radius:13px;padding:11px 12px;color:#20242a}.attendance-list,.athlete-list,.results-list{display:grid}.attendance-row-preview,.athlete-row,.result-row{display:grid;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid #edf0f2}.attendance-row-preview{grid-template-columns:minmax(190px,1fr) auto}.athlete-row{grid-template-columns:52px minmax(180px,1.2fr) minmax(110px,.6fr) minmax(90px,.5fr) minmax(100px,.6fr) 34px;cursor:pointer}.athlete-row:hover,.result-row:hover{background:#fafbfc}.athlete-main{display:grid;gap:2px}.athlete-main strong{font-size:13px}.athlete-main small{font-size:10px;color:#7b8490}.athlete-stat{display:grid;gap:3px}.athlete-stat span{font-size:9px;text-transform:uppercase;color:#8a939d;font-weight:850}.athlete-stat strong{font-size:12px}.progress-bar{height:6px;border-radius:999px;background:#e9edf0;overflow:hidden}.progress-bar i{display:block;height:100%;background:#252a31;border-radius:inherit}.status-toggle{display:flex;gap:5px}.status-toggle button{border:1px solid #dfe4e8;background:#f8f9fa;border-radius:10px;padding:7px 10px;font-size:10px;font-weight:800;color:#6b7480}.status-toggle button.active{background:#20242a;color:#fff;border-color:#20242a}.sticky-save{position:sticky;bottom:0;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-top:1px solid #e1e6ea;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sticky-save span{font-size:10px;color:#7b8490}.chip-row{display:flex;gap:6px;flex-wrap:wrap}.filter-chip{border:1px solid #dfe4e8;background:#fff;color:#59636f;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.filter-chip.active{background:#20242a;color:#fff;border-color:#20242a}.result-row{grid-template-columns:minmax(170px,1fr) minmax(130px,.8fr) minmax(110px,.6fr) 80px 90px}.result-row>div{display:grid;gap:2px}.result-row span{font-size:9px;color:#7b8490;text-transform:uppercase}.result-row strong{font-size:12px}.pb-pill{display:inline-flex;width:max-content;border-radius:999px;background:#20242a;color:#fff;padding:4px 7px;font-size:8px;font-weight:850}.progress-controls{margin:15px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.progress-controls label{display:grid;gap:5px;font-size:10px;text-transform:uppercase;color:#747e89;font-weight:850}.progress-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.metric-card.positive{background:linear-gradient(145deg,#fff,#f3f5f7)}.progress-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:14px}.svg-chart{min-height:320px;display:grid;place-items:center}.svg-chart svg{width:100%;height:310px;overflow:visible}.chart-grid-line{stroke:#e4e8ec;stroke-width:1}.chart-line{fill:none;stroke:#252a31;stroke-width:3}.chart-dot{fill:#fff;stroke:#252a31;stroke-width:3}.chart-label{font-size:10px;fill:#7b8490}.history-row{justify-content:space-between}.history-row>div{display:grid;gap:2px}.history-row strong{font-size:12px}.history-row small{font-size:10px;color:#7b8490}.history-time{text-align:right}.history-time strong{font-size:14px}.history-time small{display:block}.notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:15px}.notice-card h2{margin:12px 0 6px}.notice-card p{color:#68727d}.notice-card footer{display:flex;justify-content:space-between;font-size:10px;color:#7c8590;margin-top:18px}.notice-state{background:#20242a;color:#fff}.notice-state.neutral{background:#eef1f4;color:#4b5560}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:rgba(17,20,24,.42);backdrop-filter:blur(5px);z-index:80}.athlete-drawer{position:fixed;top:0;right:0;z-index:90;width:min(480px,100%);height:100dvh;background:#f7f8fa;box-shadow:none;transform:translateX(105%);transition:.22s ease;padding:24px;overflow:auto}.athlete-drawer.open{transform:none;box-shadow:-25px 0 70px rgba(15,23,42,.18)}.drawer-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border:1px solid #dfe4e8;background:#fff;border-radius:12px;font-size:24px}.drawer-hero{padding:46px 0 20px;display:flex;align-items:center;gap:14px}.drawer-hero .athlete-avatar{width:58px;height:58px;border-radius:17px}.drawer-hero h2{margin:0}.drawer-hero p{margin:3px 0 0;color:#7a838e;font-size:11px}.drawer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.drawer-card{border:1px solid #e0e5e9;background:#fff;border-radius:16px;padding:13px;display:grid;gap:5px}.drawer-card span{font-size:9px;text-transform:uppercase;color:#7d8691}.drawer-card strong{font-size:18px}.drawer-section{margin-top:16px}.drawer-section h3{font-size:14px}.quick-modal{width:min(560px,calc(100% - 24px));background:#fff;border-radius:22px;padding:20px;box-shadow:0 30px 80px rgba(15,23,42,.24);display:grid;gap:13px}.modal-backdrop{display:grid;place-items:center}.modal-backdrop[hidden]{display:none}.modal-title{display:flex;justify-content:space-between;align-items:flex-start}.modal-title h2{margin:3px 0}.quick-modal label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#525c67}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.nx-mobile-brand{gap:8px}.nx-mobile-brand strong{font-size:17px;letter-spacing:-.03em}
@media(max-width:1120px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.span-2{grid-column:span 2}.calendar-layout,.progress-layout{grid-template-columns:1fr}.event-side{order:-1}.event-side-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){body{padding-bottom:86px}.preview-note{top:6px;font-size:8px}.nx-shell{display:block;background:#f3f5f7!important;background-image:none!important}.nx-main,.nx-content{background:#f3f5f7!important;background-image:none!important}.nx-sidebar{position:fixed;left:8px;right:auto;bottom:max(8px,env(safe-area-inset-bottom));top:auto;width:fit-content;max-width:calc(100vw - 16px);height:auto;z-index:70;padding:8px;border-radius:20px}.nx-brand,.nx-sidebar-foot{display:none}.nx-nav{display:flex;max-width:100%;overflow-x:auto;gap:5px;scrollbar-width:none}.nx-nav::-webkit-scrollbar{display:none}.nx-nav-btn{flex:0 0 auto;min-width:70px;padding:7px 8px;display:grid;place-items:center;gap:3px;text-align:center;font-size:9px}.nx-nav-btn svg{width:18px;height:18px}.nx-topbar{height:68px;padding:0 12px}.nx-top-context{display:none}.nx-mobile-brand{display:flex}.nx-mobile-brand img{width:38px;height:38px;border-radius:12px}.profile-pill div{display:none}.profile-pill{padding:5px}.nx-top-actions>.icon-btn{display:none}.nx-content{padding:12px}.hero-panel,.section-head{padding:20px;border-radius:21px;display:grid;align-items:start}.hero-panel h1,.section-head h1{font-size:31px}.hero-panel .btn,.section-head .btn{width:100%}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin:10px 0}.kpi-card{padding:14px;border-radius:18px}.kpi-card strong{font-size:26px}.kpi-card strong.kpi-date{font-size:23px}.dashboard-grid{grid-template-columns:1fr;gap:10px}.span-2{grid-column:auto}.panel{padding:15px;border-radius:19px}.attendance-ring{width:130px;height:130px}.calendar-layout{margin-top:10px}.calendar-panel{padding:12px}.month-day{min-height:76px;padding:6px}.calendar-event{font-size:7px;padding:5px}.calendar-week span{font-size:8px}.event-side-list{grid-template-columns:1fr}.date-strip{overflow-x:auto;display:flex}.date-pill{min-width:62px}.session-selector{display:grid;padding:16px}.session-stats{display:grid;grid-template-columns:repeat(3,1fr)}.session-stats span{text-align:center}.attendance-tools,.directory-tools{padding:12px;display:grid}.attendance-row-preview{grid-template-columns:1fr;padding:12px}.status-toggle{display:grid;grid-template-columns:repeat(3,1fr)}.status-toggle button{min-height:39px}.sticky-save{padding:10px 12px;display:grid}.sticky-save .btn{width:100%}.athlete-row{grid-template-columns:44px minmax(0,1fr) 34px;padding:12px}.athlete-row .athlete-stat{display:none}.result-row{grid-template-columns:1fr auto;padding:12px}.result-row>div:nth-child(2),.result-row>div:nth-child(3){display:none}.progress-controls{grid-template-columns:1fr}.progress-summary-grid{grid-template-columns:repeat(2,1fr);gap:9px}.metric-card{padding:14px}.metric-card strong{font-size:25px}.svg-chart{min-height:260px}.svg-chart svg{height:250px}.notice-grid{grid-template-columns:1fr}.form-two{grid-template-columns:1fr}.quick-modal{align-self:end;border-radius:22px 22px 14px 14px;margin-bottom:0}.modal-backdrop{place-items:end center}.drawer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.kpi-card small{font-size:9px}.month-day{min-height:66px}.calendar-event{max-width:100%}.progress-summary-grid{grid-template-columns:1fr 1fr}.profile-pill>span{width:34px;height:34px}}
 .chart-label{font-weight:400!important;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.btn,.filter-chip,.panel,.kpi-card,.metric-card,.nx-nav-btn.active,.improvement-avatar,.athlete-avatar{background-image:none!important}.btn.dark,.filter-chip.active,.date-pill.active,.improvement-avatar,.athlete-avatar{background:#20242a!important}.btn.soft,.filter-chip,.clear-filters,#clearNoticeFilters{background:#f1f3f5!important;background-image:none!important;color:#353c44!important;border:1px solid #dfe4e8!important;border-radius:13px!important}.panel,.kpi-card,.metric-card{background:#fff!important}.hero-panel:after,.section-head:after,.panel:after,.kpi-card:after,.metric-card:after{display:none!important}
.nx-nav-btn.active{background:#fff!important;color:#171a1f!important}.clear-filters,#clearNoticeFilters,#clearProgressFilters,#clearAthleteFilters,#clearResultFilters{min-height:44px!important;padding:10px 15px!important;border-radius:13px!important;background:#f1f3f5!important;background-image:none!important;color:#353c44!important;border:1px solid #dfe4e8!important;font-size:10px!important;font-weight:800!important}.report-date-range{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-date-range[hidden]{display:none}.report-date-range label{display:grid;gap:5px;font-size:10px;font-weight:800;color:#65707b}.report-date-range input{min-height:42px;border:1px solid #d8e0e6;border-radius:12px;background:#fbfcfd;padding:8px 10px}.report-actions button:disabled{opacity:.55;cursor:not-allowed}
.section-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.demo-helper{max-width:650px;color:#68727f;font-size:.92rem;margin:.35rem 0}.notice-actions,.crud-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.notice-card.archived{opacity:.72}.modal-note{color:#68727f;font-size:.88rem;line-height:1.5;margin:0}.notification-sample{border:1px solid #dfe4e8;border-radius:16px;padding:20px;background:#f7f9fa}.notification-sample h3{margin:12px 0 8px}.notification-sample p{margin:0 0 10px;line-height:1.55}.notification-sample small{color:#68727f}.export-format-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-feedback{min-height:1.25em;color:#2f6b55;font-size:.9rem}.empty-state{padding:28px;text-align:center;color:#7a838e}.quick-modal textarea{resize:vertical;min-height:80px}.quick-modal select,.quick-modal input,.quick-modal textarea{width:100%}.session-types{flex-wrap:wrap}@media(max-width:640px){.section-actions{width:100%}.section-actions .btn{flex:1}.export-format-grid{grid-template-columns:1fr}.notice-actions .btn{flex:1}}
.text-btn{color:#252a31!important;background:#f1f3f5;border:1px solid #d7dde2;border-radius:999px;padding:7px 10px;text-decoration:none;position:relative;z-index:2}.text-btn:hover{background:#20242a;color:#fff!important}.session-types{display:flex;gap:6px;margin:8px 0 6px;flex-wrap:wrap}.session-type{border:1px solid #d8dee3;background:#fff;color:#4d5762;border-radius:9px;padding:5px 9px;font-size:12px;font-weight:600}.session-type.active{background:#20242a;border-color:#20242a;color:#fff}.clear-filters{font-size:9px;padding:6px 9px;color:#4c5660;background:#f1f3f5}.clear-filters:hover{background:#20242a;color:#fff}.chart-label{font-weight:400!important}
.quick-modal label{display:grid;gap:7px}.quick-modal input,.quick-modal select,.quick-modal textarea{border:1px solid #d8e0e6!important;border-radius:13px!important;background:#fbfcfd!important;color:#20242a!important;padding:12px 13px!important;min-height:46px;box-shadow:inset 0 1px 2px rgba(15,23,42,.03)}.quick-modal textarea{min-height:94px}.quick-modal input:focus,.quick-modal select:focus,.quick-modal textarea:focus{outline:2px solid rgba(52,64,77,.16);border-color:#8995a1!important}.quick-modal select{appearance:auto}.notice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notice-card.archived{grid-column:1/-1}.archived-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.archived-heading strong{font-size:13px;color:#5e6873}.archived-notice-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e0e5e9;background:#fafbfc;border-radius:14px;padding:13px 15px}.archived-notice-row>div:first-child{display:grid;gap:4px}.archived-notice-row span{font-size:11px;color:#7c8691}.archived-notice-row .notice-actions{margin-top:0}.trend-pill{background:#f1f3f5!important;color:#59636e!important;border:1px solid #e0e5e9;font-weight:700!important;background-image:none!important}.chart-label{font-weight:300!important;fill:#333a42!important;font-size:9px!important}.demo-helper{margin-top:12px!important;margin-bottom:12px!important}.text-btn{display:inline-block;margin-top:5px!important}.modal-feedback{font-weight:700}@media(max-width:760px){.notice-grid{grid-template-columns:1fr}.notice-card.archived{grid-column:auto}.archived-notice-row{align-items:flex-start;flex-direction:column}.archived-notice-row .notice-actions{width:100%}.archived-notice-row .btn{flex:1}}
.notice-filters{display:grid;grid-template-columns:minmax(240px,1fr) 180px 170px auto;gap:10px;margin:15px 0}.notice-filters input,.notice-filters select{min-height:44px;border:1px solid #d8e0e6;border-radius:13px;background:#fbfcfd;padding:10px 12px;color:#20242a}.progress-controls>#clearProgressFilters{align-self:end;min-height:44px}.chart-label{font-weight:300!important;stroke:none!important}.chart-dot{cursor:pointer}.chart-dot:hover{r:7;stroke:#111;stroke-width:2.5}.chart-dot:hover::after{content:'tempo';}.progress-controls{align-items:end}@media(max-width:760px){.notice-filters{grid-template-columns:1fr}.progress-controls>#clearProgressFilters{width:100%}}
.directory-tools>input[type=search]{height:44px;min-width:0;flex:1}.directory-tools>.chip-row{flex:0 0 auto}.directory-tools>.chip-row .clear-filters{height:44px;min-width:118px;background:#f1f3f5!important;background-image:none!important}
.btn,.filter-chip,.clear-filters{background-image:none!important}.btn.dark{background:#20242a!important}.btn.soft,.filter-chip,.clear-filters{background:#f1f3f5!important}.reports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:15px}.report-card{display:grid;gap:12px}.report-card h2{margin:0}.report-card p{color:#68727d;margin:0;line-height:1.5}.report-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-filters label{display:grid;gap:6px;color:#65707b;font-size:10px;font-weight:800}.report-filters [hidden]{display:none!important}.report-filters select,.report-filters input{width:100%;min-height:42px;border:1px solid #d8e0e6;border-radius:12px;background:#fbfcfd;padding:8px 10px;color:#171a1f}.report-actions{display:flex;gap:8px}.report-actions .btn{flex:1}.report-feedback{min-height:18px;color:#59636e!important;font-size:11px;font-weight:800}.athlete-head-actions{display:grid;gap:8px;min-width:190px}.athlete-head-actions .btn{width:100%}@media(max-width:760px){.reports-grid{grid-template-columns:1fr}.report-filters{grid-template-columns:1fr}.section-head:has(.athlete-head-actions){align-items:stretch}.athlete-head-actions{width:100%}}
.report-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.report-actions .btn{width:100%;min-width:0}@media(max-width:760px){.report-actions{grid-template-columns:1fr}}
.registration-view-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;border:1px solid #dce1e6;border-radius:14px;background:#f2f4f6}.registration-view-toggle button{min-height:42px;border:0;border-radius:10px;background:transparent;color:#5f6873;font:inherit;font-weight:800;cursor:pointer}.registration-view-toggle button.active{background:#171a1f;color:#fff}.registration-view-panel{display:grid;gap:13px}.registration-view-panel[hidden]{display:none!important}.registration-athlete-self{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px;border:1px solid #dce1e6;border-radius:14px;background:#fff}.registration-athlete-self div{display:grid;gap:3px}.registration-athlete-self small{color:#6d7680}.athlete-race-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.athlete-race-choice>strong{grid-column:1/-1}.athlete-race-choice label{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:10px;border:1px solid #dce1e6;border-radius:12px;background:#fff}.athlete-race-choice input{width:18px!important;height:18px!important;margin:0!important}.athlete-race-choice small{color:#6d7680}@media(max-width:680px){.registration-view-toggle,.athlete-race-choice{grid-template-columns:1fr}.registration-athlete-self{grid-template-columns:auto 1fr}.registration-athlete-self .status-pill{grid-column:1/-1}}
.chart-panel:after{display:none!important}.chart-panel .panel-head{position:relative;z-index:4}.trend-pill{position:relative;z-index:5;box-shadow:none!important;background:#f1f3f5!important;background-image:none!important}
.notice-grid{align-items:start}.notice-column{display:grid;gap:14px;min-width:0}.notice-grid>.archived{grid-column:1/-1}.notice-empty{border:1px dashed #d8e0e6;border-radius:16px;padding:28px;text-align:center;color:#8a939e;background:#fafbfc}.notice-column .notice-card{margin:0}.archived-notice-row{width:100%}
.filter-chip.clear-filters,.clear-filters{background:#f1f3f5!important;background-image:none!important;border:1px solid #d8e0e6!important;color:#4c5660!important}.directory-tools>.chip-row:has(.clear-filters){display:flex;align-items:center}.directory-tools>.chip-row:has(.clear-filters) .filter-chip:not(.clear-filters){display:none}.notice-card:after,.notice-column .panel:after{display:none!important}.section-head #importLxfBtn,.section-head button[id="importLxfBtn"]{display:block}.section-head:has(#importLxfBtn){align-items:flex-end}.section-head #importLxfBtn + .btn.soft{display:block}.section-head:has(#importLxfBtn){flex-wrap:wrap}.section-head:has(#importLxfBtn) .btn.soft{margin-left:0}
.attendance-tools select{min-height:42px;border:1px solid #d8e0e6;border-radius:13px;background:#fbfcfd;padding:9px 12px;color:#20242a}.attendance-tools{display:flex;gap:10px;flex-wrap:wrap}.attendance-tools select{flex:0 1 190px}.attendance-tools input{flex:1;min-width:180px}
.notice-card:after,.notice-column .panel:after{display:none!important}.directory-tools>select{min-height:42px;border:1px solid #d8e0e6;border-radius:13px;background:#fbfcfd;padding:9px 12px;color:#20242a}.import-preview{display:grid;gap:5px;border:1px solid #dfe5e9;background:#f6f8f9;border-radius:13px;padding:13px;color:#5e6873}.import-preview span{font-size:12px}@media(max-width:640px){.directory-tools>select{width:100%}}
.task-helper{margin:6px 0 0!important;font-size:11px!important;line-height:1.45}.task-list button:hover{background:#f1f3f5}.event-side-item{width:100%;text-align:left;color:inherit}.event-side-item>div:nth-child(2){min-width:0;flex:1}.event-manage-label{margin-left:auto;align-self:center;color:#3f4852;font-size:9px;font-weight:850;white-space:nowrap}.registration-modal{width:min(920px,calc(100% - 24px));max-height:min(880px,calc(100dvh - 28px));overflow:auto}.registration-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.registration-flow span{border:1px solid #dce2e7;border-radius:11px;background:#f7f9fa;padding:9px;text-align:center;color:#7b8490;font-size:9px;font-weight:800}.registration-flow .done,.registration-flow .active{background:#20242a;color:#fff;border-color:#20242a}.registration-competition-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce2e7;border-radius:14px;background:#f7f9fa;padding:13px 15px}.registration-competition-summary>div{display:grid;gap:3px}.registration-competition-summary span{font-size:10px;color:#737d88}.registration-tools{display:grid;grid-template-columns:190px 1fr;gap:9px}.registration-tools select,.registration-tools input{width:100%;min-height:44px;border:1px solid #d8e0e6!important;border-radius:13px!important;background:#fbfcfd!important;padding:10px 12px!important}.registration-athlete-list{display:grid;gap:7px;max-height:370px;overflow:auto;padding-right:3px}.registration-athlete-row{display:grid!important;grid-template-columns:auto 42px minmax(130px,1fr) minmax(160px,.75fr) minmax(120px,.48fr);align-items:center;gap:10px;border:1px solid #dfe5e9;border-radius:14px;background:#fff;padding:10px!important}.registration-athlete-row>input{width:18px!important;height:18px!important;min-height:0!important}.registration-athlete-info{display:grid;gap:3px}.registration-athlete-info strong{font-size:12px;color:#242930}.registration-athlete-info small{font-size:10px;color:#7b8490}.registration-athlete-row select{min-height:40px;border:1px solid #d8e0e6;border-radius:11px;background:#f8fafb;padding:8px}.registration-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #e4e8ec;padding-top:12px}.registration-footer>span{font-size:11px;font-weight:800;color:#515b66}.pending-user-list{display:grid;gap:8px}.pending-user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dfe5e9;border-radius:14px;background:#fafbfc;padding:13px}.pending-user-row>div:first-child{display:grid;gap:3px}.pending-user-row strong{font-size:12px}.pending-user-row span{font-size:10px;color:#7b8490}.pending-user-row>div:last-child{display:flex;gap:7px}.pending-user-row.resolved{opacity:.62}.pending-user-row.resolved:after{content:'Decisão registada';font-size:9px;font-weight:800;color:#51606c}.pending-user-row.resolved>div:last-child{display:none}
@media(max-width:760px){.registration-flow{grid-template-columns:repeat(2,1fr)}.registration-tools{grid-template-columns:1fr}.registration-athlete-row{grid-template-columns:auto 38px minmax(0,1fr)!important}.registration-athlete-row>select{grid-column:2/-1;width:100%}.registration-footer{display:grid}.registration-footer .modal-actions{display:grid;grid-template-columns:1fr 1fr}.pending-user-row{align-items:flex-start;display:grid}.pending-user-row>div:last-child{display:grid;grid-template-columns:1fr 1fr}.pending-user-row .btn{width:100%}.event-manage-label{display:none}}
button{color:inherit;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.kpi-card,.task-list button{color:#171a1f}
html{-webkit-text-size-adjust:100%}
a[x-apple-data-detectors],a[x-apple-data-detectors]:link,a[x-apple-data-detectors]:visited{color:inherit!important;text-decoration:none!important;font:inherit!important}
.nx-sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:24px}.nx-sidebar-link{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 9px;border-radius:11px;color:#aeb6bf;text-decoration:none;font-size:11px;font-weight:750}.nx-sidebar-link span{font-size:16px;line-height:1}.nx-sidebar-link:hover,.nx-sidebar-link:focus-visible{background:rgba(255,255,255,.07);color:#fff;outline:none}.nx-sidebar-link:focus-visible,.nx-sidebar-foot a:focus-visible{box-shadow:0 0 0 3px rgba(255,255,255,.22)}.nx-sidebar-foot{gap:7px;padding:13px}.nx-sidebar-foot a{display:flex;align-items:center;justify-content:center;min-height:36px;padding:8px 10px;border-radius:10px;background:#fff;color:#20242a!important;text-decoration:none;font-size:11px;font-weight:850}.nx-sidebar-foot a:hover{background:#e8edf0;color:#20242a!important}.back-to-top{right:24px;bottom:24px}@media(max-height:820px) and (min-width:821px){.nx-sidebar{gap:16px;padding-top:16px;padding-bottom:20px}.nx-nav{gap:3px}.nx-nav-btn{padding:10px 12px}.nx-sidebar-foot{padding:10px}.nx-sidebar-foot a{min-height:34px}}@media(max-width:820px){.nx-sidebar{overflow:visible;padding-bottom:8px}.nx-sidebar-link,.nx-sidebar-foot{display:none}.back-to-top{right:14px;bottom:96px}}
#previewBackToTop.back-to-top{position:fixed;right:22px;bottom:22px;z-index:75;width:46px;height:46px;border:1px solid #171a1f;border-radius:14px;background:#171a1f;color:#fff;font-size:21px;font-weight:800;box-shadow:0 12px 30px rgba(15,23,42,.22);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s,background-color .2s ease}
#previewBackToTop.back-to-top.visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
#previewBackToTop.back-to-top:hover{background:#343a42;border-color:#343a42}
.demo-team-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:start;margin-top:15px}.demo-team-tabs{display:grid;gap:7px}.demo-team-tabs button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;border:1px solid #dce2e7;border-radius:12px;background:#f7f9fa;padding:10px 12px;color:#59636e;font:inherit;font-size:11px;font-weight:800;text-align:left;cursor:pointer}.demo-team-tabs button.active{background:#20242a;border-color:#20242a;color:#fff}.demo-team-tabs b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:rgba(255,255,255,.78);color:#333b44;font-size:10px}.demo-team-state{display:grid;gap:10px}.demo-team-state[hidden]{display:none}.demo-team-state h2,.demo-team-state p{margin:0}.demo-team-state>p{color:#6d7680;font-size:12px}.demo-team-list{display:grid;gap:9px}.demo-team-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #dfe5e9;border-radius:15px;background:#fff;padding:14px}.demo-team-card>div:first-child{display:grid;gap:3px}.demo-team-card strong{font-size:12px}.demo-team-card small{color:#7a838d;font-size:10px}.demo-team-card div>span{color:#59636e;font-size:10px}.demo-team-status{display:inline-flex;width:max-content;border-radius:999px;padding:6px 9px;background:#eef1f4;color:#56616c;font-size:9px;font-weight:850}.demo-team-status.active{background:#e7f3ec;color:#286044}.demo-team-status.pending{background:#fff3d9;color:#825700}.demo-team-status.inactive{background:#f7eeee;color:#8a4141}.demo-team-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;border-top:1px solid #edf0f2;padding-top:10px}.demo-team-actions .btn:disabled,.section-head .btn:disabled{opacity:.58;cursor:not-allowed}.demo-team-note{grid-column:1/-1;border-top:1px solid #edf0f2;padding-top:12px!important;color:#59636e!important;font-weight:750}.demo-team-state{grid-column:2}.demo-team-note{grid-column:2}
@media(max-width:700px){#previewBackToTop.back-to-top{right:14px;bottom:14px;width:42px;height:42px;border-radius:13px}}
@media(max-width:820px){.demo-team-workspace{grid-template-columns:1fr}.demo-team-tabs{display:flex;overflow-x:auto}.demo-team-tabs button{min-width:120px}.demo-team-state,.demo-team-note{grid-column:1}.demo-team-card{grid-template-columns:1fr}.demo-team-actions{justify-content:stretch;display:grid}.demo-team-actions .btn{width:100%}}
