/* Orca Seat4U — Devis ORS & SVOT | style.css */


:root{
  /* Palette Orthoconcept */
  --bg:#f2f5f2;           /* Fond page : vert tres pale */
  --surface:#ffffff;      /* Fond cartes/tableaux : blanc */
  --ink:#1c1c1c;          /* Texte principal : anthracite */
  --ink2:#5a5a5a;         /* Texte secondaire : gris */
  --ink3:#9a9a9a;         /* Texte tertiaire : gris clair */
  --border:#d6e4db;       /* Bordures : vert-gris clair */
  --tag:#e8f2ec;          /* Fonds etiquettes : vert pale */

  /* Couleurs principales Orthoconcept */
  --ors:#2d4a3e;          /* ORS : vert fonce (header) */
  --ors2:#3d6654;         /* ORS hover */
  --svot:#4a7c59;         /* SVOT : vert sauge */
  --svot2:#6ba58a;        /* SVOT accent clair */

  /* Couleurs utilitaires */
  --green:#2d7a4f;        /* Totaux/positif */
  --orange:#c05a1a;       /* Negatif/alerte */
  --gold:#8a6a1a;         /* Badge frequence */
  --purple:#4a3d7a;       /* GMFCS */
  --teal:#2a6b5a;         /* Guide MDR */

  --r:8px;--tap:48px;
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-t:env(safe-area-inset-top,0px);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{height:100%;overscroll-behavior:none}
body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;min-height:100vh;-webkit-text-size-adjust:100%}

