/* Coach Book screens: notebooks, athletes, profile, session form, today's class */

.back-row{display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); margin-bottom:var(--sp-4); flex-wrap:wrap;}
.c-actions{display:flex; gap:var(--sp-2); flex-wrap:wrap; align-items:center;}
.c-empty{text-align:center; padding:3rem 1.5rem; color:var(--text-muted); display:flex; flex-direction:column; align-items:center; gap:var(--sp-3);}
.c-empty .ic{font-size:2.4rem; opacity:.8;}
.c-empty h3{color:var(--text); font-size:1.05rem;}
.field-err{color:var(--danger); font-size:.78rem; margin-top:.25rem;}
.is-invalid{border-color:var(--danger) !important;}

/* 1. notebooks */
.nb-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:var(--sp-4);}
.nb-card{display:flex; flex-direction:column; gap:.35rem; padding:var(--sp-5); color:var(--text); text-decoration:none; min-height:120px; justify-content:center;}
.nb-card strong{font-size:1.1rem; font-weight:600;}
.nb-card span{font-size:.82rem; color:var(--text-muted);}
.nb-wrap{position:relative;}
.nb-wrap .nb-tools{position:absolute; top:.5rem; left:.5rem; display:flex; gap:.1rem; z-index:2;}
.nb-add{border:1.5px dashed var(--border-strong); background:transparent; box-shadow:none; align-items:center; text-align:center; cursor:pointer; font-family:inherit;}

/* 2. athletes list */
.c-toolbar{display:flex; gap:var(--sp-3); flex-wrap:wrap; margin-bottom:var(--sp-3);}
.c-toolbar input[type="search"],.c-toolbar input[type="text"]{flex:1; min-width:200px;}
.time-filter{display:flex; gap:var(--sp-3); align-items:end; flex-wrap:wrap; margin-bottom:var(--sp-4);}
.time-filter .field{margin:0;}
.time-filter input{width:130px;}
.grp-title{margin:var(--sp-5) 0 var(--sp-2); font-size:.9rem; font-weight:600; color:var(--text-muted); display:flex; align-items:center; gap:var(--sp-3);}
.grp-title::after{content:""; flex:1; height:1px; background:var(--border);}
.ath-list{display:flex; flex-direction:column; gap:var(--sp-2);}
.ath-row{display:flex; align-items:center; gap:var(--sp-3); padding:.8rem var(--sp-4); color:var(--text); text-decoration:none; cursor:pointer;}
.ath-row .info{flex:1; min-width:0;}
.ath-row .info strong{display:block; font-weight:600; font-size:.95rem;}
.ath-row .info span{font-size:.8rem; color:var(--text-muted);}
.avatar-c{width:40px; height:40px; border-radius:50%; background:var(--accent-soft); color:var(--accent); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.avatar-c svg{width:20px; height:20px;}

/* calendar shortcut */
.cal{max-width:420px;}
.cal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--sp-3);}
.cal-head strong{font-weight:600;}
.cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center;}
.cal-grid .wd{font-size:.75rem; color:var(--text-muted); padding:.3rem 0;}
.cal-day{aspect-ratio:1; min-height:36px; border:none; background:transparent; color:var(--text); border-radius:50%; cursor:pointer; font-family:inherit; font-size:.88rem; transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease);}
.cal-day:hover{background:var(--accent-soft); transform:translateY(-2px);}
.cal-day.today{outline:1.5px solid var(--accent); outline-offset:-1.5px; font-weight:700;}
.cal-day.empty{visibility:hidden;}

