:root{
  --pri:#0f4c3a; --pri-2:#14634b; --pri-soft:#e6f0ec;
  --gold:#b8893b; --gold-soft:#f6eedf;
  --bg:#f5f3ee; --card:#fff; --ink:#1d2925; --muted:#6b7772; --line:#e5e1d8;
  --r4:#1e7a52; --r3:#7bb35f; --r2:#e2a63b; --r1:#c8553d; --r0:#e9e6df;
  --radius:14px; --shadow:0 1px 2px rgba(20,40,30,.05),0 4px 16px rgba(20,40,30,.05);
  --font:"IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--pri)}
h1,h2,h3,h4{line-height:1.35;margin:0}
p{margin:0 0 .5em}
small{font-size:.82em}
.muted{color:var(--muted)}
.ic{width:18px;height:18px;flex:none}
.nowrap{white-space:nowrap}
.ta-r{text-align:right}
.mt{margin-top:18px}.mb{margin-bottom:16px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--pri);color:#fff;border:1px solid var(--pri);border-radius:10px;padding:10px 20px;font:600 15px var(--font);cursor:pointer;text-decoration:none;transition:background .15s,transform .1s;white-space:nowrap}
.btn:hover{background:var(--pri-2)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6;cursor:wait}
.btn.ghost{background:transparent;color:var(--pri);border-color:var(--line)}
.btn.ghost:hover{background:var(--pri-soft);border-color:var(--pri-soft)}
.btn.sm{padding:6px 12px;font-size:13.5px;border-radius:8px}
.btn.block{width:100%}
.btn.danger{background:var(--r1);border-color:var(--r1)}
.btn-light{background:#fff;color:var(--pri);border-color:#fff}
.btn-light:hover{background:var(--gold-soft)}
.link{color:var(--pri);font-weight:600;text-decoration:none}
.link-btn{background:none;border:0;color:var(--pri);font:600 14px var(--font);cursor:pointer;padding:0 6px}
.danger-t{color:var(--r1)!important}
.icon-btn{background:none;border:0;cursor:pointer;color:var(--ink);padding:6px;border-radius:8px}
.row-btns{display:flex;gap:8px;flex-wrap:wrap}

/* forms */
.form label,.lbl-group{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;margin-bottom:14px}
.form label small{font-weight:400;color:var(--muted)}
input:not([type=checkbox]):not([type=radio]),select,textarea{font:400 15px var(--font);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--pri);box-shadow:0 0 0 3px rgba(15,76,58,.12)}
input:disabled{background:#f2f0ea;color:var(--muted)}
textarea{resize:vertical;min-height:80px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.grid2 .span2{grid-column:1/-1}
.lbl-group .grid2{gap:10px;font-weight:400}
.form .check,.check{flex-direction:row;align-items:center;gap:8px;font-weight:500;margin:0;cursor:pointer}
.check input{width:17px;height:17px;accent-color:var(--pri)}
.checks{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.self-end{align-self:end;margin-bottom:24px!important}
fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 4px;margin:0 0 16px}
legend{font-weight:700;padding:0 6px;color:var(--pri)}
.hint{background:var(--gold-soft);border-radius:10px;padding:10px 14px;font-size:13.5px;margin:14px 0 0}

.alert{border-radius:12px;padding:12px 16px;margin-bottom:16px;font-weight:500}
.alert-ok{background:#e5f3ec;color:#14563b}
.alert-err{background:#fbe9e5;color:#8f2f1d}
.alert-warn{background:var(--gold-soft);color:#7a5419}
.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 10px;border-radius:99px;vertical-align:middle}
.b-ok{background:#e1f2e9;color:#16603f}.b-off{background:#efece6;color:#7a7a72}.b-gold{background:var(--gold-soft);color:#83591b}
.tag{display:inline-block;background:var(--pri-soft);color:var(--pri);font-size:12px;padding:1px 8px;border-radius:6px;margin:2px}

/* rating colours */
.s4{background:var(--r4)}.s3{background:var(--r3)}.s2{background:var(--r2)}.s1{background:var(--r1)}.s0{background:var(--r0);color:var(--muted)!important}
.g4-t{color:var(--r4)!important}.g3-t{color:#4f8b35!important}.g2-t{color:#b67a12!important}.g1-t{color:var(--r1)!important}.g0-t{color:var(--muted)!important}

/* ================= PUBLIC ================= */
.public{background:var(--bg)}
.wrap{max-width:820px;margin:0 auto;padding:0 18px}
.hero{position:relative;background:linear-gradient(160deg,#0b3a2c 0%,var(--pri) 55%,#195f49 100%);color:#fff;padding:64px 0 96px;overflow:hidden;text-align:center}
.hero-pattern{position:absolute;inset:0;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.2'%3E%3Cpath d='M40 4l10 26 26 10-26 10-10 26-10-26L4 40l26-10z'/%3E%3Ccircle cx='40' cy='40' r='12'/%3E%3C/g%3E%3C/svg%3E");background-size:80px}
.hero-in{position:relative}
.eyebrow{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:4px 14px;border-radius:99px;font-size:13.5px;color:#f3e3c3;margin-bottom:16px}
.hero h1{font-size:clamp(28px,5vw,42px);font-weight:700;margin-bottom:8px}
.hero-date{color:#d9e7e1;font-size:16px;margin-bottom:22px}
.hero-trainers{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:28px}
.hero-trainers .lbl{color:#f3e3c3;font-size:13.5px;margin-left:4px}
.chip{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:4px 14px;font-size:14px}
.form-wrap{margin-top:-56px;position:relative;padding-bottom:40px}
.intro{background:var(--card);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow);margin-bottom:16px;border-right:4px solid var(--gold)}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:18px}
.progress{height:6px;background:#e3dfd5;border-radius:99px;overflow:hidden;display:none}
.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--gold),#d3a959);border-radius:99px;transition:width .35s}
.progress-lbl{display:none;font-size:13.5px;color:var(--muted);margin:8px 2px 14px}
.js .progress,.js .progress-lbl{display:block}
.js .form-wrap .progress{background:rgba(255,255,255,.35)}
.form-wrap .progress-lbl{color:rgba(255,255,255,.85)}
.form-wrap .intro~.progress-lbl,.form-wrap .alert~.progress-lbl{color:var(--muted)}
.js .step{display:none}
.js .step.active{display:block;animation:fade .3s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.step-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.step-no{flex:none;background:var(--gold-soft);color:#83591b;font-weight:700;font-size:13px;padding:6px 12px;border-radius:10px}
.step-head h2{font-size:20px;color:var(--pri)}
.step-head p{color:var(--muted);margin:2px 0 0;font-size:14px}
.q{padding:14px 0;border-bottom:1px dashed var(--line);transition:background .2s}
.q:last-of-type{border-bottom:0}
.q-text{font-weight:600;margin-bottom:10px;display:flex;gap:10px;align-items:baseline}
.q-num{flex:none;width:24px;height:24px;border-radius:50%;background:var(--pri-soft);color:var(--pri);font-size:12.5px;display:inline-flex;align-items:center;justify-content:center}
.q.missing{background:#fdf1ee;border-radius:10px;padding-inline:10px}
.q.missing .q-text{color:#a33a24}
.opts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.opt{position:relative;cursor:pointer}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:block;text-align:center;border:1.5px solid var(--line);border-radius:10px;padding:9px 4px;font-weight:600;font-size:14px;color:#4a5550;background:#fff;transition:all .15s}
.opt:hover span{border-color:#c9c3b6}
.opt input:focus-visible+span{box-shadow:0 0 0 3px rgba(15,76,58,.2)}
.o4 input:checked+span{background:var(--r4);border-color:var(--r4);color:#fff}
.o3 input:checked+span{background:var(--r3);border-color:var(--r3);color:#fff}
.o2 input:checked+span{background:var(--r2);border-color:var(--r2);color:#fff}
.o1 input:checked+span{background:var(--r1);border-color:var(--r1);color:#fff}
.opt input:disabled+span{opacity:.45;cursor:not-allowed}
.skip{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);background:#f4f2ec;padding:6px 12px;border-radius:8px;cursor:pointer;margin-bottom:6px}
.skip input{accent-color:var(--pri)}
.step.skipped .q-list{opacity:.4}
.step-nav{display:flex;justify-content:space-between;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0}
.eval-form{position:relative}
.thanks{text-align:center;padding:44px 24px}
.thanks-ic{width:64px;height:64px;border-radius:50%;background:var(--r4);color:#fff;font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.thanks-ic.muted{background:var(--muted)}
.thanks h2{color:var(--pri);margin-bottom:8px}
.pub-foot{text-align:center;color:var(--muted);font-size:13px;padding:10px 0 30px}
.pub-foot a,.foot a,.auth-credit a,.rep-foot a{color:var(--gold);font-weight:600;text-decoration:none}
.center-msg{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center}

/* ================= AUTH ================= */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 20% 0%,#16624b 0,var(--pri) 40%,#0a3326 100%)}
.auth-box{background:#fff;border-radius:18px;padding:32px;width:100%;max-width:400px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.auth-box.wide{max-width:640px}
.auth-head{text-align:center;margin-bottom:22px}
.auth-head h1{font-size:22px;color:var(--pri);margin:10px 0 4px}
.auth-head p{color:var(--muted);font-size:14px}
.auth-credit{text-align:center;font-size:12.5px;color:var(--muted);margin:18px 0 0}
.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center}
.brand-mark.big{width:54px;height:54px;border-radius:14px;margin:0 auto}
.brand-mark.big .ic{width:28px;height:28px}

/* ================= ADMIN ================= */
.admin{display:flex;min-height:100vh}
.side{width:250px;flex:none;background:#0d3d2f;color:#d6e4de;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30}
.brand{display:flex;gap:10px;align-items:center;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand strong{display:block;color:#fff;font-size:15.5px}
.brand small{color:#9fbab0}
.side nav{padding:12px 10px;flex:1;overflow:auto}
.side nav a{display:flex;align-items:center;gap:10px;color:#c9dbd4;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:14.5px;margin-bottom:2px}
.side nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.side nav a.on{background:rgba(184,137,59,.18);color:#fff;box-shadow:inset -3px 0 0 var(--gold)}
.side-foot{padding:14px;border-top:1px solid rgba(255,255,255,.08)}
.me{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.me strong{display:block;color:#fff;font-size:14px}
.me small{color:#9fbab0}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.logout{display:flex;align-items:center;gap:8px;color:#e9b8ab;text-decoration:none;font-size:14px;padding:6px 4px}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:14px;padding:16px 28px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top h1{font-size:19px;flex:1}
.menu-btn{display:none}
.switcher{display:flex;align-items:center;gap:8px}
.switcher label{font-size:13px;color:var(--muted)}
.switcher select{width:auto;max-width:300px;padding:7px 10px;font-size:14px}
.content{padding:26px 28px;flex:1}
.foot{padding:16px 28px;font-size:13px;color:var(--muted);text-align:center}
.overlay{display:none}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.page-head h2{font-size:21px;color:var(--pri)}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.card-head h3{font-size:17px}
.sub{font-size:15px;margin:26px 0 12px;color:var(--pri)}
.empty{text-align:center;padding:40px 20px}
.empty h2{font-size:18px;margin-bottom:8px}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;display:flex;flex-direction:column;border-top:3px solid var(--pri)}
.kpi:nth-child(2){border-top-color:var(--gold)}.kpi:nth-child(3){border-top-color:var(--r3)}.kpi:nth-child(4){border-top-color:#5b7f9b}
.kpi small{color:var(--muted);font-size:13px}
.kpi strong{font-size:30px;font-weight:700;line-height:1.3;color:var(--ink)}
.kpi strong.kpi-name{font-size:19px;padding:6px 0}
.kpi span{font-size:13px;color:var(--muted)}

.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:5px}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.overview{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center}
.overview-ring,.rep-ring{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.overview-ring b,.rep-ring b{font-size:17px}
.items{display:flex;flex-direction:column;gap:16px}
.item-top{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;margin-bottom:6px}
.item-top b{font-size:15px}
.stack{display:flex;height:24px;border-radius:7px;overflow:hidden;background:var(--r0)}
.stack span{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11.5px;font-weight:600;min-width:0;white-space:nowrap}

.ring{--sz:84px;width:var(--sz);height:var(--sz);border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--rc) calc(var(--p)*1%),#ece8df 0)}
.ring span{width:calc(var(--sz) - 16px);height:calc(var(--sz) - 16px);background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}
.ring-lg{--sz:150px}.ring-lg span{font-size:28px;width:calc(var(--sz) - 24px);height:calc(var(--sz) - 24px)}
.ring.g4{--rc:var(--r4)}.ring.g3{--rc:var(--r3)}.ring.g2{--rc:var(--r2)}.ring.g1{--rc:var(--r1)}.ring.g0{--rc:#ccc}

.trainer-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.tcard{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s;background:#fff}
a.tcard:hover{border-color:var(--pri);box-shadow:var(--shadow)}
.tcard strong{display:block;font-size:15px}
.tcard small{color:var(--muted)}
.tcard .ring{--sz:66px}.tcard .ring span{font-size:14px;width:52px;height:52px}

.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{background:#f7f5f0;font-weight:600;text-align:right;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap;color:#46524d}
.table td{padding:10px 12px;border-bottom:1px solid #f0ede6;vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tbody tr:hover td{background:#fbfaf7}
.table .total td{font-weight:700;background:#f7f5f0}
.table.compact td,.table.compact th{padding:8px 10px}
.table .w1{width:1%}
.matrix td:not(:first-child),.matrix th:not(:first-child){text-align:center}
.cell{display:inline-block;min-width:58px;text-align:center;padding:2px 8px;border-radius:7px;font-weight:600;font-size:13px}
.cell.g4{background:#dff0e6;color:#165c3d}.cell.g3{background:#ebf4e0;color:#3f6f28}.cell.g2{background:#fbefd8;color:#8d5d0b}.cell.g1{background:#f8e1db;color:#932f1b}.cell.g0{background:#f1efe9;color:var(--muted)}
.table-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:10px;flex-wrap:wrap}
.pager{display:flex;gap:4px;flex-wrap:wrap}
.pager a{min-width:34px;text-align:center;padding:5px 8px;border-radius:8px;border:1px solid var(--line);text-decoration:none;font-size:14px}
.pager a.on{background:var(--pri);color:#fff;border-color:var(--pri)}

.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;background:var(--card);padding:6px;border-radius:12px;box-shadow:var(--shadow)}
.tabs a{padding:8px 14px;border-radius:9px;text-decoration:none;color:#4a5550;font-weight:600;font-size:14px}
.tabs a small{background:#efece5;border-radius:99px;padding:0 8px;margin-right:4px;font-weight:500}
.tabs a.on{background:var(--pri);color:#fff}
.tabs a.on small{background:rgba(255,255,255,.2)}
.trainer-hero{display:flex;gap:26px;align-items:center}
.trainer-hero h2{font-size:23px;color:var(--pri);margin-bottom:4px}
.hl{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-size:14px}
.hl span{padding:6px 12px;border-radius:8px}
.hl-good{background:#e5f3ec;color:#14563b}.hl-low{background:#fbf0de;color:#7a5419}

.search{max-width:260px;padding:8px 12px!important;font-size:14px!important}
.comments{display:flex;flex-direction:column;gap:12px}
.comment{border:1px solid var(--line);border-radius:12px;padding:14px 16px;border-right:3px solid var(--gold)}
.comment p,.comment ol{margin:0 0 8px}
.comment ol{padding-right:20px}
.comment footer{display:flex;gap:16px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.comment footer a{margin-right:auto;font-weight:600;text-decoration:none}
.freq{display:flex;flex-direction:column;gap:8px}
.freq-row{display:grid;grid-template-columns:minmax(120px,240px) 1fr 30px;gap:12px;align-items:center;font-size:14px}
.freq-bar{background:#efece5;border-radius:6px;height:10px;overflow:hidden}
.freq-bar i{display:block;height:100%;background:var(--gold);border-radius:6px}

.grid-2col{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:0 18px}
.dl{display:grid;grid-template-columns:150px 1fr;gap:10px 18px;margin:0}
.dl dt{font-weight:600;color:var(--muted)}
.dl dd{margin:0}
.dl ol{margin:0;padding-right:18px}

.export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.export{text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;border:1px solid transparent}
.export:hover{transform:translateY(-2px);border-color:var(--pri-soft);box-shadow:0 10px 30px rgba(20,40,30,.08)}
.export h3{font-size:17px;margin:12px 0 6px;color:var(--pri)}
.export p{color:var(--muted);font-size:14px}
.ex-ic{display:inline-flex;width:48px;height:48px;border-radius:12px;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff}
.ex-ic.xl{background:#1d7044}.ex-ic.pdf{background:#b5402c}.ex-ic.csv{background:#5b7f9b}

.survey-list{display:flex;flex-direction:column}
.survey-item{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}
.si-main{flex:1;min-width:280px}
.si-main h3{font-size:17px;margin-bottom:4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.linkbox{display:flex;gap:6px;align-items:center;margin-top:10px;flex-wrap:wrap}
.linkbox code{background:#f4f2ec;padding:6px 10px;border-radius:8px;font-size:13px;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.si-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:170px}
.si-actions form{display:flex}
.si-actions form .btn{flex:1}
.danger-zone summary{cursor:pointer;color:var(--r1);font-size:13.5px;font-weight:600;padding:4px 0;text-align:center}
.danger-zone form{flex-direction:column;gap:6px;background:#fdf3f0;padding:10px;border-radius:10px;margin-top:6px;font-size:13px}
.danger-zone p{margin:0}
.inline{display:inline}

.edit-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.edit-row{display:flex;gap:8px;align-items:center}
.edit-row .sort{width:68px!important;flex:none;text-align:center}
.edit-row .del{flex-direction:row!important;align-items:center;gap:4px!important;margin:0!important;color:var(--r1);font-weight:500!important;white-space:nowrap}
.sticky-save{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding:18px 0 8px;display:flex;gap:10px;justify-content:flex-end}
.narrow{max-width:560px}
.pw{display:flex;gap:6px}
.super-check{background:var(--gold-soft);padding:12px 14px;border-radius:10px;margin-bottom:16px!important}
.perm-box.disabled{opacity:.4;pointer-events:none}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.radio-row{display:flex;gap:22px;flex-wrap:wrap}
.pick{display:none;flex-wrap:wrap;gap:12px 22px;margin-top:12px;padding:14px;border:1px dashed var(--line);border-radius:10px}
.pick.open{display:flex}
.pick-group{display:flex;flex-direction:column;gap:8px;min-width:200px}
.pick-group small{color:var(--muted);font-weight:600}

/* ================= REPORT ================= */
.report{background:#e9e6df}
.print-bar{position:sticky;top:0;text-align:center;padding:12px;background:rgba(233,230,223,.9);z-index:5}
.sheet{max-width:900px;margin:0 auto 40px;background:#fff;padding:40px 44px;box-shadow:var(--shadow)}
.rep-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:3px solid var(--pri);padding-bottom:18px;margin-bottom:24px}
.rep-head small{color:var(--gold);font-weight:600}
.rep-head h1{font-size:26px;color:var(--pri)}
.rep-head p{color:var(--muted);margin:0}
.rep-meta{text-align:center;background:var(--pri-soft);border-radius:12px;padding:10px 18px;display:flex;flex-direction:column}
.rep-meta b{font-size:28px;color:var(--pri);line-height:1.2}
.rep-meta small{color:var(--muted);margin-top:4px}
.rep-sec{margin-bottom:28px}
.rep-sec h2{font-size:19px;color:var(--pri);margin-bottom:14px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.rep-sec h3{font-size:16px;margin:14px 0 8px}
.rep-flex{display:flex;gap:28px;align-items:center;margin-bottom:16px}
.grow{flex:1}
.rep-list{margin:0 0 10px;padding-right:20px;font-size:14px}
.rep-list li{margin-bottom:4px}
.rep-foot{text-align:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:30px}

@media print{
  @page{size:A4;margin:12mm}
  .no-print{display:none!important}
  body.report{background:#fff}
  .sheet{box-shadow:none;padding:0;margin:0;max-width:none}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .page-break-avoid,.table tr{break-inside:avoid}
  .table-wrap{overflow:visible}
}

/* ================= RESPONSIVE ================= */
@media (max-width:900px){
  .side{position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .25s;box-shadow:-10px 0 40px rgba(0,0,0,.2)}
  .menu-open .side{transform:none}
  .menu-open .overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:25}
  .menu-btn{display:inline-flex}
  .top{padding:12px 16px;flex-wrap:wrap}
  .switcher{width:100%}
  .switcher select{max-width:none;flex:1}
  .content{padding:18px 14px}
  .overview{grid-template-columns:1fr}
  .trainer-hero{flex-direction:column;text-align:center}
}
@media (max-width:600px){
  .grid2{grid-template-columns:1fr}
  .opts{grid-template-columns:repeat(2,1fr)}
  .card{padding:18px 16px}
  .hero{padding:44px 0 84px}
  .step-head{flex-direction:column;gap:8px}
  .dl{grid-template-columns:1fr}
  .sheet{padding:20px}
  .rep-flex,.rep-head{flex-direction:column}
  .freq-row{grid-template-columns:1fr 60px 24px}
  .edit-row{flex-wrap:wrap}
}