/* HEADER */
header{background:var(--ink);color:#f4f1eb;border-bottom:3px solid var(--svot);position:sticky;top:0;z-index:100}
.hd{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;gap:10px;min-height:54px;padding-top:calc(10px + var(--safe-t))}
.hd-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.hd-logo{height:30px;width:auto;flex-shrink:0;filter:invert(1) brightness(2)}
.hd-sep{width:1px;height:26px;background:rgba(255,255,255,.18);flex-shrink:0}
.hd-title{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-title .r{color:var(--ors2)}.hd-title .b{color:#5dade2}
.hd-right{display:flex;gap:4px;flex-shrink:0}
.badge{font-size:9px;font-weight:700;padding:3px 7px;letter-spacing:.06em;text-transform:uppercase;border-radius:3px}
.badge-ors{background:var(--ors);color:#fff}
.badge-svot{background:var(--svot);color:#fff}

/* TABS */
.tabs{display:flex;background:#111;border-bottom:2px solid #252525;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{padding:11px 14px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;color:#666;border-right:1px solid #222;border-bottom:3px solid transparent;white-space:nowrap;flex-shrink:0;user-select:none;min-height:var(--tap);display:flex;align-items:center;gap:5px;transition:color .15s}
.tab:active{opacity:.8}
.tab.t-ors{color:#fff;border-bottom-color:var(--svot2)}
.tab.t-svot{color:#fff;border-bottom-color:var(--svot)}
.tab.t-gmfcs{color:#fff;border-bottom-color:#8e44ad}
.tab.t-guide{color:#fff;border-bottom-color:var(--teal)}
.tab-devis{margin-left:auto}
.tcnt{background:#555;color:#fff;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:700;min-width:18px;text-align:center;transition:background .2s}

/* WRAP */
.wrap{max-width:1400px;margin:0 auto;padding:12px 14px;padding-bottom:calc(80px + var(--safe-b))}

/* SEARCH */
.sbox{position:relative;margin-bottom:9px}
.sbox input{width:100%;padding:12px 44px 12px 14px;font-size:16px;border:2px solid var(--border);background:var(--surface);color:var(--ink);border-radius:var(--r);outline:none;-webkit-appearance:none;min-height:var(--tap);font-family:inherit}
.sbox input:focus{border-color:var(--ors)}
.s-ico{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:17px;pointer-events:none;opacity:.4}
.s-clr{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:var(--ink2);color:#fff;border:none;border-radius:50%;width:26px;height:26px;font-size:13px;cursor:pointer;display:none;align-items:center;justify-content:center;font-weight:700}
.sbox input:not(:placeholder-shown)+.s-ico{display:none}
.sbox input:not(:placeholder-shown)~.s-clr{display:flex}
.frow{display:flex;gap:7px;margin-bottom:9px}
.frow select{flex:1;min-height:var(--tap);padding:8px 30px 8px 10px;font-size:14px;border:1.5px solid var(--border);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 9px center;color:var(--ink);border-radius:var(--r);outline:none;-webkit-appearance:none;font-family:inherit}

/* CHIPS */
.chips{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:9px;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chip{flex-shrink:0;padding:7px 13px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface);color:var(--ink2);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;min-height:36px;display:flex;align-items:center;transition:all .12s}
.chip:active{transform:scale(.94)}
.chip.on-ors{background:var(--ors);border-color:var(--ors);color:#fff}
.chip.on-svot{background:var(--svot);border-color:var(--svot);color:#fff}

/* TOOLBAR */
.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;gap:8px;flex-wrap:wrap}
.ptoggle{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}
.ptoggle label{display:flex;align-items:center;gap:5px;cursor:pointer;font-weight:400;padding:4px 0}
.ptoggle input[type=radio]{accent-color:var(--ors);width:16px;height:16px}
.stats{font-size:12px;color:var(--ink2);background:var(--tag);padding:6px 10px;border-left:3px solid var(--ors);border-radius:0 4px 4px 0}
.stats strong{color:var(--ink)}.stats.sv{border-left-color:var(--svot2)}

/* TABLE */
.tbl-wrap{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden}
table{width:100%;border-collapse:collapse}
thead tr{background:var(--ink);color:#f4f1eb}
thead th{padding:10px 11px;text-align:left;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;user-select:none;white-space:nowrap}
thead th:hover{background:#2c2c2c}
.si{opacity:.3;font-size:9px;margin-left:2px}.sorted .si{opacity:1;color:#f39c12}
tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background .07s}
tbody tr:active{background:#ece8e0}
tbody tr.inq{background:#edf7ed}
td{padding:10px 11px;font-size:14px;vertical-align:middle}
td.code{font-weight:700;font-size:11px;white-space:nowrap}
td.code.oc{color:var(--ors)}td.code.sc{color:var(--svot2)}
td.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
td.chp{font-size:11px;color:var(--ink2);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
td.price{text-align:right;white-space:nowrap;font-weight:700}
td.price.hp{color:var(--green)}td.price.np{color:var(--ink3);font-style:italic;font-size:11px;font-weight:400}td.price.neg{color:var(--orange)}
.add-btn{border:2px solid var(--green);background:transparent;color:var(--green);width:38px;height:38px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0;transition:all .12s}
.add-btn:active{transform:scale(.86)}.add-btn.added{background:var(--green);color:#fff}
@media(max-width:639px){
  thead th.sm{display:none}
  td.chp,td.sm{display:none}
  td.name{max-width:calc(100vw - 210px)}
  td{padding:10px 9px}
}
.dtr{display:none}.dtr.open{display:table-row}
.dtr td{background:#fffdf9;padding:12px 14px;font-size:13px;border-bottom:1px solid var(--border)}
.dg{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;line-height:1.7}
.dk{font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink2)}
@media(max-width:639px){.dtr.open{display:block}.dtr td{display:block}}

/* FREQ BADGE */
.freq-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--gold);color:#fff;font-size:9px;font-weight:700;margin-left:3px;vertical-align:middle}

/* QUICK ITEMS */
.quick-section{margin-bottom:10px}
.qt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink2);margin-bottom:6px}
.qlist{display:flex;flex-direction:column;gap:4px}
.qi{display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);padding:8px 11px;cursor:pointer}
.qi:active{background:var(--tag)}
.qi.qi-o{border-left:3px solid var(--ors)}.qi.qi-s{border-left:3px solid var(--svot2)}
.qi-code{font-size:10px;font-weight:700;color:var(--ink2)}
.qi-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qi-price{font-size:12px;font-weight:700;color:var(--green);flex-shrink:0}
.qi-add{border:1.5px solid var(--green);background:transparent;color:var(--green);width:32px;height:32px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:5px;flex-shrink:0}
.qi-add:active{transform:scale(.88)}.qi-add.added{background:var(--green);color:#fff}

/* PAGINATION */
.pag{display:flex;align-items:center;gap:5px;margin-top:12px;justify-content:center;flex-wrap:wrap}
.pg{background:var(--surface);border:1.5px solid var(--border);color:var(--ink);padding:8px 13px;font-size:13px;font-weight:600;cursor:pointer;border-radius:var(--r);min-height:42px;min-width:42px;font-family:inherit}
.pg:active,.pg.on{background:var(--ors);color:#fff;border-color:var(--ors)}
.pg.sv:active,.pg.sv.on{background:var(--svot);border-color:var(--svot)}
.pg:disabled{opacity:.3;cursor:default;background:var(--surface);color:var(--ink)}

/* GMFCS PAGE */
.gmfcs-page{display:none}
.page-title{font-size:18px;font-weight:800;margin-bottom:4px}
.page-sub{font-size:13px;color:var(--ink2);margin-bottom:16px}
.level-grid{display:flex;flex-direction:column;gap:10px}
.level-card{background:var(--surface);border:2px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;transition:box-shadow .15s}
.level-card:active{box-shadow:0 2px 12px rgba(0,0,0,.15)}
.level-card.expanded{border-color:var(--purple)}
.lc-header{display:flex;align-items:center;gap:12px;padding:14px 16px}
.lc-num{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;flex-shrink:0}
.lc-1{background:#27ae60}.lc-2{background:#2980b9}.lc-3{background:#f39c12}.lc-4{background:#e67e22}.lc-5{background:#c0392b}
.lc-info{flex:1;min-width:0}
.lc-title{font-size:14px;font-weight:700}
.lc-desc{font-size:12px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lc-arrow{font-size:18px;color:var(--ink3);transition:transform .2s;flex-shrink:0}
.level-card.expanded .lc-arrow{transform:rotate(90deg)}
.lc-body{display:none;padding:0 16px 16px}
.level-card.expanded .lc-body{display:block}
.sim-scenario{background:var(--tag);border-radius:var(--r);padding:12px 14px;margin-bottom:10px}
.sim-title{font-size:13px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.sim-items{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.sim-item{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:4px 0;border-bottom:1px solid var(--border)}
.sim-item:last-child{border-bottom:none}
.sim-code{font-weight:700;color:var(--ors);font-size:11px;flex-shrink:0;margin-right:6px}
.sim-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2)}
.sim-price{font-weight:700;color:var(--green);white-space:nowrap;flex-shrink:0}
.sim-total{display:flex;justify-content:space-between;font-weight:800;font-size:14px;padding-top:8px;border-top:2px solid var(--border);margin-top:4px}
.sim-total .amt{color:var(--green)}
.add-sim-btn{width:100%;min-height:var(--tap);font-size:13px;margin-top:8px}
.sim-note{font-size:11px;color:var(--ink3);margin-top:6px;line-height:1.6;font-style:italic}

/* GUIDE PAGE */
.guide-page{display:none}
.guide-section{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden}
.guide-section-hd{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;background:var(--tag);border-bottom:1px solid var(--border)}
.guide-section-hd:active{background:var(--border)}
.guide-ico{font-size:22px;flex-shrink:0}
.guide-section-title{font-size:14px;font-weight:700;flex:1}
.guide-arrow{font-size:16px;color:var(--ink3);transition:transform .2s}
.guide-section.open .guide-arrow{transform:rotate(90deg)}
.guide-body{display:none;padding:14px 16px}
.guide-section.open .guide-body{display:block}
.guide-rule{margin-bottom:12px}
.guide-rule-title{font-size:13px;font-weight:700;margin-bottom:5px;display:flex;align-items:center;gap:6px}
.guide-rule p,.guide-rule li{font-size:13px;color:var(--ink2);line-height:1.7;margin-bottom:4px}
.guide-rule ul,.guide-rule ol{padding-left:20px}
.tag-ok{display:inline-block;background:#d5f5e3;color:#1e8449;border-radius:4px;padding:1px 7px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px}
.tag-no{display:inline-block;background:#fadbd8;color:#c0392b;border-radius:4px;padding:1px 7px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px}
.tag-info{display:inline-block;background:#d6eaf8;color:#1a5276;border-radius:4px;padding:1px 7px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px}
.tag-warn{display:inline-block;background:#fef9e7;color:#b7950b;border-radius:4px;padding:1px 7px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;border:1px solid #f0c040}
.guide-box{background:#f8f6f0;border-left:4px solid var(--ink2);padding:10px 13px;border-radius:0 6px 6px 0;margin:8px 0;font-size:13px;color:var(--ink2);line-height:1.7}
.guide-box.ok{border-left-color:var(--green);background:#eafaf1}
.guide-box.no{border-left-color:var(--ors);background:#fdedec}
.guide-box.info{border-left-color:var(--svot2);background:#ebf5fb}
.guide-box.warn{border-left-color:var(--gold);background:#fef9e7}

/* DEVIS PANEL */
.dpo{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:299;display:none;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.dpo.open{display:block}
.dp{position:fixed;right:0;top:0;width:min(100vw,460px);height:100vh;height:100dvh;background:var(--surface);border-left:2px solid var(--ink);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:300;box-shadow:-4px 0 32px rgba(0,0,0,.2)}
.dp.open{transform:translateX(0)}
.dp-hd{background:var(--ink);color:#f4f1eb;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ors);flex-shrink:0;min-height:54px}
.dp-hl{display:flex;align-items:center;gap:9px}
.dp-logo{height:22px;width:auto;filter:invert(1) brightness(2)}
.dp-hd h2{font-size:14px;font-weight:700}
.dp-x{background:none;border:none;color:#f4f1eb;font-size:24px;cursor:pointer;min-width:var(--tap);min-height:var(--tap);display:flex;align-items:center;justify-content:center;border-radius:50%}
.dp-x:active{background:rgba(255,255,255,.12)}
.dp-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}
.dp-tab{flex:1;padding:10px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;color:var(--ink2);background:var(--tag);border:none;border-right:1px solid var(--border);min-height:44px;display:flex;align-items:center;justify-content:center;font-family:inherit}
.dp-tab:last-child{border-right:none}
.dp-tab.dpa-ors{background:var(--surface);color:var(--ors);border-bottom:2px solid var(--ors)}
.dp-tab.dpa-svot{background:var(--surface);color:var(--svot);border-bottom:2px solid var(--svot)}
.dp-meta{padding:10px 13px;background:var(--tag);border-bottom:1px solid var(--border);flex-shrink:0}
.dp-meta label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--ink2);letter-spacing:.06em;margin-bottom:3px}
.dp-meta input{background:var(--surface);border:1.5px solid var(--border);padding:8px 10px;font-size:15px;width:100%;border-radius:5px;min-height:42px;font-family:inherit;outline:none}
.dp-meta input:focus{border-color:var(--ors)}
.dp-mr{margin-bottom:7px}.dp-mr:last-child{margin-bottom:0}
.dp-items{flex:1;overflow-y:auto;padding:7px;-webkit-overflow-scrolling:touch}
.dp-item{border:1px solid var(--border);margin-bottom:6px;padding:9px 11px;display:grid;grid-template-columns:1fr 52px auto auto;gap:7px;align-items:center;background:#fafafa;border-radius:var(--r)}
.dp-item.ors-i{border-left:3px solid var(--ors2)}.dp-item.svot-i{border-left:3px solid var(--svot2)}
.dpi-info{overflow:hidden;min-width:0}
.dpi-code{font-size:10px;font-weight:700}
.dpi-code.oc{color:var(--ors)}.dpi-code.sc{color:var(--svot2)}
.dpi-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dpi-unit{font-size:10px;color:var(--ink3)}
.qty{width:100%;border:1.5px solid var(--border);padding:5px 4px;font-size:15px;text-align:center;background:#fff;border-radius:4px;min-height:38px;font-family:inherit;outline:none}
.qty:focus{border-color:var(--ors)}
.dpi-price{font-size:12px;font-weight:700;color:var(--green);text-align:right;white-space:nowrap}
.dpi-price.np{color:var(--ink3);font-style:italic;font-size:10px}
.rm{background:none;border:none;color:#bbb;cursor:pointer;font-size:20px;min-width:38px;min-height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.rm:active{background:#fee;color:var(--ors)}
.dp-foot{padding:11px 13px;padding-bottom:calc(11px + var(--safe-b));border-top:2px solid var(--ink);background:var(--tag);flex-shrink:0}
.tot{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px;line-height:1.6}
.tot.grand{font-size:19px;font-weight:700;padding-top:8px;border-top:2px solid var(--border);margin-top:6px}
.tot.grand .amt{color:var(--green)}
.dp-acts{display:flex;gap:5px;margin-top:9px;flex-wrap:wrap}
.dp-acts .btn{flex:1;min-width:0;font-size:11px;min-height:var(--tap)}
.dp-acts2{display:flex;gap:5px;margin-top:5px}
.dp-acts2 .btn{flex:1;min-height:var(--tap);font-size:11px}

/* BUTTONS */
.btn{border:none;padding:9px 12px;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.03em;cursor:pointer;text-transform:uppercase;transition:all .12s;border-radius:var(--r);display:inline-flex;align-items:center;justify-content:center;gap:4px}
.btn:active{filter:brightness(.84);transform:scale(.96)}
.btn-clr{background:transparent;border:1.5px solid var(--border);color:var(--ink2)}
.btn-dark{background:var(--ink);color:#f4f1eb}
.btn-ors{background:var(--ors);color:#fff}
.btn-svot{background:var(--svot);color:#fff}
.btn-navy{background:#2c3e50;color:#fff}
.btn-save{background:var(--green);color:#fff}
.btn-purple{background:var(--purple);color:#fff}

/* EMPTY */
.empty{text-align:center;padding:44px 20px;color:var(--ink2)}
.empty .ico{font-size:44px;margin-bottom:10px}

/* MODAL */
.mover{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:500;display:none;align-items:flex-end;justify-content:center}
.mover.open{display:flex}
@media(min-width:600px){.mover{align-items:center;padding:20px}}
.modal{background:var(--surface);width:100%;max-width:600px;max-height:92dvh;display:flex;flex-direction:column;border-radius:16px 16px 0 0;overflow:hidden;box-shadow:0 -8px 40px rgba(0,0,0,.3)}
@media(min-width:600px){.modal{border-radius:10px;max-height:88vh}}
.mhandle{width:40px;height:4px;background:#ddd;border-radius:2px;margin:10px auto 0;flex-shrink:0}
.mhd{background:var(--ink);color:#f4f1eb;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.mhd h3{font-size:15px;font-weight:700}
.mx{background:none;border:none;color:#f4f1eb;font-size:22px;cursor:pointer;min-width:var(--tap);min-height:var(--tap);display:flex;align-items:center;justify-content:center;border-radius:50%}
.mbody{padding:15px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}
.fg{margin-bottom:13px}
.fg label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin-bottom:4px}
.fg input,.fg textarea,.fg select{background:#f9f7f3;border:1.5px solid var(--border);color:var(--ink);padding:10px 12px;font-family:inherit;font-size:15px;outline:none;width:100%;border-radius:var(--r);min-height:44px}
.fg input:focus,.fg textarea:focus{border-color:var(--svot2)}
.fg textarea{resize:vertical;min-height:75px;font-size:14px;line-height:1.5}
.msect{border:1.5px solid var(--border);padding:11px;margin-bottom:11px;border-radius:var(--r);position:relative}
.msect-t{position:absolute;top:-9px;left:9px;background:var(--surface);padding:0 5px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.msect-t.ot{color:var(--ors)}.msect-t.st{color:var(--svot)}
.prev{background:#f8f6f0;border:1px solid var(--border);padding:9px 11px;font-size:11px;line-height:1.7;max-height:95px;overflow-y:auto;border-radius:4px;font-family:'Courier New',monospace;white-space:pre}
.mfoot{padding:12px 15px;padding-bottom:calc(12px + var(--safe-b));border-top:1.5px solid var(--border);background:var(--tag);display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}
.mfoot .btn{flex:1;min-height:var(--tap);font-size:11px}
.tip{font-size:11px;color:var(--ink3);margin-top:5px;line-height:1.6}
.tip strong{color:var(--ink2)}
.mcnt{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;border-radius:9px;padding:0 4px;font-size:10px;font-weight:700;margin-left:3px}
.mcnt-o{background:var(--ors);color:#fff}.mcnt-s{background:var(--svot);color:#fff}
.cbtn{background:transparent;border:1.5px solid var(--border);color:var(--ink2);padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;border-radius:4px;margin-top:7px;width:100%;min-height:42px}
.cbtn:active{background:var(--tag)}.cbtn.copied{background:var(--green);color:#fff;border-color:var(--green)}

/* SAVE */
.saved-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.svi{display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);padding:9px 12px;cursor:pointer}
.svi:active{background:var(--tag)}
.svi-info{flex:1;min-width:0}
.svi-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svi-meta{font-size:11px;color:var(--ink2)}
.svi-del{background:none;border:none;color:#ccc;font-size:18px;cursor:pointer;padding:4px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.svi-del:active{background:#fee;color:var(--ors)}

/* TOAST */
#_t{position:fixed;bottom:calc(88px + var(--safe-b));left:50%;transform:translateX(-50%);background:var(--ink);color:#f4f1eb;padding:10px 20px;font-size:13px;z-index:600;box-shadow:0 4px 20px rgba(0,0,0,.35);max-width:90vw;text-align:center;border-radius:24px;display:none;line-height:1.5;pointer-events:none}

mark{background:#fff3b0;padding:0 1px;border-radius:2px}

/* ═══ WEB / DESKTOP EXTRAS ═══════════════════════════════ */
/* Wider layout on large screens */
@media(min-width:1100px){
  .wrap{padding:16px 32px}
  .dp{width:460px}
  td.name{max-width:380px}
}
@media(min-width:1400px){
  body{font-size:15px}
  .wrap{padding:20px 40px}
}

/* Scrollbar styling — desktop */
@media(min-width:768px){
  ::-webkit-scrollbar{width:7px;height:7px}
  ::-webkit-scrollbar-track{background:var(--bg)}
  ::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
  ::-webkit-scrollbar-thumb:hover{background:var(--ink2)}
}

/* Table hover — desktop only (not touch) */
@media(hover:hover){
  tbody tr:hover{background:#faf8f3}
  tbody tr.inq:hover{background:#dff5e3}
  .add-btn:hover{background:var(--green);color:#fff}
  .chip:hover{background:var(--tag);border-color:var(--ink2)}
  .tab:hover{color:#ccc}
  .btn-save:hover{background:#1a6e3c}
  .btn-ors:hover{background:#a53226}
  .btn-svot:hover{background:#154360}
}

/* Focus visible for keyboard nav */
:focus-visible{outline:2px solid var(--svot2);outline-offset:2px}
button:focus-visible{outline:2px solid var(--svot2)}

/* Print improvements */
@media print{
  header,.tabs,.pag,.dp,.dpo,#_t,.dp-acts,.dp-acts2,#quickSection{display:none!important}
  .wrap{padding:0;max-width:100%}
}

/* GMFCS SUB-TABS */
.gmfcs-subtabs{display:flex;margin-bottom:14px;border:2px solid var(--border);border-radius:var(--r);overflow:hidden}
.gst{flex:1;padding:13px 10px;font-size:13px;font-weight:700;cursor:pointer;border:none;background:var(--tag);color:var(--ink2);font-family:inherit;transition:all .15s;min-height:var(--tap)}
.gst:active{filter:brightness(.92)}
.gst.active-kids{background:#27ae60;color:#fff}
.gst.active-adults{background:var(--svot);color:#fff}
.gmfcs-panel{}
.gmfcs-intro{background:var(--tag);border:1.5px solid var(--border);border-radius:var(--r);padding:12px 14px;margin-bottom:14px;font-size:13px;line-height:1.7}
.lc-text{font-size:13px;color:var(--ink2);margin-bottom:12px;line-height:1.7}

/* ORDONNANCE CHAPTER */
.ord-page{}
.ord-intro{background:var(--tag);border:1.5px solid var(--border);border-radius:var(--r);padding:13px 15px;margin-bottom:14px;font-size:13px;line-height:1.7}
.ord-dl-btn{display:flex;align-items:center;gap:10px;background:var(--ors);color:#fff;border:none;border-radius:var(--r);padding:12px 16px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;width:100%;margin-bottom:14px;min-height:var(--tap);transition:all .13s}
.ord-dl-btn:active{filter:brightness(.88)}
.ord-dl-ico{font-size:20px;flex-shrink:0}
.tab.t-ord{color:#fff;border-bottom-color:var(--gold)}

/* FR TABS dans GMFCS */
.fr-tabs{display:flex;gap:8px;margin:12px 0 10px;border-bottom:2px solid var(--border);padding-bottom:0}
.fr-tab{padding:8px 14px;font-size:12px;font-weight:700;cursor:pointer;border:none;background:none;color:var(--ink2);font-family:inherit;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .15s;min-height:40px}
.fr-tab.active-ped{color:var(--ors);border-bottom-color:var(--ors)}
.fr-tab.active-adu{color:var(--svot);border-bottom-color:var(--svot)}
.fr-panel{display:none}
.fr-panel.open{display:block}
.fr-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}
@media(max-width:480px){.fr-grid{grid-template-columns:1fr}}
.fr-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);padding:11px 13px;transition:all .13s}
.fr-card:hover{border-color:var(--svot2);background:var(--tag)}
.fr-card-level{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.fr-card-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.fr-card-num.lc-1{background:#4CAF50}
.fr-card-num.lc-2{background:#2196F3}
.fr-card-num.lc-3{background:#FF9800}
.fr-card-num.lc-4{background:#9C27B0}
.fr-card-num.lc-5{background:#F44336}
.fr-card-title{font-size:12px;font-weight:700;color:var(--ink)}
.fr-card-code{font-size:11px;font-weight:700;color:var(--ors);margin-bottom:2px}
.fr-card-name{font-size:11px;color:var(--ink2);line-height:1.4;margin-bottom:6px}
.fr-card-price{font-size:11px;font-weight:700;color:var(--green);margin-bottom:6px}
.fr-add-btn{width:100%;padding:6px;background:var(--ors);color:#fff;border:none;border-radius:5px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;min-height:36px}
.fr-add-btn.svot{background:var(--svot)}
.fr-add-btn:active{filter:brightness(.88)}
.fr-intro{background:var(--tag);border:1.5px solid var(--border);border-radius:var(--r);padding:10px 13px;font-size:12px;line-height:1.6;margin-bottom:10px;color:var(--ink2)}

.gst.active-elec{background:var(--gold);color:#fff}

/* CONFIGURATEUR CLINIQUE */
.config-btn{width:100%;padding:12px 16px;background:var(--ors);color:#fff;border:none;border-radius:var(--r);font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;min-height:var(--tap);margin-bottom:14px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .13s}
.config-btn:active{filter:brightness(.88)}
.config-modal{display:none;position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.55);align-items:flex-end}
.config-modal.open{display:flex}
.config-sheet{background:#fff;width:100%;max-height:92vh;border-radius:16px 16px 0 0;overflow-y:auto;padding:0 0 env(safe-area-inset-bottom,0) 0}
.config-hd{position:sticky;top:0;background:var(--ors);color:#fff;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;z-index:10}
.config-hd-title{font-size:15px;font-weight:700}
.config-close{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;padding:4px 8px}
.config-body{padding:16px 18px}
.config-step{display:none}
.config-step.active{display:block}
.config-step-title{font-size:14px;font-weight:700;color:var(--ors);margin-bottom:4px}
.config-step-sub{font-size:12px;color:var(--ink2);margin-bottom:12px;line-height:1.5}
.config-opts{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.config-opt{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;background:var(--surface);transition:all .12s;min-height:48px}
.config-opt.sel{border-color:var(--svot);background:var(--tag)}
.config-opt-ico{font-size:20px;flex-shrink:0}
.config-opt-label{flex:1}
.config-opt-label b{display:block;font-size:13px;color:var(--ink)}
.config-opt-label small{font-size:11px;color:var(--ink2)}
.config-nav{display:flex;gap:8px;margin-top:8px}
.config-nav-btn{flex:1;padding:12px;border:none;border-radius:var(--r);font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;min-height:var(--tap)}
.config-nav-prev{background:var(--tag);color:var(--ink2)}
.config-nav-next{background:var(--ors);color:#fff}
.config-nav-next.svot{background:var(--svot)}
.config-progress{display:flex;gap:4px;margin-bottom:14px}
.config-pip{height:4px;flex:1;border-radius:2px;background:var(--border);transition:background .2s}
.config-pip.done{background:var(--svot)}
.config-pip.active{background:var(--ors)}
.config-result{background:var(--tag);border:2px solid var(--svot);border-radius:var(--r);padding:14px}
.config-result-title{font-size:14px;font-weight:700;color:var(--ors);margin-bottom:10px}
.config-result-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:#fff;border-radius:5px;margin-bottom:4px;font-size:12px}
.config-result-code{font-weight:700;font-size:11px;min-width:80px}
.config-result-code.ors{color:var(--ors)}
.config-result-code.svot{color:var(--svot)}
.config-result-name{flex:1;color:var(--ink2);margin:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.config-result-price{font-weight:700;color:var(--green);white-space:nowrap}
.config-result-total{display:flex;justify-content:space-between;font-weight:800;font-size:15px;padding-top:10px;border-top:2px solid var(--border);margin-top:8px}
.config-add-btn{width:100%;min-height:var(--tap);font-size:14px;margin-top:12px;background:var(--svot);color:#fff;border:none;border-radius:var(--r);padding:12px;font-family:inherit;font-weight:700;cursor:pointer}
.config-restart{width:100%;min-height:40px;font-size:12px;margin-top:6px;background:transparent;border:1.5px solid var(--border);color:var(--ink2);border-radius:var(--r);cursor:pointer;font-family:inherit}

/* Ord-opt selected indicator */
/* EXPORT MODAL */
.export-check-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;background:var(--surface);margin-bottom:0;transition:all .12s;min-height:48px}
.export-check-row.on{border-color:var(--svot);background:var(--tag)}
.export-check{width:22px;height:22px;border:2px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:transparent;background:#fff;transition:all .15s;flex-shrink:0}
.export-check-row.on .export-check{background:var(--ors);border-color:var(--ors);color:#fff}
.export-check-label{flex:1;min-width:0}
.export-check-label b{display:block;font-size:13px;color:var(--ink)}
.export-check-label small{font-size:11px;color:var(--ink2)}

/* ORDONNANCE RAPIDE */
.ord-quick-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;background:var(--surface);transition:all .12s;min-height:48px}
.ord-quick-row.selected{border-color:var(--svot);background:var(--tag)}
.ord-quick-check{width:22px;height:22px;border:2px solid var(--border);border-radius:50%;flex-shrink:0;transition:all .15s;background:#fff}
.ord-quick-row.selected .ord-quick-check{background:var(--ors);border-color:var(--ors)}
.ord-quick-info{flex:1;min-width:0}
.ord-quick-info b{display:block;font-size:13px;color:var(--ink)}
.ord-quick-info small{font-size:11px;color:var(--ink2)}
/* DP tab ord */
.dp-tab.dpa-ord{background:var(--gold);color:#fff}

/* ================================================
   ORDONNANCE SIMPLIFIEE — Mobile First
   ================================================ */
.ord-dl-btn{display:flex;align-items:center;gap:12px;background:var(--ors);color:#fff;border:none;border-radius:var(--r);padding:14px 16px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;width:100%;margin-bottom:14px;min-height:56px;-webkit-tap-highlight-color:transparent}
.ord-dl-btn:active{opacity:.85}
.ord-dl-ico{font-size:22px;flex-shrink:0}

.ord-block{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:12px}
.ord-block-hd{background:var(--ors);padding:12px 14px}
.ord-block-hd-title{color:#fff;font-size:13px;font-weight:700;margin-bottom:10px}
.ord-block-body{padding:12px 14px}
.ord-block-label{font-size:12px;font-weight:700;color:var(--ors);margin-bottom:8px}

.dh-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dh-btn{background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.3);border-radius:10px;padding:10px 8px;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;transition:all .13s}
.dh-btn:active{opacity:.8}
.dh-btn.sel{background:#fff;border-color:#fff}
.dh-btn.sel .dh-btn-num{color:var(--ors)}
.dh-btn.sel .dh-btn-txt{color:var(--ink2)}
.dh-btn-num{font-size:13px;font-weight:800;color:#fff;margin-bottom:3px}
.dh-btn.sel .dh-btn-num{color:var(--ors)}
.dh-btn-txt{font-size:11px;color:rgba(255,255,255,.85);line-height:1.3}
.dh-btn.sel .dh-btn-txt{color:var(--ink2)}

.ord-check-list{display:flex;flex-direction:column;gap:6px}
.ord-check-item{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1.5px solid var(--border);border-radius:var(--r);background:var(--surface);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .12s,background .12s;min-height:52px}
.ord-check-item.sel{border-color:var(--svot);background:var(--tag)}
.ord-check-box{width:24px;height:24px;border:2px solid var(--border);border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:transparent;background:#fff;transition:all .12s}
.ord-check-item.sel .ord-check-box{background:var(--ors);border-color:var(--ors);color:#fff}
.ord-check-label{flex:1;min-width:0}
.ord-check-label b{display:block;font-size:13px;color:var(--ink);line-height:1.3}
.ord-check-label small{font-size:11px;color:var(--ink2)}
.ord-check-tag{font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;white-space:nowrap;flex-shrink:0}
.ord-check-tag.ors{background:var(--ors);color:#fff}
.ord-check-tag.svot{background:var(--svot);color:#fff}

.ord-result-box{background:var(--surface);border:2px solid var(--svot);border-radius:var(--r);padding:14px;margin-top:12px}
.ord-result-hd{font-size:13px;font-weight:700;color:var(--ors);margin-bottom:10px}
.ord-result-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--tag);border-radius:5px;margin-bottom:4px;font-size:11px}
.ord-result-code{font-weight:700;font-size:10px;white-space:nowrap;flex-shrink:0;padding:2px 5px;border-radius:3px;color:#fff}
.ord-result-code.ors{background:var(--ors)}
.ord-result-code.svot{background:var(--svot)}
.ord-result-name{flex:1;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ord-result-price{font-weight:700;color:var(--green);white-space:nowrap;flex-shrink:0;font-size:11px}
.ord-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:2px solid var(--border);margin-top:6px;font-size:14px;font-weight:800}
.ord-total-row .amt{color:var(--green)}
.ord-note{font-size:10px;color:var(--ink3);margin-top:8px;line-height:1.5}
.ord-add-btn{width:100%;min-height:52px;font-size:14px;font-weight:700;margin-top:10px;background:var(--svot);color:#fff;border:none;border-radius:var(--r);padding:12px;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ord-add-btn:active{opacity:.85}
.ord-reset-btn{width:100%;min-height:42px;font-size:12px;margin-top:6px;background:transparent;border:1.5px solid var(--border);color:var(--ink2);border-radius:var(--r);padding:8px;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}

/* BOUTON CREER ORDONNANCE */
.ord-create-btn{width:100%;min-height:48px;padding:10px 14px;background:var(--tag);border:2px solid var(--ors);border-radius:var(--r);color:var(--ors);font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;-webkit-tap-highlight-color:transparent;transition:all .13s;margin-bottom:10px}
.ord-create-btn:active{background:var(--ors);color:#fff}
.dh-pill{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;border:2px solid var(--border);cursor:pointer;background:var(--surface);-webkit-tap-highlight-color:transparent;transition:all .12s}
.dh-pill.active{background:var(--ors);border-color:var(--ors);color:#fff}
.ord-deduced-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--border)}
.ord-deduced-row:last-child{border-bottom:none}
.ord-extra-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;background:var(--surface);-webkit-tap-highlight-color:transparent;min-height:48px;transition:all .12s}
.ord-extra-row.sel{border-color:var(--svot);background:var(--tag)}
.ord-extra-check{width:22px;height:22px;border:2px solid var(--border);border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:transparent;background:#fff;transition:all .12s}
.ord-extra-row.sel .ord-extra-check{background:var(--ors);border-color:var(--ors);color:#fff}

/* GMFCS CARDS — Mobile First */
.gmfcs-cards{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.gmfcs-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden}
.gmfcs-card-hd{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.gmfcs-card-hd:active{background:var(--tag)}
.gmfcs-card-num{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;flex-shrink:0}
.gmfcs-card-num.lv1{background:#4CAF50}
.gmfcs-card-num.lv2{background:#2196F3}
.gmfcs-card-num.lv3{background:#FF9800}
.gmfcs-card-num.lv4{background:#9C27B0}
.gmfcs-card-num.lv5{background:#F44336}
.gmfcs-card-info{flex:1;min-width:0}
.gmfcs-card-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:2px}
.gmfcs-card-sub{font-size:11px;color:var(--ink2);line-height:1.4}
.gmfcs-card-arrow{font-size:18px;color:var(--ink3);transition:transform .2s;flex-shrink:0}
.gmfcs-card.open .gmfcs-card-arrow{transform:rotate(90deg)}
.gmfcs-card-body{display:none;padding:0 14px 14px;border-top:1px solid var(--border)}
.gmfcs-card.open .gmfcs-card-body{display:block}
.gmfcs-card-desc{font-size:12px;color:var(--ink2);line-height:1.7;padding:10px 0 8px}
.gmfcs-items-list{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.gmfcs-item-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--tag);border-radius:5px;font-size:11px}
.gmfcs-item-code{font-weight:700;font-size:10px;white-space:nowrap;padding:2px 5px;border-radius:3px;color:#fff;flex-shrink:0}
.gmfcs-item-code.ors{background:var(--ors)}
.gmfcs-item-code.svot{background:var(--svot)}
.gmfcs-item-name{flex:1;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gmfcs-item-price{font-weight:700;color:var(--green);white-space:nowrap;font-size:11px}
.gmfcs-add-btn{width:100%;min-height:50px;background:var(--ors);color:#fff;border:none;border-radius:var(--r);font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;gap:8px}
.gmfcs-add-btn:active{opacity:.85}
.gmfcs-total{font-size:13px;font-weight:700;color:var(--green);text-align:right;padding:6px 0 8px}

/* ================================================
   REDESIGN GLOBAL — Bebas Neue + Inter
   Palette Orthoconcept
   ================================================ */

/* Polices */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Titres avec Bebas Neue */
.page-title, h1, h2, .dp-hl h2, header h1 {
  font-family: 'Bebas Neue', 'Agency FB', 'Impact', sans-serif !important;
  letter-spacing: .04em;
}

/* Header — redesign */
header {
  background: linear-gradient(135deg, var(--ors) 0%, #1a3028 100%) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.25);
  padding-top: max(10px, var(--safe-t));
}

header h1 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 22px !important;
  letter-spacing: .08em;
  font-weight: 400 !important;
}

/* Page title */
.page-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 26px !important;
  letter-spacing: .05em;
  font-weight: 400 !important;
  color: var(--ors);
  margin-bottom: 4px;
}
.page-sub {
  font-size: 12px;
  color: var(--ink2);
  line-height: 1.5;
  margin-bottom: 14px;
}

/* Tabs — redesign */
.tabs {
  background: var(--ors);
  border-bottom: none;
  gap: 0;
}
.tab {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .03em;
  padding: 10px 6px;
  border-bottom: 3px solid transparent;
  color: rgba(255,255,255,.65);
  transition: all .15s;
}
.tab.t-ors   { color: #fff; border-bottom-color: #fff; }
.tab.t-svot  { color: #fff; border-bottom-color: #7ecba1; }
.tab.t-gmfcs { color: #fff; border-bottom-color: #f9c74f; }
.tab.t-guide { color: #fff; border-bottom-color: #90e0ef; }
.tab.t-ord   { color: #fff; border-bottom-color: #ffd6a5; }
.tab.tab-devis { color: #fff; }

/* Boutons — redesign */
.btn, button.btn {
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  letter-spacing: .02em;
  transition: all .13s;
}

/* Search input */
.sinp, input[type=text], input[type=email], input[type=number] {
  font-family: 'Inter', sans-serif;
  border-radius: 8px;
  font-size: 14px;
}

/* Devis panel */
#dp .dp-hl h2 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 20px !important;
  letter-spacing: .06em;
  font-weight: 400 !important;
}
.dp-tab {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
}

/* GMFCS card titles */
.gmfcs-card-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 16px !important;
  letter-spacing: .04em;
  font-weight: 400 !important;
}
.gmfcs-card-num {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

/* Ordonnance */
.ord-dl-btn {
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(45,74,62,.2);
}

/* Cards hover effect */
.gmfcs-card {
  transition: box-shadow .15s, transform .15s;
}
.gmfcs-card:hover {
  box-shadow: 0 4px 16px rgba(45,74,62,.12);
}

/* Quick items */
.qi {
  border-radius: 8px;
  transition: box-shadow .13s;
}

/* Level cards GMFCS */
.level-card {
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow .15s;
}

/* Toast */
#_t {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  border-radius: 10px;
  bottom: calc(80px + var(--safe-b));
  font-size: 13px;
  letter-spacing: .01em;
  box-shadow: 0 4px 20px rgba(0,0,0,.25);
}

/* Scrollbar */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }

/* ================================================
   GUIDE MDR — Version simplifiée mobile
   ================================================ */
.mdr-section {
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 10px;
  transition: box-shadow .15s;
}
.mdr-section.open {
  box-shadow: 0 4px 16px rgba(45,74,62,.1);
}
.mdr-hd {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  background: var(--surface);
  transition: background .12s;
}
.mdr-hd:active { background: var(--tag); }
.mdr-ico {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.mdr-hd-text { flex: 1; min-width: 0; }
.mdr-hd-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 16px !important;
  letter-spacing: .04em;
  font-weight: 400 !important;
  color: var(--ink);
  line-height: 1.2;
}
.mdr-hd-sub {
  font-size: 11px;
  color: var(--ink2);
  margin-top: 2px;
}
.mdr-arrow {
  font-size: 20px;
  color: var(--ink3);
  transition: transform .2s;
  flex-shrink: 0;
}
.mdr-section.open .mdr-arrow { transform: rotate(90deg); }
.mdr-body { display: none; padding: 0 16px 14px; }
.mdr-section.open .mdr-body { display: block; }
.mdr-divider {
  height: 1px;
  background: var(--border);
  margin: 0 16px 12px;
}

.mdr-item {
  display: flex;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
  align-items: flex-start;
}
.mdr-item:last-child { border-bottom: none; }
.mdr-item-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-top: 5px;
  flex-shrink: 0;
}
.mdr-item-text {
  flex: 1;
  font-size: 13px;
  line-height: 1.65;
  color: var(--ink);
}
.mdr-item-text strong { color: var(--ors); }
.mdr-item-text code {
  background: var(--tag);
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 11px;
  color: var(--svot);
  font-family: monospace;
}
.mdr-tag {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  letter-spacing: .05em;
  vertical-align: middle;
  margin-left: 4px;
}
.mdr-tag.ok { background: #dff5e3; color: var(--green); }
.mdr-tag.no { background: #fde8e8; color: #c0392b; }
.mdr-tag.warn { background: #fef3cd; color: #856404; }
.mdr-callout {
  background: var(--tag);
  border-left: 3px solid var(--ors);
  border-radius: 0 6px 6px 0;
  padding: 10px 12px;
  margin: 10px 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--ink2);
}
.mdr-callout strong { color: var(--ors); }

/* =============================================
   ASSISTANT CHATBOT
   ============================================= */
.bot-roles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}
@media(min-width:400px){.bot-roles{grid-template-columns:1fr 1fr 1fr}}
.bot-role-card{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:12px 10px;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;transition:all .13s}
.bot-role-card:active{background:var(--tag);border-color:var(--ors)}
.bot-role-card.sel{background:var(--ors);border-color:var(--ors)}
.bot-role-ico{font-size:24px;margin-bottom:4px}
.bot-role-label{font-size:11px;font-weight:700;color:var(--ink);line-height:1.3}
.bot-role-card.sel .bot-role-label{color:#fff}
.bot-role-sub{font-size:10px;color:var(--ink2);margin-top:2px}
.bot-role-card.sel .bot-role-sub{color:rgba(255,255,255,.8)}

.bot-role-badge{background:var(--ors);color:#fff;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:700;margin-bottom:10px;display:inline-block}

.bot-messages{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;max-height:50vh;overflow-y:auto;padding:4px 0}
.bot-msg{max-width:88%;padding:10px 13px;border-radius:12px;font-size:13px;line-height:1.6;animation:msgIn .2s ease}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bot-msg.bot{background:var(--tag);border:1.5px solid var(--border);border-bottom-left-radius:3px;align-self:flex-start;color:var(--ink)}
.bot-msg.user{background:var(--ors);color:#fff;border-bottom-right-radius:3px;align-self:flex-end}
.bot-msg code{background:rgba(0,0,0,.08);padding:1px 5px;border-radius:4px;font-size:11px;font-family:monospace}
.bot-msg a{color:inherit;font-weight:700;text-decoration:underline}
.bot-msg ul{margin:6px 0 0 14px;padding:0}
.bot-msg li{margin-bottom:3px}

.bot-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.bot-chip{background:var(--surface);border:1.5px solid var(--ors);border-radius:20px;padding:6px 12px;font-size:11px;font-weight:600;color:var(--ors);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .12s;font-family:inherit}
.bot-chip:active{background:var(--ors);color:#fff}

.bot-input-row{display:flex;gap:8px;margin-bottom:8px}
.bot-input-row .sinp{flex:1;font-size:13px}
.bot-send-btn{width:44px;height:44px;background:var(--ors);color:#fff;border:none;border-radius:10px;font-size:18px;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.bot-send-btn:active{opacity:.8}
.bot-restart-btn{background:transparent;border:1.5px solid var(--border);border-radius:8px;padding:8px 14px;font-size:12px;color:var(--ink2);cursor:pointer;font-family:inherit;width:100%}

/* GMFCS CARDS avec images */
.gmfcs-card-img{width:100%;height:90px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;border-radius:8px;overflow:hidden}


/* =============================================
   MOBILE-FIRST RESPONSIVE COMPLET v2
   Testé iPhone 12/14, iPad, PC 1080p+
   ============================================= */

/* BASE — variables globales */
:root {
  --tap: 48px;     /* zone de tap minimale iOS */
  --pad: 14px;     /* padding standard mobile */
  --r: 10px;       /* border-radius standard */
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-t: env(safe-area-inset-top, 0px);
}

/* ── MOBILE (défaut < 600px) ────────────────── */
html, body { font-size: 15px; }

.wrap { 
  padding: 12px var(--pad) calc(80px + var(--safe-b));
  max-width: 100%;
}

/* Tabs scrollables sans scrollbar visible */
.tabs {
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  gap: 0;
  padding: 0;
  background: var(--ors);
}
.tabs::-webkit-scrollbar { display: none; }
.tab {
  flex-shrink: 0;
  font-size: 10px;
  padding: 10px 10px;
  min-height: 40px;
  white-space: nowrap;
  font-weight: 600;
  letter-spacing: .02em;
  color: rgba(255,255,255,.6);
  border-bottom: 3px solid transparent;
  cursor: pointer;
  transition: all .15s;
}
.tab.t-ors    { color:#fff; border-bottom-color:#fff; }
.tab.t-svot   { color:#fff; border-bottom-color:#a8e6c3; }
.tab.t-gmfcs  { color:#fff; border-bottom-color:#ffd166; }
.tab.t-guide  { color:#fff; border-bottom-color:#90e0ef; }
.tab.t-ord    { color:#fff; border-bottom-color:#ffd6a5; }
.tab.t-bot    { color:#fff; border-bottom-color:#c3b1e1; }
.tab.tab-devis{ color:#fff; background:rgba(255,255,255,.12); border-radius:0; }

/* Page title mobile */
.page-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 22px;
  letter-spacing: .05em;
  color: var(--ors);
  margin-bottom: 3px;
  font-weight: 400;
}
.page-sub {
  font-size: 11px;
  color: var(--ink2);
  line-height: 1.5;
  margin-bottom: 12px;
}

/* ── GMFCS — mobile ─────────────────────────── */
.gmfcs-subtabs {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.gst {
  flex: 1;
  min-height: var(--tap);
  border-radius: var(--r);
  font-size: 13px;
  font-weight: 700;
  font-family: inherit;
  border: 2px solid var(--border);
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  transition: all .13s;
}
.gst.active-kids   { background: var(--ors);   color: #fff; border-color: var(--ors); }
.gst.active-adults { background: var(--svot);  color: #fff; border-color: var(--svot); }

.gmfcs-intro {
  font-size: 12px;
  color: var(--ink2);
  line-height: 1.6;
  background: var(--tag);
  border-radius: var(--r);
  padding: 10px 12px;
  margin-bottom: 10px;
  border-left: 3px solid var(--svot);
}

.gmfcs-cards { 
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gmfcs-card {
  border: 1.5px solid var(--border);
  border-radius: var(--r);
  background: var(--surface);
  overflow: hidden;
  transition: box-shadow .15s;
}
.gmfcs-card-hd {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  min-height: var(--tap);
}
.gmfcs-card-hd:active { background: var(--tag); }
.gmfcs-card-num {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 17px;
  color: #fff;
  flex-shrink: 0;
}
.lv1{background:#4CAF50} .lv2{background:#2196F3}
.lv3{background:#FF9800} .lv4{background:#9C27B0} .lv5{background:#F44336}

.gmfcs-card-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 15px;
  letter-spacing: .03em;
  color: var(--ink);
  margin-bottom: 2px;
  font-weight: 400;
}
.gmfcs-card-sub { font-size: 11px; color: var(--ink2); }
.gmfcs-card-arrow { font-size: 20px; color: var(--ink3); transition: transform .2s; margin-left: auto; }
.gmfcs-card.open .gmfcs-card-arrow { transform: rotate(90deg); }
.gmfcs-card-body { display: none; padding: 0 14px 14px; border-top: 1px solid var(--border); }
.gmfcs-card.open .gmfcs-card-body { display: block; }
.gmfcs-card-desc { font-size: 12px; color: var(--ink2); line-height: 1.7; padding: 10px 0 8px; }
.gmfcs-items-list { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.gmfcs-item-row {
  display: flex; align-items: center; gap: 7px;
  padding: 6px 8px; background: var(--tag); border-radius: 6px; font-size: 11px;
}
.gmfcs-item-code {
  font-weight: 700; font-size: 10px; white-space: nowrap;
  padding: 2px 5px; border-radius: 3px; color: #fff; flex-shrink: 0;
}
.gmfcs-item-code.ors { background: var(--ors); }
.gmfcs-item-code.svot { background: var(--svot); }
.gmfcs-item-name { flex: 1; color: var(--ink2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gmfcs-item-price { font-weight: 700; color: var(--green); white-space: nowrap; font-size: 11px; }
.gmfcs-total { font-size: 13px; font-weight: 700; color: var(--green); text-align: right; padding: 4px 0 8px; }
.gmfcs-add-btn {
  width: 100%; min-height: var(--tap);
  background: var(--ors); color: #fff;
  border: none; border-radius: var(--r);
  font-size: 13px; font-weight: 700;
  cursor: pointer; font-family: inherit;
  -webkit-tap-highlight-color: transparent;
  display: flex; align-items: center; justify-content: center; gap: 8px;
}
.gmfcs-add-btn:active { opacity: .85; }

/* ── ORDONNANCE — mobile ─────────────────────── */
.ord-dl-btn {
  display: flex; align-items: center; gap: 12px;
  background: var(--ors); color: #fff;
  border: none; border-radius: var(--r);
  padding: 14px 16px; width: 100%;
  min-height: var(--tap);
  font-family: inherit; font-size: 14px; font-weight: 700;
  cursor: pointer; margin-bottom: 14px;
  -webkit-tap-highlight-color: transparent;
}
.ord-dl-btn:active { opacity: .85; }

.ord-block {
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: var(--r);
  overflow: hidden;
  margin-bottom: 10px;
}
.ord-block-hd {
  background: var(--ors);
  padding: 11px 14px;
}
.ord-block-hd-title {
  color: #fff; font-size: 12px; font-weight: 700; margin-bottom: 8px;
}
.dh-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.dh-btn {
  background: rgba(255,255,255,.15);
  border: 2px solid rgba(255,255,255,.3);
  border-radius: 9px;
  padding: 10px 8px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: all .13s;
  min-height: 56px;
  text-align: left;
}
.dh-btn:active { opacity: .8; }
.dh-btn.sel {
  background: #fff;
  border-color: #fff;
}
.dh-btn-num { font-size: 14px; font-weight: 800; color: #fff; margin-bottom: 3px; }
.dh-btn.sel .dh-btn-num { color: var(--ors); }
.dh-btn-txt { font-size: 10px; color: rgba(255,255,255,.85); line-height: 1.3; }
.dh-btn.sel .dh-btn-txt { color: var(--ink2); }

.ord-block-body { padding: 12px 14px; }
.ord-block-label { font-size: 12px; font-weight: 700; color: var(--ors); margin-bottom: 8px; }

.ord-check-list { display: flex; flex-direction: column; gap: 6px; }
.ord-check-item {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 13px;
  border: 1.5px solid var(--border);
  border-radius: var(--r);
  background: var(--surface);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  min-height: 52px;
  transition: border-color .12s, background .12s;
}
.ord-check-item.sel { border-color: var(--svot); background: var(--tag); }
.ord-check-box {
  width: 24px; height: 24px;
  border: 2px solid var(--border);
  border-radius: 6px;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; color: transparent;
  background: #fff;
  transition: all .12s;
}
.ord-check-item.sel .ord-check-box { background: var(--ors); border-color: var(--ors); color: #fff; }
.ord-check-label { flex: 1; min-width: 0; }
.ord-check-label b { display: block; font-size: 13px; color: var(--ink); line-height: 1.3; }
.ord-check-label small { font-size: 11px; color: var(--ink2); }
.ord-check-tag { font-size: 9px; font-weight: 700; padding: 2px 6px; border-radius: 3px; white-space: nowrap; flex-shrink: 0; }
.ord-check-tag.ors { background: var(--ors); color: #fff; }
.ord-check-tag.svot { background: var(--svot); color: #fff; }

.ord-result-box { background: var(--surface); border: 2px solid var(--svot); border-radius: var(--r); padding: 14px; margin-top: 12px; }
.ord-result-hd { font-size: 13px; font-weight: 700; color: var(--ors); margin-bottom: 10px; }
.ord-result-row { display: flex; align-items: center; gap: 8px; padding: 6px 8px; background: var(--tag); border-radius: 5px; margin-bottom: 4px; font-size: 11px; }
.ord-result-code { font-weight: 700; font-size: 10px; white-space: nowrap; padding: 2px 5px; border-radius: 3px; color: #fff; }
.ord-result-code.ors { background: var(--ors); }
.ord-result-code.svot { background: var(--svot); }
.ord-result-name { flex: 1; color: var(--ink2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ord-result-price { font-weight: 700; color: var(--green); white-space: nowrap; font-size: 11px; }
.ord-total-row { display: flex; justify-content: space-between; align-items: center; padding-top: 10px; border-top: 2px solid var(--border); margin-top: 6px; font-size: 14px; font-weight: 800; }
.ord-total-row .amt { color: var(--green); }
.ord-note { font-size: 10px; color: var(--ink3); margin-top: 8px; line-height: 1.5; }
.ord-add-btn {
  width: 100%; min-height: var(--tap); font-size: 14px; font-weight: 700;
  margin-top: 10px; background: var(--svot); color: #fff;
  border: none; border-radius: var(--r); padding: 12px;
  font-family: inherit; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.ord-add-btn:active { opacity: .85; }
.ord-reset-btn {
  width: 100%; min-height: 42px; font-size: 12px; margin-top: 6px;
  background: transparent; border: 1.5px solid var(--border);
  color: var(--ink2); border-radius: var(--r); padding: 8px;
  font-family: inherit; cursor: pointer;
}

/* ── ASSISTANT BOT — mobile ──────────────────── */
.bot-roles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 8px;
}
.bot-role-card {
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: var(--r);
  padding: 14px 10px;
  cursor: pointer;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  transition: all .13s;
  min-height: 80px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.bot-role-card:active, .bot-role-card.sel {
  background: var(--ors); border-color: var(--ors);
}
.bot-role-ico { font-size: 26px; margin-bottom: 5px; }
.bot-role-label { font-size: 12px; font-weight: 700; color: var(--ink); line-height: 1.3; }
.bot-role-card.sel .bot-role-label { color: #fff; }
.bot-role-card:active .bot-role-label { color: #fff; }
.bot-role-sub { font-size: 10px; color: var(--ink2); margin-top: 2px; }
.bot-role-card.sel .bot-role-sub, .bot-role-card:active .bot-role-sub { color: rgba(255,255,255,.8); }

.bot-role-badge {
  background: var(--ors); color: #fff;
  border-radius: 8px; padding: 8px 12px;
  font-size: 12px; font-weight: 700;
  margin-bottom: 10px; display: inline-block;
}
.bot-messages {
  display: flex; flex-direction: column; gap: 10px;
  margin-bottom: 10px;
  max-height: 45vh;
  overflow-y: auto;
  padding: 4px 0;
  -webkit-overflow-scrolling: touch;
}
.bot-msg {
  max-width: 88%; padding: 10px 13px;
  border-radius: 14px; font-size: 13px; line-height: 1.65;
}
.bot-msg.bot {
  background: var(--tag); border: 1.5px solid var(--border);
  border-bottom-left-radius: 4px; align-self: flex-start; color: var(--ink);
}
.bot-msg.user {
  background: var(--ors); color: #fff;
  border-bottom-right-radius: 4px; align-self: flex-end;
}
.bot-chips {
  display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px;
}
.bot-chip {
  background: var(--surface);
  border: 1.5px solid var(--ors);
  border-radius: 20px; padding: 8px 12px;
  font-size: 12px; font-weight: 600; color: var(--ors);
  cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: all .12s; font-family: inherit;
  min-height: 36px;
}
.bot-chip:active { background: var(--ors); color: #fff; }
.bot-input-row { display: flex; gap: 8px; margin-bottom: 8px; }
.bot-input-row .sinp { flex: 1; font-size: 14px; min-height: var(--tap); }
.bot-send-btn {
  width: 48px; height: 48px;
  background: var(--ors); color: #fff;
  border: none; border-radius: var(--r);
  font-size: 20px; cursor: pointer; flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}
.bot-send-btn:active { opacity: .8; }
.bot-restart-btn {
  background: transparent; border: 1.5px solid var(--border);
  border-radius: 8px; padding: 10px 14px;
  font-size: 12px; color: var(--ink2);
  cursor: pointer; font-family: inherit; width: 100%;
  min-height: 42px;
}

/* ── TABLET (768px+) ────────────────────────── */
@media(min-width:768px) {
  .wrap { max-width: 680px; margin: 0 auto; padding: 16px 20px calc(70px + var(--safe-b)); }
  .page-title { font-size: 28px !important; }
  .gmfcs-cards { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }
  .bot-roles { grid-template-columns: 1fr 1fr 1fr !important; }
  .dh-grid-2 { grid-template-columns: 1fr 1fr 1fr 1fr !important; }
  .ord-check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .bot-messages { max-height: 55vh; }
  .bot-msg { max-width: 78%; }
  .tab { font-size: 11px; padding: 11px 12px; }
}

/* ── PC (1024px+) ───────────────────────────── */
@media(min-width:1024px) {
  body { background: #eef2ef; }
  .wrap { max-width: 900px; margin: 0 auto; padding: 20px 24px calc(60px + var(--safe-b)); }
  .page-title { font-size: 32px !important; }
  .gmfcs-cards { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; }
  .gmfcs-card-body { min-height: 180px; }
  .bot-roles { grid-template-columns: repeat(5, 1fr) !important; }
  .dh-grid-2 { grid-template-columns: 1fr 1fr 1fr 1fr !important; }
  .ord-check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .bot-messages { max-height: 58vh; }
  .tab { font-size: 12px; padding: 12px 14px; }
  #dp { width: min(440px, 85vw) !important; border-radius: 16px 0 0 16px; }
  .mdr-section + .mdr-section { margin-top: 10px; }
}

/* ── LARGE PC (1400px+) ─────────────────────── */
@media(min-width:1400px) {
  .wrap { max-width: 1100px; }
  .gmfcs-cards { grid-template-columns: 1fr 1fr 1fr !important; }
  .bot-roles { grid-template-columns: repeat(5, 1fr) !important; }
}
