@font-face{font-family:"Vazirmatn";src:url(/static/fonts/Vazirmatn-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Vazirmatn";src:url(/static/fonts/Vazirmatn-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Vazirmatn";src:url(/static/fonts/Vazirmatn-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Vazirmatn";src:url(/static/fonts/Vazirmatn-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}

/* Concept: calm clinical surfaces tinted toward the clinic's own colour, with one live "vitals" line as the signature.
   Accent + neutrals are injected per clinic by theme.js; semantic colours are fixed. */
:root{
  --bg:#ECF2F3;--surface:#FFFFFF;--surface-2:#F5F9F9;--ink:#12232E;--muted:#566A74;--line:#D4DFE2;
  --accent:#0B6E77;--accent-strong:#06565E;--accent-ink:#FFFFFF;--accent-soft:#D9ECEE;--glow:rgb(11 110 119 / .18);
  --brand-a:#0B6E77;--brand-b:#06474D;--brand-ink:#FFFFFF;
  --warn:#9C4A12;--warn-soft:#FBE7D6;--ok:#2A6E36;--ok-soft:#DFF0E2;--danger:#B3261E;--danger-soft:#FADDD9;
  --shadow:0 1px 2px rgb(16 24 32 / .05),0 6px 20px -8px rgb(16 24 32 / .14);
  --radius:16px;
  --font:"Vazirmatn",Tahoma,"Segoe UI",system-ui,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0C1519;--surface:#132026;--surface-2:#172830;--ink:#E2ECEF;--muted:#93A7B0;--line:#24363E;
  --accent:#55B4BD;--accent-strong:#7CCAD1;--accent-ink:#05191C;--accent-soft:#12373B;--glow:rgb(85 180 189 / .22);
  --warn:#EBA06B;--warn-soft:#3B2415;--ok:#7FC98D;--ok-soft:#15301B;--danger:#F28B82;--danger-soft:#3D1A17;
  --shadow:0 1px 2px rgb(0 0 0 / .3),0 10px 30px -12px rgb(0 0 0 / .6);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0C1519;--surface:#132026;--surface-2:#172830;--ink:#E2ECEF;--muted:#93A7B0;--line:#24363E;
  --accent:#55B4BD;--accent-strong:#7CCAD1;--accent-ink:#05191C;--accent-soft:#12373B;--glow:rgb(85 180 189 / .22);
  --warn:#EBA06B;--warn-soft:#3B2415;--ok:#7FC98D;--ok-soft:#15301B;--danger:#F28B82;--danger-soft:#3D1A17;
  --shadow:0 1px 2px rgb(0 0 0 / .3),0 10px 30px -12px rgb(0 0 0 / .6);
  color-scheme:dark}

*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.7;-webkit-text-size-adjust:100%;transition:background-color .3s var(--ease),color .3s var(--ease)}
body.en{line-height:1.55}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.num,.tnum{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
h1,h2,h3{text-wrap:balance}

.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 15px;border-radius:10px;font-size:14px;font-weight:600;white-space:nowrap;
  transition:transform .12s var(--ease),background-color .2s,border-color .2s,box-shadow .2s}
.btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.btn:active{transform:scale(.97)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 6px 16px -8px var(--accent)}
.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}
.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn.ghost{background:transparent;color:var(--muted);border-color:transparent}
.btn.ghost:hover{background:var(--surface-2);border-color:var(--line)}
.btn.sm{padding:4px 11px;font-size:13px;border-radius:9px}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;white-space:nowrap}
.ico{display:inline-block;vertical-align:middle;flex:none}

/* vitals line: faint trace + a bright pulse travelling along it */
.motif{display:block;width:100%;height:100%}
.motif .m-base{fill:none;stroke:currentColor;stroke-opacity:.18;stroke-width:1.6;vector-effect:non-scaling-stroke}
.motif .m-pulse{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:90 910;stroke-dashoffset:1000;animation:trace 4.2s linear infinite;filter:drop-shadow(0 0 4px currentColor)}
[dir="rtl"] .motif{transform:scaleX(-1)}
@keyframes trace{to{stroke-dashoffset:0}}

@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{0%{opacity:0;transform:scale(.92) translateY(6px)}100%{opacity:1;transform:none}}
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--danger) 55%,transparent)}100%{box-shadow:0 0 0 10px transparent}}
@keyframes blink{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes spin{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .motif .m-pulse{stroke-dasharray:none;stroke-opacity:.5}
}

/* Panacea logo: lighter cup base on dark backgrounds */
.pan-logo{flex:none;vertical-align:middle}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--pan-rim:#37BBAA}}
:root[data-theme="dark"]{--pan-rim:#37BBAA}
