
/* VesninMed playful lab / clean, isolated dashboard. No legacy .lab-tile selectors. */
body[data-page="lab"]{background:#eff3fc}
body[data-page="lab"] .lab-main{background:linear-gradient(180deg,#e9effe,#f6f8fd);padding:14px 0 50px;min-height:80vh;color:#172a4c}
body[data-page="lab"] .dash-intro,body[data-page="lab"] .dash-shell,body[data-page="lab"] .lab-aftercare{width:min(calc(100% - 28px),1120px);margin-left:auto;margin-right:auto}
body[data-page="lab"] .dash-intro{position:relative;overflow:hidden;padding:22px 25px 43px;background:linear-gradient(120deg,#1528b5,#364fe1);border-radius:22px 22px 0 0;color:#fff;box-shadow:0 10px 35px #1d2e831c}
body[data-page="lab"] .dash-intro:after{content:"";position:absolute;right:-55px;top:-100px;width:255px;height:255px;border:1px solid #ffffff36;border-radius:50%;box-shadow:0 0 0 38px #ffffff0d,0 0 0 78px #ffffff08;pointer-events:none}
body[data-page="lab"] .dash-strap{display:flex;align-items:center;gap:8px;margin:0;color:#d4e0ff;font:750 10px/1.45 var(--sans,system-ui);letter-spacing:.12em;text-transform:uppercase}
body[data-page="lab"] .dash-signal{width:8px;height:8px;background:#67e7bf;border-radius:50%;box-shadow:0 0 0 4px #67e7bf23}
body[data-page="lab"] .dash-intro h1{max-width:780px;margin:9px 0 7px;color:#fff;font:650 clamp(26px,3.6vw,41px)/1.14 var(--serif,Georgia,serif);letter-spacing:-.035em}
body[data-page="lab"] .dash-intro h1 em{font-style:normal;color:#bddcff}
body[data-page="lab"] .dash-summary{max-width:700px;margin:0;color:#e0e8ff;font:450 13px/1.5 var(--sans,system-ui)}
body[data-page="lab"] .dash-shell{position:relative;z-index:2;margin-top:-23px;padding:19px 20px 22px;background:#f5f7ff;border:1px solid #fff;border-radius:20px;box-shadow:0 13px 35px #263d8126;overflow:visible}
body[data-page="lab"] .dash-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px}
body[data-page="lab"] .dash-bar-title{min-width:0}
body[data-page="lab"] .dash-bar-kicker{display:block;margin:0;color:#677ca4;font:750 10px/1.3 var(--sans,system-ui);letter-spacing:.08em;text-transform:uppercase}
body[data-page="lab"] .dash-bar h2{margin:3px 0 0;color:#21345e;font:800 clamp(20px,2.3vw,25px)/1.22 var(--sans,system-ui);letter-spacing:-.03em}
body[data-page="lab"] .dash-case{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:5px 6px 5px 10px;border:1px solid #e8ecf7;background:#fff;border-radius:12px;color:#687b97;box-shadow:0 3px 10px #2035750c;font:600 11px/1.2 var(--sans,system-ui)}
body[data-page="lab"] .dash-case strong{color:#273d80;font-weight:850;letter-spacing:.02em}
body[data-page="lab"] .dash-share,body[data-page="lab"] .dash-new{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:35px;padding:7px 10px;border:0;border-radius:9px;background:#ebf2ff;color:#3150b4;font:750 11px/1.25 var(--sans,system-ui);text-decoration:none;white-space:nowrap;cursor:pointer}
body[data-page="lab"] .dash-new{background:#fff;color:#2543a3;min-height:37px;box-shadow:0 3px 0 #cfd9ee}
body[data-page="lab"] .dash-share:active,body[data-page="lab"] .dash-new:active{transform:translateY(2px);box-shadow:0 1px 0 #cfd9ee}
body[data-page="lab"] .dash-extras{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;color:#6d7d9d;font:550 11px/1.4 var(--sans,system-ui)}
body[data-page="lab"] .dash-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important;min-width:0!important;width:100%!important;margin:0!important;padding:0!important}
body[data-page="lab"] .dash-grid>.dash-card{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:center!important;gap:0!important;position:relative!important;box-sizing:border-box!important;min-width:0!important;max-width:none!important;width:100%!important;min-height:191px!important;height:auto!important;margin:0!important;padding:12px 11px 13px!important;border:1px solid #edf1fa!important;border-radius:17px!important;background:#fff!important;color:#203456!important;text-align:center!important;box-shadow:0 5px 0 #dbe3f4,0 10px 18px #203b741a!important;overflow:hidden!important;isolation:isolate;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .13s ease,box-shadow .13s ease}
body[data-page="lab"] .dash-grid>.dash-card::before,body[data-page="lab"] .dash-grid>.dash-card::after{content:none!important}
body[data-page="lab"] .dash-grid>.dash-card:hover{transform:translateY(-2px)}
body[data-page="lab"] .dash-grid>.dash-card:active{transform:translateY(4px)!important;box-shadow:0 1px 0 #dbe3f4,0 4px 7px #203b7412!important}
body[data-page="lab"] .dash-grid>.dash-card:focus-visible{outline:3px solid #247ace;outline-offset:3px}
body[data-page="lab"] .dash-card--exam{--dash-accent:#2866c6;--dash-soft:#e8f0ff}
body[data-page="lab"] .dash-card--calc{--dash-accent:#7555ca;--dash-soft:#f1edff}
body[data-page="lab"] .dash-card--queue{--dash-accent:#bd7b35;--dash-soft:#fff1dc}
body[data-page="lab"] .dash-card--button{--dash-accent:#248773;--dash-soft:#dff7ee}
body[data-page="lab"] .dash-card-index{align-self:stretch;display:flex;justify-content:space-between;align-items:center;gap:5px;width:100%;min-height:20px;margin:0;color:#8591a7;font:850 9px/1.2 var(--sans,system-ui);letter-spacing:.07em;text-align:left}
body[data-page="lab"] .dash-card-index b{font:850 13px/1 var(--sans,system-ui);color:var(--dash-accent);background:var(--dash-soft);width:23px;height:23px;border-radius:7px;display:grid;place-items:center}
body[data-page="lab"] .dash-card-icon{display:grid!important;place-items:center!important;flex:0 0 56px!important;width:56px!important;height:56px!important;max-width:56px!important;max-height:56px!important;margin:8px 0 7px!important;padding:4px!important;background:var(--dash-soft)!important;border-radius:15px!important}
body[data-page="lab"] .dash-card-icon svg{display:block!important;width:45px!important;height:45px!important;max-width:45px!important;max-height:45px!important;min-width:0!important;min-height:0!important;flex:none!important;transform:none!important}
body[data-page="lab"] .dash-card-title{display:block!important;margin:0!important;padding:0!important;width:100%!important;max-width:100%!important;min-height:42px!important;color:#203456!important;font:800 clamp(13px,3.7vw,17px)/1.18 var(--sans,system-ui)!important;letter-spacing:-.025em!important;text-align:center!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:auto}
body[data-page="lab"] .dash-card-detail{display:block!important;color:#8290a3!important;font:550 10px/1.3 var(--sans,system-ui)!important;margin:4px 0 0!important;text-align:center!important;min-height:13px!important}
body[data-page="lab"] .dash-card-state{display:block!important;max-width:100%;margin:auto 0 0!important;padding:5px 9px!important;border-radius:30px!important;background:var(--dash-soft)!important;color:var(--dash-accent)!important;font:750 10px/1.15 var(--sans,system-ui)!important;text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}
body[data-page="lab"] .dash-card[data-state="done"] .dash-card-state{background:#e3f8ec!important;color:#27794b!important}
body[data-page="lab"] .dash-card[data-state="done"] .dash-card-state::after{content:" ✓"}
body[data-page="lab"] .dash-record{margin:20px 0 0;padding:16px 16px 17px;border:1px solid #edf0f8;border-radius:17px;background:#fff;box-shadow:0 4px 0 #e1e8f6,0 9px 18px #21367012}
body[data-page="lab"] .dash-record-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}
body[data-page="lab"] .dash-record-header h2{margin:0;color:#22395f;font:800 19px/1.2 var(--sans,system-ui)}
body[data-page="lab"] .dash-record-header>span{font:750 10px/1.25 var(--sans,system-ui);color:#7890af;background:#edf3ff;border-radius:20px;padding:5px 9px}
body[data-page="lab"] .dash-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body[data-page="lab"] .dash-stat{min-width:0;padding:11px 9px 10px;border-radius:12px;background:#edf4ff;display:flex;flex-direction:column;align-items:flex-start}
body[data-page="lab"] .dash-stat:nth-child(2){background:#e9f8f3}
body[data-page="lab"] .dash-stat:nth-child(3){background:#fff5e5}
body[data-page="lab"] .dash-stat strong{font:850 clamp(21px,3.3vw,29px)/1.15 var(--sans,system-ui);color:#1d3664;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
body[data-page="lab"] .dash-stat span{font:600 10px/1.3 var(--sans,system-ui);color:#637894}
body[data-page="lab"] .dash-opinion{display:flex;flex-direction:column;gap:3px;margin:10px 0 0;padding:12px 14px;border-radius:12px;background:linear-gradient(105deg,#e9eeff,#eff4ff)}
body[data-page="lab"] .dash-opinion small{color:#7384ac;font:850 10px/1.3 var(--sans,system-ui);letter-spacing:.07em;text-transform:uppercase}
body[data-page="lab"] .dash-opinion strong{font:800 18px/1.25 var(--sans,system-ui);color:#2b438f}
body[data-page="lab"] .dash-opinion p{color:#667998;font:500 11px/1.48 var(--sans,system-ui);margin:0}
body[data-page="lab"] .dash-awards{margin:12px 0 0;padding:12px 0 0;border-top:1px solid #e9edf6}
body[data-page="lab"] .dash-awards-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}
body[data-page="lab"] .dash-awards-header h3{margin:0;font:800 14px/1.3 var(--sans,system-ui);color:#2a406a}
body[data-page="lab"] .dash-awards-header span{font:750 10px/1.3 var(--sans,system-ui);padding:5px 9px;border-radius:20px;background:#edf3ff;color:#3b5c9c}
body[data-page="lab"] .dash-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0!important}
body[data-page="lab"] .dash-badges .lab-achievement{min-width:0;max-width:100%;min-height:67px;margin:0;padding:8px 6px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;border:0;border-radius:11px;background:#f4f7fc;color:#8090a9;text-align:center}
body[data-page="lab"] .dash-badges .lab-achievement strong{font:750 10px/1.3 var(--sans,system-ui);color:#667b99;overflow-wrap:anywhere}
body[data-page="lab"] .dash-badges .lab-achievement span{font:500 9px/1.25 var(--sans,system-ui);color:#94a0b1}
body[data-page="lab"] .dash-badges .lab-achievement.unlocked{background:#fff5df}
body[data-page="lab"] .dash-badges .lab-achievement.unlocked strong{color:#9a6627}
body[data-page="lab"] .dash-shell.lab-in-experiment{background:#fff;padding:0;border-radius:20px;overflow:hidden}
body[data-page="lab"] .dash-shell.lab-in-experiment>.dash-bar{display:none}
body[data-page="lab"] .lab-view-toolbar{display:flex;gap:9px;align-items:center;justify-content:space-between;min-width:0}
body[data-page="lab"] .lab-view-toolbar[hidden]{display:none!important}
body[data-page="lab"] .lab-aftercare{padding:15px 0 0;color:#8290aa;font:500 11px/1.5 var(--sans,system-ui)}
@media(min-width:820px){
 body[data-page="lab"] .dash-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important}
 body[data-page="lab"] .dash-grid>.dash-card{min-height:225px!important;padding:15px!important}
 body[data-page="lab"] .dash-card-icon{width:66px!important;height:66px!important;max-height:66px!important;max-width:66px!important;flex-basis:66px!important;margin:14px 0 12px!important}
 body[data-page="lab"] .dash-card-icon svg{width:53px!important;height:53px!important;max-width:53px!important;max-height:53px!important}
 body[data-page="lab"] .dash-card-title{font-size:16px!important}
 body[data-page="lab"] .dash-badges{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(max-width:600px){
 body[data-page="lab"] .lab-main{padding-top:10px}
 body[data-page="lab"] .dash-intro,body[data-page="lab"] .dash-shell,body[data-page="lab"] .lab-aftercare{width:calc(100% - 18px)}
 body[data-page="lab"] .dash-intro{padding:16px 16px 43px;border-radius:18px 18px 0 0}
 body[data-page="lab"] .dash-intro h1{font-size:clamp(25px,6.5vw,31px);line-height:1.14;margin:7px 0}
 body[data-page="lab"] .dash-summary{font-size:11px;line-height:1.43;max-width:330px}
 body[data-page="lab"] .dash-shell{margin-top:-23px;padding:15px 11px 17px;border-radius:16px}
 body[data-page="lab"] .dash-bar{margin-bottom:10px;flex-wrap:wrap;align-items:center;gap:8px}
 body[data-page="lab"] .dash-bar h2{font-size:21px}
 body[data-page="lab"] .dash-case{margin-left:auto;gap:5px;font-size:10px;padding:4px 5px 4px 8px}
 body[data-page="lab"] .dash-share{font-size:10px;padding:7px 8px;min-height:32px}
 body[data-page="lab"] .dash-extras{font-size:10px;margin-bottom:11px}
 body[data-page="lab"] .dash-grid{gap:10px!important}
 body[data-page="lab"] .dash-grid>.dash-card{min-height:184px!important;padding:10px 9px 11px!important;border-radius:15px!important}
 body[data-page="lab"] .dash-card-index{font-size:9px}
 body[data-page="lab"] .dash-card-icon{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;flex-basis:52px!important;margin:7px 0 6px!important}
 body[data-page="lab"] .dash-card-icon svg{width:43px!important;height:43px!important;max-width:43px!important;max-height:43px!important}
 body[data-page="lab"] .dash-card-title{font-size:clamp(13px,3.9vw,15px)!important;min-height:39px!important}
 body[data-page="lab"] .dash-card-detail{font-size:9px!important;margin-top:3px!important}
 body[data-page="lab"] .dash-card-state{font-size:9px!important;padding:5px 8px!important}
 body[data-page="lab"] .dash-record{padding:13px 12px}
 body[data-page="lab"] .dash-stats{gap:6px}
 body[data-page="lab"] .dash-stat{padding:10px 8px}
 body[data-page="lab"] .dash-stat strong{font-size:24px}
 body[data-page="lab"] .dash-stat span{font-size:9px}
}
@media(max-width:350px){
 body[data-page="lab"] .dash-intro,body[data-page="lab"] .dash-shell,body[data-page="lab"] .lab-aftercare{width:calc(100% - 12px)}
 body[data-page="lab"] .dash-grid{gap:8px!important}
 body[data-page="lab"] .dash-grid>.dash-card{padding:9px 7px!important;min-height:184px!important}
 body[data-page="lab"] .dash-card-title{font-size:12px!important}
 body[data-page="lab"] .dash-card-detail{font-size:9px!important}
}
@media(prefers-reduced-motion:reduce){body[data-page="lab"] .dash-grid>.dash-card{transition:none}}

/* Laboratory-only compact phone header; preserve other pages' site shell. */
@media(max-width:600px){
 body[data-page="lab"] .vm-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;row-gap:3px;height:auto;min-height:0;padding-top:8px;padding-bottom:5px}
 body[data-page="lab"] .vm-logo{grid-column:1;grid-row:1;font-size:21px}
 body[data-page="lab"] .vm-header-actions{grid-column:2;grid-row:1;justify-self:end;gap:5px}
 body[data-page="lab"] .vm-nav{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:2px;width:100%;min-width:0;overflow-x:auto;scrollbar-width:none}
 body[data-page="lab"] .vm-nav::-webkit-scrollbar{display:none}
 body[data-page="lab"] .vm-nav>a{flex:0 0 auto;min-height:35px;padding:5px 4px;font-size:clamp(11px,3.1vw,13px);line-height:1.25}
 body[data-page="lab"] .vm-channel-link{min-height:36px;font-size:12px;padding:6px 9px}
 body[data-page="lab"] .vm-header{box-shadow:0 2px 10px #132c5008}
}
