/* ============================================================
   IGI Reseller Dashboard — design system
   Ported from the claude.ai/design "WP Kit" prototype, skinned to the site design
   system: logo blue accent, navy-black ink, logo-grey neutrals — see design/SITE-DESIGN-SYSTEM.md.
   RTL + Persian. The class/variable names are the ones
   the SPA markup uses.
   ============================================================ */
:root{
    /* ---- neutrals — the site design system (logo grey #6E6E73 family), light ---- */
    --bg:#F5F5F7;--surface:#ffffff;--card:#ffffff;--elevated:#ffffff;
    --ink:#1D1D1F;--text-2:#424245;--text-3:#6E6E73;--text-4:#6E6E73;
    --border:#E8E8ED;--border-subtle:#F0F0F2;--border-2:#D2D2D7;
    --raised:#F5F5F7;--hover:#F5F5F7;--inset:#F5F5F7;
    /* ---- brand accent — the logo blue #1974BA (white text on it: 4.9:1) ---- */
    --accent:#1974BA;--accent-hover:#15639E;--accent-soft:#EDF4FA;--accent-softer:#F5F9FD;--accent-border:#BFD8EE;
    --active:#1974BA;--active-fg:#ffffff;
    /* ---- semantic (every text/soft pair passes 4.5:1 — tests/design_contrast.py) ---- */
    --success:#047857;--success-soft:#E7F6EF;--success-softer:#F3FBF7;--success-border:#B7E3CF;--success-text:#047857;
    --warning:#F2A007;--warning-soft:#FDF2DC;--warning-softer:#FEF8EC;--warning-border:#F8D78F;--warning-text:#8A5A00;
    --danger:#B91C1C;--danger-soft:#FDECEC;--danger-softer:#FEF6F6;--danger-border:#F5C2C2;--danger-text:#B91C1C;
    --info:#1974BA;--info-soft:#EDF4FA;--info-softer:#F5F9FD;--info-border:#BFD8EE;--info-text:#15639E;
    /* ---- chart palette ---- */
    --chart-1:#1974BA;--chart-2:#1D1D1F;--chart-3:#047857;--chart-4:#F2A007;--chart-5:#B91C1C;--chart-grid:#F0F0F2;--chart-axis:#6E6E73;
    /* ---- shadows (ink-tinted, soft) ---- */
    --shadow-xs:0 1px 2px rgba(29,29,31,.05);
    --shadow-sm:0 1px 3px rgba(29,29,31,.07),0 1px 2px rgba(29,29,31,.04);
    --shadow-md:0 4px 12px -2px rgba(29,29,31,.09),0 2px 4px -1px rgba(29,29,31,.04);
    --shadow-lg:0 12px 32px -8px rgba(29,29,31,.14),0 4px 12px -4px rgba(29,29,31,.06);
    --shadow-xl:0 24px 64px -16px rgba(29,29,31,.2),0 8px 24px -8px rgba(29,29,31,.08);
    --shadow-focus:0 0 0 3px rgba(25,116,186,.28);
    --shadow:var(--shadow-xs);
    /* ---- radii (site: 8 inputs · 14 buttons · 22 cards) ---- */
    --r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:14px;--r-2xl:18px;--r-pill:999px;
    /* ---- sidebar ---- */
    --sidebar-bg:#F5F5F7;--sidebar-border:#E8E8ED;
    /* ---- legacy aliases so existing markup keeps resolving ---- */
    --ink2:var(--ink);--bd:var(--border);--bd2:var(--border);--muted:var(--text-3);--muted2:var(--text-4);
    --debt:var(--danger);--ok:var(--success);--pend:var(--warning);
    --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  }
  .v5-theme-dark{
    --bg:#141416;--surface:#1D1D1F;--card:#1D1D1F;--elevated:#2C2C30;
    --ink:#F4F6F8;--text-2:#C5CFDB;--text-3:#AEBBCA;--text-4:#AEBBCA;
    --border:#22384F;--border-subtle:#1A2E44;--border-2:#2E4862;
    --raised:#2C2C30;--hover:#2C2C30;--inset:#141416;
    --accent:#7FBDEC;--accent-hover:#A9D3F3;--accent-soft:rgba(127,189,236,.12);--accent-softer:rgba(127,189,236,.06);--accent-border:rgba(127,189,236,.3);
    --active:#1974BA;--active-fg:#ffffff;
    --success:#34d399;--success-soft:rgba(52,211,153,.12);--success-softer:rgba(52,211,153,.06);--success-border:rgba(52,211,153,.28);--success-text:#6ee7b7;
    --warning:#F2A007;--warning-soft:rgba(242,160,7,.14);--warning-softer:rgba(242,160,7,.07);--warning-border:rgba(242,160,7,.3);--warning-text:#FFCB5C;
    --danger:#f87171;--danger-soft:rgba(248,113,113,.12);--danger-softer:rgba(248,113,113,.06);--danger-border:rgba(248,113,113,.28);--danger-text:#fca5a5;
    --info:#7FBDEC;--info-soft:rgba(127,189,236,.12);--info-softer:rgba(127,189,236,.06);--info-border:rgba(127,189,236,.28);--info-text:#A9D3F3;
    --chart-1:#7FBDEC;--chart-2:#F4F6F8;--chart-3:#34d399;--chart-4:#F2A007;--chart-5:#f87171;--chart-grid:#1A2E44;--chart-axis:#8FA0B3;
    --shadow-xs:0 1px 2px rgba(0,0,0,.4);
    --shadow-sm:0 1px 3px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.3);
    --shadow-md:0 4px 12px -2px rgba(0,0,0,.5),0 2px 4px -1px rgba(0,0,0,.3);
    --shadow-lg:0 12px 32px -8px rgba(0,0,0,.6),0 4px 12px -4px rgba(0,0,0,.3);
    --shadow-xl:0 24px 64px -16px rgba(0,0,0,.7),0 8px 24px -8px rgba(0,0,0,.4);
    --shadow-focus:0 0 0 3px rgba(127,189,236,.3);
    --sidebar-bg:#141416;--sidebar-bg-note:none;--sidebar-border:#1A2E44;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body:not(.igi-dv2-body){font-family:"YekanBakh",Tahoma,"Segoe UI",system-ui,sans-serif;background:#0a0a0c;color:var(--ink);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
  .igi-dash-live,.igi-dash-live *{font-family:"YekanBakh",Tahoma,"Segoe UI",system-ui,sans-serif;}
  .igi-dash-live ::selection{background:var(--accent-soft);color:var(--ink);}
  .igi-dash-live a,#toast a{color:inherit;text-decoration:none;}
  .igi-dash-live button,.igi-dash-live input,.igi-dash-live select,.igi-dash-live textarea{font-family:inherit;font-size:inherit;color:inherit;}
  .scroll::-webkit-scrollbar,.v5-content::-webkit-scrollbar,.db::-webkit-scrollbar,.cl::-webkit-scrollbar{width:10px;height:10px;}
  .scroll::-webkit-scrollbar-thumb,.v5-content::-webkit-scrollbar-thumb,.db::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;border:2px solid transparent;background-clip:content-box;}
  .scroll::-webkit-scrollbar-thumb:hover{background:var(--border-2);}
  .igi-dash-live :focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:8px;}
  .t-num{font-variant-numeric:tabular-nums;}
  .t-mono{font-family:var(--mono);}
  @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  @keyframes slideIn{from{transform:translateX(-100%)}to{transform:translateX(0)}}
  @keyframes slideInL{from{transform:translateX(100%)}to{transform:translateX(0)}}
  @keyframes pop{from{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:none}}
  .fade{animation:fade .28s cubic-bezier(.22,1,.36,1) both;}
  /* harness (preview only) */
  .harness{flex:none;background:#0a0a0c;color:#fff;display:flex;align-items:center;gap:14px;padding:0 16px;height:52px;z-index:50;flex-wrap:wrap;}
  .seg{display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.08);padding:4px;border-radius:11px;}
  .seg button{border:none;cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:8px;background:transparent;color:#bdbdc2;white-space:nowrap;}
  .seg button.on{background:#424245;color:#fff;font-weight:700;}
  /* stage */
  #stage{height:calc(100vh - 52px);display:flex;justify-content:center;background:#0a0a0c;}
  #frame{background:var(--bg);width:100%;height:100%;display:flex;overflow:hidden;position:relative;color:var(--ink);}
  #frame.mobile{max-width:420px;box-shadow:0 0 0 1px #27272a;}
  /* ============================================================
     SIDEBAR / RAIL
     ============================================================ */
  .rail,.v5-aside{width:250px;flex:none;background:var(--sidebar-bg);border-left:1px solid var(--sidebar-border);display:flex;flex-direction:column;height:100%;overflow:hidden;}
  .rail .brand{display:flex;align-items:center;gap:10px;padding:14px 16px;height:60px;border-bottom:1px solid var(--sidebar-border);}
  .logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#000);color:var(--active-fg);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;letter-spacing:-.3px;flex:none;box-shadow:var(--shadow-xs),inset 0 1px 0 rgba(255,255,255,.18);}
  .v5-theme-dark .logo{color:#0a0a0c;}
  .nav,.v5-nav{flex:1;overflow:auto;padding:12px 10px;display:flex;flex-direction:column;gap:2px;scrollbar-width:none;-ms-overflow-style:none;}
  .v5-nav::-webkit-scrollbar,.nav::-webkit-scrollbar{width:0;height:0;display:none;}
  .navlbl,.v5-navlbl{font-size:11px;font-weight:600;color:var(--text-4);padding:14px 10px 6px;letter-spacing:.05em;text-transform:uppercase;}
  .navitem,.v5-navitem{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--r-md);cursor:pointer;font-size:13.5px;font-weight:500;color:var(--text-2);text-decoration:none;text-align:right;border:1px solid transparent;background:transparent;transition:background .12s ease,color .12s ease;margin-bottom:0;}
  .navitem .ic,.v5-navitem .ic{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-4);flex:none;}
  .navitem:hover,.v5-navitem:hover{background:var(--accent-soft);color:var(--ink);}
  .navitem:hover .ic,.v5-navitem:hover .ic{color:var(--text-2);}
  .navitem.on,.v5-navitem.on{background:var(--active);color:var(--active-fg);font-weight:600;border-color:transparent;box-shadow:var(--shadow-xs);}
  .navitem.on .ic,.v5-navitem.on .ic{color:var(--active-fg);}
  .navitem.gold.on{background:var(--active);color:var(--active-fg);}
  /* reseller-only items get a subtly distinct panel */
  .v5-navitem.resnav{background:var(--raised);box-shadow:inset 2px 0 0 var(--border-2);}
  .v5-navitem.resnav:hover{background:var(--accent-soft);}
  #frame.v5-theme-dark .v5-navitem.resnav{background:#18181c;}
  .v5-navitem.resnav.on{background:var(--active);box-shadow:none;}
  .badge{min-width:19px;height:19px;padding:0 6px;border-radius:999px;background:var(--inset);color:var(--text-3);font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-inline-start:auto;font-variant-numeric:tabular-nums;}
  .navitem.on .badge,.v5-navitem.on .badge{background:rgba(255,255,255,.2);color:#fff;}
  .v5-theme-dark .navitem.on .badge,.v5-theme-dark .v5-navitem.on .badge{background:rgba(0,0,0,.28);color:var(--ink);}
  /* sidebar footer (user) */
  .rail .brand + .nav{padding-top:12px;}
  /* ============================================================
     MAIN + TOPBAR
     ============================================================ */
  .main{flex:1;display:flex;flex-direction:column;min-width:0;height:100%;}
  .topbar,.v5-topbar{flex:none;height:60px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:0 24px;}
  .v5-topbar{background:rgba(255,255,255,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
  .v5-theme-dark .v5-topbar{background:rgba(17,17,20,.82);}
  .topbar h1,.v5-h1{font-size:15px;margin:0;font-weight:600;color:var(--ink);letter-spacing:-.015em;}
  .v5-h1{font-size:22px;font-weight:700;letter-spacing:-.02em;}
  .search,.v5-search-full{flex:1;max-width:320px;display:flex;align-items:center;gap:8px;background:var(--inset);border:1px solid transparent;border-radius:var(--r-md);padding:0 12px;height:36px;color:var(--text-3);cursor:text;font-size:13px;transition:border-color .12s;}
  .search:hover,.v5-search-full:hover{border-color:var(--border);}
  .search input{border:none;background:none;outline:none;flex:1;font-size:13px;color:var(--ink);}
  .iconbtn,.v5-iconbtn{width:36px;height:36px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;box-shadow:var(--shadow-xs);transition:background .12s,border-color .12s;}
  .iconbtn:hover,.v5-iconbtn:hover{background:var(--hover);border-color:var(--border-2);}
  .content,.v5-content{flex:1;overflow:auto;padding:24px;}
  .v5-content{padding:26px 26px 60px;}
  .uava{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#1974BA,#1D1D1F);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex:none;font-size:13px;}
  /* ============================================================
     CARDS + TYPE
     ============================================================ */
  .card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);}
  .card.elevated{box-shadow:var(--shadow-md);}
  .grid{display:grid;gap:16px;}
  .h2{font-weight:600;font-size:15px;color:var(--ink);letter-spacing:-.015em;}
  .hide,.hidden{display:none !important;}
  .cols2{grid-template-columns:1fr 1fr;}
  .cols3{grid-template-columns:repeat(3,1fr);}
  .chartrow{grid-template-columns:1.6fr 1fr;}
  /* KPI */
  .kpi-label{font-size:12.5px;font-weight:500;color:var(--text-2);display:flex;align-items:center;gap:6px;}
  .kpi-value{font-size:28px;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.1;}
  .kpi-delta{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:500;}
  .kpi-delta.up{color:var(--success-text);}.kpi-delta.down{color:var(--danger-text);}.kpi-delta.flat{color:var(--text-4);}
  /* ============================================================
     CHIPS / BADGES / PILLS
     ============================================================ */
  .chip{display:inline-flex;align-items:center;gap:5px;justify-content:center;line-height:1.5;font-size:11.5px;font-weight:500;padding:2px 9px;border-radius:999px;white-space:nowrap;vertical-align:middle;border:1px solid transparent;}
  /* ============================================================
     BUTTONS
     ============================================================ */
  .btn{height:auto;padding:8px 14px;border-radius:var(--r-md);border:1px solid var(--accent);background:var(--accent);color:var(--active-fg);font-weight:500;font-size:13.5px;letter-spacing:-.005em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;box-shadow:var(--shadow-xs),inset 0 1px 0 rgba(255,255,255,.1);transition:background .12s,border-color .12s,box-shadow .12s,transform .12s;}
  .v5-theme-dark .btn{color:#1D1D1F;}
  .btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);}
  .btn:active{transform:translateY(.5px);}
  .btn.ghost,.btn.secondary{background:var(--surface);border:1px solid var(--border);color:var(--ink);box-shadow:var(--shadow-xs);}
  .v5-theme-dark .btn.ghost,.v5-theme-dark .btn.secondary{color:var(--ink);}
  .btn.ghost:hover,.btn.secondary:hover{background:var(--hover);border-color:var(--border-2);}
  .btn.tertiary{background:var(--inset);border-color:transparent;color:var(--ink);box-shadow:none;}
  .btn.tertiary:hover{background:var(--raised);}
  .btn.danger{background:var(--danger);border-color:var(--danger);color:#fff;}
  .btn.sm{padding:5px 11px;font-size:12.5px;border-radius:var(--r-sm);}
  .btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;}
  /* ============================================================
     TABLES
     ============================================================ */
  table{width:100%;border-collapse:collapse;}
  th{font-size:12px;font-weight:500;color:var(--text-4);text-align:right;padding:10px 16px;background:var(--inset);border-bottom:1px solid var(--border);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;}
  td{font-size:13px;padding:12px 16px;border-top:1px solid var(--border-subtle);color:var(--ink);vertical-align:middle;}
  tbody tr:first-child td,tr:first-child td{border-top:none;}
  tr.clk{cursor:pointer;transition:background .12s;}
  tr.clk:hover td{background:var(--hover);}
  /* ============================================================
     DRAWER (slides from the leading/left edge in RTL)
     ============================================================ */
  .drawer{position:absolute;top:0;bottom:0;left:0;width:520px;max-width:94%;background:var(--surface);z-index:45;box-shadow:var(--shadow-xl);border-right:1px solid var(--border);animation:slideIn .3s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;}
  .drawer .dh{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);}
  .drawer .dh h2,.drawer .dh .h2{font-size:17px;font-weight:600;letter-spacing:-.015em;margin:0;}
  .drawer .db{flex:1;overflow:auto;padding:20px;}
  .drawer .df{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;background:var(--inset);}
  /* ============================================================
     TOAST
     ============================================================ */
  #toast{position:fixed;bottom:20px;left:20px;background:var(--elevated);color:var(--ink);padding:12px 16px;border-radius:var(--r-xl);font-size:13px;font-weight:500;z-index:160;opacity:0;transform:translateY(16px) scale(.96);transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1);pointer-events:none;box-shadow:var(--shadow-lg),0 0 0 1px rgba(15,17,21,.04);border:1px solid var(--border);}
  .v5-theme-dark #toast{box-shadow:var(--shadow-xl),0 0 0 1px rgba(255,255,255,.06);}
  #toast.show{opacity:1;transform:translateY(0) scale(1);}
  /* ============================================================
     MODAL / CONFIRM
     ============================================================ */
  .modal-back{position:absolute;inset:0;background:rgba(15,17,21,.45);backdrop-filter:blur(4px);z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .18s both;}
  .modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);width:460px;max-width:100%;max-height:88%;overflow:auto;box-shadow:var(--shadow-xl);}
  .modal.pop{animation:pop .22s cubic-bezier(.22,1,.36,1) both;}
  .modal .mh{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border-subtle);}
  .modal .mb{padding:20px;}
  .modal label{display:block;font-size:13px;font-weight:500;color:var(--ink);margin:0 0 6px;}
  .modal input,.modal textarea,.modal select{width:100%;height:38px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink);padding:0 12px;font-size:13.5px;margin-bottom:14px;outline:none;transition:border-color .12s,box-shadow .12s;}
  .modal textarea{height:88px;padding:10px 12px;resize:vertical;line-height:1.6;}
  .modal input:hover,.modal select:hover{border-color:var(--border-2);}
  .modal input:focus,.modal textarea:focus,.modal select:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);}
  .modal input::placeholder,.modal textarea::placeholder{color:var(--text-4);}
  .modal .grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
  .modal .grid2 .full{grid-column:1 / -1;}
  @media (max-width:600px){ .modal .grid2{grid-template-columns:1fr;} }
  /* ============================================================
     BULK BAR / CHECKBOX / PAGER / EMPTY
     ============================================================ */
  .bulkbar{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);background:var(--elevated);color:var(--ink);border:1px solid var(--border);border-radius:var(--r-xl);padding:10px 14px;display:flex;align-items:center;gap:12px;z-index:55;box-shadow:var(--shadow-lg);animation:pop .2s both;}
  .bulkbar button{height:32px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:12px;font-weight:500;cursor:pointer;}
  .bulkbar button:hover{background:var(--hover);}
  .chkbx{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);flex:none;transition:background .12s,border-color .12s;}
  .chkbx:hover{border-color:var(--text-3);}
  .chkbx.on{background:var(--accent);border-color:var(--accent);color:var(--active-fg);}
  .v5-theme-dark .chkbx.on{color:#0a0a0c;}
  .pager{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--border-subtle);font-size:12.5px;color:var(--text-2);background:var(--inset);}
  .pager button{height:30px;padding:0 11px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:12px;color:var(--text-2);box-shadow:var(--shadow-xs);}
  .pager button:hover:not(:disabled){background:var(--hover);}
  .pager button:disabled{opacity:.45;cursor:default;}
  .empty{padding:56px 24px;text-align:center;}
  .empty .ei{width:56px;height:56px;border-radius:14px;background:var(--inset);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--text-4);}
  /* ============================================================
     SEGMENTED CONTROL / STEPPER / TABS
     ============================================================ */
  .segctl{position:relative;display:inline-flex;background:var(--inset);border:none;border-radius:var(--r-md);padding:2px;gap:2px;}
  .segctl button{flex:1;position:relative;z-index:1;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:500;padding:6px 12px;border-radius:var(--r-sm);color:var(--text-2);white-space:nowrap;transition:color .18s;}
  .segctl button:hover{color:var(--ink);}
  .segctl button.on{color:var(--ink);font-weight:600;}
  .segctl .knob{position:absolute;top:2px;bottom:2px;border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-xs);transition:right .25s cubic-bezier(.22,1,.36,1),width .25s;z-index:0;}
  .step{width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:var(--shadow-xs);}
  .step:hover{background:var(--hover);}
  /* ============================================================
     COMMAND PALETTE
     ============================================================ */
  .cmdk-back{position:fixed;inset:0;background:rgba(15,17,21,.45);backdrop-filter:blur(4px);z-index:170;display:flex;justify-content:center;padding:90px 20px 20px;animation:fade .14s both;}
  .cmdk{width:560px;max-width:100%;height:fit-content;max-height:70vh;background:var(--elevated);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:pop .18s both;}
  .cmdk .ci{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border-subtle);}
  .cmdk input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:var(--ink);font-family:inherit;}
  .cmdk .cl{overflow:auto;padding:6px;}
  .cmdk .crow{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);cursor:pointer;font-size:13.5px;color:var(--text-2);}
  .cmdk .crow.sel,.cmdk .crow:hover{background:var(--inset);color:var(--ink);}
  .cmdk .crow .ic{color:var(--text-4);display:inline-flex;}
  /* ============================================================
     PRICE-LIST PRINTABLE DOCUMENT
     ============================================================ */
  .priceDoc{position:fixed;inset:0;z-index:200;background:#ececed;overflow:auto;display:flex;flex-direction:column;}
  .priceDoc .pdbar{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid #e3e3e6;padding:11px 22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .priceDoc .seg2{display:flex;align-items:center;gap:4px;background:#F5F5F7;border:1px solid #e3e3e6;border-radius:10px;padding:3px;}
  .priceDoc .seg2 button{border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:6px 11px;border-radius:8px;color:#6E6E73;white-space:nowrap;}
  .priceDoc .seg2 button.on{background:#1D1D1F;color:#fff;font-weight:700;}
  .priceDoc .sheets{flex:1;max-width:900px;margin:22px auto 60px;width:100%;display:flex;flex-direction:column;gap:22px;padding:0 16px;}
  .priceDoc .sheet{background:#fff;color:#1D1D1F;box-shadow:0 8px 40px -16px rgba(0,0,0,.3);padding:42px 40px;animation:fade .2s both;}
  @media print{
    body{background:#fff;}
    body *{visibility:hidden;}
    .priceDoc,.priceDoc *{visibility:visible;}
    .priceDoc{position:absolute;inset:0;background:#fff;overflow:visible;}
    .priceDoc .pdbar,.noprint{display:none!important;}
    .priceDoc .sheets{margin:0;max-width:none;padding:0;gap:0;}
    .priceDoc .sheet{box-shadow:none!important;page-break-after:always;}
    .priceDoc .sheet:last-child{page-break-after:auto;}
    @page{size:A4;margin:12mm;}
  }
  /* ============================================================
     TOPBAR EXTRAS + ICON-COLOUR GUARDS
     (a host theme may force button color / svg stroke; pin literal colours
      so the theme cascade can't blank the topbar icons.)
     ============================================================ */
  .v5-iconbtn{color:#1D1D1F!important;}
  .v5-topbar svg,.v5-topbar svg path{fill:#1D1D1F!important;stroke:none!important;}   /* icons8 set: filled shapes */
  #frame.v5-theme-dark .v5-iconbtn{color:#f4f4f5!important;}
  #frame.v5-theme-dark .v5-topbar svg,#frame.v5-theme-dark .v5-topbar svg path{fill:#f4f4f5!important;}
  .v5-navitem svg,.v5-bottomnav svg{fill:currentColor!important;stroke:none!important;}
  .v5-datepill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;background:var(--inset);color:var(--text-2);font-size:11.5px;font-weight:600;flex:none;border:1px solid var(--border);white-space:nowrap;font-variant-numeric:tabular-nums;}
  .v5-statuspill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;background:var(--success-soft);color:var(--success-text);font-size:11.5px;font-weight:600;flex:none;border:1px solid var(--success-border);}
  .v5-statuspill .dot{width:7px;height:7px;border-radius:50%;background:var(--success);animation:pulse 2s infinite;}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
  /* product recommendation grid */
  .prodgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  @media (max-width:1100px){ .prodgrid{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:760px){ .prodgrid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:440px){ .prodgrid{grid-template-columns:1fr;} }
  #frame.mobile .prodgrid{grid-template-columns:repeat(2,1fr);}
  /* ============================================================
     RESPONSIVE / MOBILE SHELL
     ============================================================ */
  .ham,.v5-hamb{display:none;width:36px;height:36px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);cursor:pointer;align-items:center;justify-content:center;color:var(--ink);box-shadow:var(--shadow-xs);}
  .backdrop,.v5-backdrop{display:none;}
  .bottomnav,.v5-bottomnav{display:none;}
  #frame.mobile .rail{position:absolute;z-index:40;right:0;top:0;height:100%;transform:translateX(0);box-shadow:var(--shadow-xl);animation:slideInL .22s ease;}
  #frame.mobile .rail.closed{display:none;}
  #frame.mobile .ham{display:inline-flex;}
  #frame.mobile .search{display:none;}
  #frame.mobile .content{padding:16px 14px 84px;}
  #frame.mobile .cols2,#frame.mobile .cols3,#frame.mobile .chartrow,#frame.mobile #dlgrid{grid-template-columns:1fr !important;}
  @media (max-width:900px){
    #frame:not(.mobile) .v5-aside{position:fixed!important;top:0;bottom:0;right:0;z-index:90!important;width:264px!important;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-xl);}
    #frame:not(.mobile) .v5-aside.v5-open{transform:translateX(0);}
    #frame:not(.mobile) .v5-hamb{display:inline-flex!important;}
    #frame:not(.mobile) .v5-backdrop.v5-show{display:block!important;}
    #frame:not(.mobile) .v5-content{padding:18px 16px 90px!important;}
    #frame:not(.mobile) .v5-crumb{display:none!important;}
    #frame:not(.mobile) .v5-search-full{display:none!important;}
    #frame:not(.mobile) .v5-bottomnav{display:flex!important;}
    #frame:not(.mobile) .v5-h1{font-size:20px!important;}
  }
  #frame.mobile .v5-aside{position:absolute;top:0;bottom:0;right:0;z-index:90;width:264px;transform:translateX(100%);transition:transform .3s;box-shadow:var(--shadow-xl);}
  #frame.mobile .v5-aside.v5-open{transform:translateX(0);}
  #frame.mobile .v5-hamb{display:inline-flex;}
  #frame.mobile .v5-backdrop.v5-show{display:block;}
  #frame.mobile .v5-content{padding:18px 14px 90px;}
  #frame.mobile .v5-crumb,#frame.mobile .v5-search-full{display:none;}
  #frame.mobile .v5-bottomnav{display:flex;}
  #frame.mobile .v5-h1{font-size:20px;}
  #frame.mobile [style*="grid-template-columns"]{grid-template-columns:1fr!important;}
  #frame.mobile .v5-hidesm{display:none!important;}
  @media (max-width:900px){ #frame:not(.mobile) .v5-hidesm{display:none!important;} }
  .backdrop{position:absolute;inset:0;background:rgba(15,17,21,.4);z-index:39;}
  .v5-backdrop{position:absolute;inset:0;background:rgba(15,17,21,.4);z-index:89;}
  .v5-bottomnav{position:absolute;bottom:0;right:0;left:0;height:62px;background:var(--surface);border-top:1px solid var(--border);z-index:30;}
  .v5-bottomnav a,.bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;color:var(--text-4);text-decoration:none;}
  .v5-bottomnav a.on,.bottomnav a.on{color:var(--ink);font-weight:600;}
  #frame.mobile .bottomnav{display:flex;position:absolute;bottom:0;right:0;left:0;height:62px;background:var(--surface);border-top:1px solid var(--border);z-index:30;}
  .asel-opt:hover{background:var(--inset);}

/* ============================================================
   DESIGN v2 — account dashboard inside the site + sign-in (board «Dashboard v2» … «Sign In v2»).
   Everything is scoped under .dv2 (the SPA root in v2 mode) and overrides the theme's global button/input/heading rules.
   ============================================================ */
.dv2{--v2-ink:#1D1D1F;--v2-t2:#424245;--v2-t3:#6E6E73;--v2-line:#E8E8ED;--v2-line2:#F0F0F2;--v2-soft:#F5F5F7;--v2-soft2:#ECECEF;--v2-page:#FCFCFD;
  --v2-brand:#1974BA;--v2-brand-h:#15639E;--v2-brand-soft:#EDF4FA;--v2-brand-line:#C9DDF0;--v2-ok:#047857;--v2-ok-soft:#E7F6EF;--v2-bad:#B91C1C;--v2-bad-soft:#FDECEC;
  --v2-warn:#8A5A00;--v2-warn-soft:#FDF2DC;--v2-field:#D2D2D7;--v2-ease:cubic-bezier(.2,.8,.2,1);
  /* per-element values set inline by the views (tracker fill, bar height, stagger delay, ring offset, tab knob) */
  --w:0%;--h:0%;--d:0s;--off:188.5;--x:0;
  /* the legacy tokens the reused views read, in v2 values */
  --ink:#1D1D1F;--card:#FCFCFD;--surface:#FCFCFD;--elevated:#FCFCFD;--raised:#F5F5F7;--inset:#F5F5F7;--hover:#F5F5F7;--bg:#FCFCFD;
  --border:#E8E8ED;--border-2:#D2D2D7;--border-subtle:#F0F0F2;--text-2:#424245;--text-3:#6E6E73;--text-4:#6E6E73;--muted:#6E6E73;--muted2:#6E6E73;
  --accent:#1974BA;--accent-hover:#15639E;--accent-soft:#EDF4FA;--active:#1974BA;--active-fg:#FCFCFD;
  max-width:var(--igi-page-max,1440px);margin:0 auto;padding:32px 24px 64px;box-sizing:border-box;color:var(--v2-ink);font-size:15px;line-height:1.8;font-weight:400;text-align:right;direction:rtl}
.dv2 *,.dv2 *::before,.dv2 *::after{box-sizing:border-box}
.dv2 a{color:var(--v2-brand);text-decoration:none}
.dv2 a:hover{color:var(--v2-brand-h)}
.dv2 h1,.dv2 h2,.dv2 h3,.dv2 p{margin:0;font-family:inherit;letter-spacing:normal;text-transform:none}
.dv2 button,.dv2 input,.dv2 select,.dv2 textarea{font:inherit;color:inherit;letter-spacing:normal;text-transform:none;box-shadow:none;margin:0;min-height:0;max-width:100%}
.dv2 button{cursor:pointer;-webkit-tap-highlight-color:transparent}
.dv2 button:disabled{cursor:not-allowed;opacity:.5}
.dv2 :focus-visible{outline:2px solid var(--v2-brand);outline-offset:2px;box-shadow:none;border-radius:8px}
.dv2 svg{flex:none}
.dv2 bdi{unicode-bidi:isolate;direction:ltr;white-space:nowrap}
.dv2 small{font-size:11px;font-weight:400;color:var(--v2-t3)}
/* layout */
.dv2 .v2-grid{display:grid;grid-template-columns:248px minmax(0,1fr);gap:40px;align-items:start}
.dv2 .v2-aside{position:sticky;top:calc(var(--igi-hh,130px) + 24px);display:flex;flex-direction:column;gap:16px}
.dv2 .v2-main{display:flex;flex-direction:column;gap:24px;min-width:0}
.dv2 .v2-content{display:flex;flex-direction:column;gap:24px;min-width:0}
.dv2 .v2-stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.dv2 .v2-stack.is-12{gap:12px}.dv2 .v2-stack.is-14{gap:14px}.dv2 .v2-stack.is-16{gap:16px}.dv2 .v2-stack.is-22{gap:22px}
.dv2 .v2-row{display:flex;align-items:center;gap:8px}
.dv2 .v2-row.is-wrap{flex-wrap:wrap}.dv2 .v2-row.is-6{gap:6px}.dv2 .v2-row.is-8{gap:8px}.dv2 .v2-row.is-14{gap:14px}.dv2 .v2-row.is-end{justify-content:flex-end}
.dv2 .v2-row-sb{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dv2 .v2-row-sb.is-wrap{flex-wrap:wrap}
.dv2 .v2-col{display:flex;flex-direction:column;gap:2px;min-width:0}
.dv2 .v2-col.is-3{gap:3px}.dv2 .v2-col.is-4{gap:4px}.dv2 .v2-col.is-6{gap:6px}.dv2 .v2-col.is-120{min-width:120px}.dv2 .v2-col.is-140{min-width:140px}
.dv2 .v2-grow{flex:1;min-width:0}
.dv2 .v2-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dv2 .v2-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dv2 .v2-two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:start}
.dv2 .v2-two.is-eq{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
/* type */
.dv2 .v2-h2{font-size:22px;font-weight:500}
.dv2 .v2-h3{font-size:17px;font-weight:500;line-height:1.6}
.dv2 .v2-h4{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:500}
.dv2 .v2-h5{font-size:15px;font-weight:500}
.dv2 .v2-muted{font-size:12px;color:var(--v2-t3);line-height:1.7}
.dv2 .v2-muted.is-14{font-size:14px}
.dv2 .v2-kicker{font-size:13px;color:var(--v2-brand)}
.dv2 .v2-link{font-size:14px;color:var(--v2-brand)}
.dv2 .v2-i{display:inline-flex;align-items:center;justify-content:center;flex:none;color:currentColor}
.dv2 .v2-h4 .v2-i,.dv2 .v2-kick .v2-i{color:var(--v2-brand)}
.dv2 svg[fill="none"]{fill:none!important}
.dv2 svg[fill="none"] path{fill:none!important;stroke:currentColor}
/* head */
.dv2 .v2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dv2 .v2-head-t{display:flex;flex-direction:column;gap:6px;min-width:0}
.dv2 .v2-crumbs{display:flex;gap:8px;font-size:13px;color:var(--v2-t3);flex-wrap:wrap}
.dv2 .v2-crumbs a{color:var(--v2-t3)}.dv2 .v2-crumbs a:hover{color:var(--v2-brand)}
.dv2 .v2-crumbs span[aria-hidden]{color:#C7C7CC}
.dv2 .v2-head h1{font-size:30px;font-weight:500;line-height:1.3;color:var(--v2-ink)}
.dv2 .v2-head p{font-size:14px;color:var(--v2-t3)}
/* aside */
.dv2 .v2-me{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;background:var(--v2-soft)}
.dv2 .v2-ava{width:48px;height:48px;flex:none;border-radius:999px;background:var(--v2-ink);color:var(--v2-page);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:500}
.dv2 .v2-me-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.dv2 .v2-me-n{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv2 .v2-me-l{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--v2-t3)}
.dv2 .v2-me-l .v2-i{color:var(--v2-brand)}
.dv2 .v2-nav{display:flex;flex-direction:column;gap:2px}
.dv2 .v2-nav.is-more{padding-top:10px;border-top:1px solid var(--v2-line)}
.dv2 .v2-nl{display:flex;align-items:center;gap:12px;height:46px;padding:0 14px;border-radius:12px;color:var(--v2-ink);font-size:14px;transition:background .2s}
.dv2 .v2-nav.is-more .v2-nl{height:40px;font-size:13px}
.dv2 .v2-nl .v2-i{opacity:.75}
.dv2 .v2-nl:hover{background:var(--v2-soft);color:var(--v2-ink)}
.dv2 .v2-nl.is-on{background:var(--v2-brand-soft);color:var(--v2-brand);font-weight:500}
.dv2 .v2-nl.is-on .v2-i{opacity:1}
.dv2 .v2-nl-t{flex:1}
.dv2 .v2-nb{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--v2-brand);color:#FCFCFD;font-size:11px;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.dv2 .v2-out{display:flex;align-items:center;gap:12px;height:46px;padding:0 14px;border-radius:12px;color:var(--v2-bad);font-size:14px;border-top:1px solid var(--v2-line)}
.dv2 .v2-out:hover{background:var(--v2-bad-soft);color:var(--v2-bad)}
.dv2 .v2-pills{display:none}
/* skeleton */
/* skeleton geometry only: the shimmer, its colours, dark theme and reduced motion are igi-skeleton.css (printed in <head>) */
.dv2 .v2-sk{display:block;border-radius:12px}
.dv2 .v2-skw{min-width:0}
.dv2 .v2-skw-in{display:flex;flex-direction:column;visibility:hidden}
.dv2 .v2-ba-rail.is-sk{overflow:hidden}
.dv2 .v2-ba-rail.is-sk>.v2-skw{flex:0 0 176px}
.dv2 .v2-skw.is-search{width:280px}
.dv2 .v2-notifs>.v2-row-sb.v2-pb{min-height:42px}
.dv2 .v2-noscript{padding:16px;border-radius:12px;background:var(--v2-warn-soft);color:var(--v2-warn);font-size:14px;margin-top:16px}
/* cards, tiles */
.dv2 .v2-card{display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:16px;border:1px solid var(--v2-line);background:var(--v2-page);min-width:0}
.dv2 .v2-card.is-dark{background:linear-gradient(120deg,#1D1D1F 0%,#2C3440 100%);border-color:transparent;color:#FCFCFD}
.dv2 .v2-note{font-size:13px;color:var(--v2-t3);background:var(--v2-soft);border-color:transparent}
.dv2 .v2-tile{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:12px;background:var(--v2-soft);color:var(--v2-ink);transition:background .2s;animation:v2in .4s ease both}
.dv2 .v2-tile:hover{background:var(--v2-brand-soft);color:var(--v2-ink)}
.dv2 .v2-tile .v2-i{opacity:.8}
.dv2 .v2-num{font-size:30px;font-weight:300;font-variant-numeric:tabular-nums;line-height:1.1;display:block}
.dv2 .v2-tile-l{font-size:13px;color:var(--v2-t3)}
.dv2 .v2-four>:nth-child(2){animation-delay:.05s}.dv2 .v2-four>:nth-child(3){animation-delay:.1s}.dv2 .v2-four>:nth-child(4){animation-delay:.15s}
/* chips, buttons, inputs */
.dv2 .v2-chip{height:26px;padding:0 10px;border-radius:999px;font-size:12px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex:none;background:var(--v2-brand-soft);color:var(--v2-brand)}
.dv2 .v2-chip.is-g{background:var(--v2-ok-soft);color:var(--v2-ok)}
.dv2 .v2-chip.is-n{background:var(--v2-soft);color:var(--v2-t3)}
.dv2 .v2-chip.is-r{background:var(--v2-bad-soft);color:var(--v2-bad)}
.dv2 .v2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 16px;border-radius:12px;border:1px solid transparent;background:var(--v2-soft);color:var(--v2-ink);font-size:13px;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;transition:background .2s,transform .12s,border-color .2s}
.dv2 .v2-btn:active{transform:scale(.97)}
.dv2 .v2-btn.is-brand{background:var(--v2-brand);color:#FCFCFD}
.dv2 .v2-btn.is-brand:hover{background:var(--v2-brand-h);color:#FCFCFD}
.dv2 .v2-btn.is-dark{background:var(--v2-ink);color:#FCFCFD}
.dv2 .v2-btn.is-dark:hover{background:#3A3A3C;color:#FCFCFD}
.dv2 .v2-btn.is-line{background:var(--v2-page);border-color:var(--v2-field);color:var(--v2-ink)}
.dv2 .v2-btn.is-line:hover{border-color:var(--v2-t3);color:var(--v2-ink)}
.dv2 .v2-btn.is-lineb{background:var(--v2-page);border-color:var(--v2-brand);color:var(--v2-brand)}
.dv2 .v2-btn.is-lineb:hover{background:var(--v2-brand-soft)}
.dv2 .v2-btn.is-ghost{background:transparent;color:var(--v2-t2)}
.dv2 .v2-btn.is-sm{height:34px;padding:0 12px;font-size:12px;border-radius:8px}
.dv2 .v2-btn.is-lg{height:54px;font-size:15px;width:100%}
.dv2 .v2-btn.is-block{width:100%}
.dv2 .v2-btn[aria-busy="true"]{opacity:.7}
.dv2 .v2-head-act{height:44px;padding:0 18px;font-size:14px}
.dv2 .v2-textbtn{height:32px;padding:0 10px;border:0;background:none;font-size:13px;color:var(--v2-brand)}
.dv2 .v2-ibtn{width:36px;height:36px;border:0;border-radius:999px;background:none;display:inline-flex;align-items:center;justify-content:center;color:var(--v2-ink);padding:0;flex:none}
.dv2 .v2-ibtn:hover{background:var(--v2-soft)}
.dv2 .v2-ibtn.is-box{width:40px;height:40px;border-radius:12px;border:1px solid var(--v2-line);background:var(--v2-page)}
.dv2 .v2-in{width:100%;height:46px;padding:0 14px;border:1.5px solid var(--v2-field);border-radius:12px;background:var(--v2-page);color:var(--v2-ink);font-size:15px;outline:none;transition:border-color .2s}
.dv2 .v2-in:focus{border-color:var(--v2-brand)}
.dv2 .v2-in.is-lg{height:50px}
.dv2 .v2-in.is-inline{flex:1;min-width:0;height:38px;padding:0 10px;border:1px solid var(--v2-brand);border-radius:8px;font-size:14px;animation:v2in .2s ease}
.dv2 .v2-prow:has([data-v2-pcur]){flex-wrap:wrap;padding:8px 0}.dv2 .v2-in.is-inline[data-v2-pcur]{min-width:140px}   /* e-mail edit: new e-mail + current password */
.dv2 .v2-lab{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--v2-t2)}
.dv2 .v2-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.dv2 .v2-err{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--v2-bad);animation:v2in .25s ease}
.dv2 .v2-alert{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:12px;background:var(--v2-bad-soft);color:var(--v2-bad);font-size:13px}
.dv2 .v2-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:56px 20px;border-radius:16px;background:var(--v2-soft);text-align:center;animation:v2in .3s ease}
.dv2 .v2-empty>svg{color:var(--v2-brand);opacity:.6}
.dv2 .v2-empty.is-sm{padding:40px 20px;border-radius:12px}
.dv2 .v2-empty-line{font-size:13px;color:var(--v2-t3);padding:14px 0}
.dv2 .v2-seg{display:flex;gap:2px;padding:3px;border-radius:12px;background:var(--v2-soft);max-width:100%;overflow-x:auto;scrollbar-width:none}
.dv2 .v2-seg::-webkit-scrollbar{display:none}
.dv2 .v2-seg button{flex:none;height:36px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:var(--v2-t3);font-size:13px;white-space:nowrap;transition:background .2s,color .2s}
.dv2 .v2-seg button.is-on{background:var(--v2-page);color:var(--v2-ink);box-shadow:0 1px 3px rgba(12,20,32,.12)}
.dv2 .v2-seg.is-sm button{height:34px;padding:0 12px}
.dv2 .v2-seg-n{font-size:11px;color:var(--v2-t3)}
.dv2 .v2-search{display:flex;align-items:center;gap:8px;width:280px;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--v2-field);color:var(--v2-t3)}
.dv2 .v2-search input{flex:1;min-width:0;height:38px;border:0!important;outline:none;background:none!important;font-size:14px;color:var(--v2-ink);padding:0!important}
.dv2 .v2-copy{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--v2-brand-line);background:var(--v2-page);font-size:12px;white-space:nowrap;flex:none;color:var(--v2-ink)}
.dv2 .v2-copy.is-copied{color:var(--v2-ok);border-color:#9FD8BE}
/* thumbs */
.dv2 .v2-th{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:8px;background:var(--v2-page);overflow:hidden;color:var(--v2-t3)}
.dv2 .v2-th img{width:100%;height:100%;object-fit:contain}
.dv2 .v2-th.is-44{width:44px;height:38px}
.dv2 .v2-th.is-56{width:56px;height:48px;border-radius:12px;background:var(--v2-soft)}
.dv2 .v2-th.is-72{width:72px;height:60px;border-radius:12px;background:var(--v2-soft)}
.dv2 .v2-th.is-88{width:88px;height:74px;border-radius:12px;background:var(--v2-soft)}
.dv2 .v2-th.is-ph{background:var(--v2-soft)}
/* tracker */
.dv2 .v2-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;list-style:none;margin:0;padding:0}
.dv2 .v2-track::before,.dv2 .v2-track::after{content:"";position:absolute;top:13px;right:12.5%;height:2px}
.dv2 .v2-track::before{left:12.5%;background:var(--v2-line)}
.dv2 .v2-track::after{width:var(--w);background:var(--v2-brand);animation:v2grow 1.1s var(--v2-ease) both}
.dv2 .v2-st{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;margin:0}
.dv2 .v2-st-dot{width:28px;height:28px;border-radius:999px;background:var(--v2-page);border:2px solid var(--v2-field);display:flex;align-items:center;justify-content:center;color:#FCFCFD}
.dv2 .v2-st.is-done .v2-st-dot{background:var(--v2-brand);border-color:var(--v2-brand)}
.dv2 .v2-st.is-now .v2-st-dot{border-color:var(--v2-brand);animation:v2pulse 1.6s infinite}
.dv2 .v2-st-t{font-size:13px;color:var(--v2-t3)}
.dv2 .v2-st.is-done .v2-st-t,.dv2 .v2-st.is-now .v2-st-t{color:var(--v2-ink)}
.dv2 .v2-st.is-now .v2-st-t{font-weight:500}
.dv2 .v2-st-d{font-size:11px;color:var(--v2-t3);min-height:1em}
.dv2 .v2-cur{gap:18px}
.dv2 .v2-chips-scroll{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}
.dv2 .v2-itemchip{flex:none;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:12px;background:var(--v2-soft)}
.dv2 .v2-itemchip-m{font-size:13px;font-weight:500;direction:ltr;text-align:right;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* notifications, quick, profile */
.dv2 .v2-notifs{gap:0}
.dv2 .v2-pb{padding-bottom:10px}
.dv2 .v2-dotn{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--v2-bad);color:#FCFCFD;font-size:11px;display:inline-flex;align-items:center;justify-content:center;animation:v2in .3s ease}
.dv2 .v2-notif{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border:0;border-top:1px solid var(--v2-line2);background:none;text-align:right;width:100%;color:var(--v2-ink)}
.dv2 .v2-notif>.v2-i{width:36px;height:36px;border-radius:12px;background:var(--v2-soft)}
.dv2 .v2-notif-t{font-size:14px;line-height:1.6}
.dv2 .v2-notif.is-new .v2-notif-t{font-weight:500}
.dv2 .v2-ndot{width:8px;height:8px;margin-top:8px;flex:none;border-radius:999px;background:transparent;transition:background .3s}
.dv2 .v2-notif.is-new .v2-ndot{background:var(--v2-brand)}
.dv2 .v2-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dv2 .v2-q{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;border:0;border-radius:12px;background:var(--v2-soft);color:var(--v2-ink);font-size:14px;font-weight:500;text-align:right;transition:background .2s}
.dv2 .v2-q:hover{background:var(--v2-brand-soft)}
.dv2 .v2-prof{gap:0}
.dv2 .v2-prof .v2-h4{padding-bottom:6px}
.dv2 .v2-prow{display:flex;align-items:center;gap:10px;min-height:52px;border-top:1px solid var(--v2-line2);transition:background .8s}
.dv2 .v2-prow.is-flash{background:var(--v2-ok-soft)}
.dv2 .v2-prow-l{width:88px;flex:none;font-size:13px;color:var(--v2-t3)}
.dv2 .v2-prow-v{flex:1;min-width:0;font-size:14px;unicode-bidi:isolate;text-align:right;overflow:hidden;text-overflow:ellipsis}
.dv2 .v2-promo{flex-direction:row;align-items:center;flex-wrap:wrap;background:var(--v2-soft);border-color:transparent}
/* orders */
.dv2 .v2-acc{display:flex;flex-direction:column;border-radius:16px;border:1px solid var(--v2-line);overflow:hidden;animation:v2in .35s ease both;background:var(--v2-page)}
.dv2 .v2-acc-h{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;border:0;background:var(--v2-page);text-align:right;width:100%;color:var(--v2-ink);border-radius:0}
.dv2 .v2-acc-h:active{transform:none}
.dv2 .v2-acc-id{font-size:15px;font-weight:500;text-align:right}
.dv2 .v2-thumbs{display:flex;gap:6px;flex:1;justify-content:flex-end}
.dv2 .v2-thumbs .v2-th{background:var(--v2-soft)}
.dv2 .v2-total{font-size:15px;font-weight:600;white-space:nowrap}
.dv2 .v2-caret{display:inline-flex;transition:transform .25s}
.dv2 .v2-acc.is-open .v2-caret{transform:rotate(-90deg)}
.dv2 .v2-acc-b{display:flex;flex-direction:column;gap:18px;padding:16px 20px 20px;border-top:1px solid var(--v2-line2);animation:v2in .3s ease}
.dv2 .v2-info{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--v2-brand-soft);font-size:13px;flex-wrap:wrap}
.dv2 .v2-info>span:first-child{display:flex;align-items:center;gap:8px;flex:1;min-width:200px}
.dv2 .v2-info .v2-i{color:var(--v2-brand)}
.dv2 .v2-info.is-warn{background:var(--v2-warn-soft);color:var(--v2-warn)}
.dv2 .v2-info.is-warn .v2-i{color:var(--v2-warn)}
.dv2 .v2-lines{display:flex;flex-direction:column}
.dv2 .v2-line{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--v2-soft)}
.dv2 .v2-line-m{font-size:14px;font-weight:500}
.dv2 .v2-line-m a{color:var(--v2-ink)}
.dv2 .v2-line-p{font-size:14px;white-space:nowrap}
.dv2 .v2-rate{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:12px;background:var(--v2-soft);font-size:14px}
/* inquiries */
.dv2 .v2-inq{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;animation:v2in .35s ease both}
.dv2 .v2-inq-ic{width:72px;height:60px;border-radius:12px;background:var(--v2-soft);display:flex;align-items:center;justify-content:center;color:var(--v2-t3)}
.dv2 .v2-inq-m{font-size:15px;font-weight:500}
.dv2 .v2-wait{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--v2-t2);padding-top:4px}
.dv2 .v2-dots{display:flex;gap:3px}
.dv2 .v2-dots i{width:4px;height:4px;border-radius:999px;background:var(--v2-brand);animation:v2blink 1.2s infinite}
.dv2 .v2-dots i:nth-child(2){animation-delay:.2s}.dv2 .v2-dots i:nth-child(3){animation-delay:.4s}
.dv2 .v2-reply{font-size:13px;color:var(--v2-t2);padding-top:6px;line-height:1.8}
.dv2 .v2-reply b{font-weight:500;color:var(--v2-ink)}
.dv2 .v2-thread{padding-top:6px}
.dv2 .v2-send{display:flex;gap:8px}
/* services / chat */
.dv2 .v2-live{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--v2-brand)}
.dv2 .v2-live.is-g{color:var(--v2-ok)}.dv2 .v2-live.is-n{color:var(--v2-t3)}
.dv2 .v2-pulse{width:8px;height:8px;border-radius:999px;background:currentColor;animation:v2pulseg 1.6s infinite}
.dv2 .v2-live.is-n .v2-pulse{animation:none}
.dv2 .v2-quote{display:flex;flex-wrap:wrap;gap:6px 18px;padding:12px 14px;border-radius:12px;background:var(--v2-soft);font-size:13px}
.dv2 .v2-quote b{font-weight:600}
.dv2 .v2-file{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;background:var(--v2-soft);font-size:12px}
.dv2 .v2-svc .card,.dv2 .v2-svcform .card{max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important}
.dv2 .v2-svcform .h2{font-size:15px;font-weight:500}
.dv2 .v2-chat{height:440px;padding:0;gap:0;overflow:hidden}
.dv2 .v2-rent .v2-chat{height:auto;min-height:260px;max-height:420px}
.dv2 .v2-chat-h{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--v2-line2)}
.dv2 .v2-chat-h>.v2-i{width:36px;height:36px;border-radius:999px;background:var(--v2-brand-soft);color:var(--v2-brand)}
.dv2 .v2-ok-t{font-size:12px;color:var(--v2-ok)}
.dv2 .v2-chat-b{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;padding:14px 16px}
.dv2 .v2-msg{align-self:flex-end;max-width:80%;padding:10px 12px;border-radius:14px 14px 14px 4px;background:var(--v2-soft);color:var(--v2-ink);font-size:14px;line-height:1.7;animation:v2in .25s ease both;white-space:pre-line}
.dv2 .v2-msg.is-me{align-self:flex-start;border-radius:14px 14px 4px 14px;background:var(--v2-brand);color:#FCFCFD}
.dv2 .v2-msg-t{display:block;font-size:10px;opacity:.75;padding-top:2px;text-align:left}
.dv2 .v2-chat-f{display:flex;gap:8px;padding:10px;border-top:1px solid var(--v2-line2)}
.dv2 .v2-chat-f .v2-in{height:44px}
.dv2 .v2-send-btn{width:44px;height:44px;border:0;border-radius:12px;background:var(--v2-brand);color:#FCFCFD;display:flex;align-items:center;justify-content:center;flex:none;padding:0}
.dv2 .v2-send-btn svg{transform:scaleX(-1)}
.dv2 .v2-hist{display:flex;flex-direction:column}
.dv2 .v2-hist .v2-h4{padding-bottom:6px}
.dv2 .v2-hrow{display:flex;align-items:center;gap:12px;padding:14px 0;border:0;border-top:1px solid var(--v2-line2);background:none;flex-wrap:wrap;text-align:right;width:100%;color:var(--v2-ink);font-size:14px}
.dv2 .v2-hrow.is-on{color:var(--v2-brand)}
.dv2 .v2-hrow-d{font-size:13px;color:var(--v2-t3);width:90px;flex:none}
/* rentals */
.dv2 .v2-rent{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px}
.dv2 .v2-due{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:12px;background:var(--v2-brand-soft)}
.dv2 .v2-due.is-ok{background:var(--v2-ok-soft)}
.dv2 .v2-due-v{font-size:18px;font-weight:600}
/* warranty */
.dv2 .v2-war{gap:12px;padding:20px;animation:v2in .35s ease both}
.dv2 .v2-ring{position:relative;width:72px;height:72px;flex:none;color:var(--v2-brand)}
.dv2 .v2-ring.is-g{color:var(--v2-ok)}
.dv2 .v2-ring svg{transform:rotate(-90deg)}
.dv2 .v2-ring circle{fill:none!important;stroke-width:6}
.dv2 .v2-ring-bg{stroke:var(--v2-line2)!important}
.dv2 .v2-ring-fg{stroke:currentColor!important;stroke-linecap:round;stroke-dasharray:188.5;stroke-dashoffset:var(--off);animation:v2ring 1.3s var(--v2-ease) both}
.dv2 .v2-ring-t{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;color:var(--v2-ink)}
.dv2 .v2-ring-t b{font-size:18px;font-weight:500}
.dv2 .v2-ring-t small{font-size:10px}
.dv2 .v2-war .v2-chip{align-self:flex-start;height:24px}
.dv2 .v2-serial{display:flex;align-items:center;justify-content:space-between;gap:8px;height:40px;padding:0 12px;border-radius:12px;border:1px dashed var(--v2-field);background:var(--v2-page);color:var(--v2-ink)}
.dv2 .v2-serial bdi{font-size:13px;letter-spacing:.04em}
.dv2 .v2-serial>span{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--v2-t3)}
.dv2 .v2-serial.is-copied bdi{color:var(--v2-brand)}
/* billing */
.dv2 .v2-btile{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:12px;background:var(--v2-soft)}
.dv2 .v2-btile.is-hi{background:var(--v2-brand-soft)}
.dv2 .v2-btile-l{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--v2-t3)}
.dv2 .v2-btile-v .v2-num{display:inline;font-size:24px}
.dv2 .v2-bar{height:8px;border-radius:999px;background:var(--v2-soft);overflow:hidden}
.dv2 .v2-bar span{display:block;height:100%;border-radius:999px;background:var(--v2-brand);animation:v2growx .9s var(--v2-ease) both;transform-origin:right}
.dv2 .v2-inv{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:12px;border:1px solid var(--v2-line);animation:v2in .3s ease both}
.dv2 .v2-inv>.v2-i{width:40px;height:40px;border-radius:12px;background:var(--v2-soft);color:var(--v2-t3)}
.dv2 .v2-inv-id{font-size:14px;font-weight:500;text-align:right}
.dv2 .v2-inv-a{font-size:15px;font-weight:600;white-space:nowrap}
.dv2 .v2-inv-a.is-debt{color:var(--v2-bad)}.dv2 .v2-inv-a.is-cred{color:var(--v2-ok)}
.dv2 .v2-payform{gap:12px}
.dv2 .v2-drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px;border:1.5px dashed var(--v2-field);border-radius:12px;font-size:13px;color:var(--v2-t3);cursor:pointer;text-align:center}
.dv2 .v2-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dv2 .v2-settle{gap:10px;font-size:13px;color:#E5E5EA}
.dv2 .v2-settle .v2-h4{color:#FCFCFD}
.dv2 .v2-settle-v{font-size:24px;font-weight:500;color:#FCFCFD}
.dv2 .v2-settle small{color:#C7C7CC}
.dv2 .v2-sel{user-select:all}
/* profit */
.dv2 .v2-kick{display:flex;align-items:center;gap:8px;font-size:13px;color:#C7C7CC}
.dv2 .v2-kick .v2-i{color:#FCFCFD}
.dv2 .v2-kick.is-muted{color:var(--v2-t3)}
.dv2 .v2-kick.is-muted .v2-i{color:var(--v2-brand)}
.dv2 .v2-disc-v{font-size:26px;font-weight:500;line-height:1.4}
.dv2 .v2-big{font-size:32px;font-weight:300;font-variant-numeric:tabular-nums}
.dv2 .v2-big .v2-num{display:inline;font-size:inherit}
.dv2 .v2-bars,.dv2 .v2-bars-l{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.dv2 .v2-bars{align-items:end;height:180px;border-bottom:1px solid var(--v2-line)}
.dv2 .v2-barc{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}
.dv2 .v2-bar-v{font-size:11px;color:var(--v2-t3)}
.dv2 .v2-bar-b{width:100%;max-width:56px;height:var(--h);border-radius:8px 8px 0 0;background:var(--v2-brand-line);min-height:2px}
.dv2 .v2-bar-b.is-cur{background:var(--v2-brand)}
.dv2 .v2-bars.is-anim .v2-bar-b{animation:v2growy .9s cubic-bezier(.2,.9,.3,1.1) both;animation-delay:var(--d);transform-origin:bottom}
.dv2 .v2-bars-l span{text-align:center;font-size:12px;color:var(--v2-t3);margin-top:-8px}
.dv2 .v2-hrow.is-static{cursor:default}
/* wishlist */
.dv2 .v2-wl{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.dv2 .v2-wlc{padding:14px;gap:10px}
.dv2 .v2-wlc-img{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border-radius:12px;background:var(--v2-soft);overflow:hidden;color:var(--v2-t3)}
.dv2 .v2-wlc-img img{width:100%;height:100%;object-fit:contain}
.dv2 .v2-wlc-n{font-size:14px;font-weight:500;color:var(--v2-ink);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dv2 .v2-wlc-p{font-size:15px;font-weight:600}
/* reused legacy views inside the v2 page */
.dv2 .card{background:var(--v2-page);border:1px solid var(--v2-line);border-radius:16px;box-shadow:none}
.dv2 .btn{height:42px;padding:0 16px;border-radius:12px;font-size:13px;box-shadow:none;background:var(--v2-brand);border-color:var(--v2-brand);color:#FCFCFD;font-weight:500;text-transform:none;letter-spacing:normal;line-height:1}
.dv2 .btn.ghost{background:var(--v2-page);border:1px solid var(--v2-field);color:var(--v2-ink)}
.dv2 .h2{font-weight:500;font-size:16px}
.dv2 input:not([type=checkbox]):not([type=radio]):not([type=file]),.dv2 textarea{box-shadow:none}
.dv2 .v2-asel-close{position:fixed;inset:0;z-index:60}
.dv2 .modal-back{position:fixed;z-index:100000;inset:0}
.dv2 .drawer{position:fixed;z-index:100000}
.dv2 .modal input,.dv2 .modal textarea,.dv2 .modal select{height:44px;border-radius:12px;border:1.5px solid var(--v2-field)}
.dv2 .modal textarea{height:88px}
.dv2 .modal{border-radius:16px}
.dv2 .empty{padding:48px 20px}
/* sign-in */
.dv2.is-auth{padding-top:40px}
.dv2 .v2-auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1040px;margin:0 auto;border-radius:20px;overflow:hidden;border:1px solid var(--v2-line)}
.dv2 .v2-auth-f{display:flex;flex-direction:column;gap:20px;padding:40px;background:var(--v2-page);min-width:0}
.dv2 .v2-auth-h{font-size:30px;font-weight:500;line-height:1.35}
.dv2 .v2-auth-b{display:flex;flex-direction:column;gap:14px}
.dv2.is-nav .v2-auth-b{animation:v2slide .4s var(--v2-ease)}
.dv2 .v2-authtabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:14px;background:var(--v2-soft)}
.dv2 .v2-authtabs-k{position:absolute;top:5px;bottom:5px;right:5px;width:calc(50% - 5px);border-radius:10px;background:var(--v2-page);box-shadow:0 1px 3px rgba(16,42,67,.1),0 4px 12px -4px rgba(16,42,67,.12);transform:translateX(var(--x));transition:transform .35s cubic-bezier(.3,1.3,.5,1)}
.dv2 .v2-authtabs button{position:relative;height:48px;border:0;background:none;font-size:15px;color:var(--v2-t3);transition:color .2s}
.dv2 .v2-authtabs button.is-on{color:var(--v2-ink);font-weight:500}
.dv2 .v2-phone{position:relative;display:flex;align-items:center}
.dv2 .v2-phone input{width:100%;height:56px;padding:0 16px 0 88px;border:1.5px solid var(--v2-field);border-radius:12px;font-size:19px;letter-spacing:.06em;background:var(--v2-page);color:var(--v2-ink);outline:none;text-align:left;transition:border-color .2s}
.dv2 .v2-phone input:focus{border-color:var(--v2-brand)}
.dv2 .v2-fine{font-size:12px;color:var(--v2-t3);line-height:1.8}
.dv2 .v2-auth-ph{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--v2-ok-soft);color:var(--v2-ok);font-size:13px;flex-wrap:wrap}
.dv2 .v2-chipbtn{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;border:0;border-radius:999px;background:var(--v2-page);font-size:12px;color:var(--v2-brand);margin-inline-start:auto}
.dv2 .v2-auth-note{font-size:14px;color:var(--v2-t2)}
.dv2 .v2-otp{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-width:360px}
.dv2 .v2-otp-b{width:100%;height:60px;border:1.5px solid var(--v2-field);border-radius:12px;background:var(--v2-page);font-size:26px;font-weight:500;text-align:center;color:var(--v2-ink);outline:none;caret-color:var(--v2-brand);transition:border-color .2s,background .3s;padding:0}
.dv2 .v2-otp-b:focus{border-color:var(--v2-brand)}
.dv2 .v2-timer{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--v2-t3)}
.dv2 .v2-timer b{font-weight:400;color:var(--v2-ink);font-variant-numeric:tabular-nums}
.dv2 .v2-auth-info{display:flex;gap:10px;padding:12px 14px;border-radius:12px;background:var(--v2-brand-soft);font-size:13px;line-height:1.8}
.dv2 .v2-auth-info .v2-i{color:var(--v2-brand);margin-top:3px}
.dv2 .v2-auth-side{display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:40px;background:linear-gradient(160deg,#F5F5F7 0%,#EDF4FA 100%)}
.dv2 .v2-why{display:flex;gap:14px;align-items:flex-start}
.dv2.is-pre .v2-why{animation:v2in .4s ease both;animation-delay:var(--d)}
.dv2 .v2-why>.v2-i{width:42px;height:42px;border-radius:12px;background:var(--v2-page);box-shadow:0 1px 3px rgba(16,42,67,.06);color:var(--v2-ink)}
.dv2 .v2-why-t{font-size:15px;font-weight:500}
.dv2 .v2-auth-links{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid rgba(12,20,32,.06)}
.dv2 .v2-auth-links a{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--v2-ink)}
.dv2 .v2-auth-links .v2-i{color:var(--v2-brand)}
.dv2 .v2-done{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 0;text-align:center;animation:v2in .35s ease}
.dv2 .v2-done svg *{fill:none!important;stroke:var(--v2-ok)!important}
.dv2 .v2-done-c{stroke-width:3;stroke-dasharray:214;stroke-dashoffset:214;animation:v2draw .6s ease forwards}
.dv2 .v2-done-p{stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:44;stroke-dashoffset:44;animation:v2draw .4s .55s ease forwards}
.dv2 .v2-done-bar{width:220px;height:4px;border-radius:4px;background:var(--v2-line2);overflow:hidden}
.dv2 .v2-done-bar span{display:block;height:100%;background:var(--v2-brand);transform-origin:right;animation:v2growx 1s linear both}
.dv2 .g-recaptcha{margin:2px 0}
.dv2 #li-cap{width:100%;height:46px;border:1.5px solid var(--v2-field);border-radius:12px;background:var(--v2-page)}
/* motion */
.dv2.is-nav .v2-content>*:not(.v2-head){animation:v2in .35s ease both}
/* entrance motion plays when a section opens (is-nav), never on the re-render after an in-page action */
.dv2:not(.is-nav) :is(.v2-tile,.v2-acc,.v2-inq,.v2-war,.v2-inv,.v2-empty,.v2-msg,.v2-acc-b,.v2-dotn){animation:none}
.dv2:not(.is-nav) .v2-track::after,.dv2:not(.is-nav) .v2-ring-fg,.dv2:not(.is-nav) .v2-bar span{animation:none}
.dv2 .v2-acc.is-opening .v2-acc-b{animation:v2in .3s ease}
@keyframes v2in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes v2slide{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@keyframes v2pulse{0%{box-shadow:0 0 0 0 rgba(25,116,186,.35)}70%{box-shadow:0 0 0 8px rgba(25,116,186,0)}100%{box-shadow:0 0 0 0 rgba(25,116,186,0)}}
@keyframes v2pulseg{0%{box-shadow:0 0 0 0 currentColor;opacity:1}70%{box-shadow:0 0 0 6px transparent;opacity:.7}100%{box-shadow:0 0 0 0 transparent;opacity:1}}
@keyframes v2blink{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes v2grow{from{width:0}}
@keyframes v2growx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes v2growy{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes v2ring{from{stroke-dashoffset:188.5}}
@keyframes v2draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.dv2 *,.dv2 *::before,.dv2 *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* toast (v2 page): the board's dark pill, bottom centre */
.igi-dash-live[data-mode="v2"]~#toast{left:50%;right:auto;bottom:24px;transform:translate(-50%,16px);background:#1D1D1F;color:#FCFCFD;border:0;border-radius:12px;padding:12px 16px;font-size:14px;box-shadow:0 20px 50px -10px rgba(16,42,67,.4);z-index:100001;max-width:calc(100vw - 32px)}
.igi-dash-live[data-mode="v2"]~#toast.show{transform:translate(-50%,0)}
/* tablet / phone */
@media (max-width:1023px){
  .dv2{padding:12px 16px 48px}
  .dv2 .v2-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .dv2 .v2-aside{display:none}
  .dv2 .v2-main{gap:20px}
  .dv2 .v2-pills{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
  .dv2 .v2-pills::-webkit-scrollbar{display:none}
  .dv2 .v2-pill{flex:none;display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--v2-line);background:var(--v2-page);color:var(--v2-ink);font-size:13px;white-space:nowrap}
  .dv2 .v2-pill.is-on{border-color:var(--v2-brand);background:var(--v2-brand-soft);color:var(--v2-brand)}
  .dv2 .v2-pill.is-out{color:var(--v2-bad)}
  .dv2 .v2-pill .v2-nb{min-width:18px;height:18px;font-size:10px}
  .dv2 .v2-head h1{font-size:24px}
  .dv2 .v2-two,.dv2 .v2-rent{grid-template-columns:minmax(0,1fr)}
  .dv2 .v2-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dv2 .v2-auth{grid-template-columns:minmax(0,1fr)}
  .dv2 .v2-auth-side{display:none}
  .dv2.is-pre .v2-aside{display:none}
}
@media (max-width:767px){
  .dv2 .v2-card{padding:16px}
  .dv2 .v2-three,.dv2 .v2-two.is-eq{grid-template-columns:minmax(0,1fr)}
  .dv2 .v2-search,.dv2 .v2-skw.is-search{width:100%}
  .dv2 .v2-inq{grid-template-columns:56px minmax(0,1fr)}
  .dv2 .v2-inq-ic{width:56px;height:48px}
  .dv2 .v2-inq>.v2-row{grid-column:1/-1;justify-content:flex-start}
  .dv2 .v2-acc-h{padding:14px 16px;gap:10px}
  .dv2 .v2-thumbs{display:none}
  .dv2 .v2-acc-h .v2-total{margin-inline-start:auto}
  .dv2 .v2-acc-b{padding:14px 16px 16px}
  .dv2 .v2-bars,.dv2 .v2-bars-l{gap:6px}
  .dv2 .v2-auth-f{padding:24px 18px}
  .dv2 .v2-auth-h{font-size:24px}
  .dv2 .v2-otp{gap:8px}
  .dv2 .v2-otp-b{height:54px}
  .dv2 .v2-chat{height:400px}
  .dv2 .v2-prow-l{width:64px}
  .dv2 .v2-hrow-d{width:auto}
}

/* ============================================================
   DESIGN v2 — staff screens (administrators / shop managers), today's date, motions (board «Motion Feedback v2»)
   ============================================================ */
/* head: today's date next to the section's action */
.dv2 .v2-head-a{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dv2 .v2-today{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;background:var(--v2-soft);font-size:13px;color:var(--v2-t2);white-space:nowrap}
.dv2 .v2-today .v2-i{color:var(--v2-brand)}
.dv2 .v2-today-l{color:var(--v2-t3)}
.dv2 .v2-today time{color:var(--v2-ink);font-weight:500;font-variant-numeric:tabular-nums}
.dv2 .v2-nl.is-ext .v2-nl-t::after{content:"↗";font-size:11px;color:var(--v2-t3);margin-inline-start:6px}
.dv2 .v2-chip.is-w{background:var(--v2-warn-soft);color:var(--v2-warn)}
/* tables (staff lists) */
.dv2 .v2-card.is-flush{padding:0;gap:0;overflow:hidden}
.dv2 .v2-tablewrap{overflow-x:auto;scrollbar-width:thin}
.dv2 .v2-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px;margin:0}
.dv2 .v2-table th{padding:12px 16px;text-align:right;font-size:12px;font-weight:400;color:var(--v2-t3);background:var(--v2-soft);border:0;white-space:nowrap}
.dv2 .v2-table td{padding:14px 16px;border:0;border-top:1px solid var(--v2-line2);vertical-align:middle;color:var(--v2-ink);text-align:right}
.dv2 .v2-table tr.is-clk{cursor:pointer;transition:background .2s}
.dv2 .v2-table tr.is-clk:hover,.dv2 .v2-table tr.is-sel{background:var(--v2-brand-soft)}
.dv2 .v2-table .is-num{white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}
.dv2 .v2-table .is-cb{width:48px}
.dv2 .v2-cbx{width:20px;height:20px;padding:0;border:1.5px solid var(--v2-field);border-radius:6px;background:var(--v2-page);color:transparent;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.dv2 .v2-cbx.is-on{background:var(--v2-brand);border-color:var(--v2-brand);color:#FCFCFD}
.dv2 .v2-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--v2-line2)}
.dv2 .v2-urow{display:flex;align-items:center;gap:10px;min-width:0}
.dv2 .v2-urow-n{font-size:14px;font-weight:500}
.dv2 .v2-ava.is-sm{width:36px;height:36px;font-size:14px}
.dv2 .v2-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.dv2 .v2-app{gap:12px;animation:v2in .35s ease both}
.dv2 .v2-dl{display:flex;flex-direction:column;margin:0;padding-top:10px;border-top:1px solid var(--v2-line2)}
.dv2 .v2-dl>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:13px}
.dv2 .v2-dl dt{color:var(--v2-t3);margin:0;font-weight:400}
.dv2 .v2-dl dd{margin:0;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis}
.dv2 .v2-arfq{gap:12px;animation:v2in .35s ease both}
.dv2 .v2-quote.is-col{flex-direction:column;gap:2px;line-height:1.9}
.dv2 .v2-send.is-wrap{flex-wrap:wrap}
.dv2 .v2-send.is-wrap .v2-in{flex:1;min-width:200px}
.dv2 .v2-tb{display:flex;flex-direction:column;gap:8px;padding:6px 0}
.dv2 .v2-msg-w{display:block;font-size:10px;opacity:.75;padding-bottom:2px}
.dv2 .v2-inv.is-btn{width:100%;background:var(--v2-page);text-align:right;color:var(--v2-ink);font:inherit;cursor:pointer;transition:background .2s,border-color .2s}
.dv2 .v2-inv.is-btn:hover{background:var(--v2-brand-soft);border-color:var(--v2-brand-line)}
.dv2 .v2-inv.is-recon{align-items:flex-start}
.dv2 .v2-bar.is-thin{height:6px;max-width:260px;margin-top:6px}
.dv2 .v2-notif.is-todo{align-items:center;transition:background .2s}
.dv2 .v2-notif.is-todo:hover{background:var(--v2-soft)}
.dv2 .v2-notif.is-todo b{font-weight:600}
.dv2 .v2-notif.is-todo>svg{color:var(--v2-t3)}
.dv2 .v2-legacy .card{padding:20px!important;margin-bottom:12px}
.dv2 input[type=checkbox]{accent-color:var(--v2-brand)!important}
.dv2 .bulkbar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100001;display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:calc(100vw - 32px);padding:10px 14px;border-radius:14px;border:0;background:#1D1D1F;color:#FCFCFD;box-shadow:0 20px 50px -10px rgba(16,42,67,.4);font-size:13px;animation:v2in .25s ease}
.dv2 .bulkbar button{height:34px;padding:0 12px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#FCFCFD;font-size:12px}
.dv2 .bulkbar button:hover{background:rgba(255,255,255,.1)}
/* «otp» */
.dv2 .v2-otp-b.is-has{border-color:var(--v2-ink)}
.dv2 .v2-otp.is-ver .v2-otp-b{border-color:#E1E1E6}
.dv2 .v2-otp.is-ok .v2-otp-b{border-color:#1E7F4F;background:#E8F4EC;color:#1E7F4F}
.dv2 .v2-otp.is-bad .v2-otp-b{border-color:#B91C1C;color:#B91C1C}
/* «resend» */
.dv2 .v2-rs{transform:rotate(-90deg);flex:none}
.dv2 .v2-rs circle{fill:none!important;stroke-width:3}
.dv2 .v2-rs-bg{stroke:#F0F0F2!important}
.dv2 .v2-rs-fg{stroke:#1974BA!important;stroke-linecap:round;stroke-dasharray:100.53;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear}
/* «notif» */
.dv2 .v2-dotn{position:relative;overflow:hidden}
.dv2 .v2-roll{display:inline-block;line-height:20px}
.dv2 .v2-roll.is-in{position:absolute;inset:0;text-align:center}
.dv2 .v2-ndot{transition:none}
/* «upload» */
.dv2 .v2-drop{position:relative}
.dv2 .v2-upring{position:relative;display:flex;width:96px;height:96px}
.dv2 .v2-upring svg{transform:rotate(-90deg)}
.dv2 .v2-upring circle{fill:none!important;stroke-width:5}
.dv2 .v2-up-bg{stroke:#F0F0F2!important}
.dv2 .v2-up-fg{stroke-linecap:round;transition:stroke .25s}
.dv2 .v2-up-c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-variant-numeric:tabular-nums}
.dv2 .v2-up-l{font-size:13px;color:var(--v2-t3)}
.dv2 .v2-upring.is-ok+.v2-up-l{color:#1E7F4F}
.dv2 .v2-up-l.is-bad{color:#B91C1C}
/* «invoice» */
.dv2 .v2-invm{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;width:18px;height:22px;flex:none}
.dv2 .v2-invm-d{position:absolute;inset:0 2px 4px;border:1.5px solid #E1E1E6;border-radius:3px;background:#FCFCFD;overflow:hidden;transition:border-color .2s}
.dv2 .v2-invm-f{position:absolute;right:0;left:0;bottom:0;height:0;background:#EAF2FA}
.dv2 .v2-invm-a{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-bottom:-4px;border-radius:999px;color:#1974BA}
.dv2 .v2-invm.is-ok .v2-invm-d{border-color:#1E7F4F}
.dv2 .v2-invm.is-ok .v2-invm-f{background:#E8F4EC}
.dv2 .v2-invm.is-ok .v2-invm-a{background:#1E7F4F;color:#FCFCFD}
.dv2 .v2-invm.is-bad .v2-invm-a{background:#B91C1C;color:#FCFCFD}
/* «chat» */
.dv2 .v2-tick{margin-inline-start:6px;font-size:10px;letter-spacing:-2px;color:rgba(255,255,255,.6)}
.dv2 .v2-tick.is-dbl{color:#BFE3FF}
.dv2 .v2-msg.is-fail{background:var(--v2-bad-soft);color:var(--v2-bad)}
.dv2 .v2-msg.is-fail .v2-tick{color:var(--v2-bad);letter-spacing:0}
/* «rating» / «postRating» */
.dv2 .v2-stars{display:flex;gap:6px;direction:ltr;justify-content:flex-end}
.dv2 .v2-star{display:inline-flex;padding:0;border:0;background:none;line-height:0;border-radius:6px}
.dv2 .v2-rate.is-ask{align-items:flex-start}
.dv2 .v2-rate.is-ask .v2-stars{justify-content:flex-end}
.dv2 .v2-rate.is-done .v2-thx{color:#1E7F4F;font-size:13px}
.v2-fly{border-radius:8px;overflow:hidden;background:#F5F5F7;box-shadow:0 6px 16px -8px rgba(12,20,32,.35)}
.v2-fly img{width:100%;height:100%;object-fit:contain}
@media (max-width:767px){
  .dv2 .v2-head-a{width:100%}
  .dv2 .v2-today{height:36px;padding:0 12px;font-size:12px}
  .dv2 .v2-cards{grid-template-columns:minmax(0,1fr)}
  .dv2 .v2-table{font-size:13px;min-width:0}
  .dv2 .v2-table,.dv2 .v2-table tbody,.dv2 .v2-table thead{display:block}
  .dv2 .v2-table tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 14px;border-top:1px solid var(--v2-line2)}
  .dv2 .v2-table thead tr{border-top:0;background:var(--v2-soft)}
  .dv2 .v2-table thead th:not(.is-cb){display:none}
  .dv2 .v2-table th,.dv2 .v2-table td{display:block;padding:0;border:0;background:none}
  .dv2 .v2-table .is-cb{width:auto}
  .dv2 .v2-table td.is-num{margin-inline-start:auto}
  .dv2 .bulkbar{bottom:16px}
}

/* ============================================================
   DESIGN v2 — dialogs (order / application / user / product pop-ups, modals, confirm), the dropdown, steppers,
   request forms and the staff management screens (repair & parts, rentals, warranty, staff access)
   ============================================================ */
.dv2 [hidden]{display:none!important}
/* dialog */
.dv2 .v2-dlg-back{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(12,20,32,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.dv2 .v2-dlg-back.is-pop{animation:v2fade .2s ease both}
.dv2 .v2-dlg{display:flex;flex-direction:column;width:560px;max-width:100%;max-height:min(88vh,880px);border-radius:20px;background:var(--v2-page);color:var(--v2-ink);box-shadow:0 30px 80px -20px rgba(16,42,67,.45);overflow:hidden;text-align:right}
.dv2 .v2-dlg.is-wide{width:680px}
.dv2 .v2-dlg.is-alert{width:420px}
.dv2 .v2-dlg.is-pop{animation:v2pop .28s var(--v2-ease) both}
.dv2 .v2-dlg:focus{outline:none}
.dv2 .v2-dlg-h{display:flex;align-items:flex-start;gap:12px;padding:20px 22px 16px;border-bottom:1px solid var(--v2-line2)}
.dv2 .v2-dlg-t{font-size:18px;font-weight:500;line-height:1.5;color:var(--v2-ink)}
.dv2 .v2-dlg-s{font-size:13px;color:var(--v2-t3)}
.dv2 .v2-dlg-b{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px;padding:20px 22px 22px}
.dv2 .v2-dlg-f{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 22px;border-top:1px solid var(--v2-line2);background:var(--v2-page)}
.dv2 .v2-dlg.is-alert .v2-dlg-f{border-top:0;padding-top:0}
.dv2 .v2-dlg.is-alert .v2-dlg-f .v2-btn{flex:1}
.dv2 .v2-cfm{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding-top:8px}
.dv2 .v2-cfm-ic{width:56px;height:56px;border-radius:16px;background:var(--v2-bad-soft);color:var(--v2-bad);display:flex;align-items:center;justify-content:center}
.dv2 .v2-panel{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;background:var(--v2-soft);min-width:0}
.dv2 .v2-panel.is-line{background:var(--v2-page);border:1px solid var(--v2-line)}
.dv2 .v2-panel .v2-h5{display:flex;align-items:center;gap:8px}
.dv2 .v2-panel .v2-h5 .v2-i{color:var(--v2-brand)}
.dv2 .v2-panel .v2-line{border-bottom-color:var(--v2-line2)}
.dv2 .v2-panel .v2-line:last-child{border-bottom:0}
.dv2 .v2-sum{padding-top:10px;border-top:1px solid var(--v2-line);font-size:14px;font-weight:500}
.dv2 .v2-dl.is-flat{padding-top:0;border-top:0}
.dv2 .v2-dl.is-flat>div{padding:7px 0;border-top:1px solid var(--v2-line)}
.dv2 .v2-panel:not(.is-line) .v2-dl.is-flat>div{border-top-color:#E9E9EE}
.dv2 .v2-dl.is-flat>div:first-child{border-top:0}
.dv2 .v2-dl dd{color:var(--v2-ink)}
.dv2 .v2-code{font-size:12px;color:var(--v2-t3);letter-spacing:.03em;font-weight:500}
.dv2 .v2-code.is-lg{font-size:14px;color:var(--v2-ink)}
.dv2 .v2-info.is-col{align-items:flex-start}
.dv2 .v2-info>span.v2-i:first-child{flex:none;min-width:0;display:inline-flex}
.dv2 .v2-info>span.v2-i:first-child+span{flex:1;min-width:0}
.dv2 .v2-info .v2-btn.is-block{white-space:normal;height:auto;min-height:42px;padding:10px 16px;line-height:1.5}
.dv2 .v2-info.is-ok{background:var(--v2-ok-soft);color:var(--v2-ok)}
.dv2 .v2-info.is-ok .v2-i{color:var(--v2-ok)}
.dv2 .v2-info.is-bad{background:var(--v2-bad-soft);color:var(--v2-bad)}
.dv2 .v2-info.is-bad .v2-i{color:var(--v2-bad)}
.dv2 .v2-info b{font-weight:500}
.dv2 .v2-info .v2-btn{margin-top:4px}
.dv2 .v2-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.dv2 .v2-doc{display:flex;flex-direction:column;border:1px solid var(--v2-line);border-radius:12px;overflow:hidden;color:var(--v2-ink);transition:border-color .2s}
.dv2 .v2-doc:hover{border-color:var(--v2-brand-line);color:var(--v2-ink)}
.dv2 .v2-doc-img{height:110px;background:var(--v2-soft) center/cover no-repeat}
.dv2 .v2-doc-l{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:12px}
/* buttons, fields */
.dv2 .v2-btn.is-danger{background:var(--v2-page);border-color:#EFC7C7;color:var(--v2-bad)}
.dv2 .v2-btn.is-danger:hover{background:var(--v2-bad-soft);color:var(--v2-bad)}
.dv2 .v2-ibtn.is-bad{color:var(--v2-bad)}
.dv2 .v2-ibtn.is-bad:hover{background:var(--v2-bad-soft)}
.dv2 .v2-in.is-area{height:auto;min-height:88px;padding:10px 14px;line-height:1.8;resize:vertical}
.dv2 .v2-in.is-mini{width:72px;height:38px;padding:0 8px;text-align:center;font-size:14px;border-radius:8px}
.dv2 select.v2-in{padding:0 12px;cursor:pointer}
.dv2 :is(.v2-dlg,.v2-asvc,.v2-staff,.v2-sform) .v2-in[dir=ltr]{text-align:right}
.dv2 .v2-lab.is-sep{padding-top:14px;border-top:1px solid var(--v2-line2)}
.dv2 .v2-req{color:var(--v2-bad)}
.dv2 .v2-h6{font-size:14px;font-weight:500}
.dv2 .v2-stack.is-8{gap:8px}
.dv2 .v2-check{display:flex;align-items:center;gap:10px;min-height:40px;font-size:14px;color:var(--v2-ink);cursor:pointer}
.dv2 .v2-check input,.dv2 .v2-cap input{width:20px;height:20px;flex:none;margin:0;cursor:pointer}
.dv2 .v2-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dv2 .v2-acts.is-sep{padding-top:14px;border-top:1px solid var(--v2-line2)}
/* dropdown */
.dv2 .v2-asel{position:relative;min-width:0}
/* an open list must sit above the click-outside layer (.v2-asel-close, z 60) even inside an animated card (a stacking context) */
.dv2 .v2-content :is(.v2-stack,.v2-card,.v2-panel,.v2-det,.v2-det-b,.v2-fields,.v2-lab,.v2-sform,.v2-two):has(.v2-asel.is-open){position:relative;z-index:70}
.dv2 .v2-asel-b{width:100%;height:46px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;border:1.5px solid var(--v2-field);border-radius:12px;background:var(--v2-page);color:var(--v2-ink);font-size:15px;text-align:right;transition:border-color .2s}
.dv2 .v2-asel-b:hover{border-color:var(--v2-t3)}
.dv2 .v2-asel.is-open .v2-asel-b{border-color:var(--v2-brand)}
.dv2 .v2-asel-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dv2 .v2-asel-t.is-ph{color:var(--v2-t3)}
.dv2 .v2-asel-c{display:inline-flex;color:var(--v2-t3);transform:rotate(-90deg);transition:transform .2s}
.dv2 .v2-asel.is-open .v2-asel-c{transform:rotate(90deg)}
.dv2 .v2-asel-l{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:65;max-height:264px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--v2-line);border-radius:12px;background:var(--v2-page);box-shadow:0 18px 44px -16px rgba(16,42,67,.3);animation:v2in .18s ease}
.dv2 .v2-asel-o{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;padding:8px 12px;border:0;border-radius:8px;background:none;color:var(--v2-ink);font-size:14px;text-align:right;line-height:1.6}
.dv2 .v2-asel-o:hover{background:var(--v2-soft)}
.dv2 .v2-asel-o.is-on{background:var(--v2-brand-soft);color:var(--v2-brand)}
/* stepper */
.dv2 .v2-step{display:inline-flex;align-items:stretch;width:156px;height:46px;border:1.5px solid var(--v2-field);border-radius:12px;overflow:hidden;background:var(--v2-page)}
.dv2 .v2-step button{flex:none;width:46px;border:0;background:var(--v2-soft);color:var(--v2-ink);display:flex;align-items:center;justify-content:center;font-size:20px;padding:0;border-radius:0}
.dv2 .v2-step button:hover{background:var(--v2-brand-soft);color:var(--v2-brand)}
.dv2 .v2-step-v{flex:1;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}
/* collapsible form (quote, warranty visit, per-brand discount) */
.dv2 .v2-det{border:1px solid var(--v2-line);border-radius:12px;background:var(--v2-page)}
.dv2 .v2-det>summary{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 14px;list-style:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--v2-brand);border-radius:12px}
.dv2 .v2-det>summary::-webkit-details-marker{display:none}
.dv2 .v2-det>summary:hover{background:var(--v2-brand-soft)}
.dv2 .v2-det-c{display:inline-flex;margin-inline-start:auto;color:var(--v2-t3);transform:rotate(-90deg);transition:transform .2s}
.dv2 .v2-det[open]>summary{border-bottom:1px solid var(--v2-line2);border-radius:12px 12px 0 0}
.dv2 .v2-det[open] .v2-det-c{transform:rotate(90deg)}
.dv2 .v2-det-b{display:flex;flex-direction:column;gap:14px;padding:14px}
.dv2 .v2-pcts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 16px;padding:10px 14px 12px}
.dv2 .v2-pctrow{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-size:13px;color:var(--v2-t2);border-bottom:1px solid var(--v2-line2)}
/* request forms */
.dv2 .v2-sform{display:flex;flex-direction:column;gap:16px}
.dv2 .v2-devrow{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center}
.dv2 .v2-file-x{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-inline-start:2px;padding:0;border:0;border-radius:999px;background:none;color:var(--v2-t3)}
.dv2 .v2-file-x:hover{background:var(--v2-bad-soft);color:var(--v2-bad)}
/* legacy modal bodies (rfq, address…) inside the v2 dialog */
.dv2 .v2-form{display:flex;flex-direction:column}
.dv2 .v2-form label:not(.v2-lab):not(.v2-check){display:block;font-size:13px;color:var(--v2-t2);margin:0 0 8px}
.dv2 .v2-form :is(input,textarea,select):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not(.v2-in){width:100%;height:46px;padding:0 14px;margin:0 0 14px;border:1.5px solid var(--v2-field);border-radius:12px;background:var(--v2-page);color:var(--v2-ink);font-size:15px;outline:none;transition:border-color .2s}
.dv2 .v2-form textarea:not(.v2-in){height:96px;padding:10px 14px;line-height:1.8;resize:vertical}
.dv2 .v2-form :is(input,textarea,select):focus{border-color:var(--v2-brand)}
.dv2 .v2-form .grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px}
.dv2 .v2-form .grid2 .full{grid-column:1/-1}
.dv2 .v2-form .v2-step{margin-bottom:14px}
.dv2 .v2-form>.v2-fields+.v2-muted{margin-top:12px}
/* staff lists */
.dv2 .v2-asvc{gap:14px;animation:v2in .35s ease both}
.dv2 .v2-row-sb.is-top{align-items:flex-start}
.dv2 .v2-tic{width:44px;height:44px;flex:none;border-radius:12px;background:var(--v2-soft);color:var(--v2-t3);display:flex;align-items:center;justify-content:center}
.dv2 .v2-asvc-m{font-size:13px;color:var(--v2-t2)}
.dv2 .v2-asvc .v2-send .v2-btn{flex:none}
.dv2 .v2-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.dv2 .v2-stats>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--v2-soft);min-width:0}
.dv2 .v2-stats dt{font-size:12px;color:var(--v2-t3);font-weight:400;margin:0}
.dv2 .v2-stats dd{margin:0;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.dv2 .v2-claim{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;border:1px solid var(--v2-line);font-size:14px}
.dv2 .v2-claim .v2-i{color:var(--v2-t3)}
.dv2 .v2-claim-d{font-size:13px;color:var(--v2-t2);font-variant-numeric:tabular-nums}
.dv2 .v2-staff{gap:14px}
.dv2 .v2-capset{margin:0;padding:0;border:0;min-width:0}
.dv2 .v2-capset legend{padding:0 0 8px}
.dv2 .v2-caps{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;min-width:0}
.dv2 .v2-cap{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:1px solid var(--v2-line);border-radius:12px;background:var(--v2-page);font-size:14px;color:var(--v2-ink);cursor:pointer;transition:background .2s,border-color .2s}
.dv2 .v2-cap:hover{border-color:var(--v2-brand-line)}
.dv2 .v2-cap:has(input:checked){background:var(--v2-brand-soft);border-color:var(--v2-brand-line)}
.dv2 .v2-capset:disabled .v2-cap{cursor:default;opacity:.7}
@keyframes v2fade{from{opacity:0}to{opacity:1}}
@keyframes v2pop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes v2sheet{from{transform:translateY(100%)}to{transform:none}}
@media (max-width:767px){
  .dv2 .v2-dlg-back{align-items:flex-end;padding:0}
  .dv2 .v2-dlg,.dv2 .v2-dlg.is-wide,.dv2 .v2-dlg.is-alert{width:100%;max-height:92vh;border-radius:20px 20px 0 0}
  .dv2 .v2-dlg.is-pop{animation:v2sheet .3s var(--v2-ease) both}
  .dv2 .v2-dlg-h{padding:16px 16px 12px}
  .dv2 .v2-dlg-b{padding:16px}
  .dv2 .v2-dlg-f{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .dv2 .v2-dlg-f .v2-btn{flex:1 1 auto}
  .dv2 .v2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dv2 .v2-devrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding-bottom:10px;border-bottom:1px solid var(--v2-line2)}
  .dv2 .v2-devrow>:first-child{grid-column:1/-1}
  .dv2 .v2-form .grid2{grid-template-columns:minmax(0,1fr)}
  .dv2 .v2-asvc .v2-send .v2-btn{flex:1}
}
/* home extras: notification tabs, «دوباره بخرید» rails, «در انتظار نظر شما» (igi-dashboard.js v2ExHtml) */
.dv2 .v2-ntabs{margin:0 0 6px;align-self:flex-start}
.dv2 .v2-ntabs .v2-seg-n{display:inline-flex;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--v2-brand);color:#FCFCFD;align-items:center;justify-content:center;margin-inline-start:4px}
.dv2 .v2-ba-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:4px}
.dv2 .v2-ba-card{flex:0 0 176px;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px;border:1px solid var(--v2-line);border-radius:12px;background:var(--v2-page)}
.dv2 .v2-ba-img{width:100%;height:112px}
.dv2 .v2-ba-img img{max-width:84%;max-height:84%;object-fit:contain}
.dv2 .v2-ba-t{font-size:13px;font-weight:500;line-height:1.7;color:var(--v2-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px}
.dv2 .v2-ba-t:hover{color:var(--v2-brand)}
.dv2 .v2-ba-card .v2-btn{margin-top:auto;width:100%}
.dv2 .v2-ba-card>.v2-muted{min-height:3.4em}
.dv2 .v2-rv{gap:0}
.dv2 .v2-rv .v2-h4{margin-bottom:6px}
.dv2 .v2-rv-row{padding:12px 0;border-top:1px solid var(--v2-line2)}
.dv2 .v2-rv-t{font-size:14px;font-weight:500;color:var(--v2-ink);line-height:1.7}
.dv2 .v2-rv-a{display:flex;align-items:center;gap:4px;flex:none}
.dv2 .v2-rv-form{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding:14px;border-radius:12px;background:var(--v2-soft);animation:v2in .25s ease}
.dv2 .v2-rv-stars{display:flex;gap:4px;direction:ltr;justify-content:flex-end}
.dv2 .v2-rv-stars button{width:44px;height:44px;padding:0;border:0;border-radius:8px;background:none;color:var(--v2-field);display:flex;align-items:center;justify-content:center}
.dv2 .v2-rv-stars button.is-on{color:var(--v2-brand)}
.dv2 .v2-rv-stars button:focus-visible{outline:2px solid var(--v2-brand);outline-offset:1px}
.dv2 .v2-rv-ta{height:auto;min-height:92px;padding:10px 14px;line-height:1.8;resize:vertical}
@media (max-width:767px){
  .dv2 .v2-ba-card,.dv2 .v2-ba-rail.is-sk>.v2-skw{flex-basis:152px}
  .dv2 .v2-rv-a{width:100%;justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){.dv2 .v2-rv-form{animation:none}}
