.attendance-team-compact{margin-bottom:8px;border-radius:10px}
.attendance-team-compact>summary{min-height:48px;padding:10px 14px}
.attendance-team-compact>summary span{font-size:15px}
.attendance-team-compact>summary small{font-size:11px}
.attendance-player-folders{gap:7px;padding:9px}
.attendance-player-folder{border:1px solid #d5e3eb;border-radius:9px;background:#fff;overflow:hidden}
.attendance-player-folder>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:9px 13px;cursor:pointer;list-style:none}
.attendance-player-folder>summary span{font-weight:800}
.attendance-player-folder>summary small{color:var(--muted)}
.attendance-player-folder>div{padding:0 12px 12px;border-top:1px solid #e1e9ee;background:#f8fbfd}
.attendance-sheet-section h4{margin:13px 0 7px;color:#315f79;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.attendance-sheet-scroll{width:100%;overflow-x:auto;border:1px solid #d4e1e9;border-radius:9px;background:#fff}
.attendance-sheet{border-collapse:collapse;width:max-content;min-width:100%}
.attendance-sheet th,.attendance-sheet td{min-width:86px;padding:7px;border-right:1px solid #dce6ec;border-bottom:1px solid #dce6ec;text-align:center}
.attendance-sheet tr:last-child th,.attendance-sheet tr:last-child td{border-bottom:0}
.attendance-sheet th:first-child{position:sticky;left:0;z-index:2;min-width:170px;background:#eef7fc;text-align:left}
.attendance-sheet thead th{background:#f1f7fa;color:#244f69;font-size:11px}
.attendance-sheet thead th b,.attendance-sheet thead th small{display:block;white-space:nowrap}
.attendance-sheet thead th small{margin-top:2px;color:var(--muted);font-weight:400}
.attendance-table-cell{display:grid;place-items:center;width:36px;height:32px;margin:auto;padding:0;border:1px solid #c8d9e3;border-radius:7px;background:#fff;color:#8ba0ad;font-size:18px;font-weight:900;cursor:pointer}
.attendance-table-cell.present{border-color:#279653;background:#e4f7eb;color:#218047}
.attendance-table-cell.absent{border-color:#d04444;background:#fff0f0;color:#b52e2e}
.attendance-table-cell span{font-size:16px}
@media(max-width:600px){.attendance-team-compact>summary{align-items:flex-start;flex-direction:column;gap:3px}.attendance-player-folder>div{padding:0 7px 8px}.attendance-sheet th:first-child{min-width:130px}}

.attendance-month-calendar{padding-top:10px}
.attendance-month-tabs{display:flex;gap:6px;padding:2px 0 10px;overflow-x:auto;scrollbar-width:thin}
.attendance-month-tabs button{flex:0 0 auto;padding:7px 11px;border:1px solid #c7dbe7;border-radius:999px;background:#fff;color:#41657b;font-size:11px;font-weight:800;text-transform:capitalize;cursor:pointer}
.attendance-month-tabs button.active{border-color:#087bc1;background:#087bc1;color:#fff;box-shadow:0 3px 8px rgba(8,123,193,.18)}
.attendance-month-panel[hidden]{display:none!important}
.attendance-event-calendar{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:8px}
.attendance-calendar-event{display:grid;grid-template-columns:48px minmax(0,1fr) 40px;align-items:center;gap:10px;min-width:0;padding:9px;border:1px solid #d7e3ea;border-left:4px solid #738b99;border-radius:9px;background:#fff}
.attendance-calendar-event.type-entrenamiento{border-left-color:#2f9d50}.attendance-calendar-event.type-partido{border-left-color:#087bc1}.attendance-calendar-event.type-torneo{border-left-color:#d04444}.attendance-calendar-event.type-reunion{border-left-color:#6b62d9}.attendance-calendar-event.type-campus{border-left-color:#d85c9b}
.attendance-calendar-event time{display:grid;place-items:center;align-content:center;width:46px;height:46px;border-radius:8px;background:#edf6fb;color:#174d70;text-align:center}
.attendance-calendar-event time b{font-size:17px;line-height:1}.attendance-calendar-event time span{margin-top:3px;font-size:9px;text-transform:uppercase}
.attendance-calendar-event-info{display:grid;gap:2px;min-width:0}.attendance-calendar-event-info>span{color:#087bc1;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.attendance-calendar-event-info>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.attendance-calendar-event-info>small{color:var(--muted);font-size:10px}
@media(max-width:600px){.attendance-event-calendar{grid-template-columns:1fr}.attendance-month-tabs button{padding:7px 9px}.attendance-calendar-event{grid-template-columns:44px minmax(0,1fr) 38px}}

.attendance-calendar-event:has(.attendance-binary-choice){grid-template-columns:48px minmax(0,1fr) 72px}
.attendance-binary-choice{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:68px}
.attendance-binary-choice button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #c8d9e3;border-radius:7px;background:#fff;color:#78909e;font-size:16px;font-weight:900;cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .12s}
.attendance-binary-choice button:hover{transform:translateY(-1px)}
.attendance-binary-choice .present:hover,.attendance-binary-choice .present.selected{border-color:#279653;background:#e4f7eb;color:#218047}
.attendance-binary-choice .absent:hover,.attendance-binary-choice .absent.selected{border-color:#d04444;background:#fff0f0;color:#b52e2e}
.attendance-binary-choice button:disabled{cursor:wait;opacity:.72}
@media(max-width:600px){.attendance-calendar-event:has(.attendance-binary-choice){grid-template-columns:44px minmax(0,1fr) 68px}.attendance-binary-choice{width:64px}.attendance-binary-choice button{width:30px}}

.attendance-history-matrix{margin-top:18px;overflow:hidden}.attendance-history-matrix>h2,.attendance-history-matrix>p{margin-top:0}.attendance-history-team{margin-top:10px;border:1px solid #ccdce6;border-radius:10px;overflow:hidden}.attendance-history-team>summary{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:#eaf5fb;cursor:pointer;list-style:none}.attendance-history-team>summary span{color:var(--muted);font-size:11px}.attendance-history-body{padding:10px}.attendance-history-panel[hidden]{display:none!important}.attendance-history-scroll{width:100%;overflow-x:auto;border:1px solid #cadbe5;border-radius:8px}.attendance-matrix{width:max-content;min-width:100%;border-collapse:collapse;background:#fff}.attendance-matrix th,.attendance-matrix td{height:42px;min-width:62px;padding:5px;border-right:1px solid #cadbe5;border-bottom:1px solid #cadbe5;text-align:center}.attendance-matrix thead th{height:62px;background:#edf6fb;color:#244f69}.attendance-matrix th:first-child{position:sticky;left:0;z-index:2;min-width:190px;background:#edf6fb;text-align:left}.attendance-matrix tbody th{background:#fff;font-size:12px}.attendance-matrix thead th b,.attendance-matrix thead th span,.attendance-matrix thead th small{display:block}.attendance-matrix thead th b{font-size:15px}.attendance-matrix thead th span{font-size:9px;text-transform:uppercase}.attendance-matrix thead th small{margin-top:3px;color:#087bc1;font-size:8px;text-transform:uppercase}.attendance-history-mark{display:grid;place-items:center;width:28px;height:28px;margin:auto;border-radius:6px;font-size:17px;font-weight:900}.attendance-history-mark.present{background:#e4f7eb;color:#218047}.attendance-history-mark.absent{background:#fff0f0;color:#b52e2e}.attendance-history-mark.empty{border:1px solid #e0e8ed;background:#fafcfd}@media(max-width:600px){.attendance-history-matrix{padding:13px}.attendance-history-body{padding:7px}.attendance-matrix th:first-child{min-width:135px}.attendance-matrix th,.attendance-matrix td{min-width:56px}}
