html{scroll-behavior:smooth;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}#root{width:100%;min-height:100vh}button,input,textarea,select{font:inherit}:root{color:#202633;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f6fa;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,a{font:inherit}.app{min-height:100vh}.sidebar{color:#fff;z-index:10;background:#151c2b;flex-direction:column;width:255px;padding:30px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:13px;padding:0 8px 35px;display:flex}.brand-shield{clip-path:polygon(50% 0,100% 12%,92% 75%,50% 100%,8% 75%,0 12%);background:#c8102e;place-items:center;width:45px;height:50px;font-size:25px;font-weight:900;display:grid}.brand strong,.brand span{display:block}.brand span{color:#aab3c3;letter-spacing:1.4px;margin-top:5px;font-size:9px}.sidebar-label,.eyebrow{letter-spacing:1.7px;color:#8b95a8;font-size:10px;font-weight:800}.sidebar-label{padding:12px 10px}.sidebar nav{gap:8px;display:grid}.nav-item{color:#c4cada;border-radius:8px;align-items:center;gap:13px;padding:13px 12px;font-size:14px;text-decoration:none;display:flex}.nav-item.active{color:#fff;background:#c8102e}.nav-item:hover{color:#fff;background:#293449}.nav-item.active:hover{background:#a90d27}.sidebar-footer{border-top:1px solid #30394b;gap:6px;margin-top:auto;padding:20px 8px 0;display:grid}.sidebar-footer span{letter-spacing:1px;font-weight:800}.sidebar-footer small{color:#aab3c3;font-size:11px}.main-content{max-width:1700px;margin-left:255px;padding:35px 42px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.topbar h1{letter-spacing:-.8px;margin:8px 0 0;font-size:27px}.season{color:#586276;letter-spacing:.7px;background:#fff;border:1px solid #e0e4eb;border-radius:8px;padding:11px 15px;font-size:11px;font-weight:800}.welcome{color:#fff;background:linear-gradient(115deg,#a90d27,#d51b3b);border-radius:15px;justify-content:space-between;align-items:center;min-height:240px;padding:35px 40px;display:flex;position:relative;overflow:hidden}.welcome-tag{letter-spacing:2px;color:#ffdce3;font-size:10px;font-weight:800}.welcome h2{letter-spacing:-1px;margin:15px 0 12px;font-size:clamp(27px,3vw,39px);line-height:1.15}.welcome p{color:#ffe5e9;max-width:490px;margin:0;font-size:14px;line-height:1.7}.welcome-ball{opacity:.9;padding:0 35px;font-size:110px;transform:rotate(-15deg)}.section-heading{justify-content:space-between;align-items:end;margin-bottom:19px;display:flex}.section-heading h2{letter-spacing:-.5px;margin:7px 0;font-size:21px}.section-heading p{color:#7c8493;margin:5px 0 0;font-size:13px}.athletes-section{scroll-margin-top:24px}.athlete-heading{align-items:center}.primary-button,.secondary-button{cursor:pointer;border-radius:8px;min-height:42px;padding:0 15px;font-size:13px;font-weight:750;transition:background .2s,border-color .2s,transform .2s}.primary-button{color:#fff;background:#c8102e;border:1px solid #c8102e}.primary-button:hover{background:#a90d27;border-color:#a90d27;transform:translateY(-1px)}.secondary-button{color:#596274;background:#fff;border:1px solid #dce1e9}.secondary-button:hover{background:#f8f9fb;border-color:#aeb7c5}.primary-button:focus-visible,.secondary-button:focus-visible,.text-button:focus-visible,.icon-button:focus-visible{outline-offset:2px;outline:3px solid #c8102e55}.athlete-form,.athlete-table-wrap,.empty-state{background:#fff;border:1px solid #e7eaf0;border-radius:12px}.athlete-form{margin-bottom:18px;padding:22px;box-shadow:0 10px 28px #1720330a}.form-heading{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.form-heading h3{margin:6px 0 0;font-size:17px}.icon-button{color:#687386;cursor:pointer;background:#f3f5f8;border:0;border-radius:7px;width:34px;height:34px;font-size:23px}.icon-button:hover{background:#e8ebf0}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.form-field{color:#515b6d;gap:7px;font-size:12px;font-weight:700;display:grid}.form-field-wide{grid-column:span 2}.form-field input,.form-field select,.search-field input{color:#202633;background:#fff;border:1px solid #dfe3ea;border-radius:7px;width:100%;min-width:0;height:42px;padding:0 11px;font-size:13px}.form-field input:focus,.form-field select:focus,.search-field:focus-within{border-color:#c8102e;outline:2px solid #c8102e33}.form-actions{justify-content:flex-end;gap:9px;margin-top:19px;display:flex}.form-error{color:#b20e2a;margin:12px 0 0;font-size:12px}.athlete-toolbar{justify-content:flex-end;margin-bottom:12px;display:flex}.search-field{color:#8a93a1;background:#fff;border:1px solid #dfe3ea;border-radius:8px;align-items:center;gap:8px;width:min(100%,340px);min-height:42px;padding-left:11px;font-size:23px;display:flex}.search-field input{border:0;outline:0;height:40px;padding-left:0;font-size:12px}.athlete-table-wrap{overflow-x:auto}.athlete-table{border-collapse:collapse;text-align:left;width:100%}.athlete-table th{color:#838c9b;letter-spacing:.9px;text-transform:uppercase;background:#fafbfc;padding:13px 17px;font-size:10px;font-weight:800}.athlete-table td{color:#626c7d;border-top:1px solid #edf0f4;padding:13px 17px;font-size:12px}.athlete-table tbody tr:hover{background:#fdfdfe}.athlete-name-cell{color:#293244;align-items:center;gap:10px;display:flex}.athlete-avatar{color:#b10e2b;background:#f8e9ed;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.shirt-number{color:#30394a;background:#f3f5f8;border-radius:7px;place-items:center;min-width:30px;height:30px;font-weight:800;display:inline-grid}.row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.text-button{color:#48576e;cursor:pointer;background:0 0;border:0;padding:3px 0;font-size:11px;font-weight:750}.text-button:hover{color:#c8102e;text-decoration:underline}.text-button.danger{color:#ad2740}.delete-prompt{color:#8b5260;font-size:11px}.empty-state{color:#596477;text-align:center;justify-items:center;gap:8px;padding:35px 20px;display:grid}.empty-state>span{font-size:30px}.empty-state strong{color:#30394a;font-size:14px}.empty-state p,.local-data-note{color:#8992a0;margin:0;font-size:11px}.local-data-note{margin-top:10px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.nav-item{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.topbar-actions,.account-control{align-items:center;gap:12px;display:flex}.account-control{color:#6b7484;font-size:11px}.mode-banner,.state-banner{color:#77602b;background:#fff9ea;border:1px solid #f1d9a9;border-radius:9px;margin:0 0 16px;padding:11px 14px;font-size:12px;line-height:1.5}.state-banner{color:#687386;background:#fff;border-color:#dfe5ec}.success-banner{color:#287344;background:#f2fbf5;border-color:#c9e7d4}.error-banner{color:#a31e36;background:#fff4f5;border-color:#f0cbd1}.stat-card-button,.module-card-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border:1px solid #e9ecf1}.stat-card-button:hover,.module-card-button:hover{border-color:#d4d9e2}.module-card-button{appearance:none}.data-form{background:#fff;border:1px solid #e7eaf0;border-radius:12px;margin-bottom:20px;padding:22px;box-shadow:0 10px 28px #1720330a}.form-field input,.form-field select,.form-field textarea,.attendance-select,.callup-row select{color:#202633;background:#fff;border:1px solid #dfe3ea;border-radius:7px;padding:10px 11px;font-size:13px}.form-field textarea{resize:vertical;min-height:74px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.attendance-select:focus,.callup-row select:focus{border-color:#c8102e;outline:2px solid #c8102e33}.primary-button:disabled,.text-button:disabled{opacity:.6;cursor:wait}.two-column-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:16px;display:grid}.records-panel{background:#fff;border:1px solid #e7eaf0;border-radius:12px;min-width:0;padding:17px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:13px;display:flex}.panel-heading h3{color:#30394a;margin:0;font-size:15px}.panel-heading p{color:#858d9c;margin:6px 0 0;font-size:11px}.panel-heading>span{color:#5e6879;background:#f3f5f8;border-radius:50%;place-items:center;min-width:25px;height:25px;font-size:11px;font-weight:800;display:grid}.record-list,.attendance-list,.callup-list{display:grid}.record-card{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:10px;padding:12px 5px;display:flex}.record-card.selected{background:#fff7f8;border-radius:8px;margin:0 -7px;padding-left:12px;padding-right:12px}.record-main{color:#4c5667;text-align:left;cursor:pointer;background:0 0;border:0;gap:4px;min-width:0;padding:0;display:grid}.record-main strong{color:#2b3445;font-size:12px}.record-main span,.record-main small{color:#7f8998;font-size:11px;line-height:1.45}.match-row-actions{white-space:nowrap;align-items:center;gap:10px;display:flex}.match-row-actions>b{color:#2e3748;font-size:13px}.attendance-row,.callup-row{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.attendance-row .athlete-name-cell{min-width:0}.attendance-row .athlete-name-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.attendance-select{width:145px;padding:8px;font-size:11px}.status-presente{color:#287344;background:#f1faf4;border-color:#bddfc9}.status-assente{color:#a43145;background:#fff5f6;border-color:#efcbd0}.status-in_ritardo{color:#7a6127;background:#fff9eb;border-color:#f0dfb7}.callup-person{cursor:pointer;align-items:center;gap:10px;min-width:0;display:flex}.callup-person input{accent-color:#c8102e;width:16px;height:16px}.callup-person>span{gap:4px;display:grid}.callup-person strong{color:#30394a;font-size:12px}.callup-person small{color:#858d9c;font-size:10px}.callup-row select{max-width:137px;padding:7px;font-size:10px}.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.staff-card{background:#fff;border:1px solid #e7eaf0;border-radius:11px;align-items:center;gap:12px;padding:16px;display:flex}.staff-avatar{color:#b10e2b;background:#f8e9ed;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.staff-card strong{color:#30394a;font-size:13px}.staff-card p{color:#858d9c;margin:4px 0 0;font-size:11px}.setup-card{background:#fff;border:1px solid #e7eaf0;border-radius:12px;max-width:560px;padding:25px}.setup-icon{font-size:25px}.setup-card h3{color:#30394a;margin:12px 0 8px;font-size:16px}.setup-card p{color:#7d8796;margin:0;font-size:12px;line-height:1.6}.auth-screen{background:#f4f6fa;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #e7eaf0;border-radius:15px;gap:14px;width:min(100%,390px);padding:30px;display:grid;box-shadow:0 18px 50px #17203312}.auth-shield{clip-path:polygon(50% 0,100% 12%,92% 75%,50% 100%,8% 75%,0 12%);color:#fff;background:#c8102e;place-items:center;width:47px;height:52px;font-size:25px;font-weight:900;display:grid}.auth-card h1{color:#202633;margin:-4px 0 0;font-size:24px}.auth-card>p{color:#7d8796;margin:-6px 0 3px;font-size:12px}.auth-submit{width:100%;margin-top:4px}.auth-link{color:#a50b28;cursor:pointer;background:0 0;border:0;justify-self:center;padding:4px;font-size:12px;font-weight:700}.auth-link:disabled{opacity:.6;cursor:wait}.form-success{color:#207044;background:#edf8f1;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5}.staff-profile-form{margin-bottom:18px}.staff-profile-form h3{color:#202633;margin:4px 0 0;font-size:16px}.staff-profile-fields{align-items:end;gap:12px;display:flex}.staff-profile-fields .form-field{flex:1}.assessment-toolbar{border:1px solid var(--panel-line);background:#fff;border-radius:14px;grid-template-columns:minmax(220px,.7fr) minmax(280px,1.3fr);align-items:end;gap:18px;margin:18px 0;padding:18px;display:grid}.assessment-toolbar .form-field{min-width:0}.assessment-toolbar>p{color:#657185;margin:0 0 2px;font-size:12px;line-height:1.6}.assessment-toolbar>p strong{color:#253044}.assessment-trends,.assessment-history{margin-top:18px}.assessment-trend-list,.assessment-record-list{display:grid}.assessment-trend-row{color:#4e5b6f;border-top:1px solid #edf0f4;grid-template-columns:minmax(140px,1fr) minmax(110px,.8fr) 24px minmax(110px,.8fr);align-items:center;gap:12px;padding:13px 0;font-size:13px;display:grid}.assessment-trend-row strong{color:#202b3b}.assessment-trend-row small,.assessment-record small{color:#8792a2;margin-top:4px;font-size:11px;display:block}.assessment-history .panel-heading>span{color:#778398;font-size:12px}.assessment-record{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.assessment-record>div{color:#657185;grid-template-columns:minmax(120px,1fr) minmax(90px,.7fr) minmax(90px,.7fr);align-items:center;gap:5px 14px;width:100%;font-size:12px;display:grid}.assessment-record strong{color:#202b3b}.assessment-record b{color:#172238;text-align:right}.assessment-record small{grid-column:1/-1}@media (width<=650px){.assessment-toolbar{grid-template-columns:1fr}.assessment-trend-row{grid-template-columns:minmax(110px,1fr) minmax(95px,1fr) 18px minmax(95px,1fr);gap:6px;font-size:11px}.assessment-record>div{grid-template-columns:1fr auto}.assessment-record b{text-align:left}}@media (width<=560px){.staff-profile-fields{flex-direction:column;align-items:stretch}}@media (width<=850px){.two-column-layout{grid-template-columns:1fr}.topbar-actions{flex-direction:column;align-items:flex-start}}@media (width<=650px){.staff-grid{grid-template-columns:1fr}.record-card,.attendance-row,.callup-row{flex-wrap:wrap;align-items:flex-start}.attendance-select{width:auto;max-width:100%}.topbar-actions,.account-control{flex-wrap:wrap}}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.stat-card{background:#fff;border:1px solid #e9ecf1;border-radius:11px;gap:8px;padding:19px;display:grid}.stat-card>span{font-size:22px}.stat-card strong{font-size:15px}.modules-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.module-card{background:#fff;border:1px solid #e9ecf1;border-radius:11px;align-items:center;gap:13px;min-width:0;padding:17px;transition:transform .2s,box-shadow .2s;display:flex}.module-card:hover{transform:translateY(-2px);box-shadow:0 7px 20px #17203312}.module-icon{background:#f5edf0;border-radius:9px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.module-card h3{margin:0 0 5px;font-size:13px}.module-card p{color:#858d9c;margin:0;font-size:11px;line-height:1.4}.module-status{color:#667085;background:#f2f4f7;border-radius:999px;margin-top:8px;padding:4px 7px;font-size:10px;font-weight:750;display:inline-flex}.module-arrow{color:#b2bac7;margin-left:auto;font-size:18px}footer{color:#929aaa;letter-spacing:1px;text-align:center;border-top:1px solid #e4e7ed;margin-top:45px;padding:20px 0;font-size:10px}@media (width<=1050px){.main-content{padding:28px 24px}.modules-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.sidebar{width:100%;padding:16px;position:relative}.brand{padding-bottom:15px}.sidebar-label,.sidebar-footer{display:none}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main-content{margin-left:0;padding:23px 16px}.topbar{flex-direction:column;align-items:flex-start}.welcome{padding:25px}.welcome-ball{display:none}.modules-grid,.stats-grid{grid-template-columns:1fr}.athlete-heading{flex-direction:column;align-items:flex-start;gap:12px}.form-grid{grid-template-columns:1fr}.form-field-wide{grid-column:auto}.athlete-form{padding:17px}.athlete-table-wrap{background:0 0;border:0;overflow:visible}.athlete-table,.athlete-table tbody,.athlete-table tr,.athlete-table td{width:100%;display:block}.athlete-table thead{display:none}.athlete-table tbody{gap:10px;display:grid}.athlete-table tr{background:#fff;border:1px solid #e7eaf0;border-radius:11px;padding:8px 13px}.athlete-table td{text-align:right;border-top:0;justify-content:space-between;align-items:center;gap:14px;padding:8px 0;display:flex}.athlete-table td:first-child{text-align:left;border-bottom:1px solid #edf0f4;justify-content:flex-start;padding-bottom:11px}.athlete-table td:first-child:before{display:none}.athlete-table td:nth-child(n+2):before{content:attr(data-label);color:#838c9b;letter-spacing:.7px;text-transform:uppercase;font-size:10px;font-weight:800}.row-actions{flex-wrap:wrap;justify-content:flex-end}}:root{--catania-navy:#121c32;--catania-navy-soft:#1a2944;--catania-red:#d20b34;--catania-red-dark:#aa092b;--catania-blue:#5b8fd8;--page-bg:#f3f5f9;--panel-line:#e5e9f0;--text-main:#172238;--text-soft:#728097}body{background:var(--page-bg);color:var(--text-main);font-family:Inter,Segoe UI,Arial,sans-serif}.app{background:radial-gradient(ellipse at 95% 0%, #e9eef8 0, transparent 26rem), var(--page-bg);color:var(--text-main)}.sidebar{background:linear-gradient(#121b2e 0%,#17243c 100%);border-right:1px solid #ffffff0d;width:264px;padding:28px 16px 20px;box-shadow:8px 0 30px #1420370c}.brand{gap:14px;padding:0 9px 34px}.brand-shield{background:linear-gradient(145deg,#ec1745,#bd062d);box-shadow:0 8px 18px #c8102e44}.brand strong{letter-spacing:1.3px;font-size:15px}.brand span{color:#aebbd0;letter-spacing:1.6px;font-size:9px}.sidebar-label{color:#8190a9;padding:10px 11px 13px}.sidebar nav{gap:6px}.nav-item{color:#c5cede;border:1px solid #0000;border-radius:11px;min-height:44px;padding:11px 12px;font-size:13px;transition:background .18s,color .18s,border-color .18s}.nav-item>span:first-child{text-align:center;color:#9facc1;width:21px;font-size:15px}.nav-item:hover{color:#fff;background:#ffffff0d;border-color:#ffffff0c}.nav-item.active,.nav-item.active:hover{background:linear-gradient(105deg, var(--catania-red-dark), var(--catania-red));color:#fff;border-color:#f448694d;box-shadow:0 8px 20px #c8102e33}.nav-item.active>span:first-child{color:#fff}.sidebar-footer{border-color:#ffffff18;padding-top:18px}.sidebar-footer span{letter-spacing:1.4px}.sidebar-footer small{color:#aab6c9}.main-content{width:auto;max-width:none;margin-left:264px;padding:30px clamp(22px,3vw,48px) 24px}.topbar{min-height:68px;margin-bottom:25px}.topbar h1{color:#172238;letter-spacing:-1px;font-size:clamp(25px,2vw,31px)}.eyebrow{color:#8491a7;letter-spacing:1.9px;font-size:9px}.season{color:#5f6d83;border-color:#e1e6ee;border-radius:10px;padding:10px 14px;box-shadow:0 2px 7px #18263c06}.account-control{background:#fff;border:1px solid #e2e7ef;border-radius:999px;gap:9px;padding:6px 10px 6px 13px}.welcome{background:radial-gradient(circle at 82% 48%,#f1224a38 0,#0000 19rem),linear-gradient(118deg,#15223a 0%,#1b2d4b 52%,#68172f 100%);border:1px solid #ffffff1a;border-radius:22px;min-height:246px;padding:clamp(30px,4vw,48px);box-shadow:0 18px 42px #17233a20}.welcome:after{content:"";pointer-events:none;border:1px solid #ffffff12;border-radius:50%;width:250px;height:250px;position:absolute;top:-145px;right:7%;box-shadow:0 0 0 28px #ffffff07,0 0 0 58px #ffffff05}.welcome-tag{color:#f4bdc9;letter-spacing:2.2px;font-size:9px}.welcome h2{letter-spacing:-1.7px;max-width:680px;margin:16px 0 13px;font-size:clamp(32px,3.4vw,46px);line-height:1.08}.welcome p{color:#d5dce8;max-width:520px;font-size:14px;line-height:1.7}.welcome-ball{z-index:1;background:#ffffff12;border:1px solid #ffffff2b;border-radius:50%;place-items:center;width:112px;height:112px;padding:0;font-size:58px;display:grid;transform:rotate(-12deg);box-shadow:0 16px 36px #0b142333,inset 0 1px #ffffff25}.section{margin-top:33px}.section-heading{margin-bottom:17px}.section-heading h2{color:#1b2940;letter-spacing:-.6px;margin:7px 0 5px;font-size:21px}.section-heading p{color:var(--text-soft);font-size:12px}.stats-grid{gap:14px}.stat-card{border:1px solid var(--panel-line);background:#fff;border-radius:15px;min-height:116px;padding:18px;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;box-shadow:0 3px 10px #1c2b4207}.stat-card-button:hover{border-color:#d4dce8;transform:translateY(-2px);box-shadow:0 11px 25px #1c2b4212}.stat-card>span{background:#f8e9ed;border-radius:11px;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.stat-card strong{color:#24324a;font-size:14px}.stat-card small{color:#8290a5;font-size:11px}.modules-grid{gap:12px}.module-card{border-color:var(--panel-line);border-radius:15px;align-items:flex-start;min-height:116px;padding:16px;box-shadow:0 3px 10px #1c2b4205}.module-card:hover{border-color:#d5ddea;box-shadow:0 12px 26px #1c2b4210}.module-card-button{cursor:pointer}.module-card-button:focus-visible,.stat-card-button:focus-visible{outline-offset:3px;outline:3px solid #d20b3450}.module-icon{background:linear-gradient(145deg,#fff4f6,#f6e7eb);border:1px solid #f2e1e6;border-radius:12px;flex:0 0 42px}.module-card h3{color:#24324a;letter-spacing:-.1px;font-size:13px}.module-card p{color:#7a879b;font-size:11px;line-height:1.5}.module-status{color:#65738a;letter-spacing:.15px;background:#f6f8fb;border:1px solid #e7ebf1;font-size:9px}.module-arrow{color:#9ba8bc;flex:none}.operational-section{min-height:55vh}.data-form,.records-panel{border-color:var(--panel-line);border-radius:16px;box-shadow:0 5px 18px #1c2b4208}.data-form{padding:clamp(18px,2.2vw,26px)}.form-heading h3,.panel-heading h3{color:#203049}.primary-button{border:1px solid var(--catania-red);background:linear-gradient(135deg,#e0113e,#c50a31);border-radius:10px;transition:transform .16s,box-shadow .16s,background .16s;box-shadow:0 5px 13px #c8102e22}.primary-button:hover:not(:disabled){background:linear-gradient(135deg,#e61c48,#b9082c);transform:translateY(-1px);box-shadow:0 8px 18px #c8102e30}.secondary-button{border-radius:10px}.form-field input,.form-field select,.form-field textarea,.attendance-select,.callup-row select{color:#22314a;background:#fbfcfe;border-color:#dfe5ee;border-radius:9px;min-height:42px;transition:border-color .16s,box-shadow .16s,background .16s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.attendance-select:focus,.callup-row select:focus{background:#fff;border-color:#cf1740;outline:0;box-shadow:0 0 0 3px #d20b3415}.record-card{background:#fff;border-color:#e8ecf2;border-radius:12px;transition:border-color .16s,background .16s}.record-card.selected{box-shadow:inset 3px 0 0 var(--catania-red);background:#fff9fa;border-color:#e9a6b6}.record-main strong,.athlete-name-cell strong,.callup-person strong{color:#273650}.record-main span,.record-main small,.callup-person small{color:#7b899e}.attendance-row,.callup-row{border-color:#edf0f5}.attendance-select,.callup-row select{background:#fff;min-height:38px}.mode-banner,.state-banner{border-radius:11px;box-shadow:0 3px 10px #1c2b4206}.staff-card,.setup-card,.auth-card{border-color:var(--panel-line);border-radius:17px;box-shadow:0 12px 32px #1c2b420c}.auth-screen{background:radial-gradient(circle at 15% 20%,#d20b3410 0,#0000 24rem),linear-gradient(145deg,#eef2f8,#f8f9fc)}.auth-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffed;width:min(100%,420px);padding:36px}.auth-shield{box-shadow:0 8px 18px #c8102e33}footer{color:#8c98aa;border-color:#e1e6ee}@media (width<=1050px){.sidebar{width:230px;padding-inline:13px}.main-content{margin-left:230px;padding-inline:24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=650px){.sidebar{width:100%;padding:15px 15px 13px;position:relative}.brand{padding:0 5px 17px}.sidebar nav{scrollbar-width:thin;gap:7px;padding:2px 1px 5px;display:flex;overflow-x:auto}.nav-item{white-space:nowrap;flex:none;width:auto;min-height:40px;padding:9px 11px;font-size:11px}.nav-item>span:first-child{width:auto}.main-content{width:100%;margin-left:0;padding:20px 15px 18px}.topbar{gap:13px;margin-bottom:20px}.topbar-actions{flex-wrap:wrap;justify-content:space-between;width:100%}.account-control{max-width:100%}.account-control>span{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.welcome{border-radius:17px;min-height:220px;padding:26px 22px}.welcome h2{letter-spacing:-1px;font-size:clamp(29px,9vw,38px)}.welcome p{font-size:12px}.welcome-ball{display:none}.section{margin-top:27px}.modules-grid,.stats-grid{grid-template-columns:1fr}.module-card{min-height:105px}.data-form,.records-panel{padding:16px}.form-actions{flex-wrap:wrap}.form-actions>button{flex:auto}.record-card{align-items:flex-start}.match-row-actions,.row-actions{flex-wrap:wrap}.auth-card{padding:28px 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.welcome-illustration{z-index:1;filter:drop-shadow(0 16px 20px #09152955);flex:0 51%;width:min(51%,560px);min-width:360px;margin:0 -12px 0 18px;position:relative}.catania-landscape{width:100%;height:auto;display:block;overflow:visible}.training-board-panel{margin-top:22px}.training-board-panel .panel-heading{align-items:center}.training-board-panel .panel-heading p{color:#6f7b8e;margin:5px 0 0;font-size:13px}.exercise-tabs{flex-wrap:wrap;gap:8px;padding:14px 0;display:flex}.exercise-tabs button{color:#293447;cursor:pointer;background:#fff;border:1px solid #dce2eb;border-radius:8px;padding:9px 12px}.exercise-tabs button.selected{color:#b40d29;background:#fff7f8;border-color:#c8102e}.exercise-tabs small{color:#758095;margin-left:8px}.exercise-edit-grid{grid-template-columns:2fr 1fr;gap:12px 18px;margin:6px 0 16px;display:grid}.board-workspace{grid-template-columns:minmax(0,1fr) 210px;align-items:start;gap:16px;display:grid}.board-tools{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.board-tools button{color:#344052;cursor:pointer;background:#fff;border:1px solid #dce2eb;border-radius:7px;align-items:center;gap:6px;min-height:36px;padding:5px 9px;font-size:12px;display:inline-flex}.board-tools button span{color:#c8102e;font-weight:800}.football-board{touch-action:none;background:#3d7959;border-radius:9px;width:100%;max-height:450px;display:block}.football-board>rect:first-child{fill:#478965;stroke:#eaf4e8;stroke-width:.6px}.football-board>line,.football-board>circle,.football-board>rect:not(:first-child){fill:none;stroke:#eaf4e8;stroke-width:.45px}.football-board>.field-dot{fill:#eaf4e8}.board-token{cursor:grab;touch-action:none}.board-token:active{cursor:grabbing}.board-token circle{fill:#f7f9fc;stroke:#25324a;stroke-width:.6px}.board-token text{fill:#182236;pointer-events:none;font-size:4px;font-weight:800}.board-token.player_home circle{fill:#cf1533;stroke:#fff}.board-token.player_home text,.board-token.player_opponent text{fill:#fff}.board-token.player_opponent circle{fill:#f1f3f6;stroke:#182236}.board-token.ball circle{fill:#f6db45}.board-token.cone circle,.board-token.pole circle,.board-token.mannequin circle,.board-token.mini_goal circle,.board-token.goal circle,.board-token.ladder circle{fill:#fff2bf}.board-token .token-label{paint-order:stroke;stroke:#274632;stroke-width:1px;fill:#fff;font-size:2.6px}.board-hint{color:#738096;margin:8px 0 2px;font-size:12px}.board-summary{color:#344052;background:#f5f7fa;border-radius:9px;gap:9px;padding:15px;display:grid}.board-summary span,.exercise-view>div>span{color:#7a8597;font-size:13px}.board-summary p,.exercise-view p{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}.board-summary small{color:#7a8597;line-height:1.5}.exercise-view{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:center;gap:20px;padding:10px 0;display:grid}.exercise-view>div{justify-items:start;gap:10px;display:grid}.football-board.compact{max-height:300px}.season-overlay{z-index:30;background:#101827a8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.season-dialog{background:#fff;border-radius:14px;width:min(760px,100%);max-height:min(90vh,900px);padding:24px;overflow:auto;box-shadow:0 24px 80px #10182755}.season-dialog>.form-heading h2{margin:5px 0 0}.season-list{gap:8px;margin:18px 0;display:grid}.season-list article{border:1px solid #e1e5ec;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.season-list article>div{gap:5px;display:grid}.season-list article small{color:#748095}.current-season-badge{color:#a80b25;background:#fff0f2;border-radius:20px;margin-left:9px;padding:3px 7px;font-size:11px;font-weight:700}.season-start{border-top:1px solid #e1e5ec;margin-top:22px;padding-top:20px}.season-start h3{margin:6px 0}.season-start>p{color:#667287;font-size:13px;line-height:1.5}.season-form-grid{grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin:14px 0;display:grid}.season-start h4{margin:20px 0 5px}.season-athlete-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:180px;margin:10px 0 16px;display:grid;overflow:auto}.season-athlete-list label{background:#f6f7fa;border-radius:7px;align-items:center;gap:8px;padding:8px;font-size:13px;display:flex}@media (width<=760px){.exercise-edit-grid,.board-workspace,.exercise-view{grid-template-columns:1fr}.board-summary{order:-1}.training-board-panel .panel-heading{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=650px){.season-form-grid,.season-athlete-list{grid-template-columns:1fr}.season-dialog{padding:18px}.welcome{flex-direction:column;align-items:stretch;gap:8px}.welcome-illustration{flex:none;align-self:center;width:100%;min-width:0;max-width:480px;margin:4px 0 -5px}}