/* 3. profile */
.f-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 var(--sp-4);}
.f-grid .full{grid-column:1 / -1;}
@media (max-width:640px){.f-grid{grid-template-columns:1fr;}}
.pills{display:flex; gap:var(--sp-2); flex-wrap:wrap;}
.pill{border:1px solid var(--border-strong); background:transparent; color:var(--text); border-radius:999px; padding:.4rem .95rem; font-family:inherit; font-size:.85rem; cursor:pointer; transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease);}
.pill:hover{transform:translateY(-2px);}
.pill[aria-checked="true"],.pill[aria-pressed="true"]{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.posture{direction:ltr; text-align:left;}
.posture h2{text-align:center;}
.posture-cols{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-5);}
@media (max-width:760px){.posture-cols{grid-template-columns:1fr;}}
.ptable{width:100%; border-collapse:collapse; font-size:.85rem;}
.ptable th{font-weight:600; text-align:left; padding:.5rem .4rem; border-bottom:1px solid var(--border-strong);}
.ptable td{padding:.45rem .4rem; border-bottom:1px solid var(--border);}
.ptable tbody tr{transition:background-color var(--dur) var(--ease);}
.ptable tbody tr:hover{background:var(--surface-3);}
.ptable th:nth-child(n+2),.ptable td:nth-child(n+2){width:56px; text-align:center;}
.ptable input[type="checkbox"]{width:18px; height:18px; accent-color:var(--accent);}
.ptable select{width:62px; padding:.2rem .25rem; font-size:.8rem;}
.month-chips{display:flex; gap:var(--sp-2); flex-wrap:wrap; align-items:center; margin-bottom:var(--sp-4);}
.month-chip{min-width:44px; height:44px; border-radius:50%; border:1px solid var(--border-strong); background:transparent; color:var(--text); font-family:inherit; font-size:.95rem; cursor:pointer; transition:transform var(--dur) var(--ease);}
.month-chip:hover{transform:translateY(-2px);}
.month-chip[aria-pressed="true"]{background:var(--accent); color:var(--accent-ink); border-color:var(--accent);}
.sess-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:var(--sp-3);}
.sess-btn{padding:.7rem .5rem; border-radius:var(--radius); border:1px solid var(--border); background:var(--surface-2); color:var(--text); font-family:inherit; cursor:pointer; text-align:center; display:flex; flex-direction:column; gap:.15rem;}
.sess-btn strong{font-weight:600; font-size:.92rem;}
.sess-btn small{font-size:.72rem; color:var(--text-muted);}
.sess-btn.filled{border-color:var(--accent);}

/* 4/5. session form */
.sess-title{display:grid; grid-template-columns:140px 1fr; gap:var(--sp-4); align-items:end;}
@media (max-width:520px){.sess-title{grid-template-columns:1fr;}}
.scale-row{margin-bottom:var(--sp-4);}
.scale-row > label,.q-label{display:block; font-size:.85rem; color:var(--text-muted); margin-bottom:.4rem; font-weight:500;}
.scale{display:flex; gap:6px; flex-wrap:wrap;}
.scale button{width:36px; height:36px; border-radius:50%; border:1px solid var(--border-strong); background:transparent; color:var(--text); font-family:inherit; font-size:.88rem; cursor:pointer; transition:transform var(--dur) var(--ease);}
.scale button:hover{transform:translateY(-2px);}
.scale button[aria-checked="true"]{background:rgba(43,58,103,.78); border-color:transparent; color:#fff;}
:root[data-theme="dark"] .scale button[aria-checked="true"]{background:var(--accent); color:var(--accent-ink);}
.q-block{margin-bottom:var(--sp-4);}
.cond{margin-top:var(--sp-3); padding:var(--sp-3) var(--sp-4); border-radius:var(--radius); background:var(--surface-3);}
.cond[hidden]{display:none;}
.cond-sub{margin-top:var(--sp-4); padding-top:var(--sp-3); border-top:1px solid var(--border);}
.hint-box{padding:.6rem .9rem; border-radius:var(--radius-sm); background:var(--surface-3); color:var(--text-muted); font-size:.78rem; margin-bottom:var(--sp-3);}
.set-block{border:1px solid var(--border); border-radius:var(--radius); padding:var(--sp-3) var(--sp-4); margin-bottom:var(--sp-3);}
.set-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--sp-2); font-weight:600; font-size:.9rem;}
.set-row{display:grid; grid-template-columns:24px 2fr 1fr 1fr 1fr 32px; gap:var(--sp-2); align-items:center; margin-bottom:var(--sp-2);}
.set-row .n{color:var(--text-muted); font-size:.85rem; text-align:center;}
.set-cols{display:grid; grid-template-columns:24px 2fr 1fr 1fr 1fr 32px; gap:var(--sp-2); font-size:.72rem; color:var(--text-muted); margin-bottom:.2rem;}
.set-row input,.set-cols span{min-width:0;}
.set-row input{padding:.45rem .5rem; font-size:.85rem;}
@media (max-width:560px){
  .set-row,.set-cols{grid-template-columns:20px 1.6fr 1fr 1fr 1fr 28px; gap:4px;}
  .set-row input{padding:.4rem .3rem; font-size:.78rem;}
}
.sticky-actions{display:flex; gap:var(--sp-3); flex-wrap:wrap; margin-top:var(--sp-5);}

