@font-face{font-family:"IRANSans";src:url("/assets/fonts/IRANSansWeb.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"IRANSans";src:url("/assets/fonts/IRANSansWeb_Bold.woff") format("woff");font-style:normal;font-weight:700 900;font-display:swap}

:root{
  --bg:#f8f7ff;
  --surface:#fff;
  --surface-soft:#fbfaff;
  --surface-purple:#f6f3ff;
  --purple:#6d4df6;
  --purple-2:#8d4cff;
  --purple-3:#b9a9ff;
  --purple-soft:#eee9ff;
  --purple-line:#e7e1ff;
  --cyan:#5ecbd3;
  --ink:#20234a;
  --ink-2:#34385f;
  --muted:#7c83a6;
  --muted-2:#a4aac3;
  --line:#e9eaf5;
  --green:#2cbf8f;
  --danger:#ef5d73;
  --shadow:0 18px 50px rgba(79,66,153,.08);
  --shadow-soft:0 8px 30px rgba(79,66,153,.055);
}

*{box-sizing:border-box}
html{background:var(--bg);color-scheme:light}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fff 0,#fbfaff 42%,#f7f5ff 100%);color:var(--ink);font-family:"IRANSans",Tahoma,sans-serif;overflow-x:hidden}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{text-decoration:none;color:inherit}
svg{display:block}

.app-header{
  height:72px;
  display:grid;
  grid-template-columns:240px minmax(280px,460px) 1fr;
  align-items:center;
  gap:20px;
  padding:0 24px;
  background:rgba(255,255,255,.95);
  border-bottom:1px solid #efeff8;
  box-shadow:0 4px 22px rgba(62,48,139,.035);
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(18px)
}
.top-brand{display:flex;align-items:center;gap:10px;direction:ltr}
.top-brand-mark{width:40px;height:40px;display:grid;place-items:center}
.top-brand-mark svg{width:40px;height:40px;fill:#7555f7;filter:drop-shadow(0 8px 13px rgba(109,77,246,.18))}
.top-brand-copy{display:flex;flex-direction:column;align-items:flex-start}
.top-brand-copy strong{font:900 24px/1 Arial,sans-serif;color:#3935a9;letter-spacing:-.7px}
.top-brand-copy small{font-size:7px;color:#9297b1;margin-top:3px}
.top-search{
  height:43px;
  border:1px solid #e1e4f2;
  background:#f8f9fd;
  border-radius:12px;
  display:grid;
  grid-template-columns:22px 1fr 24px;
  align-items:center;
  gap:7px;
  padding:0 12px;
  direction:rtl;
  color:#969cb5;
  box-shadow:inset 0 1px rgba(255,255,255,.7)
}
.top-search svg{width:18px;height:18px;fill:none;stroke:#747ca0;stroke-width:1.8}
.top-search span{font-size:9px}
.top-search button{border:0;background:transparent;color:#7a80a0;font-size:15px}
.top-actions{display:flex;align-items:center;justify-content:flex-start;gap:13px;direction:rtl}
.top-message,.top-help{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;position:relative;color:#72799c}
.top-message svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.notification-dot{position:absolute;top:-3px;right:-1px;width:15px;height:15px;border-radius:50%;background:#7048fa;color:#fff;font:700 7px/15px Arial;text-align:center}
.top-help{border:1px solid #e0e2ef;background:#fff;font:800 14px Arial}
.patient-profile{height:50px;padding:0 5px 0 8px;display:flex;align-items:center;gap:9px;border-right:1px solid #efeff7}
.profile-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d8d0ff,#eeeaff);color:#6549d8;font-weight:900;border:2px solid #fff;box-shadow:0 2px 10px rgba(71,56,142,.12)}
.patient-profile>span:nth-child(2){display:flex;flex-direction:column;min-width:92px}
.patient-profile strong{font-size:9px;color:#272a51}
.patient-profile small{font-size:7px;color:#9aa0b8;margin-top:3px}
.patient-profile b{font-size:12px;color:#6e7393}
.top-slogan{background:linear-gradient(135deg,#faf8ff,#f4f0ff);color:#906cf8;border:1px solid #eee8ff;padding:10px 13px;border-radius:11px;font-size:8px;white-space:nowrap}

.app-layout{display:grid;grid-template-columns:214px minmax(0,1fr);direction:ltr;min-height:calc(100vh - 104px)}
.side-nav{direction:rtl;padding:20px 10px 18px;background:rgba(255,255,255,.86);border-right:1px solid #eeeeF6;display:flex;flex-direction:column;justify-content:space-between}
.side-nav nav{display:grid;gap:6px}
.side-nav nav a{height:48px;border-radius:11px;display:flex;align-items:center;gap:12px;padding:0 16px;color:#767d9e;position:relative;transition:.18s}
.side-nav nav a span{width:22px;text-align:center;font:700 13px/1 Arial}
.side-nav nav a b{font-size:9px;font-weight:700}
.side-nav nav a:hover{background:#faf9ff;color:#5d52a4}
.side-nav nav a.active{background:linear-gradient(90deg,#f4efff,#faf8ff);color:#724af4}
.side-nav nav a.active::after{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:linear-gradient(#7b54ff,#9a52ff);border-radius:0 4px 4px 0}
.pro-card{margin:18px 6px 0;padding:18px 14px;border:1px solid #e5defe;border-radius:15px;background:linear-gradient(155deg,#fff,#f7f3ff);text-align:center;box-shadow:var(--shadow-soft)}
.pro-icon{font-size:24px;color:#704df4;margin-bottom:6px}
.pro-card strong{font:800 11px/1 Arial,sans-serif;color:#3d3c91}
.pro-card p{font-size:7.5px;line-height:2;color:#797f9f;margin:10px 0}
.pro-card button{border:0;border-radius:999px;background:#eee7ff;color:#7549eb;padding:9px 11px;font-size:7.5px;font-weight:800}

.patient-main{direction:ltr;display:grid;grid-template-columns:minmax(420px,37%) minmax(0,63%);gap:16px;padding:16px;min-width:0;background:radial-gradient(circle at 22% 20%,rgba(140,103,255,.08),transparent 26%),linear-gradient(180deg,#faf9ff,#f7f5ff)}

.body-card,.assessment-workspace{direction:rtl;background:rgba(255,255,255,.96);border:1px solid var(--purple-line);border-radius:17px;box-shadow:var(--shadow);min-width:0}
.body-card{padding:17px 18px 16px;display:flex;flex-direction:column;overflow:hidden;min-height:810px}
.body-card-head{display:flex;align-items:flex-start;justify-content:space-between}
.body-card-head h1{font-size:18px;margin:4px 0 0;color:#24264d}
.section-kicker{font:800 6px/1 Arial,sans-serif;letter-spacing:2px;color:#9a82f8}
.live-pill{font:700 6px/1 Arial;padding:7px 9px;border-radius:999px;border:1px solid #e9e5f6;color:#858aa4;display:flex;align-items:center;gap:5px}
.live-pill i{width:5px;height:5px;border-radius:50%;background:#36d3a4;box-shadow:0 0 8px #36d3a4}

.body-sex-control{margin-top:12px;display:grid;gap:6px}
.body-sex-label{font-size:8px;color:#565b7e;font-weight:700}
.body-sex-switch{height:43px;padding:3px;border:1px solid #dfe1ef;background:#f5f6fb;border-radius:13px;display:grid;grid-template-columns:1fr 1fr;direction:ltr}
.body-sex-switch button{border:0;border-radius:10px;background:transparent;color:#555a7d;display:flex;align-items:center;justify-content:center;gap:8px;font-size:9px;transition:.22s}
.body-sex-switch button span{font:700 17px Arial}
.body-sex-switch button.active{color:#fff;background:linear-gradient(90deg,#6247ec,#8f3df7);box-shadow:0 7px 20px rgba(103,67,235,.24)}
.body-sex-switch button.active span{color:#fff}

.model-frame{
  position:relative;
  flex:1;
  min-height:585px;
  margin-top:10px;
  border:1px solid #eeeafe;
  border-radius:18px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 39%,rgba(116,87,249,.12),transparent 29%),
    linear-gradient(180deg,rgba(253,252,255,.98),rgba(247,244,255,.93));
}
.model-frame::before{content:"";position:absolute;inset:5%;z-index:0;border-radius:50%;background:radial-gradient(ellipse,rgba(142,104,255,.085),rgba(82,200,210,.03) 42%,transparent 68%);pointer-events:none}
.model-grid{position:absolute;inset:0;z-index:1;opacity:.56;background-image:linear-gradient(rgba(126,102,213,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(126,102,213,.055) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(180deg,transparent 3%,#000 18%,#000 82%,transparent 98%);pointer-events:none}
.model-aura{position:absolute;z-index:1;width:66%;height:76%;left:17%;top:10%;border-radius:50%;background:radial-gradient(ellipse,rgba(108,80,239,.12),rgba(98,202,212,.04) 48%,transparent 70%);filter:blur(12px);pointer-events:none}
#bodyCanvas{position:absolute;inset:0;z-index:3;width:100%;height:100%;cursor:grab;touch-action:none}
#bodyCanvas:active{cursor:grabbing}

.hud-card{position:absolute;z-index:7;min-width:92px;padding:9px 10px;background:rgba(255,255,255,.88);border:1px solid #e9e4fb;border-radius:11px;box-shadow:0 8px 22px rgba(81,64,153,.08);backdrop-filter:blur(9px);display:flex;flex-direction:column;gap:2px}
.hud-card span{font-size:6.5px;color:#969cb5}.hud-card strong{font-size:8.5px;color:#363b62}.hud-card-left{left:12px;top:75px;text-align:left}.hud-card-right{right:12px;top:75px}
.model-floor{position:absolute;z-index:2;left:24%;width:52%;height:14%;bottom:4.5%;border-radius:50%;border:2px solid rgba(122,86,245,.17);transform:perspective(420px) rotateX(68deg);background:radial-gradient(circle,rgba(119,88,245,.09),transparent 70%);box-shadow:0 0 34px rgba(126,92,248,.12)}
.model-floor span{position:absolute;inset:17%;border-radius:50%;border:1px solid rgba(126,92,248,.18)}.model-floor span:nth-child(2){inset:35%}.model-floor span:nth-child(3){inset:48%}

.region-pin{position:absolute;z-index:8;border:0;background:transparent;padding:0;display:flex;align-items:center;gap:7px;color:#44496e}
.region-pin i{display:block;width:8px;height:8px;border-radius:50%;background:#7c55f6;border:2px solid #fff;box-shadow:0 0 0 2px rgba(124,85,246,.18)}
.region-pin span{background:rgba(255,255,255,.94);border:1px solid #e7e0ff;border-radius:999px;padding:7px 10px;font-size:7.5px;font-weight:700;box-shadow:0 8px 20px rgba(84,64,163,.08);white-space:nowrap}
.region-pin::after{content:"";position:absolute;height:1px;width:42px;background:linear-gradient(90deg,#8159f7,rgba(129,89,247,.14));top:50%;z-index:-1}
.region-pin.active span,.region-pin:hover span{color:#633fe4;border-color:#bba8ff;background:#faf8ff}
.pin-head{top:16%;left:8%}.pin-head::after{left:100%}
.pin-chest{top:36%;left:4%}.pin-chest::after{left:100%}
.pin-abdomen{top:48%;right:3%}.pin-abdomen::after{right:100%;transform:rotate(180deg)}
.pin-legs{top:76%;left:5%}.pin-legs::after{left:100%}

.model-controls{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:7px;color:#979db6;font-size:7px}
.model-controls button{width:29px;height:29px;border-radius:8px;border:1px solid #e4e2f0;background:#fff;color:#6358a8;box-shadow:0 3px 10px rgba(84,70,140,.05)}
.model-controls button:hover{border-color:#c7b9ff;background:#f8f5ff;color:#6848e9}
.model-controls span{margin-right:8px}

.assessment-workspace{padding:20px 22px 18px;display:flex;flex-direction:column;min-height:810px}
.workspace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.workspace-title{display:flex;align-items:flex-start;gap:15px;flex:1}
.workspace-title>div:last-child{display:flex;flex-direction:column}
.workspace-title h1{font-size:25px;margin:4px 0 7px;color:#23264d}
.workspace-title p{font-size:8.8px;color:#858baa;margin:0;line-height:1.9}
.page-badge{min-width:92px;padding:10px 11px;border-radius:12px;border:1px solid #e8e0ff;background:linear-gradient(155deg,#faf8ff,#f4efff);color:#7147ec;font-size:8px;font-weight:800;display:flex;flex-direction:column;gap:4px;text-align:center}
.page-badge small{font-size:6px;color:#9c8bd7;font-weight:500}
.back-btn{width:34px;height:34px;border-radius:9px;border:1px solid #e8e7f2;background:#fff;color:#6559a4;display:grid;place-items:center;font-size:17px}

.progress-wrap{margin-top:18px}
.progress-meta{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#9298b2;font-size:7px}
.progress-meta strong{color:#45496d;font-size:8px}.progress-meta span:last-child{text-align:left}
.progress-track{height:3px;background:#eeeef7;margin:9px 0 14px;border-radius:99px;overflow:hidden;direction:rtl}
.progress-track span{display:block;width:20%;height:100%;background:linear-gradient(90deg,#8c4cf7,#6645ed);transition:width .35s ease}
.step-dots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative;direction:rtl}
.step-dots::before{content:"";position:absolute;top:16px;right:8%;left:8%;height:2px;background:#ededf5;z-index:0}
.step-dots li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;color:#8d93ad}
.step-dots li span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #e7e7f1;font:700 9px Arial;color:#717797}
.step-dots li b{font-size:7.5px;font-weight:700}
.step-dots li.active span{border-color:#7550f4;background:linear-gradient(145deg,#8054fb,#643ee9);color:#fff;box-shadow:0 5px 16px rgba(103,67,234,.22)}
.step-dots li.active b{color:#42397a}
.step-dots li.done span{border-color:#9adbc9;background:#f2fffb;color:#2b9c7a}

.assessment-card{margin-top:18px;flex:1;border:1px solid #e8e8f2;border-radius:16px;background:#fff;box-shadow:0 14px 40px rgba(61,47,126,.045);padding:24px 24px 0;overflow:hidden}
.step-panel{display:none;animation:stepFade .25s ease}.step-panel.active{display:block}
@keyframes stepFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.step-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}
.step-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#f2edff;color:#754cf0;font:800 16px Arial}
.step-heading>div{display:flex;flex-direction:column}
.step-heading small{font:800 6px/1 Arial;letter-spacing:1.7px;color:#a39ac7}
.step-heading h2{font-size:18px;margin:6px 0 4px;color:#272a50}
.step-heading p{font-size:8px;color:#9298b0;margin:0}

.field-grid{display:grid;gap:12px}
.field-grid.four{grid-template-columns:repeat(4,1fr)}
.field-grid.three{grid-template-columns:repeat(3,1fr)}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:13px}
.field>span{font-size:8px;color:#525778;font-weight:700}
.field>span em{font-style:normal;color:#ef5d73;margin-right:3px}
.field input,.field select,.field textarea{width:100%;border:1px solid #e3e5f0;background:#fff;color:#272b51;border-radius:10px;outline:0;transition:.18s}
.field input,.field select{height:43px;padding:0 12px;font-size:8.5px}
.field textarea{min-height:122px;padding:12px 13px;resize:vertical;font-size:8.5px;line-height:2}
.field input::placeholder,.field textarea::placeholder{color:#b2b7c9}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#a895ff;box-shadow:0 0 0 3px rgba(118,79,244,.07)}
.input-with-suffix{position:relative}.input-with-suffix input{padding-left:42px}.input-with-suffix b{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:7px;color:#9ca2b9}
.health-metrics{margin-top:2px}
.metric-card{min-height:72px;border:1px solid #e3e5f0;border-radius:10px;background:linear-gradient(145deg,#fff,#faf9ff);padding:11px 12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px}
.metric-card span{font-size:8px;color:#555a7a;font-weight:700;grid-column:1/-1}
.metric-card strong{font:800 17px Arial;color:#4e5280}
.metric-card small{font-size:6.5px;color:#999fb7;background:#f3f5fa;border-radius:999px;padding:4px 7px;justify-self:end}
.metric-card.normal small{color:#208b69;background:#eafaf4}
.metric-card.warn small{color:#b47c1f;background:#fff7df}
.metric-card.danger small{color:#bc4e60;background:#fff0f3}
.reason-field{margin-top:8px;position:relative}
.reason-field>span{font-size:10px;color:#33375e}.reason-field>span em{font-size:7px;color:#8d93aa;font-weight:400;margin-right:8px}
.reason-field textarea{min-height:105px}
.counter{position:absolute;left:10px;bottom:9px;font-size:6.5px;color:#a3a8bb}
.compact-purpose{max-width:300px}
.compact-purpose select{background:#faf9ff}

.selected-region-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 13px;border:1px solid #e3ddff;border-radius:11px;background:#faf8ff;margin-bottom:14px}
.selected-region-card span{font-size:7px;color:#8c8fa8}.selected-region-card strong{font-size:9px;color:#583fbe}.selected-region-card button{border:0;background:transparent;color:#9a9eb3;font-size:7px}
.symptom-chips,.prompt-chips{display:flex;flex-wrap:wrap;gap:7px}
.symptom-chips button,.prompt-chips button{border:1px solid #e3e4ef;background:#fff;color:#7d829e;border-radius:999px;padding:7px 10px;font-size:7.5px}
.symptom-chips button:hover,.symptom-chips button.active,.prompt-chips button:hover{border-color:#b9a9ff;background:#f7f4ff;color:#6345dc}
.severity-card{border:1px solid #e7e7f0;border-radius:12px;background:#fcfbff;padding:14px;margin:16px 0}
.severity-card>div:first-child,.severity-labels{display:flex;justify-content:space-between}
.severity-card>div:first-child{font-size:8px;color:#565b7b}.severity-card input{width:100%;margin:14px 0 7px;accent-color:#724cf0}.severity-labels{font-size:7px;color:#a0a5b9}
.upload-zone{min-height:250px;border:1px dashed #bcb0ec;border-radius:14px;background:linear-gradient(145deg,#fcfbff,#f9f7ff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#454b70;outline:0}
.upload-zone:hover,.upload-zone:focus-visible,.upload-zone.dragging{border-color:#7953f1;background:#f7f4ff}
.upload-icon{width:52px;height:52px;border-radius:14px;background:#eee9ff;color:#734cea;display:grid;place-items:center;font-size:24px;margin-bottom:12px}
.upload-zone strong{font-size:10px}.upload-zone>span{font-size:7.5px;color:#999fb5;margin-top:5px}.upload-zone small{font-size:6.5px;color:#b1b5c6;margin-top:8px}
.upload-progress{margin:12px 0;padding:12px;border:1px solid #e6e7ef;border-radius:10px}
.upload-progress-head{display:flex;justify-content:space-between;font-size:7px;color:#81869e;margin-bottom:7px}
.upload-progress>div:last-child{height:4px;background:#f0eff7;border-radius:99px;overflow:hidden}.upload-progress>div:last-child span{display:block;width:0;height:100%;background:linear-gradient(90deg,#8c4df5,#6844eb)}
.uploaded-list{display:grid;gap:8px;margin-top:10px}
.uploaded-file{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid #d9eee7;background:#f6fffb;border-radius:10px}
.uploaded-file .file-badge{width:34px;height:34px;border-radius:9px;background:#e5faf2;color:#299274;display:grid;place-items:center;font:800 7px Arial}
.uploaded-file div:nth-child(2){display:flex;flex-direction:column;min-width:0}.uploaded-file strong{font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uploaded-file small{font-size:6.5px;color:#8d96a9}.uploaded-file>span{font-size:7px;color:#299274}
.privacy-strip{margin-top:12px;display:flex;gap:9px;padding:11px;border:1px solid #e6e7ee;border-radius:10px;background:#fbfbfd}
.shield{width:20px;height:20px;border-radius:50%;background:#eafaf4;color:#27a67f;display:grid;place-items:center;font-size:8px}.privacy-strip>div{display:flex;flex-direction:column;gap:3px}.privacy-strip strong{font-size:7.5px}.privacy-strip small{font-size:6.5px;color:#9298ae}
.toggle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.toggle-grid label{min-height:72px;padding:12px;border:1px solid #e5e6ef;border-radius:11px;background:#fff;display:flex;gap:9px;align-items:flex-start}.toggle-grid input{accent-color:#734cf1}.toggle-grid span{display:flex;flex-direction:column;gap:3px}.toggle-grid b{font-size:8px}.toggle-grid small{font-size:6.5px;color:#999fb4}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-grid article{padding:12px;border:1px solid #e6e7ef;border-radius:11px;background:#fcfcfe;min-height:84px}.review-grid span{font-size:7px;color:#9297ad}.review-grid p{font-size:8px;color:#555a78;line-height:1.9;margin:6px 0 0}
.final-notice{margin-top:12px;padding:12px;border:1px solid #ffd7df;background:#fff8fa;border-radius:10px}.final-notice strong{font-size:8px;color:#bf5366}.final-notice p{font-size:7px;color:#936f78;line-height:1.9;margin:4px 0 0}

.panel-footer{margin:24px -24px 0;padding:15px 24px;border-top:1px solid #eeeeF4;background:#fcfcfe;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.nav-btn{height:41px;border-radius:10px;padding:0 16px;font-size:8px;font-weight:800}
.nav-btn.secondary{border:1px solid #e2e3ed;background:#fff;color:#777d9b}.nav-btn.secondary:disabled{opacity:.34}
.nav-btn.primary{border:0;min-width:125px;color:#fff;background:linear-gradient(90deg,#6b45ed,#8b45f8);box-shadow:0 9px 24px rgba(107,69,237,.23)}
.nav-btn.primary:hover{transform:translateY(-1px)}
.autosave{justify-self:center;display:flex;align-items:center;gap:6px;color:#a0a5ba;font-size:6.7px}.autosave i{width:5px;height:5px;border-radius:50%;background:#2bc795}

.app-footer{height:32px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eeeeF6;background:#fff;color:#9aa0b7;font-size:6.5px;direction:ltr}
.toast{position:fixed;left:24px;bottom:48px;z-index:100;padding:11px 13px;border-radius:10px;background:#fff;color:#4f5472;border:1px solid #e3e4ee;box-shadow:0 18px 50px rgba(64,48,125,.14);font-size:8px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:none}.toast.error{border-color:#f5cbd2;color:#b44d60}

@media(max-width:1280px){
  .app-header{grid-template-columns:205px minmax(240px,380px) 1fr;padding:0 16px}
  .top-slogan{display:none}
  .app-layout{grid-template-columns:190px minmax(0,1fr)}
  .patient-main{grid-template-columns:minmax(360px,40%) minmax(0,60%);padding:12px;gap:12px}
  .field-grid.four{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:980px){
  .app-header{grid-template-columns:1fr auto}.top-search{display:none}.top-actions{justify-content:flex-end}
  .app-layout{grid-template-columns:1fr}.side-nav{display:none}
  .patient-main{display:flex;flex-direction:column}
  .body-card{min-height:650px}.model-frame{min-height:520px}
  .assessment-workspace{min-height:auto}
}
@media(max-width:650px){
  .body-card{display:none!important}

  .app-header{height:62px;padding:0 12px}.top-brand-copy strong{font-size:19px}.top-brand-copy small,.top-message,.top-help{display:none}
  .patient-profile>span:nth-child(2){display:none}.patient-profile{border:0}
  .patient-main{padding:8px}.body-card,.assessment-workspace{border-radius:13px;padding:14px}
  .body-card{min-height:590px}.model-frame{min-height:435px}
  .workspace-title{gap:9px}.page-badge{display:none}.workspace-title h1{font-size:20px}
  .step-dots li b{display:none}.step-dots li span{width:28px;height:28px}
  .field-grid.four,.field-grid.three,.toggle-grid,.review-grid{grid-template-columns:1fr}
  .panel-footer{margin:20px -14px 0;padding:13px 14px;grid-template-columns:1fr 1fr}.autosave{display:none}
  .model-controls span{display:none}.region-pin span{font-size:6.5px;padding:6px 8px}.region-pin::after{width:24px}
  .hud-card{display:none}.app-footer{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
