/* JARI design tokens: shared by front-end and admin. */
@font-face{font-family:"JariVazirmatn";src:url("../fonts/Vazirmatn.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
.jari-root{
  --ink:#10172A;--ink-2:#2A3247;--ink-3:#3B4560;--ink-soft:#1A2238;
  --sand:#F3D3A7;--sand-deep:#C9A477;--sand-wash:#FBF1E3;
  --mist:#EEF0F4;--line:#E3E6ED;--line-strong:#CBD0DB;--muted:#6B7285;--muted-2:#9AA1B2;--white:#fff;
  --green:#2F7D62;--green-wash:#E5F2EC;--amber:#B7791F;--amber-wash:#FBF0DD;--crimson:#A63D40;--crimson-wash:#F7E6E6;
  --font:"JariVazirmatn","Vazirmatn",Tahoma,system-ui,sans-serif;
  --r-sm:8px;--r:14px;--r-lg:22px;--r-xl:30px;
  --shadow-1:0 1px 2px rgba(16,23,42,.06),0 1px 1px rgba(16,23,42,.04);
  --shadow-2:0 10px 30px -12px rgba(16,23,42,.18),0 2px 6px rgba(16,23,42,.05);
  --shadow-3:0 30px 60px -24px rgba(16,23,42,.35);
  --ease:cubic-bezier(.2,.7,.2,1);--dur:.32s;
  font-family:var(--font);font-feature-settings:"ss01";color:var(--ink);line-height:1.8;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;direction:rtl;text-align:right;
}
.jari-root *,.jari-root *::before,.jari-root *::after{box-sizing:border-box}
.jari-root :where(h1,h2,h3,h4,p,ul,ol,figure){margin:0}
.jari-root :where(button,input,select,textarea){font:inherit;color:inherit}
.jari-root :where(a){color:inherit}
.jari-root .num{font-variant-numeric:tabular-nums}
.jari-root .ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
.jari-root svg.ji{width:1.15em;height:1.15em;fill:currentColor;flex:none;vertical-align:-.2em}
.jari-root :focus-visible{outline:2px solid var(--sand-deep);outline-offset:2px;border-radius:6px}
.jari-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* boot + noscript */
.jari-boot{min-height:240px;display:grid;place-items:center}
.jari-boot__dot{width:10px;height:10px;border-radius:50%;background:var(--sand-deep);animation:jari-pulse 1s var(--ease) infinite alternate}
@keyframes jari-pulse{to{transform:scale(1.8);opacity:.3}}
.jari-noscript{padding:16px;border:1px dashed #ccc;border-radius:8px}

/* buttons */
.jari-btn{--bg:var(--ink);--fg:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:46px;padding:.6em 1.35em;border-radius:999px;border:1px solid transparent;background:var(--bg);color:var(--fg);font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;transition:transform var(--dur) var(--ease),background var(--dur),box-shadow var(--dur),opacity .2s;white-space:nowrap}
.jari-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}
.jari-btn:active{transform:translateY(0) scale(.985)}
.jari-btn[disabled],.jari-btn.is-busy{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.jari-btn.is-busy::after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-inline-start-color:transparent;animation:jari-spin .7s linear infinite}
@keyframes jari-spin{to{transform:rotate(360deg)}}
.jari-btn--sand{--bg:var(--sand);--fg:var(--ink)}
.jari-btn--ghost{--bg:transparent;--fg:var(--ink);border-color:var(--line-strong)}
.jari-btn--ghost:hover{background:var(--mist)}
.jari-btn--light{--bg:#fff;--fg:var(--ink);border-color:var(--line)}
.jari-btn--link{--bg:transparent;--fg:var(--ink);padding-inline:.4em;min-height:36px;text-decoration:underline;text-underline-offset:4px}
.jari-btn--link:hover{box-shadow:none}
.jari-btn--sm{min-height:36px;font-size:13px;padding:.35em .95em}
.jari-btn--danger{--bg:var(--crimson);--fg:#fff}
.jari-btn svg.ji{width:1.1em;height:1.1em}

/* provenance badges: every number says where it came from */
.jari-badge{display:inline-flex;align-items:center;gap:.35em;font-size:11px;font-weight:600;line-height:1;padding:.42em .7em;border-radius:999px;white-space:nowrap;letter-spacing:.01em;border:1px solid transparent;vertical-align:middle}
.jari-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
.jari-badge--demo{background:var(--sand);color:var(--ink);letter-spacing:.08em}
.jari-badge--demo::before{display:none}
.jari-badge--user{background:transparent;color:var(--ink-2);border-color:var(--line-strong)}
.jari-badge--estimated{background:transparent;color:var(--amber);border:1px dashed currentColor}
.jari-badge--connected{background:var(--green-wash);color:var(--green)}
.jari-badge--unknown,.jari-badge--unavailable{background:var(--mist);color:var(--muted)}
.jari-badge--sample{background:transparent;color:var(--sand-deep);border:1px dashed currentColor}
.jari-badge--derived{background:var(--mist);color:var(--ink-2)}
.jari-badge--stage{background:var(--mist);color:var(--ink-2)}
.jari-badge--stage::before{display:none}
.jari-demo-ribbon{display:flex;gap:.8em;align-items:center;background:var(--sand);color:var(--ink);padding:.7em 1.1em;border-radius:var(--r);font-size:13px;line-height:1.7}
.jari-demo-ribbon b{letter-spacing:.14em;font-weight:800}

/* signals */
.jari-tone-good{color:var(--green)}.jari-tone-mid{color:var(--amber)}.jari-tone-low{color:var(--crimson)}
.jari-bar{height:6px;border-radius:99px;background:var(--mist);overflow:hidden}
.jari-bar>i{display:block;height:100%;border-radius:inherit;background:var(--ink);transform-origin:right;transition:transform 1s var(--ease)}

/* toast */
.jari-toasts{position:fixed;inset-block-end:24px;inset-inline-start:24px;z-index:100000;display:grid;gap:8px;pointer-events:none}
.jari-toast{pointer-events:auto;background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow-3);font-size:14px;display:flex;gap:10px;align-items:center;animation:jari-in .35s var(--ease)}
.jari-toast--error{background:var(--crimson)}
@keyframes jari-in{from{opacity:0;transform:translateY(10px)}}
@keyframes jari-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  .jari-root *,.jari-root *::before,.jari-root *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