/* 6. today's class */
.class-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:var(--sp-4);}
.cc{padding:var(--sp-4); display:flex; flex-direction:column; gap:var(--sp-3);}
.cc-head{display:flex; align-items:center; gap:var(--sp-3); padding:.6rem .8rem; border-radius:var(--radius); background:var(--surface-3);}
.cc-head .who{flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.3;}
.cc-head .who small{font-size:.7rem; color:var(--text-muted);}
.cc-head .who a{color:var(--text); font-weight:600; text-decoration:none; font-size:1rem;}
.cc-head .who a:hover{text-decoration:underline;}
.cc-head .dumb{color:var(--text-muted); display:flex;}
.cc-head .dumb svg{width:22px; height:22px;}
.ctable{width:100%; border-collapse:collapse; font-size:.88rem;}
.ctable th{font-weight:500; color:var(--text-muted); font-size:.8rem; padding:.4rem .3rem; text-align:right; border-bottom:1px solid var(--border);}
.ctable td{padding:.25rem .3rem; border-bottom:1px solid var(--border);}
.ctable th:nth-child(2),.ctable th:nth-child(3),.ctable td:nth-child(2),.ctable td:nth-child(3){text-align:center; width:62px;}
.ctable td:nth-child(4){width:28px;}
.ctable input{border:1px solid transparent; background:transparent; padding:.3rem .2rem; text-align:center; font-size:.88rem; width:100%;}
.ctable td:first-child .nm{display:block; padding:.3rem .2rem; font-size:.88rem;}
.ctable input:hover{border-color:var(--border);}
.ctable input:focus{background:var(--input-bg); border-color:var(--accent);}
.ctable .empty-row td{color:var(--text-faint); text-align:center; padding:var(--sp-4) .3rem; font-size:.82rem;}
.cc-add{display:flex; justify-content:center;}
.quick-note{border:1px solid var(--border-strong); border-radius:var(--radius); padding:.6rem .8rem;}
.quick-note label{display:flex; align-items:center; gap:.35rem; font-weight:600; font-size:.85rem; margin-bottom:.3rem;}
.quick-note label svg{width:16px; height:16px;}
.quick-note textarea{border:none; background:transparent; min-height:64px; padding:0; resize:vertical; font-size:.82rem;}
.cc-foot{display:flex; justify-content:flex-end;}
.fab{position:fixed; left:1.4rem; bottom:1.6rem; z-index:40; width:56px; height:56px; border-radius:50%; box-shadow:0 10px 26px rgba(43,58,103,.3);}
.fab svg{width:24px; height:24px;}
@media (max-width:880px){.fab{bottom:calc(var(--bottomnav-h) + 1rem);}}
.date-nav{display:flex; align-items:center; gap:var(--sp-2);}
.date-nav .cur{font-weight:600; min-width:150px; text-align:center;}
.chk-list{display:flex; flex-direction:column; gap:.4rem; margin-bottom:var(--sp-3);}
.chk-list label{display:flex; align-items:center; gap:.5rem; font-size:.9rem;}
.chk-list input{width:auto;}

/* list/grid children manage their own spacing */
.ath-list > .c-card,.class-grid > .c-card,.nb-grid > .c-card{margin-top:0;}
