:root{--ink:#203c36;--muted:#71817a;--paper:#f5f5ef;--line:#e2e7df;--green:#235d48;--accent:#cf633e;--white:#fff;--yellow:#fff2c7;--purple:#ede5fa;--red:#fae5df;--gray:#eaecea}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #b96037;outline-offset:4px}button{font:inherit}button:disabled{opacity:1;cursor:default;color:inherit}.sidebar{width:222px;background:#183f34;color:#edf3eb;position:fixed;inset:0;padding:31px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 14px 36px}.brand svg{width:37px;height:37px}.brand strong{font:25px Georgia,serif;letter-spacing:-.7px}.brand small{display:block;color:#afc4b8;font-size:10px;letter-spacing:2px;text-transform:uppercase}.nav-label{font-size:10px;letter-spacing:2px;color:#9eb8aa;padding:10px 15px}.nav a{padding:12px 14px;display:flex;align-items:center;gap:12px;border-radius:7px;margin:3px 0;color:#c9d8d0;font-size:13px}.nav a.active{background:#31594a;color:white}.nav a:hover{background:#31594a}.icon{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sidebar-bottom{margin-top:auto;border-top:1px solid #426153;padding:21px 12px 0;font-size:12px;color:#bdcec4}.avatar{border-radius:50%;background:#e9eee4;color:#466650;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:11px;font-weight:700;flex:none}.profile{display:flex;align-items:center;gap:10px}.workspace{margin-left:222px}.topbar{height:75px;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:#fafbf6;font-size:12px}.topbar .crumb{color:var(--muted)}.topbar .right{display:flex;gap:20px;align-items:center}.demo{color:#6e795f;border:1px solid #d6ddcb;border-radius:4px;padding:4px 8px;font-size:10px;letter-spacing:.8px;text-transform:uppercase}main{max-width:1530px;margin:auto;padding:32px 36px 25px}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:2px;color:#879277;margin-bottom:8px}h1{font:36px/1.15 Georgia,'Times New Roman',serif;letter-spacing:-1px;margin:0 0 10px}h2{font:23px/1.25 Georgia,serif;margin:0}h3{font-size:14px;margin:0}p{margin:6px 0}.muted{color:var(--muted)}.small{font-size:12px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.actions{display:flex;align-items:center;gap:9px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;background:white;border:1px solid #dce2d8;border-radius:5px;font-size:12px;white-space:nowrap}.btn.primary,.btn.primary:disabled{background:var(--green);border-color:var(--green);color:white}.btn.soft{background:#e9eddf;border:0}.section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px}.text-link{font-size:12px;font-weight:700;color:var(--green)}.count{font-family:Arial;font-size:11px;background:#e4e9df;padding:3px 7px;border-radius:4px;margin-left:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr);gap:24px}.card{background:white;border:1px solid var(--line);border-radius:9px;padding:21px}.lesson{display:flex;gap:17px;align-items:flex-start;position:relative;border-top:3px solid #7b9e69}.lesson.purple{border-top-color:#9b7cb8}.datebox{background:#f0f3e9;border-radius:6px;padding:10px 14px;text-align:center;min-width:64px}.datebox strong{display:block;font:29px/1 Georgia,serif}.datebox small{font-size:10px;text-transform:uppercase;letter-spacing:1px}.lesson h3{font-size:17px;margin:3px 0}.lesson .badge{margin-top:12px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:700;white-space:nowrap;background:#e5efdf;color:#375d32}.badge:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%}.badge.purple{background:var(--purple);color:#715095}.badge.yellow{background:var(--yellow);color:#7c651d}.badge.red{background:var(--red);color:#ad4f38}.badge.gray{background:var(--gray);color:#68716b}.spacer{height:27px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.metric{padding:18px 20px;background:#e9eedf;border-radius:7px}.metric:nth-child(2){background:#efece3}.metric:nth-child(3){background:#ede8e2}.metric:nth-child(4){background:#e6ece5}.metric strong{font:31px Georgia,serif;display:block;margin:6px 0}.metric small{font-size:11px;color:#71806c}.metric-label{font-size:11px;text-transform:uppercase;letter-spacing:1px}.list-card{padding:0 21px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.row-main{display:flex;align-items:center;gap:13px}.signal{width:33px;height:33px;border-radius:7px;display:grid;place-items:center;background:#f4e6df;color:#b35c41;font-size:17px}.signal.purple{background:var(--purple);color:#775992}.signal.yellow{background:var(--yellow);color:#8e722a}.row-title{font-size:12px;font-weight:700}.row-sub{font-size:11px;color:var(--muted);margin-top:4px}.action-link{color:#345e48;font-weight:700;font-size:11px;white-space:nowrap}.footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:30px;padding-top:14px;font-size:10px;color:#829080}.note{padding:12px 16px;background:#eeeee3;border-radius:5px;font-size:12px;color:#667254}.toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tab{padding:8px 12px;border-radius:5px;font-size:12px;color:#6b7c71;border:1px solid transparent}.tab.active{color:var(--green);background:#e5ebde;border-color:#dce5d3;font-weight:700}.search{border:1px solid var(--line);border-radius:5px;padding:9px 13px;background:white;color:#8d988d;font-size:12px;min-width:225px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:white}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#f9faf5;color:#7c887d;text-transform:uppercase;font-size:9px;letter-spacing:1px;padding:13px 16px;white-space:nowrap}td{padding:16px;border-top:1px solid var(--line)}td .sub{display:block;font-size:10px;color:var(--muted);margin-top:3px}tr.selected{background:#f0f4e9}.person{display:flex;gap:10px;align-items:center}.progress{display:flex;gap:5px;margin:18px 0 8px}.progress i{height:5px;border-radius:4px;background:#e6ebdf;flex:1}.progress i.done{background:#4c7a57}.progress i.planned{background:#b4c8a2}.package h3{font-size:16px}.package .top{display:flex;align-items:center;justify-content:space-between}.package dl{margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.package dt,.detail-label{font-size:10px;color:#82907e}.package dd{margin:4px 0 0;font-size:12px}.package .next{background:#f6f7f1;padding:12px;border-radius:5px;margin-top:18px;font-size:12px;min-height:68px}.package .bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;margin-top:16px}.legend{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:#758170;margin:16px 0}.legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%;background:#c6b45e}.dot.purple{background:#a18ab6}.dot.green{background:#709369}.dot.red{background:#c77862}.dot.gray{background:#aeb6ab}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);background:white}.weekday{font-size:10px;letter-spacing:1px;text-align:center;padding:13px 0;background:#eef1e7;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-transform:uppercase}.day{min-height:117px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.day.out{background:#f4f5f0;color:#b2bbad}.day.open{background:#fafbf6}.day-num{font-size:11px;display:inline-grid;place-items:center;width:24px;height:24px;margin-bottom:5px}.day.today .day-num{background:#244f3a;color:white;border-radius:50%}.event{font-size:9px;line-height:1.45;padding:5px 6px;border-radius:3px;background:#e7efdf;border-left:2px solid #789667;margin:3px 0;display:block}.event strong{display:block;font-size:9px}.event.purple{background:#eee8f6;border-color:#9a7cb4}.event.yellow{background:#faf0cd;border-color:#c8ac4f}.event.red{background:#f6e4dd;border-color:#c4775c}.event.gray{background:#e9ece7;border-color:#a8b0a2}.event .state{font-size:8px;opacity:.8}.detail-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px}.info-pair{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.info-pair:last-child{border:0}.timeline{border-left:1px solid #ccd8c4;margin:20px 0 0 7px;padding-left:22px}.timeline p{position:relative;padding-bottom:22px;font-size:12px}.timeline p:before{content:'';position:absolute;left:-27px;top:6px;width:9px;height:9px;background:#8eaa7b;border:2px solid white;border-radius:50%}.empty{padding:45px 20px;text-align:center;background:#fbfcf8;border:1px dashed #d5dfcd;border-radius:8px}.empty .empty-mark{font:38px Georgia;color:#8fa081;margin-bottom:10px}.chart{height:205px;display:flex;align-items:flex-end;gap:20px;border-bottom:1px solid var(--line);padding:0 10px 25px;margin-top:20px}.bar-group{position:relative;flex:1;display:flex;align-items:flex-end;justify-content:center;gap:4px;height:100%}.bar{width:22px;background:#537758;border-radius:3px 3px 0 0}.bar.light{background:#cfdbc1}.bar-label{position:absolute;bottom:-20px;font-size:10px;color:#819078}.bar-value{font-size:9px;position:absolute;top:-20px;white-space:nowrap}.wide-stat{font:40px Georgia}.distribution{margin:18px 0}.distribution .track{background:#e9eee1;height:7px;border-radius:9px;margin-top:8px}.distribution .fill{height:7px;background:#638260;border-radius:9px}.gallery{max-width:1200px;margin:auto;padding:65px 38px}.gallery-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.gallery h1{font-size:52px}.gallery .card{padding:0;overflow:hidden}.gallery img{width:100%;display:block;border-bottom:1px solid var(--line)}.gallery .caption{padding:18px 20px}.gallery .caption h3{font:20px Georgia;margin:5px 0}.gallery .grid2{margin-bottom:30px}.gallery .grid3{margin-top:20px}.gallery .grid3 h3{font-size:17px}.gallery .gallery-number{color:#a1ad95;font-size:10px;letter-spacing:1px}.gallery .card:hover{border-color:#849a77}.print-sheet{background:white;color:#253a2e;max-width:1280px;margin:30px auto;padding:35px}.print-sheet h1{font-size:34px}.print-sheet .day{min-height:112px}.print-sheet .event{font-size:9px}.print-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.print-meta{text-align:right;font-size:11px}.comparison-label{background:#f0ebdf;border:1px solid #e1d8c7;border-radius:5px;padding:10px 15px;font-size:11px;margin-bottom:20px;color:#82735b}.availability{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.slot{padding:12px 8px;background:#f0f4e9;border-radius:5px;text-align:center;font-size:11px}.slot.off{background:#f0f0ec;color:#8b9187}.highlight{color:#a5573a}.mobile-only{display:none}@media(max-width:1100px){.sidebar{width:184px;padding:25px 12px}.brand{padding-left:8px;gap:9px}.brand strong{font-size:23px}.workspace{margin-left:184px}main{padding:28px 24px}.topbar{padding:0 24px}.grid3{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:16px}.card{padding:16px}.list-card{padding:0 16px}.day{padding:5px;min-height:125px}.event{padding:4px;font-size:8px}.event strong{font-size:8px}.detail-grid{grid-template-columns:230px minmax(0,1fr)}h1{font-size:31px}.actions{gap:6px}.btn{padding:9px 11px}.metric{padding:14px}.gallery .grid3{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:15px}.brand{padding:0 0 12px}.nav{display:flex;overflow:auto}.nav a{white-space:nowrap}.sidebar-bottom,.nav-label{display:none}.workspace{margin:0}.topbar{padding:0 18px;height:55px}.topbar .right .profile{display:none}main{padding:24px 18px}.heading{align-items:flex-start;flex-direction:column}.grid2,.grid3,.columns,.detail-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.toolbar{align-items:flex-start;flex-direction:column}.calendar{min-width:720px}.calendar-scroll{overflow:auto}.gallery{padding:30px 18px}.gallery .grid3{grid-template-columns:1fr}.gallery h1{font-size:37px}.gallery-header{display:block}.footer{gap:15px}.lesson{padding:17px}.search{min-width:0;width:100%}}@page{size:A4 landscape;margin:10mm}@media print{body{background:white}.print-controls{display:none!important}.print-sheet{margin:0;padding:0;max-width:none}.print-sheet h1{font-size:25px}.print-sheet .day{min-height:0;height:26mm;padding:4px}.print-sheet .event{padding:2px 4px;font-size:8px;margin:2px 0}.print-sheet .event strong{font-size:8px}.print-sheet .day-num{height:18px;margin:0}.print-sheet .weekday{padding:5px}.print-sheet .legend{margin:8px 0}.print-sheet .footer{margin-top:8px;padding-top:6px}.print-header{margin-bottom:10px}.event,.badge,.weekday{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* Calendar labels stay legible at desktop and tablet widths. */
.event,.event strong{font-size:11px}.event .state{font-size:9px}
@media (min-width:761px) and (max-width:1100px){.event,.event strong{font-size:10px}.event .state{font-size:9px}.brand small{letter-spacing:1.3px;font-size:9px}.nav a{font-size:12px;padding:12px 10px}}
@media print{.print-sheet .event,.print-sheet .event strong{font-size:8px}.print-sheet .event .state{font-size:7px}}
/* Dashboard B: agenda view instead of the card-list hierarchy used by A. */
.agenda-columns{grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr)}.agenda-card{padding:0 22px}.agenda-top{display:flex;justify-content:space-between;padding:17px 0;color:#8b9785;font-size:10px;letter-spacing:1.4px;border-bottom:1px solid var(--line)}.agenda-item{display:grid;grid-template-columns:52px 54px minmax(0,1fr) 9px;gap:13px;align-items:center;padding:14px 2px;border-bottom:1px solid var(--line)}.agenda-item:last-child{border-bottom:0}.agenda-item:hover{background:#f7f9f2}.agenda-date{text-align:center;border-radius:5px;background:#e9eee3;padding:6px 0}.agenda-date small{display:block;color:#70816e;font-size:9px;letter-spacing:1px}.agenda-date strong{display:block;font:25px Georgia,serif}.agenda-time{font-size:12px;font-weight:700;color:#54705f}.agenda-content strong{font-size:12px;display:block}.agenda-content small{font-size:11px;color:var(--muted);display:block;margin-top:3px}.agenda-mark{width:8px;height:8px;background:#729369;border-radius:50%}.agenda-mark.purple{background:#a189b7}.agenda-mark.gray{background:#aeb6ab}.mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.mini-metrics>div{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.mini-metrics strong{font:25px Georgia,serif;min-width:28px}.mini-metrics span{font-size:11px;color:var(--muted)}@media(max-width:1100px){.agenda-columns{grid-template-columns:1.4fr 1fr}.agenda-item{grid-template-columns:40px 43px minmax(0,1fr) 7px;gap:8px}.agenda-card{padding:0 14px}.agenda-content strong{font-size:11px}}@media(max-width:760px){.agenda-columns{grid-template-columns:1fr}}
/* Interactive prototype additions. */
body{font-size:14px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.btn:hover{filter:brightness(.97)}button:disabled{cursor:not-allowed;opacity:.6}.person small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.person{min-width:0}.person>span:last-child{min-width:0;overflow-wrap:anywhere}.nav-symbol{font-size:20px;width:22px;text-align:center}.wrap{flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:15px;background:white;padding:12px;z-index:20}.skip-link:focus{top:12px}main:focus{outline:none}input,select,textarea{font:inherit;color:var(--ink);border:1px solid #cdd8c8;background:white;border-radius:5px;padding:10px 12px;max-width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #7e9a6d;outline-offset:1px}input[type=checkbox]{accent-color:#235d48;width:17px;height:17px;vertical-align:middle}.search-field input{min-width:260px}.filter-select select{min-width:175px}.group-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.group-choice{text-align:left;color:var(--ink);font:inherit;display:flex;align-items:flex-start;flex-direction:column;gap:8px}.group-choice>strong{font:23px Georgia,serif}.group-choice.selected{border:2px solid #6d9060;background:#f0f5e9;padding:20px}.group-choice>span:not(.badge):not(.eyebrow){font-size:12px;color:var(--muted)}.lesson-stack{display:grid;gap:14px}.lesson-detail .actions{margin-top:14px}.lesson-detail .btn{font-size:11px;padding:8px 11px}.lesson-detail details{margin-top:16px;font-size:12px}.notice{border:1px solid #dabf7a;background:#fff4ce;border-radius:5px;padding:14px;margin-bottom:20px;font-size:13px}.print-options{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:18px;font-size:12px}.list-row:hover{background:#f6f8f2}.info-pair strong{overflow-wrap:anywhere;text-align:right}.metric{min-width:0}.chart{gap:12px}.table-wrap .btn{padding:8px 10px}.mini{font-size:11px}.card p{overflow-wrap:anywhere}dialog{border:1px solid var(--line);border-radius:12px;padding:0;width:min(760px,calc(100% - 30px));max-height:90vh;box-shadow:0 25px 100px #173c3455;color:var(--ink)}dialog::backdrop{background:#163a345e;backdrop-filter:blur(2px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fafbf6;z-index:2}.close{font-size:28px;border:0;background:transparent;color:var(--muted);padding:0 8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px;padding:25px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;min-width:0}.field>span{font-weight:700}.field input,.field select{width:100%}.span2{grid-column:1 / -1}.check-field{display:flex;align-items:center;gap:8px;align-self:center;font-size:12px}fieldset{border:1px solid var(--line);border-radius:6px;padding:15px}legend{padding:0 7px;font-size:12px}.checks{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.dialog-footer{padding:16px 25px;display:flex;justify-content:flex-end;gap:10px;background:#f6f7f0;border-top:1px solid var(--line);position:sticky;bottom:0}.form-error{margin:0 25px 20px;padding:13px;background:#fae5df;color:#933f2d;border-radius:5px;font-size:13px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);max-width:min(700px,90vw);padding:14px 20px;background:#234a3b;color:white;border-radius:7px;box-shadow:0 6px 25px #173c3433;z-index:30;opacity:0;pointer-events:none;transition:.18s}#toast.visible{opacity:1;transform:translate(-50%,0)}.sidebar-bottom a:hover{text-decoration:underline}.topbar .demo{font-size:10px}.stats-details{margin-top:20px}.event{overflow-wrap:anywhere}.table-wrap a:hover{text-decoration:underline}.calendar-page h1{text-transform:capitalize}.calendar-page .event{font-size:10px}.calendar-page .event strong{font-size:10px}.calendar-page .day{min-height:130px}.metric-label{font-size:10px}.metric strong{font-size:29px}.chart .bar{max-width:100%}.bar-group{min-width:0}.bar-label{font-size:9px}.bar-value{font-size:9px}.empty{grid-column:1 / -1}.gallery-link{font-size:12px}
@media(max-width:1100px){.heading{flex-wrap:wrap}.columns{grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr)}.search-field input{min-width:210px}.chart{gap:8px}.group-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.group-choice{padding:14px}.group-choice.selected{padding:13px}.group-choice>strong{font-size:20px}.metric-label{font-size:9px}.metric strong{font-size:26px}.calendar-page .toolbar{flex-wrap:wrap}.table-wrap td{padding:12px}.columns>*,.detail-grid>*{min-width:0}.mini-metrics{grid-template-columns:1fr}.group-choice .eyebrow{font-size:9px;letter-spacing:1px}}
@media(max-width:760px){.columns,.detail-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;padding:18px}.span2{grid-column:auto}.group-picker{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.topbar .right>span{display:none}.search-field,.search-field input{width:100%;min-width:0}.heading .actions{flex-wrap:wrap}.topbar .crumb{font-size:10px}.dialog-header{padding:16px 18px}.dialog-header h2{font-size:20px}.check-field{margin:5px 0}.footer{flex-direction:column}.calendar-page .calendar{min-width:740px}.print-options{flex-direction:column;gap:10px}.metric-label{font-size:10px}.chart{gap:8px}.group-choice{padding:18px}.nav{gap:3px}.nav a{font-size:12px}.sidebar .brand{display:none}.sidebar{padding:5px 10px}.nav-symbol{display:none}}
@page{size:A4 landscape;margin:9mm}
@media print{.sidebar,.topbar,.footer,.no-print,.heading .actions,.skip-link,#toast,dialog{display:none!important}.workspace{margin:0}main{padding:0;max-width:none}body{background:white;font-size:10px}.calendar-page h1{font-size:23px;margin:0}.calendar-page .heading{margin-bottom:8px}.calendar-page .heading .eyebrow{font-size:8px}.calendar-page .heading p{display:none}.calendar-scroll{overflow:visible}.calendar-page .calendar{min-width:0;break-inside:avoid}.calendar-page .weekday{padding:4px;font-size:8px}.calendar-page .day{min-height:0;height:calc(139mm / var(--weeks));padding:3px}.calendar-page .day-num{font-size:9px;width:18px;height:17px;margin:0}.calendar-page .event{padding:2px 3px;font-size:7px;margin:2px 0;line-height:1.25}.calendar-page .event strong{font-size:8px}.calendar-page .event .state{font-size:7px}.calendar-page .legend{font-size:8px;gap:12px;margin:8px 0}.calendar-page>p{font-size:8px}.event,.badge,.weekday{-webkit-print-color-adjust:exact;print-color-adjust:exact}.calendar-page .out{color:#909889}}
@media(max-width:760px){.toolbar>.actions{flex-wrap:wrap}.section-title{gap:12px;flex-wrap:wrap}}
.more-alerts{padding:14px 0;font-size:12px}.more-alerts summary{cursor:pointer;font-weight:700;color:var(--green)}
/* Identité du club, formulaire réduit et administration. */
.brand{flex-direction:column;align-items:flex-start;padding:0 10px 25px;gap:13px}.brand strong{font-size:22px;letter-spacing:-.4px}.brand small{font-size:12px;letter-spacing:3px;margin-top:5px}.club-logo{width:76px;height:76px;object-fit:contain;border-radius:50%;background:white}.settings-logo{width:145px;height:145px;object-fit:contain;display:block;margin:14px 0}.duration-note{font-size:13px;align-self:center;margin:0}.duration-note .muted{font-size:11px}.optional-fields{border-top:1px solid var(--line);padding-top:18px}.optional-fields summary{cursor:pointer;font-size:12px;color:var(--muted)}.optional-fields .form-grid{padding:18px 0 0}.login-page{max-width:480px;padding:10vh 20px;margin:auto}.login-page .card{padding:32px}.login-page h1{font-size:31px}.login-page form{display:grid;gap:18px;margin-top:25px}.login-page .form-error{margin:20px 0 0}.sidebar-bottom .profile small{overflow-wrap:anywhere}.sidebar-bottom .profile>span:last-child{min-width:0}.topbar .right{gap:12px}
@media(max-width:1100px){.brand strong{font-size:19px}.brand .club-logo{width:65px;height:65px}.topbar .right>span:last-child{display:none}}
/* Forfaits : cinq tuiles et deux accords indépendants. */
.package-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-bottom:20px;padding:18px}.package-summary>div{min-width:0}.package-summary .person{margin-bottom:12px}.lesson-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}.lesson-tile{padding:14px;min-width:0;display:flex;flex-direction:column;border:1px solid #d8dfd5}.lesson-tile h3{font-size:14px;margin:0 0 14px}.tile-date{display:flex;flex-direction:column;gap:6px;font-size:13px}.tile-meta{font-size:12px;line-height:1.6;margin:12px 0}.tile-status{font-size:11px;font-weight:700;margin:0 0 14px}.tile-confirmed{background:#d9efdf;border-color:#4c9564}.tile-performed{background:#eef1eb}.tile-plan{flex:1;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:0;background:white;color:var(--ink);font:inherit}.tile-plan>span{font-size:28px;color:#416c51}.tile-plan small{color:var(--muted)}.lesson-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto}.lesson-controls .neutral{grid-column:1/-1}.lesson-control{display:flex;flex-direction:column;gap:5px;padding:9px 4px;font-size:11px;min-width:0}.lesson-control small{font-size:10px}.lesson-control.waiting{background:#ffe49a;border-color:#c19a29;color:#594200}.lesson-control.teacher-waiting{background:#e4d8fa;border-color:#9571c4;color:#4f2d7b}.lesson-control.ready,.lesson-control.ready:disabled{background:#bfe5c9;border-color:#57966a;color:#19482c;opacity:1}.lesson-control.neutral{background:white;color:var(--ink)}.lesson-secondary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.lesson-secondary .btn{padding:5px;font-size:10px;background:transparent}.package-history summary{cursor:pointer;font-weight:600}.package-history .timeline{margin-top:18px}.tile-plan:focus-visible,.lesson-control:focus-visible{outline:3px solid #235d48;outline-offset:3px}
@media(max-width:1400px){.lesson-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.lesson-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.package-summary{grid-template-columns:1fr 1fr}.package-summary>div:first-child{grid-column:1/-1}}
@media(max-width:550px){.lesson-tiles,.package-summary{grid-template-columns:1fr}.tile-plan{min-height:130px}}
