@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#29252a;--muted:#81777b;--green:#c51b27;--lime:#ffffff;--line:#eadfe1;--paper:#fffafa}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #e96069;outline-offset:3px}h1,h2,h3{font-family:Manrope,sans-serif;margin:0}h1{font-size:32px;letter-spacing:-1.2px}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:15px}.shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:#bd1721;color:#ffffff;padding:30px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;font-family:Manrope;font-size:20px;font-weight:800;letter-spacing:-.6px}.brandmark{display:grid;place-items:center;background:var(--lime);color:var(--ink);width:36px;height:40px;border-radius:12px;font-size:25px}.brand small{display:block;font-size:10px;font-weight:500;color:#ffe1e3;letter-spacing:2px;margin-top:3px}.side-label{font-size:10px;color:#ffced2;letter-spacing:1.6px;margin:42px 12px 16px}nav{display:grid;gap:8px}nav button{display:flex;align-items:center;gap:13px;text-align:left;padding:13px 15px;border-radius:9px;background:transparent;color:#fff0f1}nav button.active{background:#a5121d;color:white}nav b{margin-left:auto;background:#92101a;border-radius:6px;padding:2px 7px;font-size:11px}.side-card{margin-top:auto;border:1px solid #e8777d;padding:17px;border-radius:12px;color:#fff0f1;font-size:12px;line-height:1.7}.side-card strong{color:#ffffff;display:block}.user{border-top:1px solid #e16d74;margin-top:24px;padding-top:23px;display:flex;gap:11px;align-items:center}.avatar{border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:700;width:42px;height:42px;background:#fce6e8;color:#a71b25}.user small{color:#ffe1e3;display:block;margin-top:4px}.main{padding:0 40px 40px;max-width:1600px;width:100%;margin:auto}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.crumb{font-size:12px;color:var(--muted)}.mode{display:flex;align-items:center;gap:8px;font-size:12px}.mode select{background:white;border:1px solid var(--line);border-radius:8px;padding:9px;color:var(--ink)}.demo{background:#fff0f1;border:1px solid #f3d5d8;padding:10px 14px;border-radius:8px;font-size:12px;margin:22px 0;color:#91555b}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0;gap:12px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#a85860;display:block;margin-bottom:10px}.sub{color:var(--muted);margin:9px 0 0;line-height:1.6}.primary,.secondary{padding:11px 17px;border-radius:8px;font-weight:600}.primary{background:var(--green);color:white}.primary:hover{background:#a9121e}.secondary{background:white;border:1px solid var(--line);color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:18px 20px}.stat .label{color:var(--muted);font-size:12px;display:flex;justify-content:space-between}.stat strong{display:block;font-size:29px;font-family:Manrope;margin:11px 0 7px}.stat small{color:var(--muted);font-size:11px}.green{color:var(--green)!important}.section-head{display:flex;align-items:center;justify-content:space-between;margin:24px 0 16px;gap:12px}.search{border:1px solid var(--line);border-radius:8px;padding:10px 13px;background:white;width:240px;color:var(--ink)}.athletes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.athlete{background:white;border:1px solid var(--line);border-radius:13px;padding:22px;text-align:left;color:var(--ink);transition:transform .15s,box-shadow .15s}.athlete:hover{transform:translateY(-3px);box-shadow:0 8px 26px #b5121b10}.athlete-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}.athlete .avatar{width:49px;height:49px;font-size:16px}.athlete:nth-child(3n+2) .avatar{background:#f4e5e8;color:#aa5969}.athlete:nth-child(3n+3) .avatar{background:#f1e7e9;color:#925963}.athlete p{margin:5px 0;color:var(--muted);font-size:12px}.badge{display:inline-block;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:600;background:#fff0f1;color:#b21b28}.badge.gold{background:#f8eeee;color:#865e64}.card-bottom{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.bar{height:5px;border-radius:8px;background:#f5e7e9;margin:11px 0}.bar span{display:block;background:#d52a35;height:100%;border-radius:8px}.progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.lower{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin-top:30px}.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:23px}.panel h2{font-size:17px}.row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0;padding-bottom:0}.date{background:#fff0f1;border-radius:9px;width:45px;min-height:48px;display:grid;place-content:center;text-align:center;flex-shrink:0;font-size:17px;font-weight:700}.date small{font-size:9px;font-weight:400;text-transform:uppercase}.row p{margin:5px 0 0;color:var(--muted);font-size:12px}.row .badge{margin-left:auto}.back{padding:0;background:transparent;color:var(--muted);margin:23px 0 0}.profile-head{display:flex;gap:18px;align-items:center;margin:24px 0}.profile-head .avatar{width:72px;height:72px;font-size:24px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);overflow:auto;margin-bottom:24px}.tabs button{white-space:nowrap;background:transparent;color:var(--muted);padding:15px 1px;border-bottom:3px solid transparent}.tabs button.active{color:var(--green);border-color:var(--green);font-weight:700}.items{display:grid;gap:16px}.item{background:white;border:1px solid var(--line);border-radius:12px;padding:23px}.item-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.item p{line-height:1.7;color:#7d6b71;white-space:pre-wrap}.meta{font-size:11px;color:var(--muted);margin:10px 0}.text-btn{background:transparent;color:var(--green);padding:4px;font-size:12px;font-weight:600}.comment{background:#fffafa;padding:12px 15px;border-radius:8px;margin-top:10px;color:#78636b;font-size:12px;line-height:1.6;white-space:pre-wrap}.comment strong{display:block;font-size:10px;color:#99616a;margin-bottom:3px}.inline-form{display:flex;gap:9px;margin-top:14px}.inline-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:7px;padding:10px}.empty{padding:42px;text-align:center;color:var(--muted);background:white;border:1px dashed #e3cdd2;border-radius:12px}.item a{color:var(--green);overflow-wrap:anywhere}.note-private{background:#faf0f1;border-color:#ecd6da}.notice{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 20px}dialog{border:1px solid var(--line);border-radius:16px;width:530px;max-width:94vw;padding:26px;color:var(--ink)}dialog::backdrop{background:#341016b0;backdrop-filter:blur(3px)}dialog header{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.icon{background:#f8edef;border-radius:50%;font-size:25px;width:32px;height:32px;color:var(--muted)}label.field{display:grid;gap:7px;margin-top:15px;font-size:12px;font-weight:600}.field input,.field textarea,.field select{width:100%;border:1px solid #e4cfd4;border-radius:7px;padding:11px;color:var(--ink);background:white}.field textarea{min-height:90px;resize:vertical}dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--ink);color:white;border-radius:9px;display:none;z-index:4} .calendar-list .item{display:flex;gap:20px;align-items:center}.calendar-list .date{width:58px}.mobile-brand{display:none}@media(min-width:1450px){.athletes{grid-template-columns:repeat(4,1fr)}}@media(max-width:1100px){.shell{grid-template-columns:200px 1fr}.main{padding:0 25px 30px}.sidebar{padding:30px 16px}.athletes{grid-template-columns:repeat(2,1fr)}.stats{gap:10px}.stat{padding:15px}.lower{grid-template-columns:1fr}}@media(max-width:700px){.shell{display:block}.sidebar{height:auto;position:static;padding:16px 20px;display:block}.brand{font-size:18px}.brand small,.side-label,.side-card,.user{display:none}nav{display:flex;margin-top:16px;gap:6px}nav button{padding:9px 11px;font-size:12px;flex:1;justify-content:center}nav b{display:none}.main{padding:0 18px 30px}.topbar{height:auto;padding:16px 0;align-items:start;flex-direction:column;gap:10px}.mode{width:100%;flex-wrap:wrap}.mode select{flex:1}.demo{font-size:11px;line-height:1.6;margin:16px 0}h1{font-size:26px}.page-heading{margin:23px 0;align-items:start}.page-heading .primary{font-size:12px;padding:10px}.stats{grid-template-columns:repeat(2,1fr);margin-bottom:22px}.stat strong{font-size:25px}.athletes{grid-template-columns:1fr}.search{width:170px}.section-head h2{font-size:18px}.tabs{gap:21px}.profile-head h1{font-size:24px}.profile-head .avatar{width:56px;height:56px;font-size:18px}.item,.panel{padding:18px}.inline-form{flex-wrap:wrap}.inline-form input{flex-basis:65%}.row .badge{display:none}}
.development-sheet{background:white;border:1px solid var(--line);border-radius:12px;padding:25px}.sheet-heading{text-align:center;margin:6px 0 25px}.sheet-heading p{color:var(--muted);margin:9px 0;font-size:12px}.sheet-heading .eyebrow{color:var(--ink)}.goal-table-scroll{overflow-x:auto}.goal-table{border-collapse:collapse;width:100%;min-width:790px;table-layout:fixed}.category-col{width:19%}.content-col{width:46%}.player-col{width:35%}.goal-table th,.goal-table td{border:1px solid #dfc8ce;text-align:left;vertical-align:top;padding:18px}.goal-table thead th{background:#fff0f1;font-size:12px;font-weight:700}.goal-table tbody th{background:#fff8f9;font-size:13px;line-height:1.6}.goal-table tbody td:last-child{background:#fffcfc}.table-add{display:block;margin-top:12px;padding:0}.goal-entry+.goal-entry,.player-entry+.player-entry{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.goal-points{padding-left:18px;margin:13px 0;line-height:1.8;color:#70575f;font-size:13px}.goal-entry .item-title{gap:10px}.goal-entry h3{font-size:13px}.goal-entry .text-btn{white-space:nowrap}.table-empty{color:#9f858e;font-size:12px;line-height:1.7}.player-form{display:flex;flex-direction:column;align-items:flex-end}.player-form textarea{width:100%;resize:vertical;min-height:80px;border:1px solid #e4cfd4;border-radius:7px;padding:11px;background:white;color:var(--ink);font:inherit;font-size:12px}.player-form button{font-size:12px;padding:8px 13px}.goal-table .comment{margin:0 0 10px;background:#fff0f1}.table-hint{display:none}@media(max-width:1000px){.table-hint{display:block}}@media(max-width:700px){.development-sheet{padding:15px}.goal-table{min-width:740px}.goal-table th,.goal-table td{padding:14px}.sheet-heading h2{font-size:19px}}

.brand{flex-direction:column;align-items:flex-start;gap:14px}.club-logo{width:96px;height:96px;object-fit:contain;border-radius:50%;background:white;display:block}.brand>div{font-size:24px;letter-spacing:-.5px}.brand small{letter-spacing:1.4px;font-size:9px}.side-card{background:#ad121d}.sidebar .avatar{background:white;color:#b5121b}.green{color:var(--green)!important}@media(max-width:700px){.brand{flex-direction:row;align-items:center;gap:14px}.club-logo{width:58px;height:58px}.brand>div{font-size:22px}.brand small{display:block;margin-top:4px}}

.trainer-rating{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}.trainer-rating>span:first-child,.overview-rating>span:first-child{font-size:11px;color:var(--muted)}.trainer-rating select{max-width:100%;background:white;color:var(--ink);border:1px solid #e4cfd4;border-radius:7px;padding:9px 12px;font-size:12px}.rating-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:6px;font-size:11px;font-weight:700;background:#f5f2f3;color:#82777b}.rating-0{background:#fff0f1;color:#ae1522}.rating-1{background:#f6f0e3;color:#806017}.rating-2{background:#c51b27;color:white}.overview-rating{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:17px}.trainer-rating select:focus-visible{outline:3px solid #e96069;outline-offset:2px}
.planner-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;flex-wrap:wrap;margin:5px 0 20px}.planner-range{display:flex;gap:16px}.planner-range label{font-size:11px;color:var(--muted);display:grid;gap:7px}.planner-range input,.planner-range select{padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink)}.planner-switch{display:flex;gap:8px}.planner-switch .selected{background:var(--green);border-color:var(--green);color:white}.months{display:grid;gap:24px}.month-panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.month-panel>h3{padding:17px 20px;background:#fff0f1;font-size:17px;text-transform:capitalize;border-bottom:1px solid var(--line)}.month-scroll{overflow:auto}.month-grid{min-width:calc(118px + var(--days)*36px)}.month-days,.month-lane{display:grid;grid-template-columns:118px 1fr}.lane-name{position:sticky;left:0;z-index:3;background:white;padding:13px 12px;font-size:11px;font-weight:700;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.month-days .lane-name{background:#faf3f4}.day-grid{display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr));height:100%}.day-heading{text-align:center;padding:7px 0;font-size:11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#faf8f8}.day-heading small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.weekend{background:#fff0f1!important}.lane-body{position:relative;border-bottom:1px solid var(--line)}.day-cell{padding:0;border-right:1px solid #eee7e9;background:white;min-width:0;height:100%;border-radius:0}.day-cell:hover:not(:disabled),.day-cell.drop-hover{background:#f4c5cb!important;box-shadow:inset 0 0 0 2px #c51b27}.event-layer{position:absolute;inset:5px 0;display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr));grid-auto-rows:42px;pointer-events:none}.planner-event{pointer-events:auto;align-self:start;min-width:0;height:36px;margin:0 2px;padding:5px 7px;border-radius:5px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9e1420;background:#f6d1d5;border:1px solid #e9afb6;position:relative;z-index:1}.planner-event strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:10px}.planner-event small{display:block;font-size:9px;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.planner-event.cat-2{background:#c51b27;color:white;border-color:#c51b27}.planner-event.cat-3{background:#f4b7bd}.planner-event.cat-4{background:#e9e3ec;color:#56455d;border-color:#d1c5d7}.planner-event.cat-5{background:#eee8e1;color:#725b41;border-color:#d8cec0}.planner-event.cat-6{background:#faedc9;color:#816618;border-color:#ebda9a}.planner-event[draggable=true]{cursor:grab}.planner-event.dragging{opacity:.5}.move-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 16px;border-radius:8px;margin-bottom:15px;background:#fce4e7;color:#a81423;font-size:12px}.move-target{cursor:crosshair}.move-button{margin-top:20px}.tournament-table-scroll{overflow:auto;border:1px solid var(--line);border-radius:12px;background:white}.tournament-table{border-collapse:collapse;min-width:1050px;width:100%;font-size:12px}.tournament-table th,.tournament-table td{padding:16px;vertical-align:top;text-align:left;border-bottom:1px solid var(--line);border-right:1px solid var(--line);line-height:1.7}.tournament-table th{background:#fff0f1;white-space:nowrap}.tournament-table td:nth-child(5){min-width:230px}.tournament-table td:last-child{min-width:250px}.tournament-text{white-space:pre-wrap}.tournament-table .inline-form{flex-wrap:wrap}.tournament-table .inline-form input{width:100%;flex-basis:100%}@media(max-width:700px){.planner-switch .secondary{font-size:11px;padding:9px 12px}.planner-toolbar{gap:15px}.planner-range{gap:10px}.month-days,.month-lane{grid-template-columns:92px 1fr}.month-grid{min-width:calc(92px + var(--days)*36px)}.lane-name{padding:14px 8px}.move-banner{align-items:start}}
.master-months .month-grid{min-width:calc(155px + var(--days)*36px)}.master-months .month-days,.master-months .month-lane{grid-template-columns:155px 1fr}.master-profile{display:block;padding:0;margin-top:4px;font-size:9px}.shared-lane .lane-name{background:#fff0f1}.shared-lane .lane-name small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:4px}.master-tournaments{background:#c51b27;color:white;border-color:#c51b27}.master-training{background:#f7d7db;color:#981521}.master-shared{background:#eee6db;color:#765b35;border-color:#daceb9}.recipient-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--line);border-radius:8px;margin:20px 0 0;padding:16px}.recipient-picker legend{font-size:12px;padding:0 6px}.recipient-picker label{display:flex;align-items:center;gap:6px;font-size:12px}.recipient-picker label:first-of-type{grid-column:1/-1}.recipient-picker input{accent-color:#c51b27}@media(max-width:700px){.sidebar nav{flex-wrap:wrap}.sidebar nav button{flex-basis:40%}.master-months .month-grid{min-width:calc(130px + var(--days)*36px)}.master-months .month-days,.master-months .month-lane{grid-template-columns:130px 1fr}}
.danger{background:#fff0f1;color:#b31623;border:1px solid #e9afb6;border-radius:8px;padding:10px 15px;font-weight:600}.danger:hover{background:#f8d2d7}.danger-text{color:#b31623}.delete-plan-button{display:block;margin-top:20px}.color-label{display:inline-flex;align-items:center;gap:6px;font-size:10px;margin:6px 0;color:var(--muted)}.color-label>span{height:11px;width:11px;border:1px solid;border-radius:3px}.planner-switch{flex-wrap:wrap}#print-area{display:none}.print-heading{display:flex;gap:16px;align-items:center;margin-bottom:16px}.print-heading h1{font-size:22px}.print-heading h2{font-size:16px;margin-top:5px}.print-heading p{font-size:11px;margin:6px 0}.print-details{width:100%;border-collapse:collapse;font-size:10px}.print-details th,.print-details td{border:1px solid #d6cdd0;text-align:left;vertical-align:top;padding:8px}.print-details th{background:#fff0f1}.print-details-title{font-size:16px;margin:20px 0 12px}
@page{size:A4 landscape;margin:10mm}@media print{html,body{background:white;color:#252125;font-size:10px;-webkit-print-color-adjust:exact;print-color-adjust:exact}body>#app,body>dialog,body>#toast{display:none!important}#print-area{display:block!important}.print-heading,.print-details-title{break-after:avoid}.print-months .month-panel{break-inside:avoid;margin-bottom:14px;box-shadow:none;border-radius:0}.print-months .month-panel>h3{font-size:13px;padding:8px}.print-months .month-scroll{overflow:visible}.print-months .month-grid{min-width:0!important;width:100%}.print-months .month-days,.print-months .month-lane{grid-template-columns:25mm 1fr}.print-months .lane-name{position:static;padding:9px 5px;font-size:9px}.print-months .day-heading{font-size:8px;padding:5px 0}.print-months .day-heading small{font-size:6px}.print-months .planner-event{font-size:8px;padding:5px 3px;margin:0 1px}.print-months .planner-event strong{font-size:8px}.print-months .planner-event small{font-size:7px}.print-months .day-cell{cursor:default}.print-details{table-layout:fixed}.print-details th:nth-child(1){width:12%}.print-details th:nth-child(2){width:9%}.print-details th:nth-child(3){width:21%}.print-details th:nth-child(4){width:16%}.print-details th:nth-child(5){width:30%}.print-details th:nth-child(6){width:12%}.print-details tr{break-inside:avoid}.print-details thead{display:table-header-group}.print-details td{overflow-wrap:anywhere}.print-months .move-target{box-shadow:none}}
.profile-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.selection-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:white;border:1px solid var(--line);border-radius:10px;padding:12px 15px;margin:0 0 12px}.selection-toolbar .secondary.selected{background:#c51b27;color:white;border-color:#c51b27}.selection-toolbar #selected-count{font-size:12px;color:var(--muted);margin-left:auto}.selection-toolbar .danger:disabled{opacity:.45;cursor:default}.selection-help{font-size:11px}.tournament-table .select-col{width:45px;min-width:45px;padding:15px 12px;text-align:center;position:sticky;left:0;background:white;z-index:2}.tournament-table thead .select-col{background:#fff0f1}.tournament-table input[type=checkbox]{width:18px;height:18px;accent-color:#c51b27;cursor:pointer}.tournament-table .row-selected td{background:#fff0f1}.planner-event.event-selected{outline:3px solid #1a3656;outline-offset:0;z-index:2;box-shadow:0 0 0 1px white inset}.planner-event.event-selected:after{content:'✓';position:absolute;top:2px;right:3px;font-size:11px;background:#1a3656;color:white;border-radius:3px;line-height:15px;width:15px;text-align:center}.print-goal-entry+.print-goal-entry{border-top:1px solid #ddd;padding-top:9px;margin-top:9px}.print-goal-entry ul{padding-left:16px;line-height:1.65}.print-goal-entry p{margin:6px 0;line-height:1.6}.print-goal-rating{margin-top:6px}@media(max-width:700px){.profile-actions{justify-content:flex-end}.profile-actions .secondary{font-size:11px;padding:9px 12px}.selection-toolbar{gap:8px;padding:10px}.selection-toolbar .text-btn{font-size:11px}.selection-toolbar #selected-count{margin-left:0}.selection-toolbar .danger{margin-left:auto;font-size:12px}}@media print{.print-goals th{width:auto!important}.print-goals{font-size:11px}.print-goals td{padding:11px;line-height:1.65}}
.event-select-control{pointer-events:auto;justify-self:end;align-self:start;position:relative;z-index:5;margin:5px 5px 0 0;width:17px;height:17px;accent-color:#193853;cursor:pointer;box-shadow:0 0 0 2px white;border-radius:2px}.planner-event{padding-right:26px}.planner-event.event-selected:after{display:none}.event-select-control:focus-visible{outline:3px solid #193853;outline-offset:3px}@media print{.event-select-control{display:none!important}.print-months .planner-event{padding-right:3px}}
/* Compact selection indicators, no checkmark. */
.event-select-control,.tournament-table input[type=checkbox]{appearance:none;-webkit-appearance:none;box-sizing:border-box;padding:0;border:1px solid #bca6ac;border-radius:2px;background:#ffffff;box-shadow:none;cursor:pointer;transition:background-color .12s,border-color .12s}.event-select-control{width:11px;height:11px;margin:4px 4px 0 0;opacity:.8}.tournament-table input[type=checkbox]{width:12px;height:12px;margin:0;vertical-align:middle}.event-select-control:checked,.tournament-table input[type=checkbox]:checked{border-color:#bc1825;background:radial-gradient(circle at center,#bc1825 0 2px,#ffffff 2.3px);opacity:1}.event-select-control:hover,.tournament-table input[type=checkbox]:hover{border-color:#bc1825;opacity:1}.event-select-control:focus-visible,.tournament-table input[type=checkbox]:focus-visible{outline:2px solid #bc1825;outline-offset:3px}.planner-event{padding-right:18px}.planner-event.event-selected{outline:2px solid #30292b;outline-offset:-1px;box-shadow:0 0 0 1px #ffffff inset}.tournament-table .select-col{width:34px;min-width:34px;padding:13px 8px}@media(pointer:coarse){.event-select-control{width:16px;height:16px;margin:3px}.tournament-table input[type=checkbox]{width:16px;height:16px}.planner-event{padding-right:21px}}@media print{.print-months .planner-event{padding-right:3px}}
.weekly-toolbar{display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin-bottom:15px}.week-navigation{display:flex;align-items:end;gap:9px}.week-navigation label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.week-navigation input{border:1px solid var(--line);border-radius:7px;padding:10px;background:white;color:var(--ink)}#weekly-save-status{font-size:11px;color:var(--muted);margin-left:auto;max-width:230px;line-height:1.6}.week-grid-scroll{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px}.week-table{border-collapse:collapse;width:100%;min-width:1250px;table-layout:fixed}.week-label-col{width:105px}.week-table th,.week-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;padding:10px}.week-table thead th{background:#fff0f1;font-size:12px;min-width:155px;text-align:left}.week-table thead th>span{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:5px}.week-table tbody th{font-size:12px;background:#fff8f9;text-align:left;position:sticky;left:0;z-index:2}.week-table textarea,.week-table select{width:100%;font:inherit;font-size:12px;line-height:1.6;border:1px solid transparent;border-radius:5px;background:transparent;padding:6px;resize:vertical;color:var(--ink)}.week-table textarea:hover,.week-table select:hover{background:#fff8f9;border-color:var(--line)}.week-table textarea:focus,.week-table select:focus{background:white;outline:2px solid #e9afb6;border-color:#c51b27}.week-table .week-row-main textarea{min-height:190px}.week-day-actions{display:flex;justify-content:space-between;gap:6px;margin-top:7px}.week-day-actions .text-btn{font-size:10px;padding:3px}.week-day-actions .danger-text{font-size:16px;line-height:1}.week-player{display:block;padding:3px 5px;font-size:11px;margin-bottom:4px;border-radius:4px;background:#fff0f1}.weekly-notes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:10px}.weekly-notes textarea{background:white}.week-print-text{white-space:pre-wrap}.print-week-notes{font-size:10px;line-height:1.7;margin-top:15px}.print-week-notes h3{font-size:12px}@media(max-width:700px){.weekly-notes{grid-template-columns:1fr;gap:0}#weekly-save-status{margin-left:0;max-width:none}.week-variant-tabs{gap:30px}}@media print{.print-week-grid .week-grid-scroll{overflow:visible;border-radius:0}.print-week-grid .week-table{min-width:0;width:100%;font-size:8px}.print-week-grid .week-table td,.print-week-grid .week-table th{padding:6px;overflow-wrap:anywhere}.print-week-grid .week-table tbody th{position:static;font-size:9px}.print-week-grid .week-table thead th{font-size:10px;min-width:0}.print-week-grid .week-label-col{width:18mm}.print-week-grid .week-player{font-size:8px;padding:2px 3px}.print-week-grid .week-table tr{break-inside:avoid}.print-week-grid .week-table thead{display:table-header-group}.print-week-notes{break-inside:avoid}}

@media print{.print-week-grid .week-table{min-width:0!important}}

.player-week-grid{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:12px;overflow-x:auto;padding-bottom:16px}.player-day{background:#fff;border:1px solid #e8dfe0;border-radius:12px;padding:12px}.player-day h3{font-size:16px;margin:0 0 16px}.player-day h3 small{display:block;font-size:12px;color:#77666a;margin-top:4px}.player-session{border-left:4px solid var(--event-color,#c5202d);background:var(--event-bg,#fff5f5);padding:12px;margin-bottom:12px;border-radius:8px}.player-session h4{margin:0 0 8px;font-size:14px}.player-session p{white-space:pre-wrap;font-size:13px;line-height:1.5}.player-session .inline-form{flex-wrap:wrap}.player-session .inline-form input{min-width:0;width:100%}.attendance-table{width:100%;min-width:650px;border-collapse:collapse;background:#fff}.attendance-table td,.attendance-table th{padding:14px;text-align:left;border-bottom:1px solid #e8dfe0}.attendance-table thead{background:#fff0f1}.attendance-table small{display:block;color:#a02935;font-size:12px}.attendance-table input{width:110px}.attendance-table input,.attendance-table select,#attendance-month{padding:9px;border:1px solid #d9cdd0;border-radius:7px}@media(max-width:650px){.player-week-grid{grid-template-columns:1fr;overflow:visible}.player-day{padding:16px}}
/* Compact, aligned tables throughout the planning workspace. */
.main{padding-left:26px;padding-right:26px}.page-heading{margin:20px 0}.page-heading h1{font-size:27px}.topbar{height:70px}.demo{margin:14px 0;padding:8px 12px}.section-head{margin:18px 0 12px}.month-panel,.week-grid-scroll,.tournament-table-scroll,.development-sheet{border-radius:5px}.month-panel>h3{padding:10px 14px;font-size:15px}.lane-name,.day-heading,.day-cell{border-color:#cbb7bd!important}.lane-body{border-color:#cbb7bd}.lane-name{padding:10px;font-size:11px}.day-heading{padding:5px 0}.planner-event{height:30px;padding-top:4px;padding-bottom:4px;border-radius:3px}.planner-event strong{font-size:10px}.week-table th,.week-table td{border-color:#cbb7bd;padding:6px}.week-table textarea{font-size:11px;padding:4px;line-height:1.45}.week-table .week-row-main textarea{min-height:145px}.week-table .week-row-begin textarea,.week-table .week-row-end textarea,.week-table .week-row-extra textarea{min-height:67px}.week-table thead th{font-size:11px}.weekly-toolbar{gap:10px}.dense-scroll{overflow:auto;border:1px solid #cbb7bd;border-radius:5px;background:white}.dense-table{border-collapse:collapse;width:100%;font-size:12px;min-width:760px}.dense-table th,.dense-table td{border-right:1px solid #cbb7bd;border-bottom:1px solid #cbb7bd;text-align:left;vertical-align:top;padding:9px 10px;line-height:1.55}.dense-table thead th{background:#fff0f1;font-size:11px}.dense-table small{display:block;font-size:10px;color:#81777b;margin-top:3px}.dense-table select,.dense-table input,.attendance-table select,.attendance-table input{padding:7px 8px;border:1px solid #d8c2c8;border-radius:4px;background:white;color:var(--ink);font-size:11px}.league-table{min-width:1400px}.league-table td:first-child{min-width:95px}.league-table td:nth-child(3){min-width:160px}.league-table select{width:115px}.assigned-cell{background:#fff4f5}.source-links{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;margin:14px 0}.source-links a{color:#a51b28}.nowrap{white-space:nowrap}.player-week-table{table-layout:fixed;min-width:1250px}.player-week-table tbody th{background:#fff8f9;font-size:11px}.week-mini-entry{font-size:11px;white-space:pre-wrap}.week-mini-entry+.week-mini-entry{border-top:1px dotted #cbb7bd;margin-top:8px;padding-top:8px}.week-mini-entry .text-btn{display:block;font-size:10px;padding:2px 0}.compact-focus{border:1px solid #cbb7bd;padding:10px 14px;font-size:12px;margin-top:14px;background:white}.compact-focus p{line-height:1.6;margin-bottom:0}.update-list{display:grid;gap:12px}.update-message{background:white;border:1px solid #dcc6cc;border-radius:5px;padding:16px}.update-message.unread{border-left:4px solid #c51b27}.update-message header{display:flex;justify-content:space-between;align-items:start;gap:15px}.update-message h3{margin:8px 0 5px;font-size:15px}.update-message small{font-size:11px;color:var(--muted)}.update-message p{white-space:pre-wrap;font-size:13px;line-height:1.7}.attendance-table{border-collapse:collapse;width:100%;font-size:12px;min-width:720px;background:white}.attendance-table th,.attendance-table td{border:1px solid #cbb7bd;text-align:left;vertical-align:top;padding:9px 10px}.attendance-table thead th{background:#fff0f1;font-size:11px}.attendance-table small{display:block;color:#81777b;font-size:10px}.attendance-table input{max-width:110px}.attendance-table select{min-width:115px}.attendance-table tr:hover td{background:#fff8f9}.brand .club-logo{width:76px;height:76px}.side-label{margin-top:26px}nav{gap:5px}nav button{font-size:12px;padding:10px 12px}.side-card{padding:12px;font-size:11px}.goal-table th,.goal-table td{border-color:#cbb7bd;padding:14px}.goal-table .player-form textarea{min-height:65px}.tournament-table td,.tournament-table th{border-color:#cbb7bd;padding:10px 12px}@media(max-width:700px){.main{padding-left:16px;padding-right:16px}.topbar{height:auto}.brand .club-logo{width:52px;height:52px}.page-heading h1{font-size:24px}.update-message header{flex-wrap:wrap}.dense-table{font-size:11px}nav button{flex-basis:30%}}

/* Dense tournament rows, selectors and printable reports. */
.planner-event{height:24px;padding-top:2px;padding-bottom:2px}.tournament-table th,.tournament-table td,.tournament-table .select-col{padding:5px 8px;line-height:1.35}.lane-name{padding:6px}.league-table{min-width:850px}.league-table td:nth-child(4),.league-table td:nth-child(5){min-width:150px}.training-chart{margin:18px 0;padding:16px;border:1px solid #cbb7bd;background:white;overflow:auto}.training-chart figcaption{font-weight:600;font-size:13px;margin-bottom:18px}.chart-bars{display:flex;gap:12px;align-items:flex-end;min-width:500px;height:180px}.chart-column{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:32px;font-size:10px}.chart-bar{background:#b71c2c;width:70%;min-width:15px;border-radius:3px 3px 0 0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-heading h2{font-size:20px}.report-heading p{font-size:12px}.weekly-toolbar label{display:grid;gap:5px;font-size:12px}.weekly-toolbar select,.weekly-toolbar input{padding:8px;border:1px solid #cbb7bd;border-radius:4px}.recipient-picker{display:grid;gap:10px}.recipient-picker label{display:flex;align-items:center;gap:8px;font-size:13px}.recipient-picker input[type=checkbox]{width:16px;height:16px}.dense-table .tournament-text{max-width:380px}.report-heading{margin-top:16px}@media print{#print-area .dense-scroll{overflow:visible}#print-area .dense-table{min-width:0;width:100%;font-size:9px}#print-area .dense-table td,#print-area .dense-table th{padding:5px}#print-area .training-chart{overflow:visible;break-inside:avoid}#print-area .chart-bars{min-width:0}#print-area .notice{display:block}#print-area .report-heading{break-after:avoid}}

.event-layer{grid-auto-rows:32px}.tournament-table .planner-event{min-height:24px}
.login-card{max-width:440px;margin:5vh auto;padding:32px;background:white;border-radius:20px;box-shadow:0 12px 50px #12273618}.login-card img{display:block;margin:0 auto 20px}.login-card h1{text-align:center}.login-card .field{display:grid;gap:8px;margin:20px 0}.login-card input{width:100%;padding:12px;border:1px solid #ccd6df;border-radius:8px}.login-card button{width:100%}#login-error{color:#a32222}.mode{flex-wrap:wrap}.demo{display:flex;gap:12px;flex-wrap:wrap;align-items:center}#hub-status{font-size:13px}@media(max-width:600px){.login-card{margin:20px 12px;padding:24px}.mode button{font-size:12px}}
/* Shared desktop and installable mobile app */
.shell{grid-template-columns:244px minmax(0,1fr)}.main{min-width:0}.sidebar{overflow-y:auto}.mobile-menu-toggle{display:none}.install-app{font-size:12px;padding:8px 10px}.login-card .install-app{margin-top:12px}#connection-notice{padding:12px 18px;background:#fff0ce;color:#6d4300;text-align:center;line-height:1.5}#connection-notice[hidden],.install-app[hidden]{display:none}#install-help p{line-height:1.65}#install-help h3{margin-top:20px}#install-help{max-height:90dvh;overflow:auto}.month-scroll,.goal-table-scroll,.week-grid-scroll,.tournament-table-scroll,.dense-scroll{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}dialog{max-height:90dvh;overflow:auto}
@media(min-width:701px) and (max-width:1100px){.shell{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:700px){
 body{overflow-wrap:anywhere}.shell{display:block;min-height:100dvh}.sidebar{padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));padding-top:max(12px,env(safe-area-inset-top));overflow:visible}.brand{width:100%;gap:12px}.brand small{display:block;font-size:9px;letter-spacing:1px}.brand .club-logo{width:44px;height:44px}.mobile-menu-toggle{display:block;margin-left:auto;background:#fff;color:#a5121d;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:700;min-height:44px}.sidebar nav{display:none;margin-top:12px}.sidebar.mobile-menu-open nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sidebar nav button{justify-content:flex-start;text-align:left;min-height:44px;font-size:12px;padding:9px;min-width:0}.sidebar nav b{display:inline-block}.no-mobile-menu nav{display:none}.main{padding:0 max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));margin:0}.topbar{padding:12px 0;gap:10px}.mode{gap:6px}.mode>span{flex-basis:100%;font-weight:700}.mode .text-btn{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:7px;background:white}.mode .install-app{min-height:40px}.demo{gap:6px;padding:10px;line-height:1.5}.page-heading,.section-head{flex-wrap:wrap;gap:12px}.page-heading{margin:20px 0}.page-heading h1{font-size:23px}.page-heading .primary,.page-heading .secondary{min-height:40px}.search{width:100%;max-width:100%}.tabs{gap:18px;scrollbar-width:thin;margin-bottom:18px}.tabs button{min-height:44px}.profile-head{gap:12px;flex-wrap:wrap}.profile-head h1{font-size:23px}.profile-head .avatar{width:48px;height:48px}.development-sheet{padding:12px}.goal-table{min-width:720px}.goal-table th,.goal-table td{padding:12px}.goal-table .player-form textarea{font-size:16px}.field input,.field select,.field textarea,.login-card input,.inline-form input,.inline-form textarea,.weekly-toolbar input,.weekly-toolbar select,.attendance-table input,.attendance-table select{font-size:16px}.weekly-toolbar{gap:10px;flex-wrap:wrap}.weekly-toolbar label{min-width:0;max-width:100%}.weekly-toolbar input,.weekly-toolbar select{max-width:100%}.item,.panel{padding:15px}.stats{gap:10px}.stat{padding:13px}.stat strong{font-size:24px}.login-card{max-width:440px;margin:24px auto;padding:24px;width:calc(100% - 24px)}dialog{width:calc(100% - 24px);max-width:530px;padding:20px;max-height:90dvh}.dense-table{overflow-wrap:normal}#toast{max-width:calc(100% - 24px);width:max-content;bottom:max(16px,env(safe-area-inset-bottom));text-align:center}
}
@media print{#install-help,#connection-notice,.install-app,.mobile-menu-toggle{display:none!important}}

.nav-group{border:1px solid var(--line);border-radius:8px;background:#fff8f9;padding:5px;margin:8px 0 12px}.nav-group-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--muted);padding:9px 12px}.nav-group button{width:100%;margin-top:3px}.assignment-interclub{background:#d4e8ff;color:#164b82;border-color:#8ab8e8}.assignment-free{background:#e6e6eb;color:#4d4d5b;border-color:#bfc0c9}.assignment-hours-title{font-size:14px;margin:20px 0 0}@media(max-width:700px){.sidebar nav .nav-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0}.sidebar nav .nav-group-label{grid-column:1/-1;padding:7px}.sidebar nav>.nav-group-label{grid-column:1/-1}.nav-group button{margin:0}}

/* Trainer navigation stays legible against its pale group background. */
.sidebar .nav-group{background:#ffffff;border:2px solid #8e101b}.sidebar .nav-group-label{color:#ffffff}.sidebar .nav-group .nav-group-label{color:#74101a}.sidebar .nav-group button{color:#74101a;background:#fff1f2;font-weight:700}.sidebar .nav-group button:hover{background:#f6d2d7;color:#541018}.sidebar .nav-group button.active{color:#ffffff;background:#8e101b;box-shadow:inset 4px 0 #ffffff}
/* Both team plans fit all days into the available width. */
.master-months .month-scroll{overflow-x:hidden}.master-months .month-grid{width:100%;min-width:0!important}.master-months .month-days,.master-months .month-lane{grid-template-columns:110px minmax(0,1fr)}.master-months .lane-name{padding:5px 6px;font-size:10px;overflow:hidden;overflow-wrap:normal}.master-months .day-heading{font-size:10px;padding:5px 0;white-space:nowrap;overflow:hidden}.master-months .day-heading small{font-size:7px}.master-months .event-layer{grid-auto-rows:32px;inset:3px 0}.master-months .planner-event{margin:0 1px;padding:4px 2px;height:29px}.master-months .planner-event strong{font-size:9px}.master-months .master-profile{font-size:8px}.assignment-preparation{background:#e8d8f5;color:#4b256b;border-color:#a47ec1}
@media(max-width:700px){.master-months .month-days,.master-months .month-lane{grid-template-columns:62px minmax(0,1fr)}.master-months .lane-name{font-size:8px;padding:5px 3px}.master-months .day-heading{font-size:7px;letter-spacing:-.4px;padding:6px 0}.master-months .day-heading small{display:none}.master-months .planner-event{padding:3px 0}.master-months .planner-event strong{font-size:8px}.master-months .planner-event small{display:none}.master-months .master-profile{font-size:7px}.master-months .month-panel>h3{padding:9px}}
.login-card .login-actions{margin:16px 0}.login-card .login-actions .text-btn{font-size:14px;text-decoration:underline;min-height:44px}.login-card [role=status]{color:#315c30;line-height:1.6}.login-card #login-error{color:#9d1420;line-height:1.6}

.seven-day-week{overflow-x:hidden}.seven-day-week .week-table{width:100%;min-width:0;table-layout:fixed}.seven-day-week .week-label-col{width:84px}.seven-day-week .week-table thead th{min-width:0;overflow-wrap:anywhere}.seven-day-week .week-table td,.seven-day-week .week-table th{min-width:0;padding:6px;overflow-wrap:anywhere}.seven-day-week textarea,.seven-day-week select{min-width:0;max-width:100%;padding:4px}.seven-day-week .text-btn{max-width:100%;white-space:normal;font-size:10px}.day-session-block+.day-session-block{border-top:2px solid #cbb7bd;margin-top:12px;padding-top:10px}.day-session-label{display:block;font-size:9px;font-weight:700;color:#74101a;margin-bottom:5px}.seven-day-week .week-player{overflow-wrap:anywhere}.seven-day-week .week-day-actions{display:block}.seven-day-week .week-day-actions .text-btn{width:100%}@media(max-width:700px){.seven-day-week .week-label-col{width:54px}.seven-day-week .week-table th,.seven-day-week .week-table td{padding:3px;font-size:9px}.seven-day-week .week-table thead th strong{font-size:9px}.seven-day-week .week-table thead th>span{font-size:8px;letter-spacing:-.4px}.seven-day-week .week-player,.seven-day-week .text-btn{font-size:8px;padding:3px 0}.seven-day-week .week-table textarea,.seven-day-week .week-table select{font-size:11px;padding:2px}.seven-day-week .table-empty{font-size:9px}}

.league-event{background:#d4e8ff;color:#164b82;border-color:#5897d0}.league-badge{background:#d4e8ff;color:#164b82}

.league-event,.planner-event.cat-0{background:#c51b27;color:#ffffff;border-color:#a81520}.league-badge{background:#fff0f1;color:#a81520}

.goal-history{margin-top:24px}.goal-history details{margin:10px 0;border:1px solid var(--line);border-radius:7px;background:white;padding:12px}.goal-history summary{cursor:pointer;color:#74101a;font-weight:700;font-size:12px}.goal-history .dense-scroll{margin-top:12px}.goal-history td p{font-size:12px;line-height:1.6}

.personal-months .league-calendar-label{padding:4px 0;text-align:center}.personal-months .league-calendar-label strong{font-size:clamp(3px,.8vw,8px);letter-spacing:-.2px;text-overflow:clip}.share-plan-preview{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:6px;margin:16px 0}.share-plan-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.share-plan-actions .secondary{display:inline-block;text-decoration:none}.share-plan-actions button{min-height:44px}

.privacy-card{max-width:720px;margin:32px auto;text-align:left}.privacy-card h1{font-size:28px}.privacy-card p,.privacy-details p{line-height:1.6}.privacy-card .eyebrow{display:block;margin-top:16px}.privacy-details{margin:20px 0}.privacy-details summary{cursor:pointer;font-weight:700;color:#a81722;padding:12px 0}.privacy-details h3{margin-top:24px}.privacy-check{display:flex;align-items:flex-start;gap:12px;margin:24px 0;line-height:1.5}.privacy-check input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:#c51b27}.privacy-card button:disabled{opacity:.5;cursor:not-allowed}.privacy-card #privacy-error{color:#a81722}@media(max-width:600px){.privacy-card{margin:12px;padding:24px 18px}}
.security-nav{margin:16px 0 8px;background:#fff!important;color:#a5121d!important;border:1px solid #fff;border-radius:8px;padding:12px;text-align:left;font-weight:700}.security-nav.active{background:#8e101a!important;color:#fff!important}.security-panel{margin-bottom:20px}.security-panel .dense-scroll{margin-top:16px}.security-panel .dense-table{min-width:720px}.security-panel td small{display:block;font-size:11px;color:#74676b;margin-top:6px}.security-panel select{padding:9px;border:1px solid #cbb7bd;border-radius:8px;background:white}.security-panel label{font-size:12px;display:flex;align-items:center;gap:8px}.security-events{display:grid;gap:12px}.security-event{border:1px solid var(--line);border-radius:9px;padding:14px}.security-event header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.security-event time{color:var(--muted);font-size:12px}.security-event p{margin:8px 0 0;font-size:12px}.security-event details{margin-top:10px}.security-event summary{cursor:pointer;font-size:12px}.audit-change{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.audit-change strong{color:#a5121d}.security-error{padding:14px;background:#fff0f1;color:#9a1722;border:1px solid #e8b6bc;border-radius:8px}.danger-btn{color:#a5121d;border-color:#c51b27}.stat strong.security-owner{font-size:22px}@media(max-width:700px){.security-nav{width:100%;min-height:44px}.security-panel{padding:14px}.security-panel .section-head{align-items:flex-start}.security-panel select{font-size:16px;max-width:200px}}@media print{.security-nav{display:none!important}}
/* One Wednesday session and alternate trainer table. */
.rlz-week{max-width:800px}.rlz-week .week-label-col{width:120px}.rlz-week .week-table thead th strong{font-size:14px}.rlz-week .week-table textarea{font-size:14px}.view-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid #d8c2c8;border-radius:9px;background:white;margin:0 0 14px}.view-switch button{padding:9px 14px;border-radius:6px;background:transparent;color:#7d5d65;font-weight:600}.view-switch button.active{background:#c51b27;color:white}.master-table{min-width:950px}.master-table .select-col{width:48px}.master-table input[type=checkbox]{width:13px;height:13px;padding:0;accent-color:#c51b27}.master-table .tournament-text{max-width:330px;white-space:pre-wrap}.master-table td:nth-child(2){white-space:nowrap}.ic-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ic-actions select{padding:10px;border:1px solid #cbb7bd;border-radius:8px;background:white;color:var(--ink)}@media(max-width:700px){.rlz-week .week-label-col{width:88px}.rlz-week .week-table textarea,.rlz-week .week-table select{font-size:16px;padding:7px}.rlz-week .week-table th,.rlz-week .week-table td{padding:8px;font-size:12px}.rlz-week .week-player,.rlz-week .text-btn{font-size:12px;padding:6px 0}.view-switch{display:flex;width:100%}.view-switch button{flex:1;min-height:40px}.ic-actions{width:100%}.ic-actions select{font-size:16px;min-height:42px}}@media print{.rlz-week{max-width:none}.rlz-week .week-label-col{width:24mm}.rlz-week .week-table{font-size:11px}.rlz-week .week-table th,.rlz-week .week-table td{font-size:11px}}
.week-extra-player{background:#f2f0fa;border:1px solid #ddd7ee;color:#59436d}.week-extra-player small{font-size:9px;font-weight:400}.personal-ic-summary{margin-top:24px}.personal-ic-summary h2{margin-bottom:14px}.assignment-table{min-width:900px}.assignment-table td:first-child{white-space:nowrap}.assignment-table .tournament-text{max-width:320px;white-space:pre-wrap}@media(max-width:700px){.rlz-week .week-extra-player small{font-size:10px}}

.home-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 28px}.home-next>section{min-width:0}.home-next>section>h3{font-size:14px;color:#6b3840}.home-event{border:1px solid #e8dce0;border-radius:12px;background:#fff;padding:18px;overflow-wrap:anywhere}.home-event h3{margin:10px 0}.home-event p{font-size:14px;line-height:1.5}.home-agenda{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:16px 0 28px}.home-goal-text{white-space:pre-wrap}.save-status{display:block;margin-top:6px;font-weight:600;overflow-wrap:anywhere}.save-status.saved{color:#23643c}.save-status.saving,.save-status.pending{color:#765000}.save-status.error,.save-status.offline{color:#a41623}#delete-undo{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:1000;max-width:calc(100vw - 32px);width:max-content;display:flex;align-items:center;gap:18px;padding:14px 18px;border-radius:12px;background:#262327;color:white;box-shadow:0 8px 32px #0003}#delete-undo button{white-space:nowrap}#toast{bottom:110px}@media(max-width:800px){.home-next{grid-template-columns:1fr}.home-agenda{grid-template-columns:1fr}#delete-undo{font-size:13px;gap:10px;bottom:calc(16px + env(safe-area-inset-bottom))}}@media print{#delete-undo{display:none!important}}

/* Compact planning: one toolbar, quiet surfaces, accessible touch targets. */
.compact-planning .page-heading{margin:18px 0 14px;gap:12px}.compact-planning h1{font-size:28px;line-height:1.2}.compact-planning .page-heading .sub{font-size:13px;line-height:1.5;margin-top:6px;max-width:750px}.compact-planning .eyebrow{font-size:10px;letter-spacing:1px}.compact-planning .unified-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 10px;padding:10px 12px;background:white;border:1px solid var(--line);border-radius:10px}.unified-toolbar .planner-range{gap:10px}.unified-toolbar label{display:grid;gap:4px;font-size:11px;color:var(--muted)}.unified-toolbar input,.unified-toolbar select{padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}.unified-toolbar .view-switch{margin:0 0 0 auto}.unified-toolbar>.primary{margin-left:auto}.unified-toolbar>.badge{display:none}.unified-toolbar .planner-switch{margin-left:auto;align-items:center;flex-wrap:wrap}.compact-planning .selection-toolbar{border:0;background:transparent;padding:3px 0;margin-bottom:8px;gap:12px;font-size:12px}.selection-toolbar .danger:disabled{display:none}.planning-help{font-size:12px;color:var(--muted);margin:6px 0 12px}.planning-help summary{cursor:pointer;width:fit-content;padding:6px 0}.planning-help p{max-width:900px;font-size:12px;line-height:1.6}.compact-planning .month-panel>h3{background:#f6f7f8;padding:11px 14px;font-size:15px}.compact-planning .day-heading,.compact-planning .month-days .lane-name{background:#f6f7f8}.compact-planning .months{gap:16px}.compact-planning .week-table thead th,.compact-planning .tournament-table th{background:#f6f7f8}.compact-planning .week-table tbody th{background:#f8f9fa}.compact-planning .week-table .week-row-main textarea{min-height:96px}.compact-planning .week-table textarea{line-height:1.45}.compact-planning .week-table textarea:focus{min-height:110px}.compact-planning .week-variant-tabs{margin:10px 0;gap:10px;border:0;flex-wrap:wrap}.week-variant-tabs button{padding:8px 14px;border:1px solid var(--line);border-radius:7px;background:#fff}.week-variant-tabs button.active{background:#c51b27;color:white;border-color:#c51b27}.compact-planning .weekly-notes textarea{min-height:75px}.compact-planning #weekly-save-status{display:block;max-width:none;margin:0 0 6px;font-size:11px}.compact-actions{display:inline-block;vertical-align:middle;margin:0 4px}.compact-actions>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:23px;line-height:1;width:36px;min-height:36px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}.compact-actions>summary::-webkit-details-marker{display:none}.compact-actions-content{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}.compact-actions:not([open])>.compact-actions-content{display:none}.compact-actions[open]{display:inline-block}.compact-actions summary:focus-visible,.planning-help summary:focus-visible,.compact-note summary:focus-visible{outline:2px solid #c51b27;outline-offset:2px}.compact-note{white-space:normal;min-width:150px;max-width:330px}.compact-note summary{cursor:pointer;line-height:1.5;color:#66575d}.compact-note[open] summary{font-size:11px;margin-bottom:8px}.compact-note>div{white-space:pre-wrap;line-height:1.5}.compact-planning .dense-table td,.compact-planning .dense-table th,.compact-planning .tournament-table td,.compact-planning .tournament-table th{padding:10px 12px;line-height:1.45}.compact-planning .dense-table tbody th{background:#fff}.home-next{gap:12px;margin:12px 0 22px}.home-next>section{padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8f9fa}.home-next>section>h3{font-size:11px;margin:0 0 8px;color:var(--muted)}.home-next-link{display:grid;gap:6px;text-align:left;width:100%;padding:0;background:transparent;color:var(--ink)}.home-next-link strong{font-size:14px;overflow-wrap:anywhere}.home-next-link span{font-size:12px;color:#8d1621}.home-event{padding:13px 15px}.home-event h3{font-size:15px;margin:8px 0}.home-event p{margin:6px 0}.home-agenda{margin:12px 0 22px}
@media(min-width:801px){.compact-planning .master-table th:first-child,.compact-planning .master-table td:first-child{position:sticky;left:0;min-width:48px;width:48px;box-sizing:border-box;z-index:3;background:#fff}.compact-planning .master-table th:nth-child(2),.compact-planning .master-table td:nth-child(2){position:sticky;left:48px;min-width:115px;width:115px;box-sizing:border-box;z-index:2;background:#fff}.compact-planning .master-table th:nth-child(3),.compact-planning .master-table td:nth-child(3){position:sticky;left:163px;min-width:150px;z-index:2;background:#fff;box-shadow:3px 0 5px #00000008}.compact-planning .assignment-table th:first-child,.compact-planning .assignment-table td:first-child{position:sticky;left:0;min-width:115px;width:115px;box-sizing:border-box;z-index:2;background:#fff}.compact-planning .assignment-table th:nth-child(2),.compact-planning .assignment-table td:nth-child(2){position:sticky;left:115px;min-width:150px;z-index:2;background:#fff;box-shadow:3px 0 5px #00000008}}
@media(max-width:800px){.compact-planning h1{font-size:23px}.compact-planning .unified-toolbar{gap:8px;padding:10px}.unified-toolbar .view-switch{flex:1 0 100%;margin:0;order:3}.unified-toolbar>.primary{margin-left:auto}.unified-toolbar .planner-range{flex-wrap:wrap}.unified-toolbar .planner-switch{margin-left:0;flex-wrap:wrap}.compact-planning .unified-toolbar input,.compact-planning .unified-toolbar select{font-size:16px;min-height:42px;max-width:100%}.compact-actions>summary{min-width:44px;min-height:44px}.compact-actions-content button{min-height:44px}.compact-planning .selection-toolbar{gap:8px}.compact-planning .selection-toolbar button{min-height:40px}.home-next{grid-template-columns:1fr;gap:8px}.home-next>section{padding:10px 12px}.home-next-link{min-height:42px}.compact-planning .week-table textarea:focus{min-height:130px}}
@media print{.compact-actions,.planning-help,.unified-toolbar{display:none!important}.compact-note>div{display:block!important}.compact-planning table th,.compact-planning table td{position:static!important}}

.delete-confirm{width:calc(100% - 32px);max-width:420px;padding:24px;border:1px solid #e5dadd;border-radius:14px;box-shadow:0 20px 70px #0003}.delete-confirm::backdrop{background:rgba(28,20,24,.42)}.delete-confirm h2{font-size:20px;margin:0 0 12px}.delete-confirm p{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:#65575c;max-height:45dvh;overflow:auto}.delete-confirm footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.delete-confirm button{min-height:44px;padding:10px 18px}.delete-confirm button:focus-visible{outline:2px solid #c51b27;outline-offset:3px}

.week-table .week-names{line-height:1.65;margin-bottom:5px;overflow-wrap:anywhere}.week-table .week-names .week-player{display:inline;background:transparent;border:0;padding:0;margin:0;font-size:inherit;border-radius:0}.week-table .week-names .week-player+.week-player::before{content:", ";color:var(--muted)}.week-table .week-names .week-extra-player small{display:inline;font-size:.8em;white-space:nowrap}.week-table .week-names{font-size:11px}.rlz-week .week-table .week-names{font-size:13px}@media(max-width:700px){.seven-day-week .week-table .week-names{font-size:10px;line-height:1.6}.rlz-week .week-table .week-names{font-size:13px}}@media print{.print-week-grid .week-table .week-names{font-size:8px}.print-week-grid .week-names .week-player{display:inline}}

/* Compact chronological personal agendas */
.week-agenda{margin:14px 0 22px;border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden}.agenda-day{display:grid;grid-template-columns:150px minmax(0,1fr)}.agenda-day+.agenda-day{border-top:1px solid var(--line)}.agenda-day>h3{margin:0;padding:13px 16px;background:#f8f9fa;font-size:14px}.agenda-day>h3 span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}.agenda-row{display:grid;grid-template-columns:125px minmax(0,1fr) auto 12px;gap:12px;align-items:center;width:100%;text-align:left;background:#fff;color:var(--ink);padding:11px 14px;border-radius:0}.agenda-row+.agenda-row{border-top:1px solid #f0edf0}.agenda-row:hover{background:#fff5f5}.agenda-row:focus-visible{outline:2px solid #c51b27;outline-offset:-2px}.agenda-time{font-size:13px;font-weight:600}.agenda-description{min-width:0;overflow-wrap:anywhere}.agenda-description strong{font-size:14px}.agenda-description small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.agenda-kind{font-size:11px;color:#8d1621;background:#fff0f1;padding:4px 7px;border-radius:5px}.week-goals{margin:14px 0 24px;border:1px solid var(--line);border-radius:9px;padding:12px 15px;background:white}.week-goals summary{cursor:pointer;font-weight:600;font-size:14px}.agenda-goal{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.agenda-goal>strong{margin-right:12px}.agenda-goal p{margin:8px 0}.coach-home-week .section-head{margin-bottom:8px}.coach-home-week{margin-bottom:22px}@media(max-width:650px){.agenda-day{grid-template-columns:1fr}.agenda-day>h3{display:flex;justify-content:space-between;padding:9px 12px}.agenda-day>h3 span{margin:0}.agenda-row{grid-template-columns:92px minmax(0,1fr) 10px;gap:8px;padding:10px 12px}.agenda-kind{display:none}.agenda-time{font-size:12px}.coach-home-week .section-head{flex-wrap:wrap;gap:4px}}
