:root{--primary:#1a1a1a;--primary-light:#333;--primary-dark:#000;--primary-surface:#f0f0f0;--accent:#eab308;--accent-dark:#ca8a04;--accent-surface:#fef9c3;--present:#16a34a;--present-bg:#dcfce7;--present-border:#86efac;--absent:#dc2626;--absent-bg:#fee2e2;--absent-border:#fca5a5;--pending:#ca8a04;--pending-bg:#fef3c7;--pending-border:#fcd34d;--bg:#f5f5f5;--surface:#fff;--surface-alt:#f9f9f9;--border:#e0e0e0;--border-strong:#ccc;--text:#1a1a1a;--text-muted:#666;--text-light:#999;--shadow-sm:0 1px 2px #0000000a;--shadow:0 2px 8px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-height:100svh;margin:0}#root{min-height:100svh}button{cursor:pointer;background:0 0;border:none;font-family:inherit}h1,h2,h3,h4,p{margin:0}.app{background:var(--bg);--accent:var(--clube-cor-destaque,#f4c400);--accent-dark:color-mix(in srgb, var(--accent) 86%, #000);--primary-surface:color-mix(in srgb, var(--clube-cor-secundaria,#f4c400) 16%, #fff);flex-direction:column;max-width:480px;min-height:100svh;margin:0 auto;padding-bottom:100px;display:flex}.header{background:var(--clube-cor-primaria,#000);color:var(--clube-cor-texto-cabecalho,#fff);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-md);padding:20px 18px 18px}.header-top{align-items:center;gap:10px;margin-bottom:14px;display:flex}.header-logo-wrap{flex-shrink:0;align-items:center;display:flex}.header-logo-placeholder{background:0 0;border:1.5px solid #ffffff59;border-radius:50%;width:28px;height:28px}.header-title{letter-spacing:-.5px;color:inherit;white-space:nowrap;flex:1;min-width:0;font-size:1.6rem;font-weight:700}.header-badge{color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border-radius:999px;flex-shrink:0;padding:4px 12px;font-size:.8rem;font-weight:600}.header-badge--tappable{cursor:pointer;align-items:center;gap:6px;transition:background .18s,transform .18s;display:inline-flex}.header-badge--tappable:not(:disabled):active{background:#ffffff38;transform:scale(.96)}.header-badge--tappable:disabled{opacity:.7;cursor:default}.header-badge-chevron{opacity:.85;width:14px;height:14px}.header-info{flex-direction:column;gap:6px;display:flex}.header-info-row{color:inherit;align-items:center;gap:6px;font-size:.9rem;display:flex}.header-icon{opacity:.85;flex-shrink:0;width:15px;height:15px}.header-sep{opacity:.5;margin:0 2px}.training-nav{flex-wrap:nowrap;align-items:center;gap:8px;padding:14px 16px 4px;display:flex}.nav-arrow{background:var(--surface);border:1px solid var(--border);width:38px;height:38px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .18s;display:flex}.nav-arrow svg{width:18px;height:18px}.nav-arrow:not(:disabled):active{background:var(--primary-surface);transform:scale(.94)}.nav-arrow:disabled{opacity:.3;cursor:not-allowed}.nav-date{text-align:center;flex:1;min-width:0}.nav-date-day{color:var(--text);white-space:nowrap;font-size:1.05rem;font-weight:600}.nav-calendar{background:var(--surface);border:1px solid var(--border);width:38px;height:38px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .18s;display:flex}.nav-calendar svg{width:18px;height:18px}.nav-calendar:active{background:var(--surface-alt);transform:scale(.94)}.training-status-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px 10px;display:flex}.training-status-left{flex:1;min-width:0;overflow:hidden}.training-status-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:500;overflow:hidden}.training-status-text--ok{color:var(--text);font-weight:600}.training-status-text--error{color:var(--absent)}.nav-new{color:var(--text);background:var(--surface);border:1px solid var(--border-strong);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:7px 14px;font-size:.82rem;font-weight:600;transition:all .18s;display:inline-flex}.nav-new svg{width:14px;height:14px}.nav-new:active{background:var(--primary-surface);transform:scale(.96)}.summary{gap:8px;padding:8px 16px 4px;display:flex}.summary-item{background:var(--surface);border-radius:var(--radius);text-align:center;border:1px solid var(--border);box-shadow:var(--shadow-sm);flex:1;padding:12px 8px}.summary-count{font-size:1.6rem;font-weight:700;line-height:1;display:block}.summary-label{color:var(--text-muted);margin-top:4px;font-size:.72rem;font-weight:500;display:block}.summary-present .summary-count{color:var(--present)}.summary-absent .summary-count{color:var(--absent)}.summary-pending .summary-count{color:var(--pending)}.main{flex:1;padding:10px 16px 0}.list-header-two-rows{flex-direction:column;gap:8px;width:100%;margin-bottom:10px;display:flex}.list-header-row{align-items:center;gap:8px;width:100%;display:flex}.list-header-row--top,.list-header-row--bottom{justify-content:space-between}.list-title{color:var(--text);margin:0;padding-left:12px;font-size:1.05rem;font-weight:600}.edit-training-btn{color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;background:0 0;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:500;transition:all .15s}.edit-training-btn:active{background:var(--surface-alt);transform:scale(.97)}.edit-horario-btn{color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;background:0 0;border-radius:999px;padding:6px 12px;font-size:.76rem;font-weight:500;transition:all .15s}.edit-horario-btn:active{background:var(--surface-alt);transform:scale(.97)}.confirm-all-btn{color:#fff;background:var(--present);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:600;transition:all .18s;display:flex;box-shadow:0 2px 6px #16a34a40}.confirm-all-btn svg{width:15px;height:15px}.confirm-all-btn:active{transform:scale(.96);box-shadow:0 1px 3px #16a34a33}.confirm-all-btn--active{background:var(--text-muted);box-shadow:0 2px 6px #6b728033}.athlete-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.athlete-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:box-shadow .2s;display:flex}.athlete-card:active{box-shadow:var(--shadow)}.athlete-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.athlete-nickname{color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:400;overflow:hidden}.athletes-loading,.athletes-error,.athletes-empty{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:.88rem}.athletes-error{color:var(--absent)}.athlete-name-wrap{text-align:left;border-radius:6px;flex:1;align-items:center;gap:6px;min-width:0;padding:4px 0;transition:opacity .15s;display:flex}.athlete-name-wrap:active{opacity:.6}.athlete-name-inner{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.athlete-chevron{width:16px;height:16px;color:var(--text-light);flex-shrink:0}.status-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-alt);flex-shrink:0;gap:0;display:flex;overflow:hidden}.status-btn{border-right:1px solid var(--border);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:52px;padding:8px 10px;transition:all .15s;display:flex}.status-btn:last-child{border-right:none}.status-btn-icon{color:var(--text-light);font-size:1rem;font-weight:700;line-height:1;transition:color .15s}.status-btn-label{color:var(--text-light);font-size:.6rem;font-weight:500;line-height:1.1;transition:color .15s}.status-btn.status-presente.active{background:var(--present-bg)}.status-btn.status-presente.active .status-btn-icon,.status-btn.status-presente.active .status-btn-label{color:var(--present)}.status-btn.status-ausente.active{background:var(--absent-bg)}.status-btn.status-ausente.active .status-btn-icon,.status-btn.status-ausente.active .status-btn-label{color:var(--absent)}.status-btn.status-por_confirmar.active{background:var(--pending-bg)}.status-btn.status-por_confirmar.active .status-btn-icon,.status-btn.status-por_confirmar.active .status-btn-label{color:var(--pending)}.status-btn:active{transform:scale(.92)}.footer{background:var(--surface);border-top:1px solid var(--border);max-width:480px;padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom));z-index:10;margin:0 auto;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f}.save-btn{color:#000;background:var(--accent);border-radius:var(--radius);border:1.5px solid #000;width:100%;padding:15px;font-size:1.02rem;font-weight:700;transition:all .18s}.save-btn:active{background:var(--accent-dark);transform:scale(.98)}.save-confirm{color:var(--present);justify-content:center;align-items:center;gap:6px;margin-bottom:8px;font-size:.85rem;font-weight:600;display:flex}.save-confirm svg{width:16px;height:16px}.team-picker-overlay{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;animation:.2s team-picker-fade;display:flex;position:fixed;inset:0}@keyframes team-picker-fade{0%{opacity:0}to{opacity:1}}.team-picker{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;box-shadow:var(--shadow-lg);flex-direction:column;max-height:70svh;padding:8px 0 28px;animation:.25s cubic-bezier(.16,1,.3,1) team-picker-slide;display:flex}@keyframes team-picker-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.team-picker-handle{background:var(--border-strong);border-radius:999px;flex-shrink:0;width:36px;height:4px;margin:6px auto 12px}.team-picker-title{color:var(--text);flex-shrink:0;padding:0 18px 10px;font-size:1.05rem;font-weight:600}.team-picker-error{color:var(--absent);flex-shrink:0;padding:0 18px 10px;font-size:.85rem}.team-picker-list{-webkit-overflow-scrolling:touch;margin:0;padding:0;list-style:none;overflow-y:auto}.team-picker-item{width:100%;color:var(--text);text-align:left;justify-content:space-between;align-items:center;padding:14px 18px;font-size:.95rem;font-weight:500;transition:background .15s;display:flex}.team-picker-item:active{background:var(--surface-alt)}.team-picker-item--active{color:#000;font-weight:700}.team-picker-item-name{flex:1;min-width:0}.team-picker-item-check{color:#000;flex-shrink:0;width:18px;height:18px}.profile-overlay{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;animation:.2s profile-fade;display:flex;position:fixed;inset:0}@keyframes profile-fade{0%{opacity:0}to{opacity:1}}.profile-sheet{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;box-shadow:var(--shadow-lg);flex-direction:column;max-height:85svh;padding:8px 20px 28px;animation:.25s cubic-bezier(.16,1,.3,1) profile-slide;display:flex;overflow-y:auto}@keyframes profile-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.profile-handle{background:var(--border-strong);border-radius:999px;flex-shrink:0;width:36px;height:4px;margin:6px auto 16px}.profile-title{color:var(--text);flex-shrink:0;margin-bottom:20px;font-size:1.1rem;font-weight:600}.profile-field{flex-direction:column;gap:5px;margin-bottom:16px;display:flex}.profile-label{color:var(--text-muted);letter-spacing:.2px;font-size:.78rem;font-weight:600}.profile-readonly{color:var(--text);background:var(--surface-alt);border-radius:var(--radius-sm);border:1px solid var(--border);padding:11px 14px;font-size:.92rem}.profile-input{color:var(--text);background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border-strong);outline:none;padding:11px 14px;font-family:inherit;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.profile-input:focus{border-color:var(--clube-cor-primaria,#000);box-shadow:0 0 0 3px #00000014}.profile-input:disabled{background:var(--surface-alt);opacity:.7}.profile-error{color:var(--absent);margin:0 0 12px;font-size:.83rem}.profile-actions{gap:10px;margin-top:8px;display:flex}.profile-btn{border-radius:var(--radius);flex:1;padding:13px;font-size:.95rem;font-weight:700;transition:all .15s}.profile-btn--cancel{color:var(--text-muted);background:var(--surface-alt);border:1px solid var(--border)}.profile-btn--cancel:active{background:var(--border)}.profile-btn--save{color:#000;background:var(--accent);border:1.5px solid #000}.profile-btn--save:active{background:var(--accent-dark);transform:scale(.98)}.profile-btn:disabled{opacity:.6}.profile-field-row{gap:12px;display:flex}.profile-field-row .profile-field{flex:1}.local-options{flex-direction:column;gap:8px;display:flex}.local-option{color:var(--text);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);text-align:left;padding:11px 14px;font-size:.88rem;font-weight:500;transition:all .15s}.local-option--active{background:var(--primary-surface);color:#000;border-color:#000;font-weight:600}.local-option:active{transform:scale(.98)}.local-option--other{color:var(--text-muted);border-style:dashed}.local-empty{color:var(--text-light);padding:8px 0;font-size:.82rem}.local-custom-wrap{flex-direction:column;gap:8px;display:flex}.local-back-btn{color:var(--text);text-align:left;padding:6px 0;font-size:.8rem}.calendar-sheet{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;box-shadow:var(--shadow-lg);flex-direction:column;max-height:90svh;padding:8px 16px 28px;animation:.25s cubic-bezier(.16,1,.3,1) profile-slide;display:flex;overflow-y:auto}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.calendar-nav-arrow{width:36px;height:36px;color:var(--text);background:var(--surface-alt);border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.calendar-nav-arrow:active{background:var(--primary-surface);transform:scale(.92)}.calendar-nav-arrow svg{width:18px;height:18px}.calendar-title{color:var(--text);text-transform:capitalize;font-size:1.05rem;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-weekday{text-align:center;color:var(--text-light);text-transform:uppercase;padding:6px 0;font-size:.65rem;font-weight:600}.calendar-cell{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.82rem;transition:background .12s;display:flex;position:relative}.calendar-cell--empty{pointer-events:none}.calendar-cell:active{background:var(--surface-alt)}.calendar-cell--today{color:#000;font-weight:700}.calendar-cell--selected{background:var(--primary-surface);color:#000;font-weight:700}.calendar-cell-day{line-height:1}.calendar-cell-dot{background:var(--text);border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px}.calendar-day-detail{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.calendar-day-title{color:var(--text);text-transform:capitalize;margin-bottom:10px;font-size:.95rem;font-weight:600}.calendar-no-trainings{color:var(--text-muted);text-align:center;padding:12px 0;font-size:.85rem}.calendar-training-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.calendar-training-item{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-align:left;flex-direction:column;gap:2px;width:100%;padding:12px 14px;transition:all .15s;display:flex}.calendar-training-item:active{background:var(--surface-alt);transform:scale(.98)}.calendar-training-team{color:var(--text);font-size:.9rem;font-weight:600}.calendar-training-virtual{color:var(--text-muted);font-size:.72rem;font-weight:400}.calendar-training-time{color:var(--text);font-size:.82rem}.calendar-training-local{color:var(--text-light);font-size:.75rem}.header-badge-multiline{flex-direction:column;align-items:center;line-height:1.15;display:flex}.header-badge-line1{font-size:.72rem;font-weight:700}.header-badge-line2{opacity:.85;font-size:.62rem;font-weight:500}.header-info-row--compact{white-space:nowrap;flex-wrap:nowrap;font-size:.85rem}.horario-subtitle{color:var(--text-muted);margin-bottom:8px;font-size:.85rem}.horario-note{color:var(--text-light);margin-bottom:16px;font-size:.78rem;line-height:1.4}.horario-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.horario-list-item{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-align:left;flex-direction:column;gap:2px;width:100%;padding:12px 14px;transition:all .15s;display:flex}.horario-list-item:active{background:var(--surface-alt);transform:scale(.98)}.horario-list-item--active{background:var(--primary-surface);border-color:#000}.horario-list-day{color:var(--text);font-size:.9rem;font-weight:600}.horario-list-time{color:var(--text);font-size:.82rem}.horario-list-local{color:var(--text-light);font-size:.75rem}.team-picker-item-multiline{flex-direction:column;gap:1px;line-height:1.2;display:flex}.team-picker-item-subline{color:var(--text-muted);font-size:.8rem;font-weight:400}.profile-input[type=text],select.profile-input{appearance:none;background-color:var(--surface);width:100%;padding-right:36px}@media (width<=600px){.list-header-two-rows,.list-header-row{width:100%}.list-header-row--top,.list-header-row--bottom{justify-content:space-between}}
