:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#172b3b;background:#f3f6fa}*{box-sizing:border-box}body{margin:0}header{background:#102f48;color:white;padding:1rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}header strong{font-size:1.25rem}nav{display:flex;gap:.8rem;flex-wrap:wrap}a{color:#08649b}header a{color:white}main{max-width:980px;margin:auto;padding:1rem}h1{font-size:1.65rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}article{background:white;border:1px solid #e1e7ee;border-radius:12px;padding:1rem;margin:0 0 .8rem;box-shadow:0 1px 3px #00000009}label{display:block;margin:.6rem 0;font-weight:600}input,select{display:block;width:100%;max-width:450px;padding:.65rem;border:1px solid #b8c8d5;border-radius:7px;font:inherit;margin:.3rem 0}button,.button{display:inline-block;background:#07649b;color:white;border:0;border-radius:8px;padding:.65rem .85rem;text-decoration:none;cursor:pointer;font:inherit;margin:.25rem .25rem .25rem 0}.quiet{background:#526a7a}.inline{display:inline-flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin:.3rem}.inline select{width:auto}.check{display:flex;gap:.5rem;align-items:center}.check input{width:auto}.success{background:#d6f3e5;padding:.8rem}.error{background:#f9d9dc;padding:.8rem}.note{background:#eff7ff;padding:.5rem}progress{width:100%;height:20px}video{max-width:100%;max-height:240px}small{color:#607485}article span{float:right}

.bulk-result{border:2px solid #22815d;border-radius:12px;padding:16px;margin:16px 0;background:#eefaf2}.bulk-result strong{font-size:1.2rem}.bulk-result li{margin:6px 0}

/* v0.6: stock and parent progress readability */
.stock-table-wrap{overflow-x:auto;margin:1rem 0}.stock-table{width:100%;border-collapse:collapse;min-width:660px;background:#fff}.stock-table th,.stock-table td{padding:.7rem .85rem;border-bottom:1px solid #dfe7ed;text-align:left;vertical-align:middle}.stock-table th{background:#eaf1f7;white-space:nowrap}.stock-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.stock-table td input{width:5.5rem;max-width:100%;margin:0 0 0 auto;text-align:right}.stock-level{background:#fff;border:1px solid #dbe4ec;border-radius:10px;margin:.6rem 0;padding:.7rem}.stock-level summary{cursor:pointer;font-weight:700;padding:.3rem}.stock-item{border:2px solid;border-radius:10px;padding:1rem;margin:.8rem 0}.stock-item h3{margin:.1rem 0 .7rem}.stock-item-badge{border-color:#9fc5e9;background:#eff7ff}.stock-item-certificate{border-color:#e2c68d;background:#fff9e9}.stock-item .inline{margin:.3rem .6rem .3rem 0}.stock-item .inline input{max-width:190px}.parent-progress{margin:.55rem 0;padding:.65rem;border-left:3px solid #377da8;background:#f0f7fc;display:grid;gap:.4rem}

/* v0.7 navigation: fewer choices, clear related destinations */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem;margin:1rem 0}
.hub-link{display:flex;flex-direction:column;gap:.45rem;padding:1.1rem;background:white;border:1px solid #d5e2eb;border-radius:12px;text-decoration:none;color:#153b55;min-height:100px}
.hub-link:hover,.hub-link:focus-visible{border-color:#07649b;outline:2px solid transparent;background:#f0f8ff}
.hub-link strong{font-size:1.08rem}.hub-link small{font-size:.9rem;line-height:1.4}
header nav a{padding:.3rem .4rem}header nav a:focus-visible{outline:2px solid white;outline-offset:3px}
/* Stage 3: large, clear, mobile-friendly coach session controls */
.session-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0;position:sticky;top:0;background:#f3f6fa;padding:.65rem 0;z-index:2}
.session-tabs a{background:#fff;border:2px solid #b6cbd9;border-radius:10px;padding:.8rem .9rem;font-weight:700;text-decoration:none;color:#153b55}
.session-tabs a:focus-visible,.session-tabs a:hover{border-color:#07649b;background:#e9f5ff}
.session-kid{display:flex;flex-direction:column;gap:.3rem}
.compact-label{font-size:.9rem;margin:.2rem 0}.compact-label select{margin:.25rem 0}
#whole-class,#my-group,#other-groups{scroll-margin-top:5rem}
@media(max-width:600px){.session-tabs a{flex:1;text-align:center;min-width:100px}.session-kid form.inline{display:flex;align-items:end}.session-kid .compact-label{flex:1}.session-kid button{min-height:44px}}
/* Stage 4: minimal coach roster; responsive drag and tap assignment */
.coach-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,2fr);gap:1rem;align-items:start}.coach-layout h2{font-size:1.2rem}.coach-unassigned,.coach-cards{min-width:0}.coach-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.7rem}.coach-card{border:2px solid #b7d0e0}.coach-card.coach-drop-ready{background:#e0f5ea;border-color:#168353}.coach-open{display:flex;flex-direction:column;gap:.5rem;padding:.2rem;color:#123b55;text-decoration:none;min-height:54px}.coach-open strong{font-size:1.1rem}.coach-open span{color:#3c687e;font-size:.92rem}.coach-card details{border-top:1px solid #e1e7ee;margin-top:.6rem;padding-top:.5rem}.coach-card summary{cursor:pointer;padding:.35rem}.coach-gymnast{border:1px solid #d8e4ec;border-radius:9px;padding:.65rem;background:#fff;margin:.4rem 0;cursor:grab}.coach-gymnast:active{cursor:grabbing}.coach-compact{padding:.5rem}.coach-assign-form{display:flex;align-items:end;gap:.35rem;flex-wrap:wrap}.coach-assign-form label{flex:1;min-width:130px;font-size:.85rem;margin:.2rem 0}.coach-assign-form select{font-size:.95rem;margin:.15rem 0}.coach-assign-form button{min-height:44px}.coach-empty{color:#48667a}.coach-help{max-width:60ch}
@media(max-width:700px){.coach-layout{grid-template-columns:1fr}.coach-card-grid{grid-template-columns:1fr 1fr}.coach-assign-form{align-items:end}}
@media(max-width:460px){.coach-card-grid{grid-template-columns:1fr}}

.coach-unassigned.coach-drop-ready{background:#e0f5ea;outline:2px dashed #168353;outline-offset:-4px;border-radius:9px}
