:root{--acu-brand:#005CA0;--acu-brand-d:#004A82;--acu-green:#7DB838;--acu-orange:#EC811F;--acu-accent:#EC811F;--acu-ink:#16233A;--acu-muted:#5A6678;--acu-line:#D8E0E8;--acu-chip:#E6ECF2;--acu-bg:#F2F5F8}
body{background:var(--acu-bg);color:var(--acu-ink);font-family:Figtree,"Segoe UI",system-ui,-apple-system,sans-serif}
.acu-nav{background:var(--acu-brand)}
.acu-title{font-family:inherit;font-weight:750;letter-spacing:-.01em;color:#0E2F4F}
.acu-card{background:#fff;border:1px solid var(--acu-line);border-radius:16px}
.acu-thumb{max-width:100%;max-height:180px;border-radius:10px;border:1px solid var(--acu-line);display:block}
.acu-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
@media (max-width:900px){.acu-layout{grid-template-columns:minmax(0,1fr)}}
.acu-work{padding:14px;min-width:0}
.acu-aside{min-width:0}
.acu-aside{display:flex;flex-direction:column;gap:16px}
@media (min-width:901px){.acu-aside{position:sticky;top:12px}}
.acu-tabs{display:inline-flex;gap:6px;background:var(--acu-chip);padding:4px;border-radius:12px;max-width:100%}
.acu-tabs button{border:0;background:transparent;padding:7px 14px;border-radius:9px;color:var(--acu-muted);font-weight:500}
.acu-tabs button[aria-selected="true"]{background:#fff;color:var(--acu-ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.acu-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}
.acu-toolbar label{display:inline-flex;align-items:center;gap:6px;color:var(--acu-muted);font-size:.92rem}
.acu-toggle{border:1px solid var(--acu-line);background:#fff}
.acu-toggle[aria-pressed="true"]{background:var(--acu-accent);border-color:var(--acu-accent);color:#1b1206}
.acu-viewport{position:relative;overflow:auto;max-height:76vh;border-radius:12px;background:var(--acu-chip);border:1px solid var(--acu-line)}
.acu-empty{padding:60px 20px;text-align:center;color:var(--acu-muted)}
.acu-stage{position:relative;margin:0 auto;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
.acu-stage.adding{cursor:crosshair}
.acu-stage img{display:block;width:100%;height:auto;pointer-events:none}
.acu-pins{position:absolute;inset:0;pointer-events:none}
.acu-pins .acu-pin{pointer-events:auto}
/* Points are circles sized in JS (diameter = size x photo width); the dot marks the exact centre. */
/* Points are circles sized in JS (diameter = size x photo width) and coloured via --pc; the dot marks the exact centre. */
.acu-pin{--pc:#d98a1f;position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;background:transparent;background:color-mix(in srgb,var(--pc) 30%,transparent);border:2px solid var(--pc);box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 2px rgba(0,0,0,.25);cursor:pointer;padding:0;touch-action:none}
.acu-pin::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--pc);box-shadow:0 0 0 1px rgba(255,255,255,.9)}
.acu-pin.sel{box-shadow:0 0 0 2px #fff,0 0 0 4px #16233A}
.acu-pin.hit{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--pc);animation:acupulse 1.6s ease-in-out infinite}
.acu-pin.dim{opacity:.35}
.acu-pin.dragging{cursor:grabbing}
@keyframes acupulse{50%{box-shadow:0 0 0 2px #fff,0 0 0 10px transparent}}
@media (prefers-reduced-motion:reduce){.acu-pin.hit{animation:none}}
.acu-tag{position:absolute;left:calc(100% + 3px);top:50%;transform:translateY(-50%);white-space:nowrap;font-size:11px;font-weight:600;background:rgba(10,20,35,.78);color:#fff;padding:1px 5px;border-radius:5px;pointer-events:none}
.nolabels .acu-tag{display:none}
.acu-pin.sel .acu-tag{display:block}
.acu-hint{color:var(--acu-muted);font-size:.9rem;margin:10px 2px 0}
.acu-status{min-height:1.4em;font-size:.88rem;color:var(--acu-muted);margin:6px 2px 0}
.acu-status.err{color:#B3261E}
.acu-status.ok{color:#2F7D57}
.acu-items{list-style:none;margin:0;padding:0;max-height:40vh;overflow:auto}
.acu-items li button{display:grid;grid-template-columns:52px 1fr;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:7px 8px;border-radius:8px}
.acu-items li button:hover{background:var(--acu-chip)}
.acu-items li button[aria-current="true"]{background:var(--acu-chip);box-shadow:inset 3px 0 0 var(--acu-accent)}
.acu-code{font-weight:600;color:var(--acu-brand)}
.acu-sub{display:block;color:var(--acu-muted);font-size:.85rem}
.acu-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.acu-chip{border:1px solid var(--acu-line);background:#fff;padding:6px 13px;border-radius:999px;font-size:.92rem}
.acu-chip:hover{border-color:var(--acu-brand)}
.acu-chip[aria-pressed="true"]{background:var(--acu-brand);border-color:var(--acu-brand);color:#fff}
.acu-detail{border-left:4px solid var(--acu-accent)}
.acu-where{font-weight:600;color:var(--acu-brand)}
.acu-hitlist{list-style:none;padding:0;margin:0}
.acu-hitlist button{border:0;background:transparent;text-align:left;padding:5px 0}
.acu-hitlist button:hover .acu-where{text-decoration:underline}
.acu-chart-card{overflow:hidden;color:inherit}
.acu-chart-card img{width:100%;height:200px;object-fit:cover;background:var(--acu-chip)}
.acu-group{border:1px solid var(--acu-line);border-radius:10px;padding:8px 12px;margin-bottom:8px}
.acu-group summary{cursor:pointer;font-weight:500}
.acu-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 16px;margin-top:8px;font-size:.92rem}
:focus-visible{outline:2px solid var(--acu-brand);outline-offset:2px}
.acu-tabs{flex-wrap:wrap}
.acu-method{font-size:.85rem;font-weight:600;color:var(--acu-brand);letter-spacing:.01em}
.acu-pills{display:flex;flex-wrap:wrap;gap:8px}
.acu-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--acu-line);background:#fff;color:var(--acu-ink);text-decoration:none;font-weight:500}
.acu-pill:hover{border-color:var(--acu-brand);color:var(--acu-ink)}
.acu-pill[aria-current="page"]{background:var(--acu-brand);border-color:var(--acu-brand);color:#fff}
.acu-count{font-size:.78rem;padding:0 7px;border-radius:999px;background:var(--acu-chip);color:var(--acu-muted)}
.acu-pill[aria-current="page"] .acu-count{background:rgba(255,255,255,.22);color:#fff}

.acu-size{gap:8px}
.acu-size input[type=range]{width:140px;accent-color:var(--acu-brand)}
.acu-size output{min-width:3.5em;font-variant-numeric:tabular-nums;color:var(--acu-ink)}
.acu-colors{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.acu-colors-label{color:var(--acu-muted);font-size:.92rem}
#swatches{display:inline-flex;gap:4px;flex-wrap:wrap}
.acu-swatch{width:22px;height:22px;border-radius:50%;padding:0;border:2px solid #fff;background:var(--sw);box-shadow:0 0 0 1px rgba(0,0,0,.35);cursor:pointer}
.acu-swatch[aria-pressed="true"]{box-shadow:0 0 0 2px #fff,0 0 0 4px #16233A}
.acu-custom{display:inline-flex}
.acu-custom input{width:30px;height:26px;padding:0;border:1px solid var(--acu-line);border-radius:6px;background:#fff;cursor:pointer}

/* ---------- responsive ---------- */
img{max-width:100%}
.acu-nav .navbar-brand{white-space:normal;line-height:1.2}
.acu-tabs button{white-space:nowrap}
.acu-viewport{-webkit-overflow-scrolling:touch}
/* Bigger invisible touch target around small points on phones and tablets */
@media (pointer:coarse){
  .acu-pin::before{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;min-width:100%;min-height:100%;transform:translate(-50%,-50%);border-radius:50%}
  .acu-kbd-hint{display:none}
  .acu-swatch{width:28px;height:28px}
  .acu-custom input{width:36px;height:30px}
  .acu-items li button{padding:10px 8px}
  .acu-chip{padding:8px 14px}
}
@media (max-width:900px){
  .acu-layout{gap:14px}
  .acu-viewport{max-height:70vh}
}
@media (max-width:767.98px){
  /* method pills and photo tabs scroll sideways instead of stacking */
  .acu-pills,.acu-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding-bottom:4px;max-width:100%}
  .acu-pill{white-space:nowrap;flex:0 0 auto}
  .acu-tabs{display:flex}
  .acu-work{padding:10px}
  .acu-toolbar{gap:8px 12px}
  .acu-size input[type=range]{width:110px}
  .acu-head-actions{width:100%}
  .acu-head-actions .btn{flex:1 1 auto;padding:.3rem .6rem;font-size:.875rem}
  .acu-pagehead h1{font-size:1.4rem}
  .display-6{font-size:1.8rem}
  .acu-chart-card img{height:160px}
  /* admin tables become stacked cards */
  .acu-table thead{display:none}
  .acu-table,.acu-table tbody,.acu-table tr,.acu-table td{display:block;width:100%}
  .acu-table tr{padding:12px 14px;border-bottom:1px solid var(--acu-line)}
  .acu-table tr:last-child{border-bottom:0}
  .acu-table td{padding:3px 0;border:0;text-align:right;overflow:hidden;overflow-wrap:anywhere}
  .acu-table td::before{content:attr(data-label);float:left;margin-right:12px;font-weight:600;color:var(--acu-muted);text-align:left}
  .acu-table td.acu-actions{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:6px;padding-top:10px;white-space:normal}
  .acu-table td.acu-actions::before{display:none}
  .acu-table td.acu-actions .btn{flex:1 1 auto}
}
@media (max-width:420px){
  .container{padding-left:10px;padding-right:10px}
  .acu-card.p-4{padding:1rem!important}
  .acu-checks{grid-template-columns:1fr}
}

/* ---------- close-up (detail) photos ---------- */
.acu-subtabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.acu-subtab{border:1px solid var(--acu-line);background:#fff;border-radius:999px;padding:4px 12px;font-size:.88rem;color:var(--acu-muted)}
.acu-subtab[aria-pressed="true"]{border-color:var(--acu-brand);color:var(--acu-brand);font-weight:600;background:#eef4fb}
.acu-regions{position:absolute;inset:0;pointer-events:none}
.acu-region{position:absolute;border:2px dashed var(--acu-brand);border-radius:6px;background:rgba(31,95,166,.06)}
.acu-region.hit{border-style:solid;border-color:var(--acu-accent);background:rgba(217,138,31,.12)}
.acu-region.draft{border-style:solid;border-color:var(--acu-accent);background:rgba(217,138,31,.15)}
.acu-region.editing{opacity:.35}
.acu-region-label{position:absolute;left:-2px;top:-2px;transform:translateY(-100%);pointer-events:auto;border:0;border-radius:6px 6px 0 0;background:var(--acu-brand);color:#fff;font-size:11px;font-weight:600;padding:2px 7px;white-space:nowrap;cursor:pointer}
.acu-region.hit .acu-region-label{background:var(--acu-accent);color:#1b1206}
.acu-stage.drawing{cursor:crosshair;touch-action:none}
.acu-detail-card{border-left:4px solid var(--acu-brand)}
.acu-linkbtn{border:0;background:none;padding:0;color:var(--acu-brand);text-decoration:underline}
@media (max-width:767.98px){.acu-subtabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.acu-subtab{white-space:nowrap;flex:0 0 auto}}
.acu-region.label-in .acu-region-label{transform:none;border-radius:4px 0 6px 0}

/* ---------- condition photos ---------- */
.acu-photo-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.acu-photo-opt{position:relative;display:flex;flex-direction:column;border:2px solid var(--acu-line);border-radius:12px;overflow:hidden;cursor:pointer;background:#fff}
.acu-photo-opt.is-detail{border-style:dashed}
.acu-photo-opt.on{border-color:var(--acu-brand);border-style:solid;box-shadow:0 0 0 2px rgba(31,95,166,.2)}
.acu-photo-opt input{position:absolute;top:8px;left:8px;width:20px;height:20px;accent-color:var(--acu-brand)}
.acu-photo-opt img{width:100%;height:110px;object-fit:cover;background:var(--acu-chip)}
.acu-photo-name{font-weight:600;font-size:.9rem;padding:6px 8px 0}
.acu-photo-meta{font-size:.78rem;color:var(--acu-muted);padding:0 8px 8px}
.acu-point-group{border-top:1px solid var(--acu-line);padding-top:12px;margin-top:12px}
.acu-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--pc);vertical-align:baseline;margin-right:2px}
.acu-thumbs{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}
.acu-thumbs img{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--acu-line)}
@media (max-width:420px){.acu-photo-pick{grid-template-columns:repeat(2,1fr)}.acu-photo-opt img{height:90px}}
.acu-photo-incl{display:none;font-size:.75rem;color:var(--acu-brand);padding:0 8px 8px;font-weight:600}
.acu-photo-opt.included .acu-photo-incl{display:block}
.acu-photo-opt.included{cursor:default}
.acu-photo-opt.is-detail{margin-left:0}

/* ---------- condition treatments ---------- */
.acu-method-badges{display:flex;flex-wrap:wrap;gap:4px}
.acu-method-badge{font-size:.75rem;padding:2px 8px;border-radius:999px;background:#eef4fb;color:var(--acu-brand);font-weight:600}
/* therapy badge on finder pins */
.acu-badge{position:absolute;right:-6px;top:-8px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:#16233A;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;pointer-events:none}
.acu-steps{list-style:none;padding:0;margin:0;counter-reset:none}
.acu-steps li{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-top:1px solid var(--acu-line)}
.acu-steps li:first-child{border-top:0}
.acu-step-n{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--acu-chip);font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.acu-therapy{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;padding:1px 8px;border-radius:999px;background:var(--acu-chip)}
.acu-therapy i{width:10px;height:10px;border-radius:50%;background:var(--oc);border:1px solid rgba(0,0,0,.25)}

.acu-marker{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 5px;border-radius:12px;background:var(--oc);border:1px solid rgba(0,0,0,.3);font-weight:700;font-size:12px;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.8)}
.acu-dir{font-weight:600;font-size:.85rem;color:var(--acu-muted);margin:10px 0 2px}
.acu-marker.light{color:#16233A;text-shadow:none;border-color:#9aa5b4}

/* ---------- searchable point dropdown ---------- */
.acu-combo{position:relative}
.acu-combo-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:300px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--acu-line);border-radius:10px;box-shadow:0 8px 24px rgba(22,35,58,.15)}
.acu-combo-group{padding:8px 8px 4px;font-size:.8rem;font-weight:600;color:var(--acu-muted)}
.acu-combo-opt{padding:7px 10px;border-radius:7px;cursor:pointer;font-size:.9rem;line-height:1.3}
.acu-combo-opt.active{background:#eef4fb;color:var(--acu-ink)}
.acu-combo-opt.used{color:var(--acu-muted);cursor:default;opacity:.6}
.acu-combo-note{font-size:.75rem;font-style:italic}
.acu-combo-empty{padding:10px;color:var(--acu-muted);font-size:.88rem}
@media (pointer:coarse){.acu-combo-opt{padding:11px 10px}}

.acu-combo-divider{margin-top:6px;padding:8px 8px 4px;border-top:1px solid var(--acu-line);font-size:.75rem;font-style:italic;color:var(--acu-muted)}

/* ---------- protocol table ---------- */
.acu-proto-table td{vertical-align:top}
.acu-proto-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.9rem;padding:2px 0}
.acu-proto-dir{color:var(--acu-muted)}
.acu-marker-sm{min-width:18px;height:18px;font-size:10px;padding:0 4px;border-radius:9px}
.acu-proto-add .form-select{min-width:200px}
@media (max-width:767.98px){.acu-proto-table td{text-align:left}.acu-proto-table td::before{display:block;float:none;margin-bottom:2px}.acu-proto-add{width:100%}.acu-proto-add .form-select{min-width:0;flex:1}}
.acu-proto-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}

/* ---------- libraries ---------- */
.acu-lib-badge{display:inline-block;font-size:.8rem;font-weight:600;padding:2px 10px;border-radius:999px;background:#fdf1e0;color:#8a5200;border:1px solid #f3d6a8}
.acu-cond-table .acu-about{max-width:420px;font-size:.92rem;color:var(--acu-ink)}
@media (max-width:767.98px){.acu-cond-table td.acu-about{text-align:left}.acu-cond-table td.acu-about::before{display:block;float:none}}

.acu-opt-badge{display:inline-block;font-size:.78rem;font-weight:600;padding:2px 10px;border-radius:999px}
.acu-opt-badge.opt-view{background:#eef4fb;color:var(--acu-brand)}
.acu-opt-badge.opt-other{background:#f1f1f1;color:#555}


/* ---------- treatment card (condition screen) ----------
   View on the left, choosing on the right. The right column lays itself out by
   its own width (container queries), so fields never squeeze on any screen. */
.acu-treat{background:#fff;border:1px solid var(--acu-line);border-radius:16px;margin-bottom:16px;transition:box-shadow .15s,border-color .15s}
.acu-treat.is-on{border-color:#b9cde6;box-shadow:0 1px 2px rgba(22,35,58,.06),0 6px 20px rgba(22,35,58,.06)}
.acu-treat.flash{box-shadow:0 0 0 3px rgba(217,138,31,.55)}

.acu-tc-head{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding:14px 20px}
.acu-treat-toggle{display:flex;align-items:baseline;gap:10px;flex:1 1 auto;min-width:0;border:0;background:none;padding:4px 0;text-align:left;color:inherit;font:inherit;cursor:pointer}
.acu-treat-toggle:focus-visible{outline:2px solid var(--acu-brand);outline-offset:4px;border-radius:6px}
.acu-tc-chev{flex:0 0 auto;width:8px;height:8px;border-right:2px solid var(--acu-muted);border-bottom:2px solid var(--acu-muted);transform:rotate(-45deg) translate(-1px,-1px);transition:transform .15s}
.acu-treat-toggle[aria-expanded="true"] .acu-tc-chev{transform:rotate(45deg) translate(-2px,-2px)}
.acu-tc-title{font-family:Spectral,Georgia,serif;font-weight:600;font-size:1.2rem;line-height:1.2}
.acu-treat-sub{color:var(--acu-muted);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acu-tc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.acu-tc-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;border-radius:999px;background:#f2f5f8;font-size:.85rem;color:var(--acu-muted)}
.acu-tc-pill-n{font-weight:700;color:var(--acu-ink);font-variant-numeric:tabular-nums}
.acu-tc-remove{border:1px solid transparent;background:none;color:#b3261e;font-size:.875rem;padding:5px 10px;border-radius:8px}
.acu-tc-remove:hover{background:#fdecea;border-color:#f5c6c2}
.acu-tc-remove:focus-visible{outline:2px solid #b3261e;outline-offset:2px}

.acu-treat-body{padding:4px 20px 20px;border-top:1px solid var(--acu-line)}
.acu-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start;padding-top:16px}

/* left: the view */
.acu-tc-view{position:sticky;top:12px;display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:#f6f8fb;border:1px solid var(--acu-line)}
.acu-pv-tabs{display:flex;flex-wrap:wrap;gap:6px}
.acu-pv-tabs select{width:100%}
.acu-tc-viewbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 12px}
.acu-tc-tool{display:flex;align-items:center;gap:8px;min-width:0}
.acu-tc-tool-l{font-size:.8rem;color:var(--acu-muted);white-space:nowrap}
.acu-tc-toggle{display:inline-flex;padding:2px;border-radius:10px;background:#e6ecf2}
.acu-tc-toggle button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:4px 10px;border-radius:8px;font-size:.85rem;color:var(--acu-muted);white-space:nowrap}
.acu-tc-toggle button[aria-pressed="true"]{background:#fff;color:var(--acu-ink);box-shadow:0 1px 2px rgba(22,35,58,.15);font-weight:600}
.acu-tc-toggle button:focus-visible{outline:2px solid var(--acu-brand);outline-offset:1px}
.acu-pv-viewport{border-radius:10px;background:#fff;border:1px solid var(--acu-line);overflow:auto;max-height:calc(100vh - 230px);min-height:200px;-webkit-overflow-scrolling:touch}
.acu-pv-stage{position:relative;width:100%;max-width:none;margin:0 auto;user-select:none;-webkit-user-select:none}
.acu-pv-img{display:block;width:100%;height:auto;pointer-events:none}
.acu-pv-pins{position:absolute;inset:0}
.acu-pv-pin.idle{--pc:#8a96a8;background:rgba(255,255,255,.35);border:1.5px dashed #6b778a;box-shadow:none;opacity:.7}
.acu-pv-pin.idle:hover,.acu-pv-pin.idle:focus-visible{opacity:1;border-style:solid;border-color:var(--acu-brand);background:rgba(31,95,166,.12)}
.acu-pv-pin.chosen{border-width:3px;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(0,0,0,.35);z-index:2}
.acu-pv-pin.chosen.light{border-color:#9aa5b4;background:rgba(255,255,255,.85)}
.acu-pv-pin .acu-tag{display:block}
.acu-pv-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.8rem;color:var(--acu-muted)}
.acu-lg{display:inline-flex;align-items:center;gap:6px}
.acu-lg-sep{flex:1 1 auto}
.acu-lg-count{font-variant-numeric:tabular-nums}
.acu-pv-dot{width:12px;height:12px;border-radius:50%;border:1.5px dashed #6b778a;display:inline-block}

/* right: choosing */
.acu-tc-pick{min-width:0;container-type:inline-size;container-name:pick}
.acu-tc-sec{padding:16px 0;border-top:1px solid var(--acu-line)}
.acu-tc-sec:first-child{padding-top:0;border-top:0}
.acu-tc-h{font-size:1rem;font-weight:600;margin:0 0 12px;color:var(--acu-ink)}
.acu-tc-grid{display:grid;gap:12px 16px}
.acu-tc-field{min-width:0;margin:0;padding:0;border:0}
.acu-tc-field legend{float:none;width:auto;padding:0}
.acu-tc-label{display:block;font-size:.85rem;font-weight:500;color:#3d4a5c;margin-bottom:6px}
.acu-tc-note{font-size:.82rem;color:var(--acu-muted);margin:6px 0 0}
.acu-tc-pick .form-select,.acu-tc-pick .form-control{border-color:#cfd8e3}
.acu-tc-pick textarea.form-control{min-height:42px;resize:vertical}

.acu-tc-place{grid-template-columns:repeat(2,minmax(0,1fr))}
.acu-pv-pin .acu-tag.left{left:auto;right:calc(100% + 3px)}
.acu-tc-size-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px;margin-bottom:6px}
.acu-tc-size-top .form-check{display:flex;align-items:center;gap:8px;padding-left:0}
.acu-tc-size-top .form-check-input{margin:0;float:none;width:2.25em;height:1.2em}
.acu-size-out{font-size:.82rem;color:var(--acu-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.acu-size-range:disabled{opacity:.45}

.acu-seg{display:flex;width:100%;border:1px solid #cfd8e3;border-radius:8px;overflow:hidden;background:#fff}
.acu-seg label{flex:1 1 0;margin:0;cursor:pointer;min-width:0}
.acu-seg input{position:absolute;opacity:0;pointer-events:none}
.acu-seg span{display:flex;align-items:center;justify-content:center;height:38px;padding:0 8px;font-size:.9rem;border-left:1px solid #cfd8e3;white-space:nowrap}
.acu-seg label:first-child span{border-left:0}
.acu-seg label:hover span{background:#f2f5f8}
.acu-seg input:checked+span{background:var(--acu-brand);color:#fff}
.acu-seg input:focus-visible+span{outline:2px solid var(--acu-brand);outline-offset:-3px}

.acu-energy{--oc:var(--acu-brand);display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border:1px solid var(--acu-line);border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.acu-energy.is-target{border-color:#9db9dc;box-shadow:0 0 0 3px rgba(31,95,166,.1)}
.acu-energy-head{display:flex;align-items:center;gap:8px;min-width:0}
.acu-energy-t{font-weight:600;font-size:.95rem;margin:0;min-width:0}
.acu-marker-text{margin-left:auto;font-size:.8rem;color:var(--acu-muted);white-space:nowrap}
.acu-energy-empty{display:none;margin:0;font-size:.85rem;color:var(--acu-muted);padding:6px 2px}
.acu-energy.is-empty .acu-energy-empty{display:block}
.acu-chosen{list-style:none;counter-reset:step;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.acu-chosen:empty{display:none}
.acu-chosen li{counter-increment:step;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 6px 6px 8px;border-radius:8px;background:#f6f8fb;border-left:3px solid var(--oc)}
.acu-chosen li::before{content:counter(step);width:20px;height:20px;border-radius:50%;background:#e6ecf2;font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;color:var(--acu-muted)}
.acu-chip-text{min-width:0;font-size:.9rem;line-height:1.3}
.acu-chip-l1{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acu-chip-l1 span{color:#3d4a5c}
.acu-chip-where{display:block;font-size:.76rem;color:var(--acu-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acu-chip-tools{display:flex;gap:2px}
.acu-chip-tools button{border:0;background:transparent;width:30px;height:30px;border-radius:6px;color:var(--acu-muted);font-size:1rem;line-height:1}
.acu-chip-tools button:hover{background:#e6ecf2;color:var(--acu-ink)}
.acu-chip-tools button:focus-visible{outline:2px solid var(--acu-brand);outline-offset:0}
.acu-chip-tools .acu-del:hover{color:#b3261e;background:#fdecea}

.acu-syntax{margin-top:4px;padding:12px 14px;border-radius:12px;background:#f2f6fb;border:1px solid #dbe6f2;font-size:.9rem}
.acu-sum-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:8px;font-weight:600}
.acu-sum-meta{font-weight:400;color:var(--acu-muted);font-size:.85rem}
.acu-sum-line{display:grid;grid-template-columns:auto minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:8px;padding:3px 0}
.acu-sum-line .acu-marker{align-self:center}
.acu-sum-k{color:#3d4a5c;white-space:nowrap}
.acu-sum-v{font-weight:600;overflow-wrap:anywhere}

/* right column width decides the field layout */
@container pick (min-width: 520px){
  .acu-tc-protocol{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
}
@container pick (min-width: 640px){
  .acu-tc-energies{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container pick (min-width: 760px){
  .acu-tc-place{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1.5fr)}
}
@container pick (max-width: 519px){
  .acu-tc-size{grid-column:1 / -1}
}
@container pick (max-width: 380px){
  .acu-tc-place{grid-template-columns:1fr}
  .acu-sum-line{grid-template-columns:auto minmax(0,1fr)}
  .acu-sum-v{grid-column:2}
}

/* page width decides view beside or above */
@media (max-width:1199.98px){.acu-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}}
@media (max-width:991.98px){
  .acu-split{grid-template-columns:1fr}
  .acu-tc-view{position:static}
  .acu-pv-viewport{max-height:62vh}
}
@media (max-width:575.98px){
  .acu-tc-head{padding:12px 14px}
  .acu-treat-body{padding:4px 12px 14px}
  .acu-tc-view{padding:8px;margin:0 -4px}
  .acu-tc-meta{width:100%}
  .acu-tc-remove{margin-left:auto}
  .acu-tc-viewbar{flex-direction:column;align-items:stretch}
  .acu-tc-tool{justify-content:space-between}
  .acu-pv-viewport{max-height:56vh}
}
@media (pointer:coarse){
  .acu-tc-toggle button{padding:8px 12px}
  .acu-chip-tools button{width:36px;height:36px}
  .acu-seg span{height:44px}
}
@media (prefers-reduced-motion:reduce){.acu-treat,.acu-energy,.acu-tc-chev{transition:none}}

/* Fit = whole photo visible, no scroll bars */
.acu-pv-viewport.is-fit{overflow:hidden;display:flex;justify-content:center;align-items:flex-start}
.acu-pv-viewport.is-fit .acu-pv-stage{margin:0 auto}
.acu-pv-switches{display:flex;flex-wrap:wrap;gap:4px 16px;margin-right:auto;align-items:center}
.acu-pv-allwrap,.acu-pv-codewrap{font-size:.85rem;color:var(--acu-muted)}
.acu-pv-codewrap .form-check-input{cursor:pointer}
.acu-pv-allwrap .form-check-input{cursor:pointer}
.acu-tc-tool[hidden]{display:none}
.acu-pv-none{display:block;padding:14px;border:1px dashed var(--acu-line);border-radius:10px;background:#fff;color:var(--acu-muted);text-align:center;width:100%}

.acu-pv-pin .acu-tag.idle{background:rgba(255,255,255,.9);color:#3a4656;border:1px solid #c5ced9;font-weight:500}
/* point size choices in mm */
.acu-seg-mm span{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.acu-seg-mm small{font-size:.7rem;opacity:.75}
.acu-seg-mm span{height:44px}
/* plotted points on a treatment: filled with the marker colour (e.g. Magnet white / yellow), thin dark grey ring */
.acu-pv-pin.chosen,.acu-pv-pin.chosen.light{background:var(--pc);border:1.5px solid #4a4f57;box-shadow:0 0 0 1px rgba(255,255,255,.6);opacity:1}
.acu-pv-pin.chosen::after{display:none}
.acu-pv-pin.chosen:hover,.acu-pv-pin.chosen:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #4a4f57}
/* Plot on: several choices */
.acu-seg-multi input:checked+span::before{content:"✓";margin-right:5px;font-weight:700}
.acu-tc-hint{font-weight:400;color:var(--acu-muted);font-size:.78rem;margin-left:4px}
/* Ayurvedic finger / meridian / point builder */
.acu-nb{border:1px solid var(--acu-line);border-radius:10px;background:#f8fafc;padding:10px 12px;margin-bottom:12px;display:grid;gap:8px}
.acu-nb-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:4px 10px;align-items:center}
.acu-nb-row[hidden]{display:none}
.acu-nb-row .acu-tc-label{margin:0}
.acu-nb-row .acu-tc-label small{display:block;font-weight:400;color:var(--acu-muted)}
.acu-chips{display:flex;flex-wrap:wrap;gap:4px}
.acu-chips[hidden]{display:none}
.acu-nb-row>.acu-chips+.acu-chips,.acu-nb-more{grid-column:2}
.acu-nb-more summary{font-size:.8rem;color:var(--acu-brand);cursor:pointer;margin:2px 0}
.acu-nb-more .acu-chips{margin-top:4px}
.acu-chips button{min-width:38px;height:34px;padding:0 10px;border:1px solid #cfd8e3;border-radius:7px;background:#fff;font-size:.88rem;color:#1d2633}
.acu-chips button[aria-pressed="true"]{background:var(--acu-brand);border-color:var(--acu-brand);color:#fff}
.acu-chips button:disabled{opacity:.45;cursor:not-allowed}
.acu-nb-digits button{min-width:38px;padding:0 6px;font-variant-numeric:tabular-nums}
.acu-nb-pts button[data-dir="increase"]{background:#2e7d32;border-color:#2e7d32;color:#fff}
.acu-nb-pts button[data-dir="decrease"]{background:#c62828;border-color:#c62828;color:#fff}
.acu-nb-flow{max-width:200px}
.acu-nb-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between;border-top:1px dashed var(--acu-line);padding-top:8px}
.acu-nb-preview{font-size:.82rem;color:#1d2633;white-space:normal;flex:1;min-width:0}
.acu-nb-c{display:inline-block;margin:1px 2px;padding:1px 6px;border-radius:5px;background:#e8f5e9}
.acu-nb-c.decrease{background:#fdecea}
.acu-nb-c.missing{text-decoration:line-through;opacity:.6}
.acu-nb-msg{margin:0;font-size:.82rem;color:var(--acu-muted)}
.acu-nb-msg:empty{display:none}
@media (pointer:coarse){.acu-chips button{height:44px;min-width:44px}}
@media (max-width:575.98px){.acu-nb-row{grid-template-columns:1fr}.acu-nb-row>.acu-chips+.acu-chips,.acu-nb-more{grid-column:1}}
/* Ayurvedic protocol lines */
.acu-nb-lines-wrap{margin:-4px 0 12px}
.acu-nb-lines{list-style:none;margin:0;padding:0;display:grid;gap:4px;counter-reset:nbl}
.acu-nb-lines li{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border:1px solid var(--acu-line);border-radius:8px;background:#fff;counter-increment:nbl}
.acu-nb-lines li::before{content:counter(nbl);font-size:.75rem;font-weight:700;color:var(--acu-muted);min-width:14px}
.acu-nb-line{flex:1;min-width:0;font-size:.88rem}
.acu-nb-line-n{font-size:.75rem;color:var(--acu-muted);white-space:nowrap}
.acu-nb-lines .acu-del{border:0;background:none;font-size:1.1rem;line-height:1;color:#6b778a;padding:2px 6px;border-radius:6px}
.acu-nb-lines .acu-del:hover{background:#fdecea;color:#c62828}
.acu-nb-none{margin:0;font-size:.82rem;color:var(--acu-muted)}
.acu-chip-colour{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--cc);border:1px solid #4a4f57;margin-right:6px;vertical-align:-1px}
.acu-nb-colours button{font-size:.8rem}
/* Ayurvedic: points come only from the protocol lines; their lists stay in the form, hidden */
.acu-nb-hide{display:none!important}
.acu-nb-therapy{max-width:260px}
.acu-nb-kinds{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.acu-nb-or{font-size:.78rem;color:var(--acu-muted)}
.acu-pin.square,.acu-pv-pin.chosen.square{border-radius:2px}
/* typed protocols */
.acu-nt{border:1px solid var(--acu-line);border-radius:10px;background:#fff;padding:10px 12px;display:grid;gap:8px}
.acu-nt-head{display:flex;justify-content:space-between;align-items:baseline}
.acu-nt-head small{font-weight:400;color:var(--acu-muted);margin-left:4px}
.acu-nt-help{font-size:.8rem;background:#f8fafc;border:1px solid var(--acu-line);border-radius:8px;padding:8px 10px}
.acu-nt-help code{font-size:.78rem}
.acu-nt-text{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem}
.acu-nt-suggest{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:28px}
.acu-nt-suggest:empty{display:none}
.acu-nt-next{font-size:.75rem;color:var(--acu-muted);margin-right:2px}
.acu-nt-suggest button{border:1px solid #cfd8e3;background:#f4f7fb;border-radius:6px;padding:2px 8px;font-size:.8rem;font-family:ui-monospace,Menlo,Consolas,monospace}
.acu-nt-suggest button:hover{background:#e3edf8;border-color:var(--acu-brand)}
.acu-nt-actions{display:flex;gap:8px;flex-wrap:wrap}
.acu-nt-result{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.acu-nt-result:empty{display:none}
.acu-nt-result li{display:flex;gap:8px;padding:6px 8px;border-radius:8px;font-size:.84rem}
.acu-nt-result li.ok{background:#eef7ef}
.acu-nt-result li.bad{background:#fdecea}
.acu-nt-mark{font-weight:700}
.acu-nt-result li.ok .acu-nt-mark{color:#2e7d32}
.acu-nt-result li.bad .acu-nt-mark{color:#c62828}
.acu-nt-codes{margin-top:3px}
.acu-nt-err{color:#b71c1c;margin-top:2px}
.acu-nt-warn{color:#8a6d00;margin-top:2px}
.acu-nt-or{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:.78rem;color:var(--acu-muted)}
.acu-nt-or::before,.acu-nt-or::after{content:"";flex:1;border-top:1px solid var(--acu-line)}
.acu-nb-text{display:block;margin-bottom:4px;color:#1d2633}
.acu-nb-line code{font-size:.84rem;color:#1d2633;white-space:normal}
@media (pointer:coarse){.acu-nt-suggest button{padding:8px 10px}}
.acu-nb-c small{font-size:.68rem;margin-left:3px;opacity:.7}
.acu-nt-result code,.acu-nb-line code{color:#1d2633}
.acu-nb-clash{display:block;margin-top:4px;color:#b71c1c;font-family:inherit}
.acu-nt-live{color:#b71c1c;font-size:.82rem;background:#fdecea;border-radius:6px;padding:4px 8px}
.acu-nt-live[hidden]{display:none}
.acu-nb-lines .acu-edit-line{border:0;background:none;font-size:1rem;line-height:1;color:#6b778a;padding:2px 6px;border-radius:6px}
.acu-nb-lines .acu-edit-line:hover{background:#e3edf8;color:var(--acu-brand)}
.acu-nt-editing{font-size:.82rem;background:#fff8e1;border:1px solid #ffe082;border-radius:6px;padding:4px 8px}
.acu-nt-editing[hidden]{display:none}
.acu-proto-lines{margin:0;padding-left:1.2em}
.acu-proto-lines li{margin:1px 0}
.acu-proto-lines code{color:#1d2633;font-size:.84rem;white-space:normal}
/* photo slider (no file names) */
.acu-pv-tabs.acu-pv-tabs{display:flex;align-items:center;justify-content:center;gap:8px}
.acu-pv-tabs[hidden]{display:none!important}
.acu-sl-btn{width:34px;height:34px;border-radius:50%;border:1px solid #cfd8e3;background:#fff;font-size:1.3rem;line-height:1;color:#1d2633;display:grid;place-items:center;padding:0 0 3px}
.acu-sl-btn:hover{border-color:var(--acu-brand);color:var(--acu-brand)}
.acu-sl-dots{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}
.acu-sl-dot{width:10px;height:10px;border-radius:50%;border:1px solid #9aa5b4;background:#fff;padding:0}
.acu-sl-dot.has{background:#c9d6e6}
.acu-sl-dot[aria-selected="true"]{background:var(--acu-brand);border-color:var(--acu-brand);transform:scale(1.25)}
.acu-sl-count{font-size:.78rem;color:var(--acu-muted);margin-left:4px;font-variant-numeric:tabular-nums}
.acu-pv-viewport:focus-visible{outline:2px solid var(--acu-brand);outline-offset:2px}
@media (pointer:coarse){.acu-sl-btn{width:44px;height:44px}.acu-sl-dot{width:14px;height:14px}}
/* user levels */
.acu-nav-level{font-size:.7rem;background:rgba(255,255,255,.18);border-radius:10px;padding:1px 7px;margin-left:4px;vertical-align:1px}
.acu-level{display:inline-block;font-size:.78rem;font-weight:600;border-radius:10px;padding:2px 9px;background:#eef2f7;color:#334}
.acu-level-therapist{background:#e8f5e9;color:#1b5e20}
.acu-level-admin{background:#e3edf8;color:#0d47a1}
.acu-level-master{background:#ede7f6;color:#4527a0}
.acu-levels{background:#f8fafc;border:1px solid var(--acu-line);border-radius:10px;padding:10px 14px}
.acu-nc{border:1px solid var(--acu-line);border-radius:10px;background:#f8fafc;padding:10px 12px;margin-bottom:12px;display:grid;gap:8px}
.acu-nc-note{margin:0;font-size:.78rem;color:var(--acu-muted)}

/* ---- Patients & cases ---- */
.acu-dl{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:.35rem .9rem;margin:0}
.acu-dl dt{font-weight:600;color:var(--acu-muted,#5f6b66);font-size:.9rem}
.acu-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.acu-dl-2{grid-template-columns:minmax(100px,45%) 1fr}
.acu-pre{white-space:pre-line}
.acu-cstat{display:inline-block;font-size:.75rem;font-weight:600;padding:.15em .6em;border-radius:999px;vertical-align:middle;letter-spacing:.02em}
.acu-cstat-submitted{background:#FFF4D6;color:#7A5300}
.acu-cstat-working{background:#DCEBFF;color:#0B4A99}
.acu-cstat-completed{background:#DDF3E6;color:#1F6B42}
.acu-cstat-locked{background:#FDECC8;color:#7A4B00}
.acu-case-no{display:inline-block;font-size:.75rem;font-weight:600;color:#5b6470;background:#eef1f4;border-radius:6px;padding:1px 6px;margin-right:4px}
.cs-locked{border-left:4px solid #E0A100}.cs-lock-ico{color:#9A6500;display:inline-flex}
.progress-bar.acu-prog-submitted{background:#E0A100}
.progress-bar.acu-prog-working{background:#2F6FD1}
.progress-bar.acu-prog-completed{background:#2F7D57}
.acu-case-list{list-style:none;padding:0;margin:0}
.acu-case-list li{padding:.6rem 0;border-top:1px solid rgba(0,0,0,.08)}
.acu-case-list li:first-child{border-top:0}
.acu-fam-box{border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:.5rem 1rem 0;margin-bottom:1rem}
.acu-case-proto{padding:.5rem 0;border-top:1px solid rgba(0,0,0,.08)}
.acu-proto-lines{margin:.35rem 0 0;padding-left:1.4rem}
.acu-proto-lines code{color:inherit;font-size:.88rem;white-space:normal}
.acu-notes{list-style:none;padding:0;margin:0 0 .75rem}
.acu-notes li{padding:.55rem .75rem;border-radius:10px;background:rgba(0,0,0,.035);margin-bottom:.5rem}
.acu-file-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem;font-size:.88rem}
.acu-files{list-style:none;padding:0;margin:0 0 .6rem}
.acu-files li{padding:.25rem 0;overflow-wrap:anywhere}
.acu-teeth{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;max-width:560px;margin-bottom:.75rem}
.acu-teeth-q{display:grid;grid-template-columns:repeat(8,1fr);gap:3px}
.acu-teeth-q0,.acu-teeth-q2{border-right:2px solid rgba(0,0,0,.25);padding-right:8px}
.acu-teeth-q0,.acu-teeth-q1{border-bottom:2px solid rgba(0,0,0,.25);padding-bottom:6px}
.acu-tooth{position:relative;margin:0;cursor:pointer}
.acu-tooth input{position:absolute;opacity:0;inset:0;cursor:pointer}
.acu-tooth span{display:flex;align-items:center;justify-content:center;height:34px;border:1px solid rgba(0,0,0,.2);border-radius:8px 8px 12px 12px;font-size:.78rem;background:#fff;user-select:none}
.acu-tooth input:checked+span,.acu-tooth.on span{background:#F6C343;border-color:#9a7300;font-weight:700}
.acu-tooth input:focus-visible+span{outline:2px solid #2F6FD1;outline-offset:1px}
.acu-teeth-ro .acu-tooth{cursor:default}
@media (max-width:575px){.acu-teeth{grid-template-columns:1fr}.acu-teeth-q0,.acu-teeth-q2{border-right:0;padding-right:0}.acu-tooth span{height:30px}}
.acu-search{display:flex;flex-wrap:wrap;gap:.5rem;max-width:640px}
.acu-search input[type=search]{flex:1 1 240px}

/* ---- Therapists ---- */
.acu-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:0;margin:0 0 1rem}
.acu-step{width:100%;display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border:0;background:#E6ECF7;color:#3b4a5e;font-weight:600;font-size:.9rem;text-align:left;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,12px 50%)}
.acu-steps li:first-child .acu-step{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);border-radius:8px 0 0 8px}
.acu-step-n{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:#fff;color:#1E73BE;flex:none;font-size:.85rem}
.acu-step.current{background:#1E73BE;color:#fff}
.acu-step.done{background:#BFD3F2}
.acu-step.done .acu-step-n::before{content:"✓"}.acu-step.done .acu-step-n{font-size:0}.acu-step.done .acu-step-n::before{font-size:.85rem}
.acu-step:focus-visible{outline:2px solid #0B4A99;outline-offset:2px}
.acu-step-bar{display:none}
.acu-stepped .acu-step-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.acu-stepped .acu-step-bar #stepSave{margin-left:0}
.acu-step-bar #stepOf{flex:1;text-align:center}
.acu-th-photo{width:130px;height:150px;margin:0 auto;border-radius:12px;background:#EEF2F7;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:3rem}
.acu-th-photo img{width:100%;height:100%;object-fit:cover}
.acu-th-photo.sm{width:72px;height:72px;border-radius:50%;font-size:2rem;margin:0}
.acu-th-photo.xs{width:38px;height:38px;border-radius:50%;font-size:1.2rem;margin:0;flex:none}
.acu-th-docs{display:flex;flex-wrap:wrap;gap:.5rem}
.acu-th-doc{position:relative;width:88px;height:76px;border:1px solid rgba(0,0,0,.15);border-radius:8px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}
.acu-th-doc img{width:100%;height:100%;object-fit:cover}
.acu-th-doc a{display:block;width:100%;height:100%}
.acu-th-pdf{font-weight:700;color:#B3261E;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.acu-th-doc-x{position:absolute;top:2px;right:2px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff!important;text-decoration:none;display:flex;align-items:center;justify-content:center;line-height:1;font-size:1rem}
.acu-flag{display:inline-block;font-size:.78rem;padding:.15em .6em;border-radius:999px;background:#EEF0F2;color:#4a535c}
.acu-flag.on{background:#DDF3E6;color:#1F6B42}
.acu-flag.off{background:#FDE2E0;color:#8C1D18}
@media (max-width:640px){.acu-steps{grid-template-columns:1fr 1fr}.acu-step,.acu-steps li:first-child .acu-step{clip-path:none;border-radius:8px}.acu-step-l{font-size:.82rem}}
/* therapist locations */
.acu-loc{border-left:4px solid #1E73BE!important}
.acu-map{margin:.25rem 0 .5rem;border-radius:10px;overflow:hidden;border:1px solid rgba(0,0,0,.12);height:240px;background:#EEF2F7}
.acu-map iframe{width:100%;height:100%;border:0;display:block}
.acu-tm-row{padding:.5rem 0;border-top:1px dashed rgba(0,0,0,.12)}
.acu-tm-days{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:.35rem}
.acu-day{position:relative;margin:0}
.acu-day input{position:absolute;opacity:0;inset:0;cursor:pointer}
.acu-day span{display:inline-block;min-width:2.6rem;text-align:center;padding:.2rem .4rem;border:1px solid rgba(0,0,0,.2);border-radius:999px;font-size:.8rem;background:#fff;user-select:none;cursor:pointer}
.acu-day input:checked+span{background:#1E73BE;border-color:#1E73BE;color:#fff;font-weight:600}
.acu-day input:focus-visible+span{outline:2px solid #0B4A99;outline-offset:1px}
.acu-tm-times{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.acu-tm-times input[type=time]{width:auto;min-width:7.5rem}
.acu-tm-note{flex:1 1 160px;width:auto}
.acu-tm-add{margin-top:.4rem}
.acu-loc-view{border:1px solid rgba(0,0,0,.1);border-radius:10px;padding:.75rem}
.acu-tm-view{list-style:none;padding:0;margin:.25rem 0 .5rem;font-size:.9rem}
.acu-tm-view li{display:flex;justify-content:space-between;gap:1rem;padding:.15rem 0;border-bottom:1px dotted rgba(0,0,0,.12)}
.acu-tm-view li>span:first-child{font-weight:600}
.acu-tm-book{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.4rem;padding:.35rem .5rem;background:#F3F7FC;border-radius:8px}
.acu-tm-book .form-select,.acu-tm-book .form-control{width:auto}
.acu-tm-book .acu-tm-cap{width:5rem}
.acu-tm-book[data-mode=slot] .acu-if-token,.acu-tm-book[data-mode=token] .acu-if-slot{display:none}
.acu-loc-book{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.4rem .6rem;border:1px solid rgba(30,115,190,.25);border-radius:8px;background:#F7FAFE}

/* ---- Appointments ---- */
.acu-ast{display:inline-block;font-size:.75rem;font-weight:600;padding:.15em .6em;border-radius:999px;vertical-align:middle}
.acu-ast-booked{background:#DCEBFF;color:#0B4A99}
.acu-ast-arrived{background:#FFF4D6;color:#7A5300}
.acu-ast-completed{background:#DDF3E6;color:#1F6B42}
.acu-ast-no_show{background:#EEF0F2;color:#4a535c}
.acu-ast-cancelled{background:#FDE2E0;color:#8C1D18}
tr.acu-appt-cancelled td,tr.acu-appt-no_show td{opacity:.6}
.acu-appt-actions{display:inline-flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end}
.acu-occ{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem}
.acu-occ-card{background:#fff;border:1px solid rgba(0,0,0,.1);border-left:4px solid #2F6FD1;border-radius:10px;padding:.5rem .7rem}
.acu-occ-card.full{border-left-color:#B3261E}
.acu-occ-card.closed{border-left-color:#9aa3ab;background:#F5F6F7}
.acu-bstep{display:flex;align-items:center;gap:.5rem}
.acu-bstep span{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:#1E73BE;color:#fff;font-size:.85rem}
.acu-pchip{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-radius:10px;background:#EEF5FF;font-weight:600}
.acu-presults{list-style:none;padding:0;margin:.35rem 0;max-height:260px;overflow:auto}
.acu-presults button{display:block;width:100%;text-align:left;border:0;background:none;padding:.45rem .6rem;border-radius:8px}
.acu-presults button:hover,.acu-presults button:focus-visible{background:#EEF5FF;outline:none}
.acu-locs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.5rem}
.acu-locpick{display:flex;gap:.5rem;align-items:flex-start;border:1px solid rgba(0,0,0,.15);border-radius:10px;padding:.6rem .7rem;cursor:pointer;margin:0;background:#fff}
.acu-locpick input{margin-top:.3rem}
.acu-locpick:has(input:checked){border-color:#1E73BE;box-shadow:0 0 0 2px rgba(30,115,190,.25);background:#F5F9FF}
.acu-days{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.35rem;scroll-snap-type:x proximity}
.acu-daypick{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;min-width:4.4rem;padding:.35rem .4rem;border:1px solid rgba(0,0,0,.15);border-radius:10px;background:#fff;line-height:1.15}
.acu-daypick strong{font-size:1.15rem}
.acu-daypick em{font-style:normal;font-size:.7rem;color:#1F6B42;margin-top:.15rem}
.acu-daypick.on{background:#1E73BE;border-color:#1E73BE;color:#fff}.acu-daypick.on em{color:#fff}
.acu-daypick.full em{color:#B3261E}.acu-daypick.closed em{color:#6b747c}
.acu-daypick:disabled{opacity:.6;cursor:not-allowed;background:#F5F6F7}
.acu-sess{padding:.5rem 0;border-top:1px solid rgba(0,0,0,.08)}
.acu-sess:first-child{border-top:0}
.acu-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.4rem}
.acu-slot{display:flex;flex-direction:column;align-items:center;padding:.4rem .3rem;border:1px solid rgba(30,115,190,.45);border-radius:8px;background:#fff;color:#0B4A99;line-height:1.2}
.acu-slot span{font-size:.72rem;color:#1F6B42}
.acu-slot:hover:not(:disabled){background:#EEF5FF}
.acu-slot.on{background:#1E73BE;color:#fff;border-color:#1E73BE}.acu-slot.on span{color:#fff}
.acu-slot:disabled{border-color:rgba(0,0,0,.12);color:#8a939b;background:repeating-linear-gradient(45deg,#F5F6F7,#F5F6F7 6px,#EEF0F2 6px,#EEF0F2 12px);cursor:not-allowed}
.acu-slot.full span{color:#B3261E;font-weight:600}
.acu-slot.acu-token{grid-column:1/-1;max-width:320px;padding:.6rem}
.acu-book-sum{position:sticky;top:1rem}

/* ---- Maps ---- */
.acu-bigmap{height:min(70vh,620px);border-radius:12px;overflow:hidden;border:1px solid rgba(0,0,0,.12);background:#EEF2F7}
.acu-dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;vertical-align:-1px;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.acu-dot.t{background:#1E73BE;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.acu-dot.p{background:#D9480F}
.acu-iw{max-width:260px;line-height:1.35}
.acu-mapcard .acu-map{height:180px;margin:.35rem 0}
.acu-geo .acu-map{height:260px}

/* ---- Treatment by anatomy ---- */
.acu-anat-stage{position:sticky;top:1rem}
.acu-anat-svg svg{display:block;width:100%;height:auto;max-height:78vh}
.acu-anat-svg .acu-hs{cursor:pointer;outline:none}
.acu-anat-svg .acu-hs polygon,.acu-anat-svg .acu-hs path,.acu-anat-svg .acu-hs rect,.acu-anat-svg .acu-hs circle,.acu-anat-svg .acu-hs ellipse,.acu-anat-svg .acu-hs polyline,
.acu-anat-svg polygon.acu-hs,.acu-anat-svg path.acu-hs{transition:fill-opacity .15s,stroke-opacity .15s}
/* viewer: areas show softly, stronger on hover / focus / chosen; codes hidden */
.acu-anat-view .acu-hs :is(polygon,path,rect,circle,ellipse,polyline){fill:#1E73BE;fill-opacity:.06;stroke:#1E73BE;stroke-opacity:.35;stroke-width:1.2}
.acu-anat-view .acu-hs.acu-l-condition :is(polygon,path,rect,circle,ellipse,polyline){fill:#2F7D57;stroke:#2F7D57}
.acu-anat-view .acu-hs.acu-l-none :is(polygon,path,rect,circle,ellipse,polyline){fill-opacity:0;stroke-opacity:0}
.acu-anat-view .acu-hs.acu-l-none{cursor:default}
.acu-anat-view .acu-hs:not(.acu-l-none):is(:hover,:focus-visible,.acu-hs-hover) :is(polygon,path,rect,circle,ellipse,polyline){fill-opacity:.3;stroke-opacity:1;stroke-width:2}
.acu-anat-view .acu-hs.acu-hs-sel :is(polygon,path,rect,circle,ellipse,polyline){fill-opacity:.38;stroke-opacity:1;stroke-width:2.5}
.acu-anat-view text{display:none}
.acu-anat-view.show-codes text{display:inline}
/* editor: colour by what is set */
.acu-anat-edit .acu-hs.acu-l-none :is(polygon,path,rect,circle,ellipse,polyline){fill:#e53935;stroke:#e53935}
.acu-anat-edit .acu-hs.acu-l-map :is(polygon,path,rect,circle,ellipse,polyline){fill:#1E73BE;stroke:#1E73BE}
.acu-anat-edit .acu-hs.acu-l-condition :is(polygon,path,rect,circle,ellipse,polyline){fill:#2F7D57;stroke:#2F7D57}
.acu-anat-edit .acu-hs :is(polygon,path,rect,circle,ellipse,polyline){fill-opacity:.15}
.acu-anat-edit .acu-hs:is(:hover,:focus-visible) :is(polygon,path,rect,circle,ellipse,polyline){fill-opacity:.3}
.acu-anat-edit .acu-hs.acu-hs-sel :is(polygon,path,rect,circle,ellipse,polyline){fill-opacity:.4;stroke-width:3}
.acu-hs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.35rem;max-height:260px;overflow:auto}
.acu-hs-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid rgba(0,0,0,.12);border-left:4px solid #e53935;border-radius:8px;background:#fff;padding:.35rem .5rem;line-height:1.25}
.acu-hs-item.acu-l-map{border-left-color:#1E73BE}.acu-hs-item.acu-l-condition{border-left-color:#2F7D57}
.acu-hs-item.on{background:#EEF5FF;box-shadow:0 0 0 2px rgba(30,115,190,.35)}
.acu-hs-item.err{box-shadow:0 0 0 2px #B3261E}
.acu-hs-code{font-family:ui-monospace,monospace;font-size:.75rem;color:#6b747c}
.acu-hs-name{font-weight:600}
.acu-hs-what{color:#4a535c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.acu-anat-save{position:sticky;bottom:0;background:var(--bs-body-bg,#fff);padding:.5rem 0;display:flex;gap:.5rem}
.acu-anat-areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}
.acu-anat-area{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid rgba(0,0,0,.12);border-left:4px solid #1E73BE;border-radius:10px;background:#fff;padding:.5rem .7rem}
.acu-anat-area.acu-l-condition{border-left-color:#2F7D57}
.acu-anat-area:hover,.acu-anat-area:focus-visible{background:#F5F9FF}
.acu-key{display:inline-block;width:.8rem;height:.8rem;border-radius:3px;vertical-align:-1px}
.acu-key.map{background:#1E73BE}.acu-key.condition{background:#2F7D57}
.acu-anat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem}
.acu-anat-card{display:flex;flex-direction:column;gap:.25rem;padding:.6rem;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff;text-decoration:none;color:inherit}
.acu-anat-card:hover,.acu-anat-card:focus-visible{box-shadow:0 2px 10px rgba(0,0,0,.12)}
.acu-anat-thumb svg{display:block;width:100%;height:220px}
.acu-anat-thumb svg text{display:none}
.acu-anat-thumb svg [data-id] :is(polygon,path,rect,circle,ellipse){fill-opacity:0;stroke-opacity:0}
@media (max-width:767px){.acu-anat-stage{position:static}.acu-anat-svg svg{max-height:60vh}}
.acu-loc .acu-loc-onote{display:none}
.acu-loc.is-online .acu-loc-onote{display:block}
.acu-loc.is-online .acu-loc-addr .row .col-md-6:first-child~*,.acu-loc.is-online .acu-loc-addr .acu-geo,.acu-loc.is-online .acu-loc-addr .mb-2:has(.acu-gsearch){display:none}
.acu-loc.is-online{border-left-color:#6A4BC4!important}


/* ---- Brand (AcuHealthLine logo colours) & grouped navigation ---- */
.btn-primary{--bs-btn-bg:var(--acu-brand);--bs-btn-border-color:var(--acu-brand);--bs-btn-hover-bg:var(--acu-brand-d);--bs-btn-hover-border-color:var(--acu-brand-d);--bs-btn-active-bg:var(--acu-brand-d);--bs-btn-active-border-color:var(--acu-brand-d);--bs-btn-disabled-bg:var(--acu-brand);--bs-btn-disabled-border-color:var(--acu-brand)}
.btn-outline-primary{--bs-btn-color:var(--acu-brand);--bs-btn-border-color:var(--acu-brand);--bs-btn-hover-bg:var(--acu-brand);--bs-btn-hover-border-color:var(--acu-brand);--bs-btn-active-bg:var(--acu-brand-d)}
a{color:var(--acu-brand)}
.form-control:focus,.form-select:focus{border-color:#5B9BD0;box-shadow:0 0 0 .2rem rgba(0,92,160,.15)}
.form-check-input:checked{background-color:var(--acu-brand);border-color:var(--acu-brand)}
.acu-top{position:sticky;top:0;z-index:1030;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06),0 2px 10px rgba(0,40,80,.06)}
.acu-top::after{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--acu-brand) 0 55%,var(--acu-green) 55% 85%,var(--acu-orange) 85%)}
.acu-nav2{padding-top:.4rem;padding-bottom:.4rem}
.acu-brand{display:flex;align-items:center;padding:0;margin-right:.5rem}
.acu-logo-full{height:48px;width:auto}
.acu-logo-mark{display:none;height:34px;width:auto}
@media (max-width:340px){.acu-logo-full{display:none}.acu-logo-mark{display:block}}
@media (max-width:575px){.acu-logo-full{height:40px}}
.acu-app-tag{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--acu-green);border:1.5px solid var(--acu-green);border-radius:999px;padding:.1rem .55rem;margin-right:auto}
.acu-nav2 .nav-link{color:#24384F;font-weight:600;border-radius:10px;padding:.5rem .75rem!important}
.acu-nav2 .nav-link:hover,.acu-nav2 .nav-link:focus-visible{background:#EEF4FA;color:var(--acu-brand)}
.acu-nav2 .nav-link.active{color:var(--acu-brand);background:#E6F0F9}
.acu-navlink{display:flex;align-items:center;gap:.4rem}
.acu-navlink.acu-g-green.active{color:#4E7F17;background:#EEF6E3}
.acu-navlink.acu-g-orange.active{color:#B55A07;background:#FDF0E2}
.acu-menu{min-width:300px;padding:.4rem;border-radius:14px;border:1px solid var(--acu-line);box-shadow:0 10px 30px rgba(0,40,80,.12)}
.acu-menu .dropdown-item{display:flex;gap:.65rem;align-items:flex-start;border-radius:10px;padding:.5rem .6rem;white-space:normal}
.acu-menu .dropdown-item svg{flex:none;margin-top:2px;color:var(--acu-brand)}
.acu-menu .dropdown-item strong{display:block;font-weight:650;color:#16233A}
.acu-menu .dropdown-item small{display:block;color:var(--acu-muted);line-height:1.25}
.acu-menu .dropdown-item:hover,.acu-menu .dropdown-item:focus{background:#EEF4FA}
.acu-me{display:flex;align-items:center;gap:.45rem}
.acu-me-av{display:inline-flex;width:32px;height:32px;border-radius:50%;background:var(--acu-brand);color:#fff;align-items:center;justify-content:center;font-weight:700}
.acu-nav-level{font-size:.7rem;background:#EEF6E3;color:#4E7F17;border-radius:10px;padding:1px 7px;font-weight:600}
.acu-btn-brand{background:var(--acu-orange);color:#fff;font-weight:600;border:0}.acu-btn-brand:hover{background:#d46f12;color:#fff}
@media (max-width:991px){
  .acu-nav2 .navbar-collapse{max-height:calc(100vh - 70px);overflow:auto;padding:.5rem 0 1rem}
  .acu-menu{box-shadow:none;border:0;padding:0 0 .25rem .5rem;min-width:0}
  .acu-nav2 .navbar-nav{gap:2px}
}
.acu-footer{color:var(--acu-muted);border-top:1px solid var(--acu-line);padding:1rem 0;margin-top:1rem}
.acu-tagline{color:var(--acu-orange);font-weight:700}
.acu-main{min-height:calc(100vh - 140px)}

/* staff home */
.acu-dash-head{margin-bottom:1rem}
.acu-stats{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem}
.acu-stat{display:flex;gap:.7rem;align-items:center;padding:.8rem 1rem;background:#fff;border:1px solid var(--acu-line);border-radius:14px;text-decoration:none;color:inherit}
.acu-stat svg{color:var(--acu-brand);flex:none}
.acu-stat b{display:block;font-size:1.45rem;line-height:1.1;color:#0E2F4F}
.acu-stat small{color:var(--acu-muted)}
.acu-stat:hover{box-shadow:0 4px 14px rgba(0,40,80,.1)}
.acu-modgroup{margin-bottom:1.5rem}
.acu-modgroup-h{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--acu-brand);margin:0 0 .6rem;display:flex;align-items:center;gap:.5rem}
.acu-modgroup-h::after{content:"";flex:1;height:1px;background:var(--acu-line)}
.acu-g-green .acu-modgroup-h{color:#4E7F17}.acu-g-orange .acu-modgroup-h{color:#B55A07}
.acu-mods{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.acu-mod{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem 1rem;background:#fff;border:1px solid var(--acu-line);border-radius:14px;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.acu-mod:hover,.acu-mod:focus-visible{box-shadow:0 6px 18px rgba(0,40,80,.12);transform:translateY(-1px)}
.acu-mod-ic{flex:none;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#E6F0F9;color:var(--acu-brand)}
.acu-g-green .acu-mod-ic{background:#EEF6E3;color:#4E7F17}.acu-g-orange .acu-mod-ic{background:#FDF0E2;color:#B55A07}
.acu-mod strong{display:block;color:#16233A}
.acu-mod small{display:block;color:var(--acu-muted);line-height:1.3}
@media (prefers-reduced-motion:reduce){.acu-mod{transition:none}}
/* sign-in page */
.acu-login-logo{display:block;width:min(280px,80%);height:auto;margin:0 auto .75rem}

/* responsive safety: wide content scrolls inside its box, never the page */
.acu-main img,.acu-main svg,.acu-main iframe{max-width:100%}
.acu-main pre,.acu-main code{white-space:pre-wrap;overflow-wrap:anywhere}
.table-responsive{-webkit-overflow-scrolling:touch}
@media (max-width:575px){
  .acu-main{padding-left:12px;padding-right:12px}
  .acu-main h1.h3,.acu-main .h3{font-size:1.35rem}
  .acu-card.p-4{padding:1rem!important}
  .btn-group{flex-wrap:wrap}
}

/* ---- Recharge / credits ---- */
.rc-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.rc-balance{display:flex;flex-direction:column;align-items:center;min-width:130px;padding:.6rem 1.1rem;border-radius:16px;background:linear-gradient(135deg,#005CA0,#0A73C2);color:#fff;line-height:1.1}
.rc-balance b{font-size:2rem}
.rc-balance span{font-size:.75rem;opacity:.9;text-transform:uppercase;letter-spacing:.05em}
.rc-card{background:#fff;border:1px solid var(--acu-line,#D8E0E8);border-radius:16px;padding:1rem;margin-bottom:1rem}
.rc-pending{border-color:#F3C58E;background:#FFF8EF}
.rc-packs{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.rc-pack{position:relative;display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--acu-line,#D8E0E8);border-radius:16px;padding:1rem}
.rc-pack.best{border-color:#7DB838;box-shadow:0 6px 20px rgba(125,184,56,.18)}
.rc-best{position:absolute;top:-.7rem;right:1rem;background:#7DB838;color:#fff;font-size:.72rem;font-weight:700;padding:.15rem .6rem;border-radius:999px}
.rc-pack h3{font-size:1.05rem;font-weight:700;margin:0 0 .25rem}
.rc-price{font-size:1.6rem;font-weight:800;color:#0E2F4F}
.rc-credits{margin-bottom:.35rem}
.rc-credits b{font-size:1.15rem;color:#005CA0}
.rc-bonus{font-size:.75rem;font-weight:700;color:#4E7F17;background:#EEF6E3;border-radius:999px;padding:.1rem .45rem}
.rc-actions{margin-top:auto;display:grid;gap:.4rem}
.rc-manual{border-top:1px dashed var(--acu-line,#D8E0E8);padding-top:.5rem;margin-top:.25rem}
.rc-st{display:inline-block;font-size:.72rem;font-weight:700;border-radius:999px;padding:.1rem .5rem;background:#EEF0F2;color:#4a535c}
.rc-st-paid{background:#DDF3E6;color:#1F6B42}.rc-st-pending{background:#FFF4D6;color:#7A5300}
.rc-st-cancelled,.rc-st-failed{background:#FDE2E0;color:#8C1D18}
.rc-cost{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;color:#B55A07;background:#FDF0E2;border-radius:999px;padding:.15rem .6rem;font-size:.8rem}
.rc-unlock{border:1.5px solid #F3C58E;background:#FFFAF3;border-radius:14px;padding:1rem}
/* ---------- point sizes: protocol own mm, per-point size, setup screen ---------- */
.acu-seg-mm{flex-wrap:wrap}
.acu-mm-custom{max-width:150px;margin-top:6px}
.acu-mm-note{margin-top:4px!important;font-size:.75rem}
.acu-chip-tools{align-items:center}
.acu-psz{border:1px solid transparent;background:transparent;color:var(--acu-muted);font-size:.75rem;border-radius:6px;height:30px;padding:0 4px;max-width:92px;cursor:pointer}
.acu-psz:hover{background:#e6ecf2;color:var(--acu-ink)}
.acu-psz.on{border-color:var(--acu-orange);color:#9a4d07;background:#fff4ea;font-weight:600}
.acu-psz:focus-visible{outline:2px solid var(--acu-brand);outline-offset:0}
.acu-psz-in{width:64px;height:30px;border:1px solid var(--acu-line);border-radius:6px;font-size:.8rem;padding:0 4px}
.ps-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}
.ps-tabs .nav-link{white-space:nowrap}
.ps-dot{display:inline-block;width:var(--d,10px);height:var(--d,10px);border-radius:50%;background:var(--acu-orange);border:1.5px solid #4a4f57;vertical-align:middle}
.ps-dot.is-empty{--d:10px;background:transparent;border-style:dashed;border-color:var(--acu-line)}
.ps-table td,.ps-table th{white-space:nowrap}
.ps-table td:first-child{min-width:110px}
.ps-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.ps-photo{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--acu-line);border-radius:12px;padding:8px;min-width:0}
.ps-photo.is-detail{background:#f8fafc}
.ps-photo-b{min-width:0;flex:1}
.ps-thumb{width:64px;height:64px;object-fit:contain;border-radius:8px;background:#f2f5f8;flex:none}
.ps-savebar{position:sticky;bottom:0;background:linear-gradient(transparent,var(--acu-bg) 30%);padding:14px 0 10px;text-align:right;z-index:2}
.ps-dlg{border:0;border-radius:16px;padding:16px;width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 24px)}
.ps-dlg::backdrop{background:rgba(14,30,50,.55)}
.ps-dlg-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.ps-dlg-stage{position:relative;display:inline-block;max-width:100%}
.ps-dlg-stage img{display:block;max-width:100%;max-height:60vh;cursor:crosshair;border-radius:8px}
.ps-dlg-svg{position:absolute;left:0;top:0;pointer-events:none}
.ps-dlg-svg circle{fill:rgba(236,129,31,.35);stroke:#EC811F;stroke-width:2}
.ps-dlg-svg line{stroke:#EC811F;stroke-width:2;stroke-dasharray:6 4}
.ps-card{overflow:hidden}
.ps-new input::placeholder{color:#a3adba;font-style:italic}
/* consultation types & fees (therapist profile, setup) */
.acu-ct-list{display:grid;gap:8px}
.acu-ct-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;border:1px solid var(--acu-line);border-radius:12px;padding:8px 12px;background:#fff}
.acu-ct-name{flex:1 1 220px;min-width:0}
.acu-ct-name .form-check-label{line-height:1.25}
.acu-ct-fee{flex:0 1 300px;min-width:220px}
.acu-ct-fee .form-select{max-width:140px}
.acu-ct-fee-tag{display:inline-block;font-weight:700;color:#0E2F4F;background:#eef6e3;border:1px solid #cfe5b3;border-radius:999px;padding:1px 8px;font-size:.8rem;white-space:nowrap}
/* online consultation requests waiting for a reply */
.acu-req{border-left:4px solid var(--acu-orange)}
.acu-req-list{display:flex;flex-direction:column;gap:8px}
.acu-req-row{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;align-items:center;border-top:1px solid var(--acu-line);padding-top:8px}
.acu-req-row:first-child{border-top:0;padding-top:0}
.acu-req-row.late .acu-req-main strong{color:#b3261e}
.acu-req-main{min-width:0;flex:1 1 260px}
/* consultation reports */
.rp-results{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.rp-hit{text-align:left;border:1px solid var(--acu-line);background:#fff;border-radius:10px;padding:8px 10px}
.rp-hit:hover,.rp-hit:focus-visible{border-color:var(--acu-brand);background:#f3f8fc}
.rp-hit.on{opacity:.6}
.rp-chosen{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.rp-chosen li{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--acu-line);border-left:4px solid var(--acu-green);border-radius:12px;padding:8px 10px;background:#fbfdf8}
.rp-n{flex:none;width:24px;height:24px;border-radius:50%;background:var(--acu-green);color:#fff;font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center;margin-top:2px}
.rp-c{flex:1;min-width:0}
.rp-tools{display:flex;gap:2px}
.rp-tools button{border:0;background:transparent;width:30px;height:30px;border-radius:6px;color:var(--acu-muted)}
.rp-tools button:hover{background:#e6ecf2;color:var(--acu-ink)}
.rp-tools .rp-del:hover{color:#b3261e;background:#fdecea}
.rp-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 18px;margin:0 0 14px;padding:12px 14px;background:#f5f8fb;border-radius:12px}
.rp-meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--acu-muted);font-weight:600}
.rp-meta dd{margin:0}
.rp-sec{margin-bottom:16px}
.rp-sec h3{font-size:1rem;font-weight:700;color:#0E2F4F;border-bottom:2px solid var(--acu-line);padding-bottom:4px;margin-bottom:8px}
.rp-freq{font-size:.8rem;font-weight:600;color:#3e6b12;background:#eef7e2;border-radius:999px;padding:2px 10px;margin-left:6px;white-space:nowrap}
.rp-proto{padding:8px 0 4px;border-top:1px dashed var(--acu-line)}
.rp-proto:first-of-type{border-top:0}
.rp-proto h4{font-size:.98rem;font-weight:700;margin:0 0 4px}
.rp-note{margin:0 0 6px;padding:6px 10px;background:#fff4ea;border-left:3px solid var(--acu-orange);border-radius:6px;font-size:.9rem}
.rp-actions .btn{flex:1 1 auto}
/* case: build and share */
.cb-build{border:1px dashed var(--acu-green);border-radius:12px;padding:12px;background:#fbfdf8}
.cb-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cb-tabs button{border:1px solid var(--acu-line);background:#fff;border-radius:999px;padding:5px 14px;font-size:.88rem;color:var(--acu-muted)}
.cb-tabs button[aria-selected="true"]{background:var(--acu-brand);border-color:var(--acu-brand);color:#fff}
.cb-picked{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.cb-chip{display:inline-flex;align-items:center;gap:4px;background:#eef7e2;border:1px solid #cfe5b3;border-radius:999px;padding:2px 4px 2px 10px;font-size:.85rem}
.cb-chip button{border:0;background:transparent;width:22px;height:22px;border-radius:50%;line-height:1}
.cb-chip button:hover{background:#fdecea;color:#b3261e}
.cb-note{flex:1 1 220px;max-width:420px}
.cb-method{max-width:280px}
.cb-item{border-top:1px solid var(--acu-line);padding:10px 0}
.cb-item:first-of-type{border-top:0}
.cb-src{display:inline-block;font-size:.72rem;font-weight:600;border-radius:999px;padding:1px 8px;margin-left:6px;background:#e6f0f9;color:#005CA0}
.cb-src-anatomy{background:#fff1e3;color:#8a4405}
.cb-src-built{background:#eef7e2;color:#3e6b12}
.cb-src-shared{background:#f1e8fb;color:#5b2d8f}
.cb-noteform{display:flex;gap:6px;align-items:center;margin:6px 0}
.cb-noteform input{max-width:420px}
.cb-circle{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.cb-fee{display:table;font-style:normal;font-weight:650;color:#8a4405;background:#fff1e3;border-radius:999px;padding:0 9px;font-size:.8rem;margin:2px 0}
.cb-share{border-top:1px solid var(--acu-line);padding:8px 0}
.cb-share-completed{border-left:3px solid var(--acu-green);padding-left:10px}
.sc-list{display:flex;flex-direction:column;gap:10px}
.sc-item:hover{border-color:var(--acu-brand)}
.acu-anat-pick{display:inline-block}
.cb-circle.pt-choice{display:grid;gap:.5rem}
.cb-circle.pt-choice label{display:flex;gap:.6rem;align-items:center;padding:.6rem .75rem;border:1.5px solid var(--acu-line);border-radius:12px;background:#fff;cursor:pointer;margin:0}
.cb-circle.pt-choice label:has(input:checked){border-color:var(--acu-brand);background:#EEF5FC}
.cb-circle.pt-choice input{width:1.05rem;height:1.05rem;flex:none;accent-color:var(--acu-brand)}
.cb-circle.pt-choice small{display:block;color:var(--acu-muted)}
.cb-circle.pt-choice span{min-width:0}
/* protocols shown properly: photos with plotted points + point list */
.pv-proto{border:1px solid var(--acu-line);border-radius:14px;padding:12px;margin:10px 0;background:#fff;break-inside:avoid-page}
.pv-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-bottom:8px}
.pv-therapy{font-weight:600}
.pv-meta{font-size:.82rem;color:var(--acu-muted)}
.pv-key{display:inline-flex;align-items:center;gap:5px;font-size:.85rem}
.pv-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--pc);color:#fff;font-style:normal;font-weight:700;font-size:.72rem;border:1.5px solid #4a4f57;flex:none}
.pv-dot.light{color:#222}
.pv-guide{font-size:.9rem;margin:0 0 8px}
.pv-lines{margin:0 0 10px;padding-left:1.3rem}
.pv-lines code{color:#0E2F4F;background:#f3f6f9;border-radius:6px;padding:1px 6px;white-space:normal}
.pv-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:10px}
.pv-fig{margin:0;break-inside:avoid}
.pv-stage{position:relative;border:1px solid var(--acu-line);border-radius:10px;overflow:hidden;background:#fff}
.pv-stage img{display:block;width:100%;height:auto}
.pv-pin{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;min-width:9px;border-radius:50%;background:var(--pc);border:1.5px solid #3a3f47;box-shadow:0 0 0 1px rgba(255,255,255,.7)}
.pv-pin.square{border-radius:2px}
.pv-pin.twin{opacity:.85}
.pv-tag{position:absolute;left:100%;top:50%;transform:translate(3px,-50%);font-size:10px;line-height:1;font-weight:700;color:#0E2F4F;background:rgba(255,255,255,.88);border-radius:4px;padding:2px 3px;white-space:nowrap;pointer-events:none}
.pv-tag.left{left:auto;right:100%;transform:translate(-3px,-50%)}
.pv-fig figcaption{font-size:.78rem;color:var(--acu-muted);margin-top:4px}
.pv-table{margin:0;font-size:.88rem}
.pv-table .pv-group th{background:#f5f8fb;font-size:.8rem;color:#0E2F4F}
@media print{.pv-proto{border-color:#ccc}.pv-photos{grid-template-columns:repeat(3,1fr)}}
.pv-case-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 18px;padding:12px 14px;background:#f5f8fb;border-radius:12px;margin-bottom:12px}
.pv-case-meta span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--acu-muted);font-weight:600}
.pv-case-meta .pv-wide{grid-column:1/-1}
.pv-cond{padding-top:6px;margin-bottom:18px;scroll-margin-top:80px}
.pv-cond-h{font-size:1.1rem;font-weight:700;color:#0E2F4F;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px}
.pv-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--acu-brand);color:#fff;font-size:.9rem}
.pv-jump{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.pv-jump a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:8px;border:1px solid var(--acu-line);background:#fff;text-decoration:none;font-weight:600}
.pv-jump a:hover{border-color:var(--acu-brand)}
/* case protocols laid out like the Treatments screen (read-only) */
.cv-table{font-size:.92rem}
.cv-lines{margin:0;padding-left:1.2rem}
.cv-lines code{color:#0E2F4F;white-space:normal}
.cv-card .acu-tc-head{padding:10px 14px}
.cv-toggle{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:0;text-align:left;min-width:0}
.cv-body{border-top:1px solid var(--acu-line);padding:14px}
.cv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;align-items:start}
@media (max-width:991.98px){.cv-grid{grid-template-columns:minmax(0,1fr)}}
.cv-left{background:#f7f9fb;border:1px solid var(--acu-line);border-radius:14px;padding:10px}
.cv-tabs{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}
.cv-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.cv-zoom{display:inline-flex}
.cv-zoom button{border:1px solid var(--acu-line);background:#fff;padding:3px 10px;font-size:.82rem;color:var(--acu-muted)}
.cv-zoom button:first-child{border-radius:8px 0 0 8px}.cv-zoom button:last-child{border-radius:0 8px 8px 0}
.cv-zoom button.on{background:#eef3f8;color:var(--acu-ink);font-weight:600}
.cv-viewport{border:1px solid var(--acu-line);border-radius:10px;background:#fff;overflow:auto;max-height:70vh}
.cv-viewport:focus-visible{outline:2px solid var(--acu-brand);outline-offset:2px}
.cv-stage{border:0;border-radius:0;margin:0 auto;width:calc(100% * var(--z,1));max-width:none}
.cv-viewer:not(.zoomed) .cv-viewport{overflow:hidden;display:flex;justify-content:center;align-items:flex-start}
.cv-viewer:not(.zoomed) .cv-stage{width:auto;max-width:100%;display:inline-block}
.cv-viewer:not(.zoomed) .cv-stage img{width:auto;max-width:100%;max-height:min(62vh,560px)}
.cv-viewer.nocodes .pv-tag{display:none}
.cv-cap{margin-top:6px}
.cv-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0 0 10px;font-size:.92rem}
.cv-dl dt{color:var(--acu-muted);font-weight:500}
.cv-dl dd{margin:0}
.cv-added{border:1px solid var(--acu-line);border-radius:10px;padding:8px 10px;margin-bottom:12px}
.cv-line{display:flex;gap:8px;align-items:baseline;padding:3px 0}
.cv-line span{color:var(--acu-muted);font-size:.8rem;min-width:1.2em}
.cv-line code{color:#0E2F4F;white-space:normal}
.cv-energy{border:1px solid var(--acu-line);border-radius:12px;padding:10px;margin-bottom:10px}
.cv-energy-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.cv-chips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}
.cv-chips li{display:flex;align-items:center;gap:10px;background:#f7f9fb;border-radius:10px;padding:6px 10px}
.cv-seq{flex:none;width:22px;height:22px;border-radius:50%;background:#e6ecf2;color:var(--acu-ink);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.cv-ctext{flex:1;min-width:0;font-size:.9rem}
.cv-ctext span{color:var(--acu-muted)}
.cv-ctext small{display:block;color:var(--acu-muted);font-size:.75rem}
.cv-size{font-size:.75rem;background:#fff1e3;color:#8a4405;border-radius:999px;padding:1px 8px;white-space:nowrap}
.cv-card{container-type:inline-size}
@container (max-width:720px){.cv-grid{grid-template-columns:minmax(0,1fr)}}
/* case: one protocol list + one viewer */
.cp-list{display:flex;flex-direction:column;gap:8px}
.cp-item{border:1px solid var(--acu-line);border-radius:12px;padding:10px 12px;background:#fff}
.cp-item.has-photos{cursor:pointer}
.cp-item.has-photos:hover{border-color:#9fbfdb}
.cp-item.is-shown{border-color:var(--acu-brand);box-shadow:0 0 0 2px rgba(0,92,160,.12)}
.cp-head{display:flex;align-items:flex-start;gap:10px}
.cp-title{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.cp-title .cb-src{margin-left:0}
.cp-actions{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.cp-noteform{margin:8px 0 0 34px}
.cp-noteform input{max-width:none;flex:1}
.cp-note{background:#fff4ea;border-left:3px solid var(--acu-orange);border-radius:6px;padding:3px 8px;margin:6px 0 0 34px}
.cp-empty{margin-left:34px!important;margin-top:6px!important}
.cp-method{margin:8px 0 0 34px;padding-top:6px;border-top:1px dashed var(--acu-line);font-size:.88rem}
.cp-mhead{margin-bottom:2px}
.cp-lines{margin:0;padding-left:1.2rem}
div.cp-lines{padding-left:0}
.cp-lines code{color:#0E2F4F;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.cp-viewer{margin-top:4px}
.cp-cap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:.95rem}
.cp-cap .pv-num{width:24px;height:24px;font-size:.8rem}
@media (max-width:575.98px){.cp-noteform,.cp-note,.cp-method,.cp-empty{margin-left:0!important}.cp-head{flex-wrap:wrap}.cp-actions{width:100%;justify-content:flex-start}}

/* Read-only photo viewer (common/_viewer): the condition-creation viewer, used everywhere protocols are shown */
.acu-pv-ro{position:static}
.acu-pv-ro .acu-pv-pin{height:auto;aspect-ratio:1;min-width:5px;cursor:default}
.acu-pv-ro.nocodes .acu-tag{display:none}
.acu-pv-ro .acu-pv-viewport.is-fit{display:block}
.acu-pv-ro .acu-pv-viewport.is-fit .acu-pv-slide{display:flex;justify-content:center}
.acu-pv-ro .acu-pv-slide[hidden]{display:none!important}
.acu-pv-ro .acu-pv-pcap{display:none}
.acu-pv-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.95rem}
.acu-pv-head[hidden],.acu-pv-ro .acu-lg-count[hidden]{display:none}
.acu-pv-head .pv-num{width:24px;height:24px;font-size:.8rem}
@media print{
  .acu-pv-ro{border:0;padding:0;background:none}
  .acu-pv-ro .acu-pv-tabs,.acu-pv-ro .acu-tc-viewbar,.acu-pv-ro .acu-pv-legend,.acu-pv-ro .acu-pv-head{display:none!important}
  .acu-pv-ro .acu-pv-viewport{max-height:none;overflow:visible;border:0;display:grid!important;grid-template-columns:repeat(2,1fr);gap:10px}
  .acu-pv-ro .acu-pv-slide,.acu-pv-ro .acu-pv-slide[hidden]{display:block!important;break-inside:avoid}
  .acu-pv-ro .acu-pv-stage{width:100%!important}
  .acu-pv-ro .acu-pv-pcap{display:block;font-size:.75rem;color:#555;margin-top:2px}
}
.acu-pv-ro.is-static{border:0;padding:0;background:none}
.acu-pv-ro.is-static .acu-pv-tabs,.acu-pv-ro.is-static .acu-tc-viewbar,.acu-pv-ro.is-static .acu-pv-legend,.acu-pv-ro.is-static .acu-pv-head{display:none!important}
.acu-pv-ro.is-static .acu-pv-viewport{max-height:none;overflow:visible;border:0;display:grid!important;grid-template-columns:repeat(2,1fr);gap:10px}
.acu-pv-ro.is-static .acu-pv-slide,.acu-pv-ro.is-static .acu-pv-slide[hidden]{display:block!important;break-inside:avoid}
.acu-pv-ro.is-static .acu-pv-stage{width:100%!important}
.acu-pv-ro.is-static .acu-pv-pcap{display:block;font-size:.75rem;color:#555;margin-top:2px}
.pv-viewer{margin-bottom:10px}
.acu-pv-ref{display:inline-flex;align-items:center;gap:6px;margin-right:6px}
/* protocol categories */
.acu-pv-groups{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.acu-pv-g{border:1px solid #cfd8e3;background:#fff;border-radius:999px;padding:4px 12px;font-size:.85rem;color:var(--acu-ink)}
.acu-pv-g small{color:var(--acu-muted);margin-left:2px}
.acu-pv-g[aria-pressed="true"]{background:var(--acu-brand);border-color:var(--acu-brand);color:#fff}
.acu-pv-g[aria-pressed="true"] small{color:rgba(255,255,255,.8)}
.acu-pv-g:focus-visible{outline:2px solid var(--acu-brand);outline-offset:2px}
@media (pointer:coarse){.acu-pv-g{padding:8px 14px}}
.acu-sl-dot[hidden]{display:none}
.acu-pv-cat{display:inline-block;font-size:.72rem;font-weight:600;padding:1px 8px;border-radius:999px;background:#eef3f8;color:#2b4a6f;border:1px solid #d5e0ec;white-space:nowrap}
.acu-cat-row,.acu-cat-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.acu-cat-row .form-select{flex:1 1 180px;max-width:280px}
.acu-cat-add{margin-top:8px}.acu-cat-add .form-control{flex:1 1 180px;max-width:280px}
.acu-cat-add[hidden]{display:none}
.acu-cat-msg:empty{display:none}
@media print{.acu-pv-ro .acu-pv-groups{display:none!important}}
.acu-pv-ro.is-static .acu-pv-groups{display:none!important}

/* Treatment prescription (case/protocols) */
.acu-th-logo{min-height:56px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--acu-line);border-radius:10px;padding:6px;background:#fff}
.acu-th-logo img{max-width:100%;max-height:70px;object-fit:contain}
.rx-paper{background:#eef2f6;border-radius:16px;padding:16px}
.rx-doc{--rx:#005CA0;background:#fff;color:#16233A;max-width:860px;margin:0 auto;padding:28px 32px;border-radius:6px;box-shadow:0 1px 3px rgba(22,35,58,.12),0 8px 24px rgba(22,35,58,.06);font-size:.92rem;line-height:1.45}
.rx-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:3px solid var(--rx);position:relative}
.rx-head::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#8cc63f}
.rx-brand{display:flex;gap:14px;align-items:flex-start;min-width:0}
.rx-logo{width:auto;height:64px;max-width:150px;object-fit:contain;flex:none}
.rx-name{font-size:1.25rem;font-weight:700;color:#0E2F4F;line-height:1.2}
.rx-qual{font-weight:600;color:var(--rx);font-size:.85rem}
.rx-centre{font-weight:600;margin-top:2px}
.rx-line{font-size:.8rem;color:#5A6678}
.rx-title{text-align:right;flex:none}
.rx-doc-name{font-size:1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rx)}
.rx-ref{margin:6px 0 0;font-size:.8rem}
.rx-ref div{display:flex;justify-content:flex-end;gap:8px}
.rx-ref dt{font-weight:400;color:#5A6678}.rx-ref dd{margin:0;font-weight:600}
.rx-patient{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;padding:12px 14px;margin:20px 0 6px;background:#f5f8fb;border:1px solid #e1e8f0;border-radius:10px}
.rx-patient span,.rx-when span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#5A6678;font-weight:600}
.rx-patient .rx-wide{grid-column:1/-1}
.rx-sec{margin-top:20px}
.rx-h{display:flex;align-items:center;gap:8px;font-size:1.02rem;font-weight:700;color:#0E2F4F;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid #e1e8f0}
.rx-h span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--rx);color:#fff;font-size:.78rem}
.rx-hint{font-size:.8rem;color:#5A6678;margin:-4px 0 10px}
.rx-plan{width:100%;border-collapse:collapse;font-size:.86rem}
.rx-plan th{background:#0E2F4F;color:#fff;font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;padding:7px 8px;text-align:left}
.rx-plan td{border-bottom:1px solid #e1e8f0;padding:8px;vertical-align:top}
.rx-plan tbody tr:nth-child(even) td{background:#fafcfe}
.rx-plan .rx-n{font-weight:700;color:var(--rx);width:28px}
.rx-plan code{color:#16233A;background:#eef3f8;padding:1px 5px;border-radius:4px;font-size:.82rem;white-space:normal}
.rx-lines{margin:0;padding-left:18px}.rx-lines li{margin:1px 0}
.rx-sub,.rx-tip{font-size:.76rem;color:#5A6678;margin-top:2px}
.rx-note{font-size:.8rem;background:#fff6e8;border-left:3px solid #f0a23b;padding:2px 6px;margin-top:4px}
.rx-cat{margin-top:12px;break-inside:auto}
.rx-cat-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.92rem;margin:0 0 8px}
.rx-cat-h .acu-pv-cat{font-size:.82rem;padding:2px 10px;background:var(--rx);color:#fff;border-color:var(--rx)}
.rx-cat-refs{font-weight:600}.rx-cat-h small{color:#5A6678;font-weight:400}
.rx-doc .acu-pv-ro.is-static .acu-pv-viewport{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rx-doc .acu-pv-ro.is-static .acu-pv-slide{border:1px solid #e1e8f0;border-radius:8px;padding:6px;background:#fff}
.rx-doc .acu-pv-ro.is-static .acu-pv-pcap{font-size:.72rem;color:#5A6678;margin-top:4px;text-align:center}
.rx-when{display:flex;flex-wrap:wrap;gap:10px 28px;padding:10px 14px;border:1px solid #e1e8f0;border-radius:10px;margin-bottom:12px;font-weight:600}
.rx-dd{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rx-dd h3,.rx-advice h3{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}
.rx-do,.rx-dont{border-radius:10px;padding:10px 14px}
.rx-do{background:#f1f8ea;border:1px solid #cfe6b8}.rx-do h3{color:#3d7a12}
.rx-dont{background:#fdf0f0;border:1px solid #f1c9c9}.rx-dont h3{color:#b02a2a}
.rx-dd ul{list-style:none;margin:0;padding:0}
.rx-dd li{position:relative;padding-left:22px;margin:4px 0}
.rx-do li::before{content:"✓";position:absolute;left:0;color:#3d7a12;font-weight:700}
.rx-dont li::before{content:"✗";position:absolute;left:0;color:#b02a2a;font-weight:700}
.rx-advice{margin-top:12px;padding:10px 14px;border:1px solid #e1e8f0;border-radius:10px}
.rx-advice p{margin:0}
.rx-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:28px;padding-top:12px;border-top:1px solid #e1e8f0}
.rx-disc{font-size:.74rem;color:#5A6678;margin:0;max-width:60%}
.rx-sign{text-align:center;min-width:200px;display:flex;flex-direction:column;font-size:.85rem}
.rx-sign-line{border-bottom:1px solid #16233A;height:42px;margin-bottom:4px}
.rx-sign span{font-size:.76rem;color:#5A6678}
@media (max-width:640px){
  .rx-paper{padding:0;background:none}
  .rx-doc{padding:16px;box-shadow:none;border:1px solid var(--acu-line)}
  .rx-head{flex-direction:column}.rx-title{text-align:left}.rx-ref div{justify-content:flex-start}
  .rx-patient{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rx-doc .acu-pv-ro.is-static .acu-pv-viewport{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rx-dd{grid-template-columns:1fr}
  .rx-plan thead{display:none}.rx-plan,.rx-plan tbody,.rx-plan tr,.rx-plan td{display:block;width:auto}
  .rx-plan td[rowspan]{border-bottom:0;padding-bottom:0}
  .rx-foot{flex-direction:column;align-items:stretch}.rx-disc{max-width:none}
}
@media print{
  .rx-paper{padding:0;background:none}
  .rx-doc{box-shadow:none;padding:0;max-width:none;font-size:10.5pt}
  .rx-plan tr,.rx-dd,.rx-advice,.rx-foot,.rx-when{break-inside:avoid}
  .rx-h,.rx-cat-h{break-after:avoid}
  .rx-plan th{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rx-do,.rx-dont,.rx-patient,.rx-cat-h .acu-pv-cat,.rx-h span,.rx-head::after{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rx-doc .acu-pv-ro .acu-pv-viewport{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rx-doc .acu-pv-ro .acu-pv-slide{break-inside:avoid}
}

/* Training Center */
.tr-hero{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}
.tr-h1{font-size:clamp(1.45rem,4vw,2rem);font-weight:750;color:#0E2F4F;margin:0 0 .3rem;letter-spacing:-.01em}
.tr-h2{font-size:1.1rem;font-weight:700;color:#0E2F4F;margin:0 0 .6rem}
.tr-lead{color:#4a5668;max-width:720px;margin:0}
.tr-search{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}
.tr-search .form-control{flex:1 1 220px;max-width:380px}
.tr-where{display:inline-flex;padding:2px;border-radius:10px;background:#e6ecf2}
.tr-where label{margin:0}.tr-where input{position:absolute;opacity:0;pointer-events:none}
.tr-where span{display:block;padding:6px 12px;border-radius:8px;font-size:.88rem;color:#4a5668;cursor:pointer}
.tr-where input:checked+span{background:#fff;color:#16233A;font-weight:600;box-shadow:0 1px 2px rgba(22,35,58,.15)}
.tr-where input:focus-visible+span{outline:2px solid var(--acu-brand);outline-offset:1px}
.tr-list{display:flex;flex-direction:column;gap:12px}
.tr-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:start;background:#fff;border:1px solid #e1e8f0;border-radius:14px;padding:14px;box-shadow:0 1px 2px rgba(22,35,58,.04)}
.tr-date{width:64px;border-radius:12px;background:#eef5fb;color:#005CA0;text-align:center;padding:8px 4px;line-height:1.1}
.tr-date b{display:block;font-size:1.5rem}.tr-date span{font-size:.78rem;font-weight:600;text-transform:uppercase}
.tr-title{font-size:1.05rem;font-weight:700;margin:0 0 4px}.tr-title a{color:#0E2F4F;text-decoration:none}.tr-title a:hover{text-decoration:underline}
.tr-tags{display:flex;flex-wrap:wrap;gap:6px}
.tr-tag{font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:999px;background:#f1f4f8;color:#3a4656;border:1px solid #dfe6ee}
.tr-tag.on{background:#eef7ea;color:#3d7a12;border-color:#cfe6b8}
.tr-facts{list-style:none;margin:8px 0 0;padding:0;font-size:.88rem}
.tr-facts li{margin:2px 0}.tr-facts span{display:inline-block;min-width:54px;color:#6b778a;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.tr-sum{font-size:.86rem;color:#4a5668;margin:6px 0 0}
.tr-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;min-width:130px}
.tr-fee s{color:#8a96a8;font-size:.8rem;margin-right:6px}.tr-fee strong{font-size:1.1rem;color:#0E2F4F}
.tr-seats{font-size:.78rem;color:#3d7a12;font-weight:600}.tr-seats.low{color:#b45309}
.tr-empty{padding:18px;border:1px dashed #cfd8e3;border-radius:12px;background:#fff;color:#4a5668;text-align:center}
.tr-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.tr-course{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid #e1e8f0;border-radius:12px;background:#fff;color:#16233A;text-decoration:none}
.tr-course:hover{border-color:var(--acu-brand)}.tr-course span{font-size:.78rem;color:#6b778a}.tr-course small{color:#4a5668}
.tr-batch{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.tr-book{position:sticky;top:12px;background:#fff;border:1px solid #e1e8f0;border-radius:14px;padding:16px;box-shadow:0 4px 18px rgba(22,35,58,.06)}
.tr-dl{display:grid;gap:8px;margin:12px 0;padding:12px 14px;background:#f7f9fb;border:1px solid #e1e8f0;border-radius:12px}
.tr-dl>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px}
.tr-dl dd>div+div{margin-top:2px}
.tr-dl dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#6b778a;font-weight:600;padding-top:2px}.tr-dl dd{margin:0}
.tr-note{padding:10px 12px;border-left:3px solid #f0a23b;background:#fff8ec;border-radius:6px;margin:10px 0}
.tr-box{background:#fff;border:1px solid #e1e8f0;border-radius:14px;padding:16px}
.tr-pay{border:0;padding:0;margin:0}
.tr-pay label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #dfe6ee;border-radius:10px;margin-bottom:6px;cursor:pointer}
.tr-pay label:has(input:checked){border-color:var(--acu-brand);background:#f3f8fd}
.tr-pay input{margin-top:4px}.tr-pay span{display:flex;flex-direction:column}.tr-pay small{color:#6b778a}
.tr-total{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;margin-bottom:8px;border-top:1px solid #e1e8f0;font-size:.95rem}.tr-total strong{font-size:1.25rem;color:#0E2F4F}
.tr-ticket{max-width:720px;background:#fff;border:1px solid #e1e8f0;border-top:6px solid #9aa5b4;border-radius:14px;padding:18px 20px}
.tr-ticket.ok{border-top-color:#3d7a12}.tr-ticket.off{border-top-color:#b02a2a;opacity:.85}
.tr-ticket-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:flex-start}
.tr-k{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#6b778a;font-weight:600}
.tr-code{font-size:1.8rem;font-weight:800;letter-spacing:.08em;color:#0E2F4F;font-variant-numeric:tabular-nums}
.tr-state{font-weight:600;padding:6px 12px;border-radius:999px;background:#f1f4f8}
.tr-ticket.ok .tr-state{background:#eef7ea;color:#2e6a0c}.tr-ticket.off .tr-state{background:#fdf0f0;color:#b02a2a}
.tr-act{margin-top:12px;padding:12px 14px;border-radius:10px;background:#f3f8fd;border:1px solid #d5e3f1}
.tr-mine{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e1e8f0;border-radius:12px;background:#fff;color:#16233A;text-decoration:none}
.tr-mine:hover{border-color:var(--acu-brand)}.tr-mine.off{opacity:.6}
.tr-promo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.tr-nav{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--acu-line)}
.tr-nav-a{padding:8px 12px;text-decoration:none;color:var(--acu-muted);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500}
.tr-nav-a[aria-current="page"]{color:var(--acu-brand);border-bottom-color:var(--acu-brand);font-weight:600}
.tr-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.tr-stats div{background:#fff;border:1px solid var(--acu-line);border-radius:12px;padding:10px 14px}
.tr-stats span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--acu-muted);font-weight:600}
.tr-stats strong{font-size:1.25rem}.tr-stats small{display:block;color:var(--acu-muted)}
.tr-meter{display:inline-block;width:56px;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--acu-brand) var(--p),#e1e8f0 var(--p));vertical-align:middle}
.tr-st{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 9px;border-radius:999px;background:#f1f4f8;white-space:nowrap}
.tr-st-open,.tr-st-booked{background:#e9f2fb;color:#005CA0}.tr-st-attended,.tr-st-completed{background:#eef7ea;color:#2e6a0c}
.tr-st-cancelled,.tr-st-no_show{background:#fdf0f0;color:#b02a2a}.tr-st-closed{background:#fff4e5;color:#9a5b00}
.tr-pay-paid{color:#2e6a0c;font-weight:600}.tr-pay-unpaid{color:#b45309;font-weight:600}.tr-pay-refunded{color:#6b778a}
.tr-table .tr-off td{opacity:.6}.tr-off{opacity:.7}
.tr-acts{white-space:nowrap}.tr-acts form{margin:2px}
.tr-adm-list{display:flex;flex-direction:column;gap:10px}
.tr-net{padding:8px 12px;background:#f3f8fd;border-radius:8px}
@media (max-width:900px){.tr-batch{grid-template-columns:1fr}.tr-book{position:static}}
@media (max-width:640px){
  .tr-card{grid-template-columns:52px minmax(0,1fr)}.tr-date{width:52px}
  .tr-side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;text-align:left;min-width:0}
  .tr-acts{white-space:normal;text-align:left!important}
}
@media print{.tr-noprint,.pt-tabbar,nav{display:none!important}.tr-ticket{border:1px solid #999}}
.tr-pay legend{font-size:1rem;font-weight:500;margin-bottom:.4rem}
.tr-syllabus h3{font-size:.95rem;font-weight:700;color:#0E2F4F;margin:14px 0 6px}
.tr-syllabus h3:first-child{margin-top:0}
.tr-syllabus ol,.tr-syllabus ul{margin:0 0 8px;padding-left:1.4rem}
.tr-syllabus li{margin:3px 0}
.tr-syllabus li>ul,.tr-syllabus li>ol{margin:4px 0}
.tr-syllabus p{margin:0 0 8px}
/* training: ways to join, boarding */
.tr-opt{border:1px solid var(--acu-line);border-radius:12px;padding:10px 14px 4px;background:#fafcfe}
.tr-opt legend{float:none;width:auto;font-size:.95rem;font-weight:600;padding:0 6px;margin:0 0 4px -6px}
.tr-opt legend .form-check-label,.tr-opt legend label{font-weight:600}
.tr-opt legend input[type=checkbox]{margin-right:6px}
.tr-pay label.is-off{opacity:.55;cursor:not-allowed}
.tr-board{padding:10px 12px;border:1px dashed #cfd8e3;border-radius:10px;background:#fffdf7}
.tr-board[hidden]{display:none}
/* training attendance and certificates */
.tr-days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;-webkit-overflow-scrolling:touch}
.tr-day{flex:none;display:flex;flex-direction:column;align-items:center;min-width:78px;padding:8px 10px;border:1px solid var(--acu-line);border-radius:12px;background:#fff;color:var(--acu-ink);text-decoration:none;line-height:1.2}
.tr-day b{font-size:1rem}.tr-day span{font-size:.75rem;color:var(--acu-muted)}.tr-day small{font-size:.7rem;color:#3d7a12;margin-top:2px}
.tr-day.later small{color:var(--acu-muted)}
.tr-day.on{border-color:var(--acu-brand);background:#eef5fb;box-shadow:inset 0 0 0 1px var(--acu-brand)}
.tr-day:focus-visible{outline:2px solid var(--acu-brand);outline-offset:2px}
.tr-att{list-style:none;margin:0 0 12px;padding:0;border:1px solid var(--acu-line);border-radius:12px;overflow:hidden}
.tr-att li+li{border-top:1px solid var(--acu-line)}
.tr-att-row{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:0;cursor:pointer;background:#fff}
.tr-att-row:has(input:checked){background:#f1f8ea}
.tr-att-row .form-check-input{width:2.6em;height:1.4em;margin:0;flex:none;border-radius:1em;cursor:pointer}
.tr-att-name{flex:1;display:flex;flex-direction:column}.tr-att-name small{color:var(--acu-muted)}
.tr-att-st{font-size:.75rem;color:var(--acu-muted)}
.tr-meter.low{background:linear-gradient(90deg,#d97706 var(--p),#e1e8f0 var(--p))}
.tr-verdict{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:12px;margin:12px 0}
.tr-verdict b{font-size:1.2rem}
.tr-verdict.ok{background:#eef7ea;border:1px solid #cfe6b8;color:#2e6a0c}
.tr-verdict.bad{background:#fdf0f0;border:1px solid #f1c9c9;color:#b02a2a}
.tr-cert-ok{background:#eef7ea;border-color:#cfe6b8}
@media (pointer:coarse){.tr-att-row{padding:14px}}

/* ===== App shell: sidebar menu + top bar (signed-in) ===== */
:root{--acu-side-w:256px;--acu-side-mini:68px}
.acu-skip{position:absolute;left:8px;top:8px;z-index:2000;background:#fff;padding:6px 10px;border-radius:8px}
body.acu-signed{background:#f3f6fa}
.acu-side,.acu-side.offcanvas-lg{background-color:#0f2a45!important;color:#d5e1ee;display:flex;flex-direction:column}
.acu-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 10px;background:#fff;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--acu-brand) 0 55%,var(--acu-green) 55% 85%,var(--acu-orange) 85%) 1}
.acu-side-brand{display:flex;align-items:center;min-height:40px}
.acu-side-logo{height:40px;width:auto}.acu-side-mark{display:none;height:32px;width:32px}
.acu-side-find{padding:10px 12px 6px}
.acu-side-find .form-control{background:#183a5c;border-color:#24507a;color:#fff}
.acu-side-find .form-control::placeholder{color:#8fa9c4}
.acu-side-find .form-control:focus{background:#1d4670;border-color:#6aa8e0;box-shadow:0 0 0 .2rem rgba(106,168,224,.25);color:#fff}
.acu-side-nav{flex:1;overflow-y:auto;padding:4px 8px 12px;scrollbar-width:thin;scrollbar-color:#2c587f transparent}
.acu-side-link{display:flex;align-items:center;gap:10px;padding:7px 10px;margin:1px 0;border-radius:9px;color:#d5e1ee;text-decoration:none;font-size:.9rem;line-height:1.25}
.acu-side-link svg{flex:none;opacity:.85}
.acu-side-link:hover,.acu-side-link:focus-visible{background:#1b4268;color:#fff}
.acu-side-link:focus-visible{outline:2px solid #8cc8ff;outline-offset:-2px}
.acu-side-link.on{background:#fff;color:#0f2a45;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.acu-side-link.on svg{opacity:1;color:var(--acu-brand)}
.acu-side-home{font-weight:600;margin-bottom:6px}
.acu-side-group{margin-top:4px}
.acu-side-gh{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;color:#8fb3d6;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:9px 10px 5px;border-radius:8px;text-align:left}
.acu-side-gh:hover{color:#fff}
.acu-side-gh:focus-visible{outline:2px solid #8cc8ff}
.acu-g-green .acu-side-gh{color:#a9d27a}.acu-g-orange .acu-side-gh{color:#f2b26b}
.acu-side-chev{margin-left:auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.acu-side-group.closed .acu-side-chev{transform:rotate(-45deg)}
.acu-side-items{list-style:none;margin:0;padding:0}
.acu-side-group.closed .acu-side-items{display:none}
.acu-side-foot{padding:8px;border-top:1px solid #1f4569}
.acu-side-mini{align-items:center;gap:10px;width:100%;border:0;background:none;color:#8fb3d6;padding:7px 10px;border-radius:9px;font-size:.85rem}
.acu-side-mini:hover{background:#1b4268;color:#fff}
.acu-bar{position:sticky;top:0;z-index:1020;display:flex;align-items:center;gap:10px;height:58px;padding:0 18px;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.2) blur(6px);border-bottom:1px solid var(--acu-line)}
.acu-bar-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--acu-line);border-radius:10px;background:#fff;color:#16233A}
.acu-bar-title{font-weight:650;color:#0E2F4F;min-width:0;flex:1}
.acu-bar-end{display:flex;align-items:center;gap:8px}
.acu-new{display:inline-flex;align-items:center;gap:6px;border-radius:10px;padding:.42rem .8rem}
.acu-me{display:flex;align-items:center;gap:.45rem;border:0;background:none;padding:4px 6px;border-radius:10px;color:#16233A;font-weight:600}
.acu-me:hover{background:#eef4fa}
.acu-shell-main{padding:18px 18px 8px;max-width:1440px;width:100%;margin:0 auto;min-height:calc(100vh - 120px)}
.acu-shell-foot{padding:14px 18px;margin:0}
@media (min-width:992px){
  .acu-side{position:fixed;inset:0 auto 0 0;width:var(--acu-side-w);z-index:1030;visibility:visible!important;transform:none!important}
  .acu-body{margin-left:var(--acu-side-w);transition:margin .15s}
  .acu-mini .acu-side{width:var(--acu-side-mini)}
  .acu-mini .acu-body{margin-left:var(--acu-side-mini)}
  .acu-mini .acu-side-logo,.acu-mini .acu-side-find,.acu-mini .acu-side-link span,.acu-mini .acu-side-gh span,.acu-mini .acu-side-chev,.acu-mini .acu-side-mini span{display:none}
  .acu-mini .acu-side-mark{display:block}
  .acu-mini .acu-side-head{justify-content:center;padding:12px 6px 8px}
  .acu-mini .acu-side-link,.acu-mini .acu-side-gh,.acu-mini .acu-side-mini{justify-content:center;padding:9px 0}
  .acu-mini .acu-side-group.closed .acu-side-items{display:block}
  .acu-mini .acu-side-gh{border-top:1px solid #1f4569;border-radius:0;margin-top:4px}
  .acu-mini .acu-side-mini svg{transform:scaleX(-1)}
}
@media (max-width:991.98px){
  .acu-side.offcanvas-lg{width:min(86vw,300px)}
  .acu-bar{padding:0 10px;gap:8px}
  .acu-shell-main{padding:14px 12px 8px}
  .acu-side-link{padding:10px 12px}
}

/* ===== Dashboard ===== */
.acu-dash-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:1.1rem}
.acu-quick{display:flex;flex-wrap:wrap;gap:8px}
.acu-quick-a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid var(--acu-line);color:#16233A;text-decoration:none;font-weight:600;font-size:.88rem}
.acu-quick-a svg{color:var(--acu-brand)}
.acu-quick-a:hover{border-color:var(--acu-brand);color:var(--acu-brand)}
.acu-dash-h{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:700;color:#0E2F4F;margin:0 0 .6rem}
.acu-dash-h svg{color:var(--acu-brand)}
.acu-todo-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.acu-todo-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid #f1d7b5;border-left:4px solid #e08a1e;border-radius:12px;text-decoration:none;color:#16233A}
.acu-todo-item:hover{box-shadow:0 4px 14px rgba(0,40,80,.1)}
.acu-todo-n{font-size:1.5rem;font-weight:800;color:#b55a07;min-width:2ch;text-align:center;font-variant-numeric:tabular-nums}
.acu-todo-l{flex:1;display:flex;align-items:center;gap:8px;font-weight:600}
.acu-todo-l svg{color:#b55a07;flex:none}
.acu-todo-go{font-size:1.4rem;color:#9aa5b4}
.acu-allclear{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f1f8ea;border:1px solid #cfe6b8;border-radius:12px;color:#2e6a0c}
.acu-panel{background:#fff;border:1px solid var(--acu-line);border-radius:14px;overflow:hidden}
.acu-panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--acu-line)}
.acu-today{list-style:none;margin:0;padding:0}
.acu-today li+li{border-top:1px solid #eef2f6}
.acu-today a{display:flex;align-items:center;gap:12px;padding:10px 14px;color:#16233A;text-decoration:none}
.acu-today a:hover{background:#f6f9fc}
.acu-today-t{flex:none;width:52px;text-align:center;font-weight:800;font-size:1.05rem;color:var(--acu-brand);line-height:1.05}
.acu-today-t small{display:block;font-size:.68rem;font-weight:600;color:var(--acu-muted);text-transform:uppercase}
.acu-today-p{flex:1;min-width:0;display:flex;flex-direction:column}
.acu-today-p strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acu-today-p small{color:var(--acu-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acu-today-s{flex:none;text-align:right;font-weight:700;color:#0E2F4F;line-height:1.05}
.acu-today-s small{display:block;font-size:.68rem;color:var(--acu-muted);font-weight:500}
.acu-st{flex:none;font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:999px;background:#f1f4f8}
.acu-st-booked{background:#e9f2fb;color:#005CA0}.acu-st-arrived{background:#fff4e5;color:#9a5b00}.acu-st-completed{background:#eef7ea;color:#2e6a0c}.acu-st-no_show{background:#fdf0f0;color:#b02a2a}
.acu-modcols .acu-modgroup{margin-bottom:1.1rem}
.acu-modgroup-h svg{flex:none}
.acu-mods{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
@media (max-width:575.98px){
  .acu-modcols .acu-mods{grid-template-columns:1fr 1fr;gap:.5rem}
  .acu-modcols .acu-mod{flex-direction:column;gap:.4rem;padding:.7rem}
  .acu-modcols .acu-mod small{display:none}
  .acu-modcols .acu-mod-ic{width:36px;height:36px}
  .acu-quick-a{padding:7px 10px;font-size:.82rem}
}
/* ===== Trainee registration ===== */
.tn-wrap{max-width:860px;margin:0 auto}
.tn-head{margin-bottom:14px}
.tn-sec{background:#fff;border:1px solid #e1e8f0;border-radius:14px;padding:16px 18px;margin-bottom:14px}
.tn-h{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;color:#0E2F4F;margin:0 0 12px}
.tn-h span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--acu-brand);color:#fff;font-size:.85rem}
.tn-seg{display:inline-flex;padding:3px;border-radius:12px;background:#e6ecf2}
.tn-seg label{margin:0}.tn-seg input{position:absolute;opacity:0;pointer-events:none}
.tn-seg span{display:block;padding:8px 16px;border-radius:9px;cursor:pointer;color:#4a5668;font-weight:500}
.tn-seg input:checked+span{background:#fff;color:#16233A;font-weight:600;box-shadow:0 1px 2px rgba(22,35,58,.15)}
.tn-seg input:focus-visible+span{outline:2px solid var(--acu-brand)}
.tn-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.tn-options label{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid #dfe6ee;border-radius:10px;cursor:pointer;margin:0}
.tn-options label:has(input:checked){border-color:var(--acu-brand);background:#f3f8fd}
.tn-aadhaar[hidden],.tn-passport[hidden],.tn-exp[hidden]{display:none!important}
.tn-files{list-style:none;padding:0;margin:8px 0 0}.tn-files li{padding:2px 0}
.tn-consent{max-height:none;padding:12px 14px;background:#f7f9fb;border:1px solid #e1e8f0;border-radius:10px;font-size:.9rem}
.tn-consent-list{margin:0;padding-left:1.2rem}.tn-consent-list li{margin:4px 0}
.tn-submit{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0 24px}
.tn-done{background:#fff;border:1px solid #cfe6b8;border-radius:16px;padding:28px 18px;margin-top:10px}
.tn-tick{width:56px;height:56px;margin:0 auto 10px;border-radius:50%;background:#3d7a12;color:#fff;display:grid;place-items:center;font-size:1.8rem;font-weight:800}
.tn-code{display:inline-block;font-size:clamp(1.6rem,6vw,2.4rem);font-weight:800;letter-spacing:.06em;color:#005CA0;background:#eef5fb;border:2px dashed #9cc3e6;border-radius:12px;padding:8px 18px;font-variant-numeric:tabular-nums}
.tn-me-head{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px}
.tn-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.tn-photo-none{display:grid;place-items:center;background:#e6f0f9;color:#005CA0;font-size:1.8rem;font-weight:700}
.tn-code-sm{font-weight:800;color:#005CA0;letter-spacing:.04em}
.tn-credits{margin-left:auto;text-align:center;padding:8px 16px;border-radius:12px;background:#f1f8ea;border:1px solid #cfe6b8}
.tn-credits b{display:block;font-size:1.6rem;color:#2e6a0c;line-height:1.1}.tn-credits span{font-size:.75rem;color:#4a6b2f}
.tn-st{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 9px;border-radius:999px}
.tn-st-pending{background:#fff4e5;color:#9a5b00}.tn-st-verified{background:#eef7ea;color:#2e6a0c}.tn-st-rejected{background:#fdf0f0;color:#b02a2a}
.tn-ledger{list-style:none;padding:0;margin:0}
.tn-ledger li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eef2f6}
.tn-ledger li span{display:flex;flex-direction:column}.tn-ledger small{color:var(--acu-muted)}
.tn-ledger b{color:#2e6a0c;white-space:nowrap}.tn-ledger b.neg{color:#b02a2a}
.tn-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.tn-doc{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--acu-line);border-radius:10px;text-decoration:none;color:#16233A;background:#fff}
.tn-doc img{width:100%;height:120px;object-fit:cover;border-radius:6px;background:#f3f6fa}
.tn-doc-pdf{display:grid;place-items:center;height:120px;border-radius:6px;background:#fdf0f0;color:#b02a2a;font-weight:800}
.tn-doc span{display:flex;flex-direction:column;font-size:.85rem}.tn-doc small{color:var(--acu-muted);word-break:break-all}
.tn-enrol{padding:10px 12px;border-radius:10px;background:#f3f8fd;border:1px solid #d5e3f1}
/* ---- practices & centres ---- */
.pr-type{display:inline-block;font-size:.75rem;font-weight:650;padding:2px 10px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
.pr-type-single{background:#eef5fb;color:#004A82;border-color:#cfe0f0}
.pr-type-multi{background:#f1f8ea;color:#2e6a0c;border-color:#cfe6b8}
.pr-type-centre{background:#fff3e6;color:#8a4a00;border-color:#f5d3ab}
.pr-type-main{background:#e6ecf2;color:#16233A}
.pr-st{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 9px;border-radius:999px}
.pr-st-active,.pr-st-accepted{background:#eef7ea;color:#2e6a0c}.pr-st-open{background:#fff4e5;color:#9a5b00}
.pr-st-suspended,.pr-st-cancelled{background:#fdf0f0;color:#b02a2a}.pr-st-expired{background:#eef1f4;color:#5A6678}
.pr-code{font-weight:700;color:#005CA0;letter-spacing:.03em;font-variant-numeric:tabular-nums}
.pr-kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.pr-kind{background:#fff;border:1px solid var(--acu-line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.pr-kind small{color:var(--acu-muted);line-height:1.35}
.pr-link{background:#f3f8fd;border:1px solid #bcd6ee;border-radius:14px;padding:14px 16px;display:grid;gap:4px}
.pr-row-new td{background:#fffbea}
.pr-who{padding:10px 12px;border-radius:10px;background:#f7f9fb;border:1px solid #e1e8f0}
.pr-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.pr-pick-o{position:relative;margin:0;cursor:pointer}
.pr-pick-o input{position:absolute;opacity:0;pointer-events:none}
.pr-pick-o>span{display:flex;flex-direction:column;gap:4px;height:100%;padding:12px 14px;border:1.5px solid #dfe6ee;border-radius:12px;background:#fff}
.pr-pick-o small{color:var(--acu-muted);line-height:1.35}.pr-pick-o em{font-style:normal;font-size:.8rem;color:#004A82;font-weight:600}
.pr-pick-o input:checked+span{border-color:var(--acu-brand);background:#f3f8fd;box-shadow:0 0 0 3px rgba(0,92,160,.12)}
.pr-pick-o input:focus-visible+span{outline:2px solid var(--acu-brand);outline-offset:2px}
.pr-head{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.pr-head-ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#eef5fb;color:#005CA0;flex:none}
.pr-seats{text-align:center;padding:8px 16px;border-radius:12px;background:#f7f9fb;border:1px solid #e1e8f0}
.pr-seats b{display:block;font-size:1.6rem;line-height:1.1;color:#0E2F4F}.pr-seats b small{font-size:.9rem;color:var(--acu-muted)}.pr-seats span{font-size:.75rem;color:var(--acu-muted)}
.pr-team{list-style:none;padding:0;margin:0}
.pr-team li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #eef2f6}
.pr-team li:last-child{border-bottom:0}.pr-team li.off{opacity:.6}
.pr-av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e6f0f9;color:#005CA0;font-weight:700;flex:none}
.pr-team-n{display:flex;flex-direction:column;min-width:0;flex:1}.pr-team-n small{color:var(--acu-muted);overflow-wrap:anywhere}
.pr-team-a{display:flex;gap:4px;align-items:center;flex:none}
.pr-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.pr-nums div{padding:10px;border-radius:10px;background:#f7f9fb;border:1px solid #e9eef4;text-align:center}
.pr-nums b{display:block;font-size:1.35rem;color:#0E2F4F}.pr-nums span{font-size:.78rem;color:var(--acu-muted)}
.pr-invite-card{background:linear-gradient(135deg,#f3f8fd,#fff);border:1px solid #bcd6ee;border-radius:16px;padding:20px 20px 16px}
.pr-invite-k{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#005CA0;font-weight:700;margin-bottom:4px}
.pr-invite-facts{list-style:none;padding:0;margin:12px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pr-invite-facts li{background:#fff;border:1px solid #e1e8f0;border-radius:10px;padding:8px 12px;display:flex;flex-direction:column}
.pr-invite-facts span{font-size:.72rem;color:var(--acu-muted);text-transform:uppercase;letter-spacing:.04em}
.pr-invite-msg{margin:10px 0 0;padding:8px 12px;border-left:3px solid var(--acu-brand);background:#fff;border-radius:0 8px 8px 0;font-style:italic}
.acu-side-practice{display:block;margin:-2px 14px 8px;padding:6px 10px;border-radius:10px;background:#f3f8fd;border:1px solid #d5e3f1;font-size:.78rem;line-height:1.25;color:#0E2F4F;text-decoration:none}
.acu-side-practice small{display:block;color:var(--acu-muted)}
@media (min-width:992px){.acu-mini .acu-side-practice{display:none}}
@media (max-width:575.98px){.pr-team li{flex-wrap:wrap}.pr-team-a{margin-left:48px}.pr-seats{margin-left:auto}}
/* Seeds therapy: seed picker and each point's seed */
.acu-seed-pick{display:grid;gap:6px}
.acu-seed-pick[hidden]{display:none!important}
.acu-seeds{display:flex;flex-wrap:wrap;gap:6px}
.acu-seed{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border:1px solid var(--acu-line);border-radius:999px;background:#fff;font-size:.82rem;color:var(--acu-ink);cursor:pointer;line-height:1.2}
.acu-seed i{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 3px;border-radius:999px;background:var(--sc);color:#fff;font-style:normal;font-size:.68rem;font-weight:700}
.acu-seed[aria-pressed="true"]{border-color:var(--acu-brand);background:#eef5fb;box-shadow:0 0 0 2px rgba(0,92,160,.15);font-weight:600}
.acu-seed:focus-visible{outline:2px solid var(--acu-brand);outline-offset:1px}
.acu-seed-sel{border:1px solid #e6d3a8;background:#fffaf0;color:#6b4a07;font-size:.75rem;border-radius:6px;height:30px;padding:0 4px;max-width:150px;cursor:pointer}
.acu-tc-seed{grid-column:1/-1}
.acu-nb-seedrow[hidden]{display:none!important}
.acu-nb-seedrow .acu-seed-pick{grid-template-columns:110px minmax(0,1fr);gap:6px 10px;align-items:start}
.acu-nb-seedrow .acu-seed-pick>.acu-tc-label{grid-row:span 2;margin:0}
.acu-nb-seedrow .acu-seed-pick>:not(.acu-tc-label){grid-column:2;justify-self:start}
.acu-nb-seedrow .acu-seed-list{grid-column:1/-1!important;justify-self:stretch!important}
.acu-tc-label small{display:block;font-weight:400;color:var(--acu-muted)}
.acu-seed-list{padding-top:6px;border-top:1px dashed var(--acu-line)}
.acu-seed-rows{list-style:none;padding:0;margin:4px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:6px}
.acu-seed-rows li{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 6px 4px 10px;border:1px solid var(--acu-line);border-radius:8px;background:#fff}
.acu-seed-code{font-family:var(--bs-font-monospace);font-size:.8rem;font-weight:600}.acu-seed-code.increase{color:#2e7d32}.acu-seed-code.decrease{color:#c62828}
@media (max-width:575.98px){.acu-nb-seedrow .acu-seed-pick{grid-template-columns:1fr}.acu-nb-seedrow .acu-seed-pick>*{grid-column:1!important}.acu-nb-seedrow .acu-seed-pick>.acu-tc-label{grid-row:auto}}
/* Seeds therapy: each point drawn as the real seed (its real size, or the point's own size) */
.acu-pv-pin.chosen.seed,.acu-pv-pin.chosen.seed.light{background:var(--seed) center/contain no-repeat;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 1px 1.5px rgba(0,0,0,.45))}
.acu-pv-pin.seed::after,.acu-pv-pin.seed::before{display:none}
.sd-fenugreek{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Cpath d=%22M15 3.5 27.5 7.5c3 1 4 3.3 3.3 6.2L26 33.5c-.8 3-3.2 4-6 3.2l-8.5-2.6c-2.8-.9-3.8-3.2-3.2-6L11 7c.6-2.7 2-3.8 4-3.5z%22 fill=%22%23cf9d3c%22 stroke=%22%237a5216%22 stroke-width=%221.4%22/%3E%3Cpath d=%22M13.5 11c5 3.2 7.2 8 6 17%22 fill=%22none%22 stroke=%22%238a5f1c%22 stroke-width=%221.8%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M17 6.5c3 .6 6.5 1.6 9 2.6%22 fill=%22none%22 stroke=%22%23f3d488%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 opacity=%22.8%22/%3E%3C/svg%3E")}
.sd-black-pepper{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%22.38%22 cy=%22.34%22 r=%22.7%22%3E%3Cstop offset=%220%22 stop-color=%22%235a524c%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%232a2522%22/%3E%3Cstop offset=%221%22 stop-color=%22%23121010%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2217%22 fill=%22url(%23g)%22 stroke=%22%230a0908%22 stroke-width=%221%22/%3E%3Cpath d=%22M9 17c3-2 5 1 8-1M21 10c2 2 5 1 6 4M12 26c3 0 4 3 7 2M24 22c2 1 3 4 6 3M17 21c1-2 3-2 4 0%22 fill=%22none%22 stroke=%22%230e0c0b%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 opacity=%22.85%22/%3E%3Cellipse cx=%2214%22 cy=%2212%22 rx=%224%22 ry=%222.4%22 fill=%22%23fff%22 opacity=%22.22%22/%3E%3C/svg%3E")}
.sd-green-mung{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%22.38%22 cy=%22.32%22 r=%22.75%22%3E%3Cstop offset=%220%22 stop-color=%22%237fc25c%22/%3E%3Cstop offset=%22.6%22 stop-color=%22%233f8a2c%22/%3E%3Cstop offset=%221%22 stop-color=%22%23255a18%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Cellipse cx=%2220%22 cy=%2220%22 rx=%2213%22 ry=%2217.5%22 fill=%22url(%23g)%22 stroke=%22%231d4a12%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M27.5 15.5c.8 3 .8 6 0 9%22 stroke=%22%23f4f7e8%22 stroke-width=%222.2%22 stroke-linecap=%22round%22/%3E%3Cellipse cx=%2215.5%22 cy=%2212%22 rx=%223.2%22 ry=%225%22 fill=%22%23fff%22 opacity=%22.3%22/%3E%3C/svg%3E")}
.sd-dry-green-peas{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%22.38%22 cy=%22.34%22 r=%22.72%22%3E%3Cstop offset=%220%22 stop-color=%22%23d4e8a0%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%239cc058%22/%3E%3Cstop offset=%221%22 stop-color=%22%235f8a2a%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d=%22M20 2.8c9.6 0 17.2 7.5 17.2 17.1 0 9.7-7.3 17.3-17.2 17.3S2.8 29.6 2.8 20 10.4 2.8 20 2.8z%22 fill=%22url(%23g)%22 stroke=%22%234c6f20%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M11 23c4 2 9 1.5 13-1.5M15 30c3 .6 6 0 9-1.6%22 fill=%22none%22 stroke=%22%236f9634%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 opacity=%22.8%22/%3E%3Cellipse cx=%2213.5%22 cy=%2212.5%22 rx=%224.5%22 ry=%223%22 fill=%22%23fff%22 opacity=%22.35%22/%3E%3C/svg%3E")}
.sd-kidney-bean-left{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%22.55%22 cy=%22.35%22 r=%22.8%22%3E%3Cstop offset=%220%22 stop-color=%22%23c2474f%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%238b1e2d%22/%3E%3Cstop offset=%221%22 stop-color=%22%2355101a%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d=%22M21 2.5c8.6 0 12.8 7.6 12.4 17.4-.4 9.3-5 17.6-12.8 17.6-7 0-10.2-5.4-7.6-10.6 1.6-3.2 1.8-5.3.2-8.3C10.2 12.1 13 2.5 21 2.5z%22 fill=%22url(%23g)%22 stroke=%22%2345101a%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M14.6 18.3c1.1.4 1.6 1.3 1.6 2.3%22 stroke=%22%23f1e2d0%22 stroke-width=%222%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M24 7c3.5 2 5 6 5 10%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 opacity=%22.35%22/%3E%3C/svg%3E")}
.sd-kidney-bean-right{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Cg transform=%22translate(40 0) scale(-1 1)%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%22.55%22 cy=%22.35%22 r=%22.8%22%3E%3Cstop offset=%220%22 stop-color=%22%23c2474f%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%238b1e2d%22/%3E%3Cstop offset=%221%22 stop-color=%22%2355101a%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d=%22M21 2.5c8.6 0 12.8 7.6 12.4 17.4-.4 9.3-5 17.6-12.8 17.6-7 0-10.2-5.4-7.6-10.6 1.6-3.2 1.8-5.3.2-8.3C10.2 12.1 13 2.5 21 2.5z%22 fill=%22url(%23g)%22 stroke=%22%2345101a%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M14.6 18.3c1.1.4 1.6 1.3 1.6 2.3%22 stroke=%22%23f1e2d0%22 stroke-width=%222%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M24 7c3.5 2 5 6 5 10%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 opacity=%22.35%22/%3E%3C/g%3E%3C/svg%3E")}
.acu-seed-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.acu-seed-tools{display:inline-flex;align-items:center;gap:4px}
.acu-seed-rows .acu-psz{max-width:118px}
/* Color therapy: the colour rule (Single / Chinese / YNM / Ayurvedic type 1 or 2) */
.acu-colour-rule{display:grid;gap:6px}
.acu-colour-rule[hidden],.acu-cr-type[hidden],.acu-cr-single[hidden]{display:none!important}
.acu-cr-type{max-width:260px}
.acu-cr-single{display:flex;flex-wrap:wrap;gap:6px}
.acu-cr-c{display:inline-flex;align-items:center;gap:5px;padding:4px 9px 4px 4px;border:1px solid var(--acu-line);border-radius:999px;background:#fff;font-size:.8rem;color:var(--acu-ink);cursor:pointer}
.acu-cr-c i{width:18px;height:18px;border-radius:50%;background:var(--cc);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.acu-cr-c[aria-pressed="true"]{border-color:var(--acu-brand);background:#eef5fb;box-shadow:0 0 0 2px rgba(0,92,160,.15);font-weight:600}
.acu-cr-help{font-size:.78rem}
.acu-nb-crrow .acu-colour-rule{grid-template-columns:110px minmax(0,1fr);gap:6px 10px;align-items:start}
.acu-nb-crrow .acu-colour-rule>.acu-tc-label{grid-row:span 4;margin:0}
.acu-nb-crrow .acu-colour-rule>:not(.acu-tc-label){grid-column:2}
@media (max-width:575.98px){.acu-nb-crrow .acu-colour-rule{grid-template-columns:1fr}.acu-nb-crrow .acu-colour-rule>*{grid-column:1!important}.acu-nb-crrow .acu-colour-rule>.acu-tc-label{grid-row:auto}}
/* Magnet therapy: each point drawn as its magnet (white, yellow, rings, star, multi-star) */
.mg-white-magnet{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2218%22 fill=%22%23ffffff%22 stroke=%22%237d7d7d%22 stroke-width=%222.4%22/%3E%3C/svg%3E")}
.mg-yellow-magnet{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2218%22 fill=%22%23ffee00%22 stroke=%22%238f8f8f%22 stroke-width=%222.4%22/%3E%3C/svg%3E")}
.mg-white-ring-yellow-centre{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2218%22 fill=%22%23ffffff%22 stroke=%22%236f6f6f%22 stroke-width=%222%22/%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%228.5%22 fill=%22%23ffee00%22 stroke=%22%236f6f6f%22 stroke-width=%221.6%22/%3E%3C/svg%3E")}
.mg-yellow-ring-white-centre{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2218%22 fill=%22%23ffee00%22 stroke=%22%236f6f6f%22 stroke-width=%222%22/%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%228.5%22 fill=%22%23ffffff%22 stroke=%22%236f6f6f%22 stroke-width=%221.6%22/%3E%3C/svg%3E")}
.mg-star-magnet{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2218%22 fill=%22%23f1f1f1%22 stroke=%22%238a8a8a%22 stroke-width=%222.4%22/%3E%3Cpath d=%22M20.00,8.00 L23.29,16.47 L32.36,16.98 L25.33,22.73 L27.64,31.52 L20.00,26.60 L12.36,31.52 L14.67,22.73 L7.64,16.98 L16.71,16.47Z%22 fill=%22%23555%22 stroke=%22%23333%22 stroke-width=%22.8%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E")}
.mg-multi-star-magnet{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2218%22 fill=%22%23ffffff%22 stroke=%22%23111%22 stroke-width=%222%22/%3E%3Cpath d=%22M20.00,4.40 L21.18,7.38 L24.37,7.58 L21.90,9.62 L22.70,12.72 L20.00,11.00 L17.30,12.72 L18.10,9.62 L15.63,7.58 L18.82,7.38Z%22 fill=%22%23111%22/%3E%3Cpath d=%22M11.00,12.40 L12.18,15.38 L15.37,15.58 L12.90,17.62 L13.70,20.72 L11.00,19.00 L8.30,20.72 L9.10,17.62 L6.63,15.58 L9.82,15.38Z%22 fill=%22%23111%22/%3E%3Cpath d=%22M29.00,12.40 L30.18,15.38 L33.37,15.58 L30.90,17.62 L31.70,20.72 L29.00,19.00 L26.30,20.72 L27.10,17.62 L24.63,15.58 L27.82,15.38Z%22 fill=%22%23111%22/%3E%3Cpath d=%22M14.00,23.40 L15.18,26.38 L18.37,26.58 L15.90,28.62 L16.70,31.72 L14.00,30.00 L11.30,31.72 L12.10,28.62 L9.63,26.58 L12.82,26.38Z%22 fill=%22%23111%22/%3E%3Cpath d=%22M26.00,23.40 L27.18,26.38 L30.37,26.58 L27.90,28.62 L28.70,31.72 L26.00,30.00 L23.30,31.72 L24.10,28.62 L21.63,26.58 L24.82,26.38Z%22 fill=%22%23111%22/%3E%3Cpath d=%22M20.00,15.40 L21.18,18.38 L24.37,18.58 L21.90,20.62 L22.70,23.72 L20.00,22.00 L17.30,23.72 L18.10,20.62 L15.63,18.58 L18.82,18.38Z%22 fill=%22%23111%22/%3E%3C/svg%3E")}
.mg-multi-star-magnet-with-band{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2218%22 fill=%22%23ffffff%22 stroke=%22%23111%22 stroke-width=%222%22/%3E%3Crect x=%222%22 y=%2216.5%22 width=%2236%22 height=%227%22 fill=%22%23111%22/%3E%3Cpath d=%22M20.00,4.10 L21.12,6.96 L24.18,7.14 L21.81,9.09 L22.59,12.06 L20.00,10.40 L17.41,12.06 L18.19,9.09 L15.82,7.14 L18.88,6.96Z%22 fill=%22%23111%22/%3E%3Cpath d=%22M12.00,6.60 L13.12,9.46 L16.18,9.64 L13.81,11.59 L14.59,14.56 L12.00,12.90 L9.41,14.56 L10.19,11.59 L7.82,9.64 L10.88,9.46Z%22 fill=%22%23111%22/%3E%3Cpath d=%22M28.00,6.60 L29.12,9.46 L32.18,9.64 L29.81,11.59 L30.59,14.56 L28.00,12.90 L25.41,14.56 L26.19,11.59 L23.82,9.64 L26.88,9.46Z%22 fill=%22%23111%22/%3E%3Cpath d=%22M13.00,25.60 L14.12,28.46 L17.18,28.64 L14.81,30.59 L15.59,33.56 L13.00,31.90 L10.41,33.56 L11.19,30.59 L8.82,28.64 L11.88,28.46Z%22 fill=%22%23111%22/%3E%3Cpath d=%22M27.00,25.60 L28.12,28.46 L31.18,28.64 L28.81,30.59 L29.59,33.56 L27.00,31.90 L24.41,33.56 L25.19,30.59 L22.82,28.64 L25.88,28.46Z%22 fill=%22%23111%22/%3E%3Cpath d=%22M20.00,27.60 L21.12,30.46 L24.18,30.64 L21.81,32.59 L22.59,35.56 L20.00,33.90 L17.41,35.56 L18.19,32.59 L15.82,30.64 L18.88,30.46Z%22 fill=%22%23111%22/%3E%3Cpath d=%22M11.00,17.40 L11.65,19.11 L13.47,19.20 L12.05,20.34 L12.53,22.10 L11.00,21.10 L9.47,22.10 L9.95,20.34 L8.53,19.20 L10.35,19.11Z%22 fill=%22%23fff%22/%3E%3Cpath d=%22M20.00,17.40 L20.65,19.11 L22.47,19.20 L21.05,20.34 L21.53,22.10 L20.00,21.10 L18.47,22.10 L18.95,20.34 L17.53,19.20 L19.35,19.11Z%22 fill=%22%23fff%22/%3E%3Cpath d=%22M29.00,17.40 L29.65,19.11 L31.47,19.20 L30.05,20.34 L30.53,22.10 L29.00,21.10 L27.47,22.10 L27.95,20.34 L26.53,19.20 L28.35,19.11Z%22 fill=%22%23fff%22/%3E%3C/svg%3E")}
.acu-mg-ic{display:inline-block;width:24px;height:24px;flex:none;background:var(--seed) center/contain no-repeat!important;border-radius:0!important}
.acu-mg-auto{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(90deg,#fff 50%,#ffee00 50%)!important;box-shadow:inset 0 0 0 1.5px #7d7d7d;color:#333!important;font-style:normal;font-size:.7rem;font-weight:700}
/* Auricular: real black / yellow mustard seeds */
.sd-black-mustard-seed{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%22.36%22 cy=%22.32%22 r=%22.75%22%3E%3Cstop offset=%220%22 stop-color=%22%237a4a3a%22/%3E%3Cstop offset=%22.45%22 stop-color=%22%233a2219%22/%3E%3Cstop offset=%221%22 stop-color=%22%23140b08%22/%3E%3C/radialGradient%3E%3Cpattern id=%22p%22 width=%225%22 height=%225%22 patternUnits=%22userSpaceOnUse%22%3E%3Cpath d=%22M0 2.5h5M2.5 0v5%22 stroke=%22%23000%22 stroke-width=%22.6%22 opacity=%22.35%22/%3E%3C/pattern%3E%3C/defs%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2217%22 fill=%22url(%23g)%22 stroke=%22%230d0705%22 stroke-width=%221.2%22/%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2217%22 fill=%22url(%23p)%22/%3E%3Cellipse cx=%2214%22 cy=%2212.5%22 rx=%224.5%22 ry=%223%22 fill=%22%23fff%22 opacity=%22.28%22/%3E%3Ccircle cx=%2227%22 cy=%2227%22 r=%221.6%22 fill=%22%230d0705%22 opacity=%22.7%22/%3E%3C/svg%3E")}
.sd-yellow-mustard-seed{--seed:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%22.36%22 cy=%22.32%22 r=%22.75%22%3E%3Cstop offset=%220%22 stop-color=%22%23fbe7a1%22/%3E%3Cstop offset=%22.5%22 stop-color=%22%23e2b23f%22/%3E%3Cstop offset=%221%22 stop-color=%22%23a87618%22/%3E%3C/radialGradient%3E%3Cpattern id=%22p%22 width=%225%22 height=%225%22 patternUnits=%22userSpaceOnUse%22%3E%3Cpath d=%22M0 2.5h5M2.5 0v5%22 stroke=%22%238a5d10%22 stroke-width=%22.5%22 opacity=%22.25%22/%3E%3C/pattern%3E%3C/defs%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2217%22 fill=%22url(%23g)%22 stroke=%22%238a5d10%22 stroke-width=%221.2%22/%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2217%22 fill=%22url(%23p)%22/%3E%3Cellipse cx=%2214%22 cy=%2212.5%22 rx=%224.5%22 ry=%223%22 fill=%22%23fff%22 opacity=%22.5%22/%3E%3Ccircle cx=%2227%22 cy=%2227%22 r=%221.6%22 fill=%22%238a5d10%22 opacity=%22.6%22/%3E%3C/svg%3E")}
/* ---- Hot-Spot Marker ---- */
.hm-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px}
.hm-head-acts{display:flex;flex-wrap:wrap;gap:8px}
.hm-tools{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}
.hm-seg{display:inline-flex;border:1px solid #cfd8e3;border-radius:9px;overflow:hidden;background:#fff}
.hm-seg button,.hm-seg label{display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:6px 10px;font-size:.85rem;color:#33415a;cursor:pointer;margin:0}
.hm-seg button+button,.hm-seg label+label{border-left:1px solid #e3e9f0}
.hm-seg button[aria-checked="true"],.hm-seg button[aria-pressed="true"]{background:var(--acu-brand);color:#fff}
.hm-seg button:disabled{opacity:.45;cursor:default}
.hm-seg button:focus-visible{outline:2px solid var(--acu-brand);outline-offset:-2px}
.hm-seg-full{display:flex;width:100%}.hm-seg-full label{flex:1;justify-content:center}
.hm-seg input{position:absolute;opacity:0;pointer-events:none}
.hm-seg label:has(input:checked){background:var(--acu-brand);color:#fff}
.hm-stage{min-height:420px;overflow:hidden;position:relative}
.hm-stage.over{outline:3px dashed var(--acu-brand);outline-offset:-6px}
.hm-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:420px;text-align:center;color:var(--acu-muted);padding:24px}
.hm-drop strong{color:var(--acu-ink);font-size:1.05rem}
.hm-scroll{overflow:auto;max-height:78vh;background:repeating-conic-gradient(#f4f6f9 0 25%,#fff 0 50%) 0 0/16px 16px}
#hmSvg{display:block;width:100%;height:auto;touch-action:none;user-select:none}
#hmSvg.hm-t-polygon,#hmSvg.hm-t-rect,#hmSvg.hm-t-ellipse,#hmSvg.hm-t-free{cursor:crosshair}
#hmSvg.hm-t-select .hm-area{cursor:move}
.hm-area{pointer-events:visiblePainted}
#hmSvg:not(.hm-t-select) .hm-area{pointer-events:none}
.hm-area.sel>:first-child{fill-opacity:.32;stroke-dasharray:none;filter:drop-shadow(0 0 2px rgba(0,0,0,.45))}
.hm-area.unset>:first-child{stroke-dasharray:6 4}
.hm-handle{fill:#fff;stroke:var(--acu-brand);cursor:grab}
.hm-list{display:grid;gap:4px;max-height:280px;overflow:auto}
.hm-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid var(--acu-line);border-radius:8px;background:#fff;padding:6px 8px;font-size:.85rem}
.hm-item i{width:12px;height:12px;border-radius:3px;background:var(--c);flex:none}
.hm-item b{font-family:var(--bs-font-monospace);font-size:.8rem;min-width:56px}
.hm-item span{display:flex;flex-direction:column;min-width:0}.hm-item small{color:var(--acu-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-item.unset small{color:#b45309}
.hm-item.on{border-color:var(--acu-brand);background:#eef5fb;box-shadow:0 0 0 2px rgba(0,92,160,.12)}
.hm-code{font-family:var(--bs-font-monospace);color:var(--acu-brand)}
.hm-colours{display:flex;gap:6px}
.hm-colour{width:26px;height:26px;border-radius:50%;border:2px solid #fff;background:var(--c);box-shadow:0 0 0 1px #c7d0da}
.hm-colour[aria-pressed="true"]{box-shadow:0 0 0 2px var(--acu-ink)}
@media (max-width:991.98px){.hm-scroll{max-height:62vh}}
@media (max-width:575.98px){.hm-tool span{display:none}.hm-tool{padding:7px 11px!important}.hm-head-acts .btn{flex:1 1 auto}}
/* condition library */
.acu-stars{color:#e0a100;letter-spacing:1px;white-space:nowrap}
.acu-stars .off{color:#d6dbe1}
.acu-dn{color:#c0392b;font-weight:700}
.acu-up{color:#1e8449;font-weight:700}
.acu-cl-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;box-shadow:0 0 0 1px rgba(0,0,0,.35)}
.acu-condlib-prot{max-width:420px}
.acu-condlib-ptext{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;word-break:break-word}
.acu-condlib-cat{color:var(--acu-brand);text-transform:none}
.acu-condlib-remarks p:last-child{margin-bottom:0}
.acu-condlib-row{background:#fafbfd}
/* teeth chart (case: teeth information; teeth rules) */
.acu-tchart{width:100%;max-width:420px;height:auto;display:block;margin:0 auto;border-radius:12px}
.acu-tq{cursor:pointer;outline:none}
.acu-tq circle{fill:rgba(255,255,255,0);stroke:rgba(22,35,58,.25);stroke-width:1.2;transition:fill .15s,stroke .15s}
.acu-tq text{font:700 12px/1 system-ui,sans-serif;text-anchor:middle;fill:#16233A;pointer-events:none}
.acu-tq:hover circle,.acu-tq:focus-visible circle{fill:rgba(255,255,255,.55);stroke:#16233A;stroke-width:2}
.acu-tq.on circle{fill:var(--tc);fill-opacity:.85;stroke:#fff;stroke-width:1.5}
.acu-tq.on text{fill:#fff}
.acu-tq.sel circle{stroke:#ffd54a;stroke-width:3.5}
.acu-tooth-chip{display:inline-block;font-size:.75rem;padding:1px 8px;border-radius:999px;color:#fff;background:var(--tc);margin-left:6px;font-weight:600}
.acu-tooth-legend{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--acu-muted,#5b6b7c)}
.acu-tooth-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.acu-tooth-panel{background:#fafbfd;border-color:var(--acu-line)}
/* condition editor: a chosen point's card on the photo */
.acu-pt-menu{position:fixed;z-index:1080;min-width:220px;max-width:min(290px,calc(100vw - 16px));background:#fff;border:1px solid var(--acu-line,#d9e0e8);border-radius:12px;box-shadow:0 10px 28px rgba(22,35,58,.22);padding:10px 12px;font-size:.88rem;text-align:left;cursor:default}
.acu-pt-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.acu-pt-dir{font-weight:700}
.acu-pt-dir.increase{color:#1e8449}
.acu-pt-dir.decrease{color:#c0392b}
.acu-pt-x{border:0;background:none;font-size:1.3rem;line-height:1;color:#5b6b7c;padding:0 4px}
.acu-pt-now{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 8px}
.acu-pt-now dt{font-weight:500;color:#5b6b7c}
.acu-pt-now dd{margin:0}
.acu-pt-note{font-size:.8rem;color:#5b6b7c;margin:0 0 8px}
.acu-pt-tools{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--acu-line,#e5e9ef);padding-top:8px}
.acu-pt-row{display:flex;align-items:center;gap:8px;margin:0}
.acu-pt-row>span{min-width:52px;color:#5b6b7c}
.acu-pt-row select,.acu-pt-row input{flex:1;min-width:0;font-size:.85rem;padding:3px 6px;border:1px solid #cfd6df;border-radius:6px}
.acu-nt-ok{color:#1e7b34;font-weight:600;font-size:.85rem}
.acu-tooth-issues{border-top:1px solid var(--acu-line,#e3e8ee);padding-top:.6rem}
.acu-pcases{padding-left:1.2rem}.acu-pcases li{margin:1px 0}.acu-pcases .acu-cstat{font-size:.7rem}
/* anatomy: treatments linked to a hotspot */
.acu-anat-edit .acu-hs.acu-l-info :is(polygon,path,rect,circle,ellipse,polyline){fill:#7B4BB7;stroke:#7B4BB7}
.acu-anat-view .acu-hs.acu-l-info :is(polygon,path,rect,circle,ellipse,polyline){fill:#7B4BB7;stroke:#7B4BB7}
.acu-hs-item.acu-l-info{border-left-color:#7B4BB7}
.acu-hs-chips{padding-left:1.3rem;margin:0 0 .4rem}.acu-hs-chips li{padding:.2rem 0;border-bottom:1px dashed rgba(0,0,0,.08)}
.acu-hs-chip-acts{float:right}
.acu-hs-kind{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:0 .35rem;vertical-align:1px}
.acu-hs-kind.lib{background:#F3E8FF;color:#6B3FA0}.acu-hs-kind.cond{background:#E6F4EA;color:#1E6B3A}
.acu-hs-lres{max-height:220px;overflow:auto;border:1px solid rgba(0,0,0,.08);border-top:0;border-radius:0 0 8px 8px}
.acu-hs-lres:empty{display:none}
.acu-hs-lopt{display:block;width:100%;text-align:left;border:0;background:#fff;padding:.3rem .5rem;font-size:.88rem}
.acu-hs-lopt:hover:not(:disabled){background:#F3F7FC}.acu-hs-lopt:disabled{opacity:.55}
.acu-anat-treats{list-style:none;padding:0;margin:0}.acu-anat-treats>li{border-top:1px solid rgba(0,0,0,.08);padding:.6rem 0}
.acu-anat-treats .pv-lines{margin:.3rem 0 0;padding-left:1.3rem;font-size:.85rem}
.acu-case-areas{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.acu-case-area{display:flex;gap:.75rem;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:.5rem}
.acu-case-area-svg{flex:0 0 96px}.acu-case-area-svg svg{width:96px;height:auto;display:block}
.acu-case-area-svg text{display:none}
.acu-case-area-svg [data-id] :is(polygon,path,rect,circle,ellipse,polyline){fill-opacity:0;stroke-opacity:0}
.acu-case-area-svg [data-id].on :is(polygon,path,rect,circle,ellipse,polyline){fill:#EC811F;fill-opacity:.35;stroke:#EC811F;stroke-opacity:1;stroke-width:6}
.acu-key.info{background:#7B4BB7}.acu-anat-area.acu-l-info{border-left-color:#7B4BB7}
.acu-anat-wide{position:static}.acu-anat-wide .acu-anat-svg svg{max-height:none}
/* anatomy: diagram selector and views (one at a time) */
.acu-anat-maps{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.acu-anat-maps .acu-pill{padding:5px 12px;font-size:.88rem}
.acu-anat-views{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 6px;padding:4px;background:#F1F5F9;border-radius:10px}
.acu-anat-vtab{flex:1 1 auto;border:0;background:transparent;border-radius:8px;padding:6px 10px;font-weight:600;font-size:.88rem;color:#3A4A5C}
.acu-anat-vtab:hover{background:#fff}
.acu-anat-vtab.on{background:#0E2F4F;color:#fff}
/* anatomy viewer: a clean picture, one view at a time — areas appear on hover / when chosen, or all with "Show areas" */
.acu-anat-view .acu-hs :is(polygon,path,rect,circle,ellipse,polyline){fill-opacity:0;stroke-opacity:0}
.acu-anat-view.show-areas .acu-hs:not(.acu-l-none) :is(polygon,path,rect,circle,ellipse,polyline){fill-opacity:.07;stroke-opacity:.45;stroke-dasharray:4 3}
.acu-anat-view .acu-hs:not(.acu-l-none):is(:hover,:focus-visible,.acu-hs-hover) :is(polygon,path,rect,circle,ellipse,polyline){fill-opacity:.22;stroke-opacity:.9;stroke-width:2;stroke-dasharray:none}
.acu-anat-view .acu-hs.acu-hs-sel :is(polygon,path,rect,circle,ellipse,polyline){fill-opacity:.32;stroke-opacity:1;stroke-width:2.5;stroke-dasharray:none}
.acu-anat-view svg{background:#fff;border-radius:10px}
.acu-anat-stage .acu-anat-views+.acu-anat-svg{border:1px solid #E3E9EF;border-radius:12px;padding:6px}
.acu-anat-sex{display:flex;gap:4px;margin:0 0 6px}
.acu-anat-sexbtn{flex:1 1 0;text-align:center;border:1px solid #D5DEE8;border-radius:999px;padding:5px 10px;font-weight:600;font-size:.88rem;color:#3A4A5C;text-decoration:none;background:#fff}
.acu-anat-sexbtn:hover{border-color:#0E2F4F;color:#0E2F4F}
.acu-anat-sexbtn.on[data-variant="male"]{background:#1E5FA8;border-color:#1E5FA8;color:#fff}
.acu-anat-sexbtn.on[data-variant="female"]{background:#B4407A;border-color:#B4407A;color:#fff}

/* anatomy: many views (e.g. Head & face) — ‹ picker › instead of tabs */
.acu-anat-vpick{display:flex;align-items:center;gap:6px;margin:0 0 6px;padding:4px;background:#F1F5F9;border-radius:10px}
.acu-anat-vpick .form-select{flex:1 1 auto;min-width:0;font-weight:600;border:0;background-color:#fff}
.acu-anat-vstep{flex:0 0 auto;width:36px;height:36px;border:0;border-radius:8px;background:#0E2F4F;color:#fff;font-size:1.3rem;line-height:1}
.acu-anat-vstep:hover{background:#174A78}
.acu-anat-vcount{flex:0 0 auto;padding:0 4px;white-space:nowrap}

/* appointments: month calendar */
.acu-cal{overflow:hidden}
.acu-cal-head,.acu-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.acu-cal-head div{padding:6px 8px;font-size:.78rem;font-weight:700;text-transform:uppercase;color:#5B6B7C;background:#F1F5F9;border-bottom:1px solid #E3E9EF}
.acu-cal-day{min-height:118px;padding:4px 5px 6px;border-right:1px solid #EEF2F6;border-bottom:1px solid #EEF2F6;display:flex;flex-direction:column;gap:2px;min-width:0}
.acu-cal-day:nth-child(7n){border-right:0}
.acu-cal-day.out{background:#FAFBFC}
.acu-cal-day.past{background:#FCFCFD}
.acu-cal-day.today{background:#EEF6FF;box-shadow:inset 0 0 0 2px #1E73BE}
.acu-cal-num{display:flex;align-items:center;gap:4px;font-weight:700;color:#0E2F4F;text-decoration:none;font-size:.9rem}
.acu-cal-num:hover{text-decoration:underline}
.acu-cal-count{margin-left:auto;background:#0E2F4F;color:#fff;border-radius:10px;padding:0 7px;font-size:.72rem;line-height:1.5}
.acu-cal-appt{display:flex;gap:4px;align-items:baseline;font-size:.76rem;line-height:1.3;padding:1px 5px;border-radius:5px;text-decoration:none;color:#1F2D3D;background:#E8F1FB;border-left:3px solid #1E73BE;white-space:nowrap;overflow:hidden}
.acu-cal-appt .t{font-weight:700;flex:0 0 auto}
.acu-cal-appt .p{overflow:hidden;text-overflow:ellipsis}
.acu-cal-appt:hover{filter:brightness(.95)}
.acu-cal-appt.acu-ast-arrived{background:#FFF6E0;border-color:#E0A100}
.acu-cal-appt.acu-ast-completed,.acu-cal-appt.acu-ast-done{background:#E7F5EC;border-color:#2F7D57}
.acu-cal-appt.acu-ast-cancelled{background:#F3F4F6;border-color:#9AA5B1;color:#7A8794;text-decoration:line-through}
.acu-cal-appt.acu-ast-no_show{background:#FDECEC;border-color:#D64545}
.acu-cal-more{font-size:.74rem;font-weight:600;padding-left:4px}
@media (max-width:767.98px){
  .acu-cal-head{display:none}
  .acu-cal-grid{grid-template-columns:1fr}
  .acu-cal-day{min-height:0;border-right:0}
  .acu-cal-day.out,.acu-cal-day:not(.has):not(.today){display:none}
}

/* treatment by anatomy: search */
.acu-anat-search{max-width:760px}
.acu-anat-sbox{position:relative}
.acu-anat-sbox .form-control{padding-left:2.2rem;border-radius:10px;min-height:44px}
.acu-anat-sicon{position:absolute;left:.75rem;top:50%;transform:translateY(-52%);font-size:1.25rem;color:#5B6B7C;pointer-events:none}
.acu-anat-sres{position:absolute;z-index:1050;left:0;right:0;top:calc(100% + 4px);max-height:min(70vh,520px);overflow:auto;background:#fff;border:1px solid #E3E9EF;border-radius:10px;box-shadow:0 10px 30px rgba(14,47,79,.15);padding:4px}
.acu-anat-sres a{display:block;padding:7px 10px;border-radius:8px;color:#1F2D3D;text-decoration:none;line-height:1.3}
.acu-anat-sres a:hover,.acu-anat-sres a.on{background:#EEF6FF}
.acu-anat-sh{font-size:.72rem;font-weight:700;text-transform:uppercase;color:#7A8794;padding:6px 10px 2px}
.acu-anat-smap{font-size:.75rem;color:#1E73BE;background:#EEF6FF;border-radius:6px;padding:0 6px;white-space:nowrap}
.acu-anat-ssnip{display:block;font-size:.8rem;color:#5B6B7C;margin-top:1px}
.acu-anat-sall{display:block;width:100%;border:0;background:#F1F5F9;border-radius:8px;padding:7px;margin-top:4px;font-weight:600;color:#0E2F4F}
.acu-anat-snone{padding:10px;color:#5B6B7C}
.acu-anat-sres mark,.acu-anat-sresults mark,.acu-anat-maps mark{background:#FFF1B8;padding:0;border-radius:2px}
.acu-anat-sresults{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px}
.acu-anat-sresults a{display:block;padding:8px 10px;border:1px solid #E3E9EF;border-radius:10px;text-decoration:none;color:#1F2D3D}
.acu-anat-sresults a:hover{background:#EEF6FF;border-color:#BBD7F2}
/* hot-spot marker: views of a large chart, shapes of one area */
#hmViewBox{align-items:center;padding-left:8px}
#hmViewBox .form-select{border:0;border-left:1px solid #e3e9f0;border-right:1px solid #e3e9f0;border-radius:0;min-height:0;padding-top:4px;padding-bottom:4px}
#hmAddShape.active{background:#1e63c6;color:#fff}
#hmSvg{overflow:hidden}
.acu-anat-vdel{text-align:right;margin:4px 2px 0;font-size:.85rem}
#hmViewImgBtn{border-left:1px solid #e3e9f0;white-space:nowrap}

/* tooth division rules */
.acu-tdiv-chart{display:block;width:100%;max-width:300px;height:auto;margin:0 auto;border-radius:10px}
.acu-tdiv-list{display:grid;gap:12px}
.acu-tdiv-body{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:16px;align-items:start}
@media (max-width:767.98px){.acu-tdiv-body{grid-template-columns:1fr}}
.acu-tdiv-sw{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:middle;background:#ccc}
.acu-tdiv-sticky{position:sticky;top:76px}
.acu-tooth-rules{border:1px solid #E3E9EF;border-radius:10px;padding:8px 10px;margin-bottom:12px;background:#F8FAFC}
.acu-anat-trule{display:flex;align-items:center;gap:6px;justify-content:flex-end;margin:4px 2px 0;font-size:.85rem}
.acu-anat-trule select{width:auto}
.acu-anat-svg .acu-tval{pointer-events:none;font-weight:700;fill:#fff;paint-order:stroke;stroke:#0E2F4F;text-anchor:middle;dominant-baseline:middle}
.acu-anat-view text.acu-tval{display:inline}
.acu-tp-rules{display:flex;flex-wrap:wrap;gap:6px}
.acu-tp-rules .acu-pill{cursor:pointer;margin:0}
.acu-tp-rules .acu-pill.on{background:#0E2F4F;color:#fff;border-color:#0E2F4F}
.acu-tp-line{padding:8px 10px;border:1px solid #E3E9EF;border-left:4px solid #2F7D57;border-radius:8px;margin-bottom:6px;font-size:1.05rem}
.acu-tdiv-out{display:inline-block;background:#E7F5EC;color:#1F5E3E;border-radius:6px;padding:1px 8px;margin:2px 4px 0 0;font-size:.85rem;font-weight:600}
.acu-tp-chip{display:inline-block;border-radius:6px;padding:3px 10px;font-weight:600;font-size:.9rem}
.acu-tp-chip.up,.acu-tp-up{color:#1F6E43}.acu-tp-chip.up{background:#E7F5EC}
.acu-tp-chip.down,.acu-tp-down{color:#B3261E}.acu-tp-chip.down{background:#FDECEA}
/* ---------- Patient case page ---------- */
.cs-page{--cs-r:16px;max-width:1440px}
.cs-page .acu-card{border-radius:var(--cs-r);box-shadow:0 1px 2px rgba(22,35,58,.04)}
.cs-crumbs{color:var(--acu-muted);margin-bottom:10px}.cs-crumbs a{color:var(--acu-muted);text-decoration:none}.cs-crumbs a:hover{color:var(--acu-brand);text-decoration:underline}
.cs-ico{width:18px;height:18px;flex:none}
.cs-hero{display:grid;grid-template-columns:1fr auto;gap:16px 20px;align-items:start;padding:20px 22px;margin-bottom:14px;border-radius:var(--cs-r);color:#fff;
  background:radial-gradient(120% 140% at 100% 0,rgba(125,184,56,.28),transparent 55%),linear-gradient(135deg,#00508C,#005CA0 55%,#0A6FB8);box-shadow:0 8px 24px rgba(0,74,130,.18)}
.cs-hero-main{display:flex;gap:16px;align-items:center;min-width:0}
.cs-avatar{width:60px;height:60px;border-radius:18px;flex:none;display:grid;place-items:center;font-weight:700;font-size:1.35rem;letter-spacing:.02em;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3)}
.cs-hero-txt{min-width:0}
.cs-name{font-size:1.6rem;font-weight:700;margin:0 0 6px;line-height:1.2;overflow-wrap:anywhere}
.cs-name .acu-cstat{font-size:.72rem;vertical-align:4px}
.cs-meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.93rem;color:rgba(255,255,255,.88)}
.cs-meta li{display:inline-flex;align-items:center;gap:6px}.cs-meta .cs-ico{width:16px;height:16px;opacity:.85}
.cs-meta a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cs-hero-act{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.cs-hero-act .btn{display:inline-flex;align-items:center;gap:6px;border-radius:10px;font-weight:600}
.cs-hero-act .btn-outline-secondary{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.06)}
.cs-hero-act .btn-outline-secondary:hover{background:rgba(255,255,255,.18);color:#fff;border-color:#fff}
.cs-hero-act .btn-primary{background:#fff;color:var(--acu-brand);border-color:#fff}.cs-hero-act .btn-primary:hover{background:#EAF3FB;color:var(--acu-brand-d)}
.cs-hero-act .btn-outline-danger{color:#FFD9D6;border-color:rgba(255,190,185,.55)}.cs-hero-act .btn-outline-danger:hover{background:#D93A2B;border-color:#D93A2B;color:#fff}
.cs-status{grid-column:1/-1;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:10px 12px}
.cs-steps{display:flex;gap:6px;flex-wrap:wrap;margin:0}
.cs-step{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.3);background:transparent;color:rgba(255,255,255,.8);border-radius:999px;padding:4px 12px 4px 9px;font-size:.86rem;font-weight:600}
button.cs-step:hover{background:rgba(255,255,255,.15);color:#fff}
.cs-dot{width:9px;height:9px;border-radius:50%;border:2px solid currentColor}
.cs-step.done{color:#fff}.cs-step.done .cs-dot{background:#B9E37F;border-color:#B9E37F}
.cs-step.cur{background:#fff;color:var(--acu-brand);border-color:#fff}.cs-step.cur .cs-dot{background:var(--acu-green);border-color:var(--acu-green)}
.cs-prog{height:6px;margin-top:10px;background:rgba(255,255,255,.2);border-radius:99px}.cs-prog .progress-bar{background:#B9E37F}
.cs-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.cs-kpi{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:#fff;border:1px solid var(--acu-line);border-radius:14px;text-decoration:none;color:var(--acu-ink);transition:border-color .15s,box-shadow .15s,transform .15s}
.cs-kpi:hover{border-color:var(--acu-brand);box-shadow:0 4px 14px rgba(0,92,160,.1);transform:translateY(-1px);color:var(--acu-ink)}
.cs-kpi-n{font-size:1.45rem;font-weight:700;line-height:1.1;color:var(--acu-brand)}
.cs-kpi-l{font-size:.8rem;color:var(--acu-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-nav{position:sticky;top:var(--cs-bar,58px);z-index:1010;margin:0 -4px 14px;padding:6px 4px;background:rgba(242,245,248,.92);backdrop-filter:blur(6px);overflow-x:auto;scrollbar-width:none}
.cs-nav::-webkit-scrollbar{display:none}
.cs-nav-in{display:flex;gap:4px;width:max-content;background:#fff;border:1px solid var(--acu-line);border-radius:12px;padding:4px}
.cs-nav a{padding:6px 13px;border-radius:9px;font-size:.9rem;font-weight:600;color:var(--acu-muted);text-decoration:none;white-space:nowrap}
.cs-nav a:hover{color:var(--acu-ink);background:var(--acu-bg)}
.cs-nav a.on{background:var(--acu-brand);color:#fff}
.cs-page [id]{scroll-margin-top:calc(var(--cs-bar,58px) + 64px)}
.cs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.cs-grid-ov{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}
.cs-grid>.cs-sec{margin-bottom:14px}
.cs-sec{padding:0;margin-bottom:14px;overflow:visible}
.cs-sec-h{display:flex;align-items:center;gap:10px;padding:12px 14px 12px 16px;border-bottom:1px solid #EDF1F5}
.cs-sec-i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:#EAF3FB;color:var(--acu-brand)}
.cs-sec-t{font-size:1.04rem;font-weight:700;margin:0;flex:1 1 50%;min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cs-count{font-size:.75rem;font-weight:700;background:var(--acu-chip);color:var(--acu-muted);border-radius:999px;padding:1px 8px}
.cs-sec-a{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.cs-fold{border:0;background:transparent;color:var(--acu-muted);width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex:none}
.cs-fold:hover{background:var(--acu-bg);color:var(--acu-ink)}
.cs-fold .cs-ico{transition:transform .2s}
.cs-sec.folded .cs-fold .cs-ico{transform:rotate(-90deg)}
.cs-sec.folded .cs-sec-b{display:none}.cs-sec.folded .cs-sec-h{border-bottom:0}
.cs-sec-b{padding:14px 16px 16px}
.cs-empty{color:var(--acu-muted);font-size:.9rem;margin:0;padding:14px;text-align:center;background:var(--acu-bg);border-radius:10px;border:1px dashed var(--acu-line)}
.cs-lbl{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--acu-muted)}
.cs-concern{background:linear-gradient(90deg,#FFF6EC,#fff);border-left:4px solid var(--acu-orange);border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:1.02rem}
.cs-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0}
.cs-facts>div{min-width:0}.cs-facts .cs-wide{grid-column:1/-1}
.cs-facts dt,.cs-plist dt{font-size:.8rem;font-weight:600;color:var(--acu-muted);margin-bottom:1px}
.cs-facts dd,.cs-plist dd{margin:0;overflow-wrap:anywhere}
.cs-symgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.cs-symgrid>div{background:var(--acu-bg);border-radius:10px;padding:7px 10px;display:flex;flex-direction:column;min-width:0}
.cs-symgrid span{font-size:.76rem;color:var(--acu-muted)}.cs-symgrid strong{font-weight:600;overflow-wrap:anywhere}
.cs-plist{margin:0;display:flex;flex-direction:column}
.cs-plist>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid #EDF1F5}
.cs-plist>div:last-child{border-bottom:0}.cs-plist dt{margin:0;padding-top:1px}
.cs-form{background:var(--acu-bg);border:1px solid var(--acu-line);border-radius:12px;padding:12px;margin:0 0 14px}
.cs-form.row{margin-left:0;margin-right:0}
.cs-visits{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.cs-visit{border:1px solid var(--acu-line);border-radius:12px;padding:10px 12px;background:#fff;border-left:4px solid var(--acu-brand);display:flex;flex-direction:column;gap:8px}
.cs-visit-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.cs-vitals{display:flex;flex-wrap:wrap;gap:6px}
.cs-vitals span{display:inline-flex;align-items:baseline;gap:5px;background:#EAF3FB;color:var(--acu-ink);border-radius:8px;padding:3px 9px;font-size:.86rem;font-weight:600}
.cs-vitals em{font-style:normal;font-weight:500;font-size:.75rem;color:var(--acu-muted)}
.cs-link-del{color:#C0392B;font-size:.82rem;text-decoration:none;white-space:nowrap}.cs-link-del:hover{text-decoration:underline;color:#A02A1E}
.cs-rows{list-style:none;margin:0;padding:0}
.cs-rows li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #EDF1F5}.cs-rows li:last-child{border-bottom:0}
.cs-row-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-wrap:anywhere}
.cs-well{display:flex;align-items:center;gap:8px;width:150px;flex:none}.cs-well .progress{flex:1;height:8px;border-radius:99px}.cs-well span{font-weight:700;font-size:.88rem;min-width:38px;text-align:right}
.cs-thread{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:10px}
.cs-thread li{display:flex;gap:10px;align-items:flex-start}
.cs-av{width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:#E4EEF8;color:var(--acu-brand)}
.cs-bubble{flex:1;min-width:0;background:var(--acu-bg);border-radius:4px 12px 12px 12px;padding:8px 12px}
.cs-bubble-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:.84rem;margin-bottom:2px}.cs-bubble-h span{color:var(--acu-muted)}
.cs-compose{border:1px solid var(--acu-line);border-radius:12px;padding:8px;background:#fff}
.cs-compose textarea{border:0;box-shadow:none!important;resize:vertical;padding:4px 6px}
.cs-compose-f{display:flex;gap:8px;align-items:center;border-top:1px solid #EDF1F5;padding-top:8px;margin-top:4px}.cs-compose-f input{flex:1;min-width:0}
.cs-files{list-style:none;margin:0 0 12px;padding:0}
.cs-files li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #EDF1F5}.cs-files li:last-child{border-bottom:0}
.cs-ext{width:40px;height:40px;border-radius:10px;flex:none;display:grid;place-items:center;font-size:.66rem;font-weight:800;letter-spacing:.03em}
.cs-ext-pdf{background:#FDECEA;color:#B3261E}.cs-ext-img{background:#E7F5EC;color:#1F6E43}.cs-ext-doc{background:#EAF3FB;color:var(--acu-brand)}
.cs-upload{display:flex;gap:8px}.cs-upload input{flex:1;min-width:0}
.cs-page .cb-build{background:var(--acu-bg);border:1px solid var(--acu-line);border-radius:12px;padding:12px}
.cs-page .cp-item{border-radius:12px;transition:box-shadow .15s}.cs-page .cp-item:hover{box-shadow:0 3px 12px rgba(22,35,58,.07)}
@media (max-width:1199.98px){.cs-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:991.98px){
  .cs-grid,.cs-grid-ov{grid-template-columns:minmax(0,1fr);gap:0}
  .cs-hero{grid-template-columns:minmax(0,1fr)}.cs-hero-act{justify-content:flex-start}
  .cs-kpi{padding:10px 12px}.cs-kpi-n{font-size:1.3rem}
}
@media (max-width:575.98px){
  .cs-hero{padding:16px;gap:12px;border-radius:14px}
  .cs-avatar{width:48px;height:48px;border-radius:14px;font-size:1.1rem}
  .cs-name{font-size:1.3rem}.cs-meta{font-size:.86rem;gap:4px 14px}
  .cs-hero-act{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px}
  .cs-hero-act .btn{justify-content:center;padding:7px 6px;font-size:.84rem}
  .cs-hero-act .btn .cs-ico{display:none}
  .cs-status{padding:8px}.cs-step{font-size:.8rem;padding:3px 10px 3px 8px}
  .cs-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.cs-step{justify-content:center;padding:4px 6px}
  .cs-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .cs-kpis .cs-kpi:nth-child(n+4){display:none}
  .cs-kpi{padding:10px}.cs-kpi-n{font-size:1.2rem}
  .cs-sec-t{display:block;line-height:1.3}.cs-sec-t .cs-count{vertical-align:2px}
  .cs-nav{margin-left:-12px;margin-right:-12px;padding:6px 12px}
  .cs-sec-h{padding:10px 10px 10px 12px;gap:8px;flex-wrap:wrap}
  .cs-sec-i{width:30px;height:30px;border-radius:9px}.cs-sec-i .cs-ico{width:16px;height:16px}
  .cs-fold{order:3}.cs-sec-a{order:4;justify-content:flex-start}
  .cs-sec-a:empty{display:none}
  .cs-sec-b{padding:12px}
  .cs-facts{grid-template-columns:minmax(0,1fr)}
  .cs-plist>div{grid-template-columns:105px minmax(0,1fr);padding:7px 0}
  .cs-visits{grid-template-columns:minmax(0,1fr)}
  .cs-rows li{flex-wrap:wrap}.cs-well{width:100%;order:3}
  .cs-page .cp-actions .btn{padding:2px 8px;font-size:.8rem}
}
@media print{.cs-nav,.cs-fold,.cs-hero-act,.cs-sec-a,.cs-form,.cs-compose,.cs-upload{display:none!important}.cs-hero{color:#000;background:none;box-shadow:none;border:1px solid #ccc}.cs-sec.folded .cs-sec-b{display:block}}

/* images by protocol category (reports, protocol views): every protocol of a category on the same image */
.rp-cat, .pv-cat { margin-top: .9rem; }
.rp-cat-h, .pv-cat-h { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; font-size: .95rem; margin: 0 0 .4rem; }
.rp-cat-h small, .pv-cat-h small { color: #5b6b80; font-weight: 400; }

/* colour legend under an image (Color therapy) */
.acu-pv-clegend { display: flex; flex-wrap: wrap; gap: .3rem .5rem; justify-content: center; padding: .45rem .25rem .1rem; font-size: .82rem; line-height: 1.2; }
.acu-pv-cl { display: inline-flex; align-items: center; gap: .3rem; padding: .18rem .5rem .18rem .3rem; border: 1px solid #dfe5ee; border-radius: 999px; background: #fff; color: #16233a; white-space: nowrap; }
.acu-pv-cl i { width: .95rem; height: .95rem; border-radius: 50%; background: var(--pc); box-shadow: inset 0 0 0 1px rgba(0,0,0,.18); flex: none; }
.acu-pv-cl i.light { box-shadow: inset 0 0 0 1px rgba(0,0,0,.4); }
.acu-pv-cl small { color: #5b6b80; font-size: .75rem; }
@media print { .acu-pv-clegend { break-inside: avoid; } .acu-pv-cl { -webkit-print-color-adjust: exact; print-color-adjust: exact; } .acu-pv-cl i { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }

/* case → + Build → Condition library */
.cl-res { display: grid; gap: .5rem; max-height: 26rem; overflow-y: auto; }
.cl-hit { border: 1px solid #dfe5ee; border-radius: .6rem; padding: .55rem .7rem; background: #fff; }
.cl-hit-h { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .55rem; }
.cl-hit-h strong { flex: 1 1 14rem; min-width: 0; overflow-wrap: anywhere; }
.cl-lines { margin: .35rem 0 .45rem; padding-left: 1.2rem; font-size: .82rem; }
.cl-lines code { white-space: normal; overflow-wrap: anywhere; color: #16233a; }
.cl-hit-a { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
/* case usage history (My subscription / practice) */
.sb-hero-link{color:inherit;text-decoration:underline dotted}
.cu-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.cu-kpi{background:#f4f7fa;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}
.cu-kpi.cu-low{background:#FFF1D6;box-shadow:inset 0 0 0 1px #E8A317}
.cu-n{font-size:1.5rem;font-weight:700;line-height:1.1}
.cu-l{font-size:.78rem;color:#5b6470}
.cu-t tr.cu-bought td,.cu-t tr.cu-given td,.cu-t tr.cu-included td{background:#F2FAF5}
@media (max-width:575.98px){.cu-kpis{gap:6px}.cu-kpi{padding:8px}.cu-n{font-size:1.2rem}}

/* searchable dropdown (web/js/acu-combo.js) */
.acu-combo{position:relative}
.acu-combo-list{position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:1060;max-height:320px;overflow:auto;margin:0;padding:4px 0;list-style:none;background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#dee2e6);border-radius:.5rem;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.acu-combo-list li[role=option]{padding:.45rem .75rem;cursor:pointer;line-height:1.3}
.acu-combo-list li[role=option][aria-selected=true],.acu-combo-list li[role=option]:hover{background:var(--bs-primary-bg-subtle,#e7f1ff)}
.acu-combo-list b{font-weight:600;display:block}
.acu-combo-list mark{padding:0;background:#ffe58f;color:inherit}
.acu-combo-sub{display:block;font-size:.8rem;color:var(--bs-secondary-color,#6c757d)}
.acu-combo-group{padding:.35rem .75rem .15rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--bs-secondary-color,#6c757d)}
.acu-combo-none{padding:.5rem .75rem;font-size:.85rem;color:var(--bs-secondary-color,#6c757d)}
.acu-cond-dup{margin:-.5rem 0 .75rem;padding:.4rem .6rem;border-radius:.4rem;background:#fff4d6;color:#664d03}
@media (max-width:575.98px){.acu-combo-list{max-height:55vh}}

/* Test environment (views/test-env) */
.te-kpis{display:flex;flex-wrap:wrap;gap:.5rem}
.te-kpis>div{background:var(--bs-tertiary-bg,#f4f6f8);border-radius:.5rem;padding:.4rem .7rem;min-width:88px}
.te-kpis b{display:block;font-size:1.25rem;line-height:1.2}
.te-kpis span{font-size:.75rem;color:var(--bs-secondary-color,#6c757d)}
.te-kpis-sm b{font-size:1.05rem}
.te-kpis .te-low{background:#fdecea}
.te-kpis .te-low b{color:#b02a37}
.te-n{width:84px}
.te-st{display:inline-flex;width:1.3rem;height:1.3rem;border-radius:50%;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;vertical-align:-2px}
.te-ok{background:#d1f2dc;color:#146c43}
.te-bad{background:#f8d7da;color:#b02a37}
.te-skip{background:#e9ecef;color:#6c757d}
.te-table tr.te-row-bad>td{background:#fff5f5}
.te-table td{vertical-align:top}
