/* Ebadi App central design tokens and reusable components. */
:root{
  --eb-primary:#C8922F;--eb-primary-pressed:#B77F25;--eb-primary-soft:#F7EBD5;
  --eb-text:#1F2328;--eb-muted:#76716B;--eb-border:#E9E4DC;
  --eb-surface:#FFFFFF;--eb-surface-soft:#F8F7F5;
  --eb-service-tile-surface:linear-gradient(180deg,#f5f3ef 0%,#f9f7f4 100%);
  --eb-service-tile-border:rgba(212,204,192,.65);
  --eb-success:#3F9B66;--eb-warning:#C98A2B;--eb-danger:#C94F4F;
  --eb-radius-control:12px;--eb-radius-card:16px;--eb-radius-modal:20px;
  --eb-shadow:0 6px 20px rgba(31,35,40,.06);
}
/* One surface owner for generic cards, CRUD panels and list rows.
 * Structural/layout classes never redefine border, radius, surface or shadow. */
:is(.eb-card,.eb-screen__panel,.eb-screen__list-card,.eb-list-item){box-sizing:border-box;min-width:0;border:1px solid var(--eb-border);border-radius:var(--eb-radius-card);background:var(--eb-surface);color:var(--eb-text);box-shadow:none}
.eb-card,.eb-screen__panel,.eb-screen__list-card{padding:var(--eb-space-4,16px)}
.eb-list-item{padding:var(--eb-space-3,12px);text-decoration:none;overflow-wrap:anywhere}
.eb-list-stack{display:grid;gap:var(--eb-space-3,12px);min-width:0}
.eb-list-item:where(a,button,[role=button]):focus-visible{outline:2px solid var(--eb-primary);outline-offset:2px}
.eb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 16px;border:1px solid transparent;border-radius:var(--eb-radius-control);font:800 13px/1.6 Peyda,Tahoma,Arial,sans-serif;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s}
.eb-btn--primary,.eb-btn--primary:visited{background:var(--eb-primary);color:#fff;border-color:var(--eb-primary)}
.eb-btn--primary:hover,.eb-btn--primary:active{background:var(--eb-primary-pressed);border-color:var(--eb-primary-pressed);color:#fff}
.eb-btn--secondary,.eb-btn--secondary:visited{background:var(--eb-surface);color:var(--eb-text);border-color:var(--eb-border)}
.eb-btn--secondary:hover{background:var(--eb-surface-soft);color:var(--eb-text)}
.eb-btn:disabled,.eb-btn[aria-disabled="true"],.eb-icon-btn:disabled{opacity:.48;cursor:not-allowed}
.eb-icon-btn{display:inline-grid;width:44px;height:44px;flex:none;place-items:center;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text);cursor:pointer}
.eb-icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.eb-field{display:grid;gap:8px;color:var(--eb-text);font:700 12px/1.6 Peyda,Tahoma,Arial,sans-serif}
/* One shared input primitive. Composite controls use eb-field-shell; native radio, checkbox,
 * file upload, OTP and plate segments deliberately retain their own mechanics. */
:is(input,select,textarea).eb-control,
.eb-field:not(.eb-field-shell) :is(input:not([type=hidden]):not([type=radio]):not([type=checkbox]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset]),select,textarea){display:block;width:100%;max-width:100%;min-width:0;min-height:48px;box-sizing:border-box;margin:0;padding:10px 12px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text);font:600 var(--eb-type-body)/1.75 var(--eb-font);box-shadow:none;color-scheme:light}
:is(input,select,textarea).eb-control:focus,
.eb-field:not(.eb-field-shell) :is(input:not([type=hidden]):not([type=radio]):not([type=checkbox]):not([type=file]),select,textarea):focus{border-color:var(--eb-primary);outline:2px solid var(--eb-primary-soft);outline-offset:0}
:is(input,select,textarea).eb-control:disabled{background:var(--eb-surface-soft);color:var(--eb-muted);cursor:not-allowed}
:is(input,select,textarea).eb-control:where([aria-invalid="true"],.is-invalid){border-color:var(--eb-danger)}
:is(input,textarea).eb-control::placeholder{color:var(--eb-muted);opacity:.8}
textarea.eb-control{resize:vertical;min-height:100px}
.eb-file-control{display:block;max-width:100%;width:100%;min-height:48px;box-sizing:border-box;padding:8px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text);font:600 var(--eb-type-body)/1.75 var(--eb-font)}
.eb-file-control::file-selector-button{min-height:30px;margin-inline-end:12px;padding:4px 12px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-small);background:var(--eb-surface-soft);color:var(--eb-text);font:700 var(--eb-type-label)/1.5 var(--eb-font);cursor:pointer}
.eb-file-control:focus-visible{outline:2px solid var(--eb-primary);outline-offset:2px}
/* A reusable *outer* field for icon-led and floating-label layouts.
 * The page may define its grid geometry, never a parallel input skin. */
.eb-field-shell{min-width:0;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text)}
.eb-field-shell:focus-within{border-color:var(--eb-primary);box-shadow:0 0 0 3px var(--eb-primary-soft)}
.eb-field-shell :is(input:not([type=hidden]):not([type=radio]):not([type=checkbox]):not([type=file]),select,textarea){min-width:0;max-width:100%;background:transparent;color:var(--eb-text);font:600 var(--eb-type-body)/1.75 var(--eb-font);color-scheme:light}
.eb-field-shell :is(input,textarea)::placeholder{color:var(--eb-muted);opacity:.8}
.eb-modal{position:fixed;inset:0;display:grid;place-items:center;padding:12px;background:rgba(31,35,40,.55);z-index:15000}
.eb-modal[hidden],.eb-modal [hidden]{display:none}
.eb-modal__dialog{width:min(100%,560px);max-height:calc(100dvh - 24px);border:1px solid var(--eb-border);border-radius:var(--eb-radius-modal);background:var(--eb-surface);color:var(--eb-text);box-shadow:0 24px 70px rgba(31,35,40,.23);overflow:auto;overscroll-behavior:contain}
:where(.eb-btn,.eb-icon-btn,.eb-control,.eb-field input,.eb-field select,.eb-field textarea):focus-visible{outline:2px solid var(--eb-primary);outline-offset:2px}
@media(max-width:360px){.eb-modal{padding:8px}.eb-modal__dialog{max-height:calc(100dvh - 16px)}}

/* Canonical page and content primitives shared by all new services. */
:root{--eb-font:Peyda,Tahoma,Arial,sans-serif}
.eb-page{width:min(100%,560px);margin:0 auto;padding:16px 16px calc(100px + env(safe-area-inset-bottom));box-sizing:border-box;background:var(--eb-surface);color:var(--eb-text);font:500 13px/1.75 var(--eb-font);direction:rtl}
.eb-page,.eb-page *{box-sizing:border-box}
.eb-page [hidden]{display:none}
.eb-page-title{margin:0;color:var(--eb-text);font:900 var(--eb-type-h1)/1.45 var(--eb-font)}
.eb-section-title{margin:0;color:var(--eb-text);font:800 var(--eb-type-h2)/1.5 var(--eb-font)}
.eb-card-title{margin:0;color:var(--eb-text);font:800 var(--eb-type-card)/1.6 var(--eb-font)}
.eb-minor-title{margin:0;color:var(--eb-text);font:700 var(--eb-type-h4)/1.6 var(--eb-font)}
.eb-caption{color:var(--eb-muted);font:600 var(--eb-type-caption)/1.65 var(--eb-font)}
.eb-page-intro{margin:8px 0 0;color:var(--eb-muted);font:500 var(--eb-type-body)/1.75 var(--eb-font)}
.eb-field__label{font:700 var(--eb-type-label)/1.5 var(--eb-font)}
.eb-field__help{color:var(--eb-muted);font:500 var(--eb-type-caption)/1.65 var(--eb-font)}
.eb-field:not(.eb-field-shell) :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=file]),textarea)::placeholder{color:var(--eb-muted);opacity:.8}
.eb-field:not(.eb-field-shell) textarea{resize:vertical;min-height:100px}
.eb-btn--block{display:flex;width:100%}
.eb-btn svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.eb-page :focus-visible{outline:2px solid var(--eb-primary);outline-offset:3px}
@media(max-width:360px){.eb-page{padding-inline:12px}}


.eb-sheet-surface{box-sizing:border-box;border:1px solid var(--eb-border);border-radius:var(--eb-radius-modal);background:var(--eb-surface);color:var(--eb-text);box-shadow:var(--eb-shadow)}
/* Shared illustrated 3D service navigation: suitable for service sheets and future menus. */
.eb-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--eb-space-3,12px);min-width:0}
.eb-service-tile{box-sizing:border-box;display:flex;min-width:0;min-height:128px;flex-direction:column;align-items:center;justify-content:center;gap:var(--eb-space-2,8px);padding:var(--eb-space-2,8px) var(--eb-space-1,4px);border:1px solid var(--eb-border);border-radius:var(--eb-radius-card);background:var(--eb-surface-soft);color:var(--eb-text);text-decoration:none;box-shadow:none}
.eb-service-tile:visited{color:var(--eb-text)}
.eb-service-tile:active{background:var(--eb-primary-soft)}
.eb-service-tile:focus-visible{outline:2px solid var(--eb-primary);outline-offset:2px}
.eb-service-tile__visual{display:grid;place-items:center;width:88px;height:80px;max-width:100%;flex:none}
.eb-service-tile__visual img{display:block;width:100%;height:100%;object-fit:contain}
.eb-service-tile__label{display:block;max-width:100%;text-align:center;color:var(--eb-text);font:800 var(--eb-type-label,12px)/1.5 var(--eb-font);overflow-wrap:normal}
@media(max-width:360px){.eb-service-grid{gap:var(--eb-space-2,8px)}.eb-service-tile{min-height:116px}.eb-service-tile__visual{width:76px;height:70px}.eb-service-tile__label{font-size:11px}}

/* First-run onboarding — canonical full-screen app introduction. */
:root{
  --eb-faint:#A9A39B;
  --eb-radius-small:10px;--eb-radius-pill:999px;
  --eb-space-1:4px;--eb-space-2:8px;--eb-space-3:12px;--eb-space-4:16px;
  --eb-space-5:20px;--eb-space-6:24px;--eb-space-8:32px;
}
.eb-btn--ghost,.eb-btn--ghost:visited{background:transparent;color:var(--eb-muted);border-color:transparent}
.eb-btn--ghost:hover,.eb-btn--ghost:active{background:var(--eb-surface-soft);color:var(--eb-text)}
html.eb-onboarding-active,html.eb-onboarding-active body{overflow:hidden!important;overscroll-behavior:none!important}
.eb-onboarding{position:fixed;inset:0;z-index:20000;display:none;background:var(--eb-surface);color:var(--eb-text);font-family:var(--eb-font);direction:rtl;opacity:1;transition:opacity .24s ease}
html.eb-onboarding-active .eb-onboarding{display:flex}
html.eb-onboarding-seen .eb-onboarding{display:none}
.eb-onboarding.is-leaving{opacity:0;pointer-events:none}
.eb-onboarding,.eb-onboarding *{box-sizing:border-box}
.eb-onboarding button{font-family:var(--eb-font)}
.eb-onboarding__shell{width:min(100%,560px);min-height:100dvh;margin:0 auto;display:flex;flex-direction:column;background:var(--eb-surface);overflow:hidden}
.eb-onboarding__topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--eb-space-3);padding:calc(var(--eb-space-3) + env(safe-area-inset-top)) var(--eb-space-4) var(--eb-space-3)}
.eb-onboarding__brand{display:flex;align-items:center;gap:var(--eb-space-3);min-width:0}
.eb-onboarding__brand-mark{width:40px;height:40px;display:grid;place-items:center;flex:none;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);box-shadow:var(--eb-shadow);overflow:hidden}
.eb-onboarding__brand-mark img{display:block;width:32px;height:32px;object-fit:contain}
.eb-onboarding__brand-copy{display:grid;gap:0;min-width:0}
.eb-onboarding__brand-copy strong{font:800 14px/1.5 var(--eb-font);color:var(--eb-text)}
.eb-onboarding__brand-copy small{font:600 11px/1.5 var(--eb-font);color:var(--eb-muted)}
.eb-onboarding__skip{width:auto;min-height:44px;padding-inline:var(--eb-space-3)}
.eb-onboarding__stage{flex:1;min-height:0;display:grid;padding:var(--eb-space-2) var(--eb-space-4) var(--eb-space-3);overflow:hidden}
.eb-onboarding__slide{grid-area:1/1;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:end;gap:var(--eb-space-5);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(24px);transition:transform .28s ease}
.eb-onboarding__slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0)}
.eb-onboarding__art{position:relative;align-self:center;width:100%;height:320px;display:grid;place-items:center;overflow:visible}
.eb-onboarding__glow{position:absolute;width:240px;height:240px;border-radius:50%;background:var(--eb-primary-soft);opacity:.7;filter:blur(2px);transform:scale(.92)}
.eb-onboarding__hero-svg{position:relative;z-index:1;display:block;width:min(100%,320px);height:auto;overflow:visible}
.eb-onboarding__orbit{fill:none;stroke:var(--eb-border);stroke-width:1.5;stroke-dasharray:6 10}
.eb-onboarding__tile,.eb-onboarding__hero-card,.eb-onboarding__list-row{fill:var(--eb-surface);stroke:var(--eb-border);stroke-width:1.5}
.eb-onboarding__hero-card{filter:drop-shadow(0 12px 24px rgba(31,35,40,.08))}
.eb-onboarding__screen-soft,.eb-onboarding__service-core{fill:var(--eb-primary-soft)}
.eb-onboarding__service-core{stroke:var(--eb-primary);stroke-width:1.5;stroke-opacity:.22}
.eb-onboarding__gold-line,.eb-onboarding__car,.eb-onboarding__paper-line{fill:none;stroke:var(--eb-primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.eb-onboarding__paper-line{stroke-width:2.2;opacity:.72}
.eb-onboarding__wheel{fill:var(--eb-surface);stroke:var(--eb-primary);stroke-width:3}
.eb-onboarding__gold-fill{fill:var(--eb-primary)}
.eb-onboarding__spark{fill:var(--eb-primary-soft);stroke:var(--eb-primary);stroke-width:2;stroke-linejoin:round}
.eb-onboarding__ready-ring{fill:none;stroke:var(--eb-primary-soft);stroke-width:16}
.eb-onboarding__shield{fill:var(--eb-surface);stroke:var(--eb-primary);stroke-width:3;stroke-linejoin:round;filter:drop-shadow(0 12px 24px rgba(31,35,40,.08))}
.eb-onboarding__ready-check{fill:none;stroke:var(--eb-primary);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.eb-onboarding__copy{text-align:center;max-width:440px;margin-inline:auto;padding-inline:var(--eb-space-2)}
.eb-onboarding__eyebrow{display:inline-flex;align-items:center;justify-content:center;padding:var(--eb-space-1) var(--eb-space-3);margin-bottom:var(--eb-space-3);border-radius:var(--eb-radius-pill);background:var(--eb-primary-soft);color:var(--eb-primary);font:800 11px/1.5 var(--eb-font);letter-spacing:.02em}
.eb-onboarding__copy h1{margin:0;color:var(--eb-text);font:900 20px/1.45 var(--eb-font);text-wrap:balance}
.eb-onboarding__copy p{margin:var(--eb-space-3) 0 0;color:var(--eb-muted);font:500 13px/1.75 var(--eb-font);text-wrap:pretty}
.eb-onboarding__footer{display:grid;gap:var(--eb-space-4);padding:var(--eb-space-4) var(--eb-space-4) calc(var(--eb-space-4) + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--eb-surface) 80%,rgba(255,255,255,0))}
.eb-onboarding__progress{display:flex;direction:ltr;align-items:center;justify-content:center;gap:var(--eb-space-2);height:var(--eb-space-3)}
.eb-onboarding__progress button{width:8px;height:8px;padding:0;border:0;border-radius:var(--eb-radius-pill);background:var(--eb-border);cursor:pointer;transition:width .2s ease,background-color .2s ease}
.eb-onboarding__progress button.is-active{width:24px;background:var(--eb-primary)}
.eb-onboarding__next{max-width:100%;box-shadow:0 10px 24px rgba(200,146,47,.22)}
.eb-onboarding__next svg{transition:transform .2s ease}
.eb-onboarding__next:active svg{transform:translateX(-4px)}
.eb-onboarding.is-last .eb-onboarding__skip{visibility:hidden;pointer-events:none}
@media(max-width:360px){
  .eb-onboarding__topbar,.eb-onboarding__stage,.eb-onboarding__footer{padding-inline:var(--eb-space-3)}
  .eb-onboarding__art{height:288px}
}
@media(max-height:760px){
  .eb-onboarding__art{height:264px}
  .eb-onboarding__glow{width:208px;height:208px}
  .eb-onboarding__hero-svg{width:min(100%,288px)}
  .eb-onboarding__slide{gap:var(--eb-space-3)}
  .eb-onboarding__copy p{margin-top:var(--eb-space-2)}
  .eb-onboarding__footer{gap:var(--eb-space-3);padding-top:var(--eb-space-3);padding-bottom:calc(var(--eb-space-3) + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){
  .eb-onboarding,.eb-onboarding__slide,.eb-onboarding__progress button,.eb-onboarding__next svg{transition:none}
}

/* Design System v2 — customer-facing primitives shared across pages.
 * Keep general component appearance here; pages may control only geometry.
 */
:root{
  --eb-font:Peyda,Tahoma,Arial,sans-serif;
  --eb-type-h1:20px;--eb-type-h2:16px;--eb-type-card:14px;--eb-type-h4:13px;
  --eb-type-body:13px;--eb-type-label:12px;--eb-type-caption:11px;
  --eb-line-body:1.75;
  --eb-space-1:4px;--eb-space-2:8px;--eb-space-3:12px;--eb-space-4:16px;
  --eb-space-5:20px;--eb-space-6:24px;--eb-space-8:32px;
  --eb-service-icon-size:64px;
}
.eb-section{min-width:0;margin:0}
.eb-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--eb-space-3);margin:0 0 var(--eb-space-3);color:var(--eb-text)}
.eb-section-head h2{margin:0;font:800 var(--eb-type-h2)/1.5 var(--eb-font);color:var(--eb-text)}
.eb-text-link{display:inline-flex;align-items:center;gap:var(--eb-space-1);min-height:44px;color:var(--eb-muted);font:700 var(--eb-type-label)/1.5 var(--eb-font);text-decoration:none}
.eb-text-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.eb-text-link:hover{color:var(--eb-primary)}
.eb-empty-state{padding:var(--eb-space-4);text-align:center;color:var(--eb-muted);font:500 var(--eb-type-body)/var(--eb-line-body) var(--eb-font)}
/* Stage 6: the single tabs / filters / segmented family. Page classes supply only layout. */
:is(.eb-tabs,.eb-form-tabs,.eb-screen__tabs){display:flex;align-items:center;gap:var(--eb-space-1);min-width:0;max-width:100%;padding:var(--eb-space-1);border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface-soft);box-sizing:border-box}
:is(.eb-tabs,.eb-form-tabs,.eb-screen__tabs) > :is(a,button){display:inline-flex;flex:1 1 0;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:var(--eb-space-2);padding:var(--eb-space-2) var(--eb-space-3);border:0;border-radius:var(--eb-radius-small);background:transparent;color:var(--eb-muted);font:700 var(--eb-type-label)/1.5 var(--eb-font);text-align:center;text-decoration:none;cursor:pointer;box-sizing:border-box}
:is(.eb-tabs,.eb-form-tabs,.eb-screen__tabs) > :is(a,button):is(.is-active,[aria-selected="true"],[aria-pressed="true"]){background:var(--eb-primary-soft);color:var(--eb-primary-pressed)}
:is(.eb-tabs,.eb-form-tabs,.eb-screen__tabs) > :is(a,button):focus-visible{outline:2px solid var(--eb-primary);outline-offset:2px}
:is(.eb-tabs,.eb-form-tabs,.eb-screen__tabs) > :is(a,button) svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.eb-tabs--scroll{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
.eb-tabs--scroll::-webkit-scrollbar{display:none}
.eb-tabs--scroll > :is(a,button){flex:0 0 auto;white-space:nowrap}
.eb-tabs--compact{gap:var(--eb-space-1)}
.eb-tabs--compact > :is(a,button){min-height:40px;padding:var(--eb-space-2);font-size:var(--eb-type-caption)}
.eb-tabs--icons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--eb-space-1);padding:0;border:0;background:transparent}
.eb-tabs--icons > :is(a,button){display:flex;flex-direction:column;gap:var(--eb-space-1);min-height:64px;padding:var(--eb-space-2) var(--eb-space-1);border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-muted)}
.eb-tabs--icons > :is(a,button) svg{width:22px;height:22px}
.eb-tabs--icons > :is(a,button) span{min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:700 var(--eb-type-caption)/1.5 var(--eb-font)}
.eb-tabs--icons > :is(a,button).is-active{border-color:var(--eb-primary);background:var(--eb-primary-soft);color:var(--eb-primary-pressed)}
.eb-tabs__count{display:inline-grid;place-items:center;min-width:20px;min-height:20px;padding:0 var(--eb-space-1);border-radius:var(--eb-radius-pill);background:var(--eb-surface);color:var(--eb-muted);font:700 var(--eb-type-caption)/1 var(--eb-font)}
.eb-tabs .is-active .eb-tabs__count{background:var(--eb-surface);color:var(--eb-primary-pressed)}
/* Surface only; overlay, positioning, responsive layout and open/close logic remain feature-owned. */
.eb-dialog-surface{box-sizing:border-box;max-width:calc(100vw - 24px);border:1px solid var(--eb-border);border-radius:var(--eb-radius-modal);background:var(--eb-surface);color:var(--eb-text);box-shadow:var(--eb-shadow)}
.eb-dialog-surface [hidden]{display:none}
.eb-dialog-surface :is(button,a):focus-visible{outline:2px solid var(--eb-primary);outline-offset:2px}

.eb-btn--danger,.eb-btn--danger:visited{background:var(--eb-danger);border-color:var(--eb-danger);color:#fff}
.eb-btn--danger:hover{filter:brightness(.94)}
.eb-field__error{font:600 var(--eb-type-caption)/1.6 var(--eb-font);color:var(--eb-danger)}

/* Shared warm dashboard card: the Home family and every summary panel use one surface. */
.eb-home-panel,.eb-panel--soft{background:var(--eb-service-tile-surface)}
/* Shared dashboard panels: the canonical Home card family, also used by vehicle hub.
 * All panel surfaces, headings, rows and actions have one owner. */
.eb-home-panel{
  display:flex;flex-direction:column;gap:16px;width:100%;min-width:0;
  color:var(--eb-text)
}
.eb-home-panel__head{display:flex;align-items:center;gap:12px;min-width:0}
.eb-home-panel__icon{
  display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;
  border:1px solid var(--eb-border);border-radius:12px;background:#fff;color:var(--eb-primary)
}
.eb-home-panel__heading{display:grid;gap:4px;flex:1;min-width:0}
.eb-home-panel__title{margin:0;color:var(--eb-text);font:800 16px/1.45 var(--eb-font)}
.eb-home-panel__caption{margin:0;color:var(--eb-muted);font:500 12px/1.6 var(--eb-font);overflow-wrap:anywhere}
.eb-home-panel__tag{
  display:inline-flex;align-items:center;gap:6px;flex:none;max-width:40%;
  padding:6px 10px;border-radius:999px;background:var(--eb-primary-soft);
  color:#86601c;font:700 11px/1.5 var(--eb-font);text-align:center;overflow-wrap:anywhere
}
.eb-home-panel__tag::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--eb-primary)}
.eb-home-panel__body{display:grid;gap:12px;min-width:0}
.eb-home-panel__row{display:flex;align-items:center;gap:12px;min-width:0;color:var(--eb-text);text-decoration:none}
.eb-home-panel__row{padding:var(--eb-space-3);border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface)}
.eb-home-panel__row-icon{
  display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;
  border-radius:10px;background:var(--eb-surface-soft);color:var(--eb-primary)
}
.eb-home-panel__row-content{display:grid;gap:4px;flex:1;min-width:0}
.eb-home-panel__row-title{margin:0;color:var(--eb-text);font:700 13px/1.75 var(--eb-font);overflow-wrap:anywhere}
.eb-home-panel__row-meta{color:var(--eb-muted);font:500 12px/1.75 var(--eb-font);overflow-wrap:anywhere;unicode-bidi:plaintext}
.eb-home-panel__action{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  min-height:44px;padding:9px 12px;border:1px solid var(--eb-border);
  border-radius:12px;background:#fff;color:var(--eb-text);
  font:800 13px/1.6 var(--eb-font);text-decoration:none;cursor:pointer
}
.eb-home-panel__action > span{min-width:0}
.eb-home-panel__action svg{color:var(--eb-primary)}
.eb-home-panel :is(a,summary):focus-visible{outline:2px solid var(--eb-primary);outline-offset:2px}
.eb-home-panel__detail{min-width:0}
.eb-home-panel__detail > summary{list-style:none}
.eb-home-panel__detail > summary::-webkit-details-marker{display:none}
.eb-home-panel__detail[open] > summary .eb-line-icon{transform:rotate(90deg)}
.eb-home-panel__detail-list{display:grid;gap:0;margin-top:12px;overflow:hidden;border:1px solid var(--eb-border);border-radius:12px;background:#fff}
.eb-home-panel__detail-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;padding:10px 12px;border-bottom:1px solid var(--eb-border)}
.eb-home-panel__detail-line:last-child{border-bottom:0}
.eb-home-panel__detail-line > span{flex:0 0 34%;color:var(--eb-muted);font:500 12px/1.7 var(--eb-font)}
.eb-home-panel__detail-line > strong{flex:1;min-width:0;color:var(--eb-text);text-align:left;font:600 12px/1.7 var(--eb-font);overflow-wrap:anywhere}
.eb-home-panel__detail-list > a{margin:10px}
.eb-home-panel__amount{display:flex;align-items:baseline;gap:8px;min-width:0}
.eb-home-panel__amount strong{color:var(--eb-text);font:900 23px/1.4 var(--eb-font);font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
.eb-home-panel__amount span{color:var(--eb-muted);font:600 12px/1.6 var(--eb-font)}
.eb-home-panel__finance{display:grid;gap:12px;min-width:0;padding:16px;border:1px solid var(--eb-border);border-radius:12px;background:#fff}
.eb-home-panel__breakdown{display:grid;grid-template-columns:minmax(0,1fr) 84px;align-items:center;gap:16px;min-width:0}
.eb-home-panel__legend{display:grid;gap:10px;min-width:0;margin:0;padding:0;list-style:none}
.eb-home-panel__legend li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;color:var(--eb-muted);font:500 12px/1.5 var(--eb-font)}
.eb-home-panel__legend li i{width:8px;height:8px;border-radius:50%}
.eb-home-panel__legend li span{color:var(--eb-text);min-width:0;overflow-wrap:anywhere}
.eb-home-panel__legend li b{color:var(--eb-muted);font-weight:700}
.eb-home-panel__donut{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;flex:none}
.eb-home-panel__donut::before{position:absolute;inset:13px;content:"";border-radius:50%;background:#fff}
.eb-home-panel__donut span{position:relative;z-index:1;color:var(--eb-muted);font:700 11px/1.4 var(--eb-font)}

/* Reusable compact key/value groups inside shared panels. */
.eb-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--eb-space-2);min-width:0;margin:0}
.eb-data-grid__item{display:grid;align-content:start;gap:var(--eb-space-1);min-width:0;padding:var(--eb-space-2) var(--eb-space-3);border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface)}
.eb-data-grid dt{margin:0;color:var(--eb-muted);font:700 11px/1.6 var(--eb-font)}
.eb-data-grid dd{min-width:0;margin:0;color:var(--eb-text);font:700 13px/1.65 var(--eb-font);overflow-wrap:anywhere;text-align:right}
.eb-data-grid dd bdi[dir="ltr"]{unicode-bidi:isolate;direction:ltr}
.eb-home-panel__row-aside{flex:none;max-width:47%;color:var(--eb-text);font:800 12px/1.6 var(--eb-font);text-align:left;overflow-wrap:anywhere}

.eb-service-icon{
  position:relative;display:grid;place-items:center;
  box-sizing:border-box;width:var(--eb-service-icon-size);height:var(--eb-service-icon-size);
  min-width:var(--eb-service-icon-size);min-height:var(--eb-service-icon-size);
  max-width:var(--eb-service-icon-size);max-height:var(--eb-service-icon-size);
  flex:0 0 var(--eb-service-icon-size);aspect-ratio:1 / 1;
  padding:0;overflow:visible;border:0;border-radius:0;
  background:transparent;box-shadow:none;
}
.eb-service-art{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;aspect-ratio:1/1;mix-blend-mode:normal}
.eb-service-icon > svg{display:block;width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.eb-service-tile{display:flex;align-items:center;flex-direction:column;gap:var(--eb-space-2);min-width:0;text-align:center;text-decoration:none;color:var(--eb-text)}
.eb-service-tile:focus-visible{outline:2px solid var(--eb-primary);outline-offset:4px;border-radius:var(--eb-radius-control)}
@media(prefers-reduced-motion:reduce){.eb-btn,.eb-onboarding{transition:none}}

/* Shared, content-sized line-icon primitive. Used by Home and reusable in future cards. */
.eb-line-icon{display:block;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.eb-line-icon--medium{width:18px;height:18px}
.eb-line-icon--small{width:16px;height:16px}


/* Shared vehicle/category searchable picker — sole component owner. */
.ebadi-search-select{position:relative;display:block;min-width:0;width:100%;direction:rtl;font-family:var(--eb-font)}
.ebadi-search-select__native{position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0;clip-path:inset(50%);overflow:hidden;pointer-events:none}
.ebadi-search-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:48px;min-height:48px;padding:0 12px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text);font:600 13px/1.6 var(--eb-font);text-align:right;cursor:pointer}
.ebadi-search-select__trigger:focus-visible{outline:2px solid var(--eb-primary);outline-offset:2px}
.ebadi-search-select__value{display:flex;align-items:center;min-width:0;gap:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ebadi-search-select__value-logo{width:24px;height:24px;flex:none;object-fit:contain}
.ebadi-search-select__value-logo--fallback{display:grid;place-items:center;border-radius:8px;background:var(--eb-primary-soft);color:var(--eb-primary-pressed);font:800 12px/1 var(--eb-font)}
.ebadi-search-select__trigger>i{display:block;flex:none;width:8px;height:8px;border-inline-end:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg);opacity:.65}
.ebadi-search-select.is-open .ebadi-search-select__trigger{border-color:var(--eb-primary);box-shadow:0 0 0 3px var(--eb-primary-soft)}
.ebadi-search-select.is-disabled .ebadi-search-select__trigger{background:var(--eb-surface-soft);color:var(--eb-muted);cursor:not-allowed}
.ebadi-search-select__backdrop{position:fixed;inset:0;z-index:16000;width:100%;height:100%;border:0;background:rgba(31,35,40,.5);opacity:0;visibility:hidden;pointer-events:none}
.ebadi-search-select.is-open .ebadi-search-select__backdrop{opacity:1;visibility:visible;pointer-events:auto}
.ebadi-search-select__panel{position:fixed;z-index:16001;top:50%;left:50%;width:min(100% - 32px,520px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-modal);background:var(--eb-surface);color:var(--eb-text);box-shadow:0 20px 60px rgba(31,35,40,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-46%);direction:rtl;box-sizing:border-box}
.ebadi-search-select.is-open .ebadi-search-select__panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%)}
.ebadi-search-select__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}
.ebadi-search-select__head strong{font:800 16px/1.5 var(--eb-font);color:var(--eb-text)}
.ebadi-search-select__close{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface-soft);color:var(--eb-text);font:600 22px/1 var(--eb-font);cursor:pointer}
.ebadi-search-select__search{display:flex;align-items:center;gap:8px;flex:none;height:48px;padding:0 12px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface-soft);color:var(--eb-muted)}
.ebadi-search-select__search:focus-within{border-color:var(--eb-primary)}
.ebadi-search-select__search svg{display:block;flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.ebadi-search-select__search input{flex:1;min-width:0;width:100%;height:44px;min-height:0;margin:0;padding:0;border:0;outline:0;box-shadow:none;background:transparent;color:var(--eb-text);-webkit-text-fill-color:var(--eb-text);font:600 13px/1.5 var(--eb-font)}
.ebadi-search-select__search input:focus{outline:0;border:0;box-shadow:none}
.ebadi-search-select__search input::placeholder{color:var(--eb-muted);opacity:1}
.ebadi-search-select__clear{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border:0;border-radius:10px;background:var(--eb-border);color:var(--eb-muted);font:700 18px/1 var(--eb-font);cursor:pointer}
.ebadi-search-select__options{display:flex;flex-direction:column;min-height:0;max-height:min(420px,53dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface)}
.ebadi-search-select__option{display:flex;align-items:center;gap:8px;flex:none;width:100%;min-height:48px;padding:10px 12px;border:0;border-bottom:1px solid var(--eb-border);background:transparent;color:var(--eb-text);font:600 13px/1.6 var(--eb-font);text-align:right;cursor:pointer}
.ebadi-search-select__option:last-child{border-bottom:0}
.ebadi-search-select__option.is-selected{background:var(--eb-primary-soft);color:var(--eb-primary-pressed);font-weight:800}
.ebadi-search-select__option:disabled{color:var(--eb-muted);opacity:.65;cursor:not-allowed}
.ebadi-search-select__option-logo{width:28px;height:28px;flex:none;object-fit:contain}
.ebadi-search-select__option-logo--fallback{display:grid;place-items:center;border-radius:8px;background:var(--eb-primary-soft);font:800 13px/1 var(--eb-font)}
.ebadi-search-select__empty{margin:0;padding:16px 8px;text-align:center;font:600 12px/1.7 var(--eb-font);color:var(--eb-muted)}
.ebadi-search-select__empty[hidden]{display:none}
@media(max-width:430px){.ebadi-search-select__panel{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:12px}}
@media(prefers-reduced-motion:no-preference){.ebadi-search-select__panel{transition:opacity .16s ease,transform .16s ease,visibility .16s}.ebadi-search-select__backdrop{transition:opacity .16s ease,visibility .16s}}


/* Unified customer form system: canonical appearance for booking, JetCar, Tow and future flows.
   Page styles may own ONLY grids/maps/navigation geometry, never their visual primitives. */
.eb-form-page{width:min(100%,560px);max-width:560px;margin-inline:auto;padding:16px 16px calc(104px + env(safe-area-inset-bottom));background:var(--eb-surface);color:var(--eb-text);font:500 var(--eb-type-body)/var(--eb-line-body) var(--eb-font);direction:rtl;min-width:0}
.eb-form-page,.eb-form-page *{box-sizing:border-box}
.eb-form-page [hidden]{display:none}
.eb-form-page__head{display:flex;align-items:flex-start;gap:12px;min-width:0;margin:0 0 24px}
.eb-form-page__head-copy{flex:1;min-width:0}
.eb-form-page__head-copy>span{font:700 var(--eb-type-label)/1.5 var(--eb-font);color:var(--eb-primary-pressed)}
.eb-form-page__head h1{margin:4px 0 0;color:var(--eb-text);font:900 var(--eb-type-h1)/1.45 var(--eb-font)}
.eb-form-page__head p{margin:8px 0 0;color:var(--eb-muted);font:500 var(--eb-type-body)/1.75 var(--eb-font)}
.eb-form-page__badge{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:var(--eb-radius-control);background:var(--eb-primary-soft);color:var(--eb-primary-pressed)}
.eb-form-page__badge svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.eb-form-flow{display:grid;gap:16px;min-width:0}
.eb-form-panel{padding:16px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-card);background:var(--eb-surface);min-width:0}
.eb-form-panel.is-invalid{border-color:var(--eb-danger);background:#fff9f8}
.eb-form-section-head{display:flex;align-items:flex-start;gap:12px;min-width:0;margin-bottom:16px}
.eb-form-section-head>span:first-child{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:var(--eb-radius-small);background:var(--eb-primary-soft);color:var(--eb-primary-pressed);font:800 12px/1 var(--eb-font)}
.eb-form-section-head>div{flex:1;min-width:0}
.eb-form-section-head h2{margin:0;color:var(--eb-text);font:800 var(--eb-type-h2)/1.5 var(--eb-font)}
.eb-form-section-head p{margin:4px 0 0;color:var(--eb-muted);font:500 var(--eb-type-body)/1.75 var(--eb-font)}
/* A single-column vehicle selection layout for every service using the car catalog.
   Field appearance is inherited from .eb-form-field, not defined per page. */
.eb-vehicle-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}
.eb-form-stack{display:grid;gap:12px;min-width:0}
.eb-form-field{display:grid;gap:8px;min-width:0;margin:0;color:var(--eb-text);font:700 var(--eb-type-label)/1.5 var(--eb-font)}
.eb-form-field>span:first-child{font:700 var(--eb-type-label)/1.5 var(--eb-font)}
.eb-form-field>small{font:500 var(--eb-type-caption)/1.65 var(--eb-font);color:var(--eb-muted)}
/* Shared form control with a leading (visually left) icon in RTL.
 * Phone numbers remain LTR internally but are right-aligned, clear of the icon. */
.eb-form-field .control{display:flex;position:relative;align-items:center;min-width:0}
.eb-form-field .control input:not([type="radio"]):not([type="checkbox"]){padding-left:40px;padding-right:12px}
.eb-form-field .control .icon{position:absolute;left:12px;width:20px;height:20px;fill:none;stroke:var(--eb-muted);pointer-events:none}
.eb-form-field .control input[type="tel"]{direction:ltr;text-align:right;unicode-bidi:plaintext}
/* Keep money digits together in mixed Persian/Latin labels. */
.eb-numeric-value{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.eb-form-field em{font:500 var(--eb-type-caption)/1.5 var(--eb-font);color:var(--eb-muted);font-style:normal}
.eb-form-choice{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:12px 14px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text);cursor:pointer}
.eb-form-choice.is-selected{background:var(--eb-primary-soft);border-color:var(--eb-primary)}
.eb-form-choice__icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:var(--eb-radius-control);background:var(--eb-surface-soft);color:var(--eb-text)}
.eb-form-choice.is-selected .eb-form-choice__icon{background:var(--eb-surface);color:var(--eb-primary-pressed)}
.eb-form-choice__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.eb-form-choice__copy{display:grid;gap:4px;min-width:0;flex:1}
.eb-form-choice__copy strong{color:var(--eb-text);font:800 var(--eb-type-card)/1.55 var(--eb-font)}
.eb-form-choice__copy small{color:var(--eb-muted);font:600 var(--eb-type-caption)/1.6 var(--eb-font);white-space:normal;overflow-wrap:anywhere}
.eb-form-choice__mark{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--eb-border);background:var(--eb-surface)}
.eb-form-choice.is-selected .eb-form-choice__mark{border:6px solid var(--eb-primary)}
.eb-form-choice input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.eb-form-choice:focus-within{outline:2px solid var(--eb-primary);outline-offset:2px}
.eb-form-date{position:relative;display:grid;gap:4px;align-content:center;justify-items:center;min-width:0;min-height:88px;padding:10px 8px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text);text-align:center;cursor:pointer}
.eb-form-date input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.eb-form-date.is-selected{background:var(--eb-primary-soft);border-color:var(--eb-primary)}
.eb-form-date>span{font:600 var(--eb-type-caption)/1.5 var(--eb-font);color:var(--eb-muted)}
.eb-form-date>strong{font:800 var(--eb-type-h2)/1.4 var(--eb-font);color:var(--eb-text)}
.eb-form-date>small{font:600 var(--eb-type-caption)/1.4 var(--eb-font);color:var(--eb-muted)}
.eb-form-date:focus-within{outline:2px solid var(--eb-primary);outline-offset:2px}
.eb-form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:12px;min-width:0}
.eb-form-actions>.eb-btn{flex:1;min-width:0}
.eb-form-notice{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface-soft)}
.eb-form-notice>span:first-child{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:var(--eb-radius-small);background:var(--eb-primary-soft);color:var(--eb-primary-pressed);font:900 16px/1 var(--eb-font)}
.eb-form-notice strong{display:block;font:800 var(--eb-type-card)/1.5 var(--eb-font)}
.eb-form-notice p{margin:4px 0 0;font:500 var(--eb-type-body)/1.7 var(--eb-font)}
.eb-form-notice.is-error{background:#fff8f7;border-color:#efcccc;color:var(--eb-danger)}
.eb-form-notice.is-success{background:#f2faf5;border-color:#c6e7d2;color:var(--eb-success)}
.eb-form-notice.is-error>span:first-child{background:#fbe5e3;color:var(--eb-danger)}
.eb-form-notice.is-success>span:first-child{background:#e1f4e8;color:var(--eb-success)}
.eb-form-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 16px;border:1px solid var(--eb-primary);border-radius:var(--eb-radius-control);background:var(--eb-primary);color:#fff;font:800 var(--eb-type-body)/1.5 var(--eb-font);cursor:pointer}
.eb-form-primary:disabled{opacity:.48;cursor:not-allowed}
.eb-form-primary:focus-visible{outline:2px solid var(--eb-primary);outline-offset:3px}
@media(max-width:360px){.eb-form-page{padding-inline:12px}.eb-form-panel{padding:14px}}

/* Service Flow primitives — canonical components for multistep and single-page services.
   Page-specific styles may arrange these elements, not redefine their visual language. */
.eb-flow{color:var(--eb-text);font:500 var(--eb-type-body)/var(--eb-line-body) var(--eb-font);direction:rtl}
.eb-flow,.eb-flow *{box-sizing:border-box}
.eb-flow__stage-head{display:flex;justify-content:space-between;align-items:center;gap:var(--eb-space-3);min-width:0}
.eb-flow__progress{display:block;min-width:0;padding:var(--eb-space-3);border:1px solid var(--eb-border);border-radius:var(--eb-radius-card);background:var(--eb-surface-soft)}
.eb-flow__progress .steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none}
.eb-flow__progress .step{position:relative;display:grid;justify-items:center;align-content:start;gap:6px;min-width:0;text-align:center}
.eb-flow__progress .dot{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--eb-border);border-radius:999px;background:var(--eb-surface);color:var(--eb-muted)}
.eb-flow__progress .dot::before{content:"";display:block;width:8px;height:8px;border-radius:999px;background:var(--eb-border)}
.eb-flow__progress .step.is-done .dot{background:var(--eb-primary-soft);border-color:var(--eb-primary-soft)}
.eb-flow__progress .step.is-done .dot::before{background:var(--eb-primary)}
.eb-flow__progress .step.is-active .dot{background:var(--eb-primary);border-color:var(--eb-primary)}
.eb-flow__progress .step.is-active .dot::before{background:#fff}
.eb-flow__progress .step .label{color:var(--eb-muted);font:600 11px/1.4 var(--eb-font);overflow-wrap:anywhere}
.eb-flow__progress .step.is-active .label{color:var(--eb-text);font-weight:800}
.eb-flow__panel{display:grid;gap:var(--eb-space-4);min-width:0}
.eb-flow__panel>h1,.eb-flow__panel>h2,.eb-flow__panel>h3{margin:0}
.eb-flow__field{display:grid;min-width:0;gap:var(--eb-space-2)}
.eb-flow__field>label,.eb-flow__field>span:first-child{color:var(--eb-text);font:700 var(--eb-type-label)/1.6 var(--eb-font)}
.eb-flow__field :is(input:not([type="radio"]):not([type="checkbox"]),select,textarea){display:block;width:100%;max-width:100%;min-width:0;min-height:48px;margin:0;padding:10px 12px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text);font:600 var(--eb-type-body)/1.65 var(--eb-font)}
.eb-flow__field :is(input,select,textarea):focus-visible{outline:2px solid var(--eb-primary);outline-offset:2px}
.eb-flow__field :is(small,.hint,.optional){color:var(--eb-muted);font:500 var(--eb-type-caption)/1.6 var(--eb-font)}
.eb-choice{display:flex;align-items:center;gap:var(--eb-space-3);width:100%;min-width:0;min-height:48px;padding:var(--eb-space-3);border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text);font:700 var(--eb-type-body)/1.6 var(--eb-font);text-align:right;cursor:pointer}
.eb-choice.is-selected,.eb-choice[aria-checked="true"]{border-color:var(--eb-primary);background:var(--eb-primary-soft)}
.eb-choice.is-disabled,.eb-choice:disabled{opacity:.48;cursor:not-allowed}
.eb-choice__icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:var(--eb-radius-control);background:var(--eb-surface-soft);color:var(--eb-primary)}
.eb-choice__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.eb-choice__copy{display:grid;gap:4px;min-width:0}
.eb-choice__copy strong{font:800 var(--eb-type-card)/1.5 var(--eb-font);color:var(--eb-text)}
.eb-choice__copy small{font:500 var(--eb-type-caption)/1.5 var(--eb-font);color:var(--eb-muted)}
.eb-data-row{display:flex;align-items:center;justify-content:space-between;gap:var(--eb-space-3);min-width:0;padding:var(--eb-space-3);border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface)}
.eb-data-row__label{font:600 var(--eb-type-label)/1.5 var(--eb-font);color:var(--eb-muted)}
.eb-data-row__value{min-width:0;overflow-wrap:anywhere;font:800 var(--eb-type-body)/1.5 var(--eb-font);color:var(--eb-text)}
.eb-status-pill{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 10px;border-radius:999px;background:var(--eb-primary-soft);color:var(--eb-primary-pressed);font:800 11px/1.5 var(--eb-font)}
.eb-flow__info{padding:var(--eb-space-3);border-radius:var(--eb-radius-control);background:var(--eb-primary-soft);color:var(--eb-text);font:600 var(--eb-type-body)/1.7 var(--eb-font)}
.eb-flow__actions{display:grid;gap:var(--eb-space-3);margin-top:var(--eb-space-2)}
@media(max-width:360px){.eb-flow__progress{padding:var(--eb-space-2)}.eb-flow__progress .step .label{font-size:10px}}


/* CUSTOMER MANAGEMENT SCREEN SYSTEM — v3.25.16
 * Canonical UI for vehicles, reminders, repairs and settings.
 * Behaviour-specific vehicle plate, chart, date-picker and wizard layouts remain in their own files.
 */
.eb-screen{width:min(100%,560px);max-width:560px;min-width:0;min-height:calc(100dvh - 64px);margin:0 auto;padding:16px 16px calc(96px + env(safe-area-inset-bottom));background:var(--eb-surface);color:var(--eb-text);font:500 13px/1.75 var(--eb-font);direction:rtl}
.eb-screen,.eb-screen *{box-sizing:border-box}
.eb-screen [hidden]{display:none}
.eb-screen__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;margin:0 0 16px;padding:0;text-align:right}
.eb-screen__head>div{min-width:0;flex:1}
.eb-screen__head p{margin:4px 0 0;color:var(--eb-muted);font:500 13px/1.65 var(--eb-font);text-align:right}
.eb-screen__head>a[data-app-back]{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text)}
.eb-screen__head>a[data-app-back] svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.eb-screen__head>span{color:var(--eb-primary-pressed);border-radius:999px;background:var(--eb-primary-soft);padding:4px 10px;font:700 11px/1.6 var(--eb-font)}
.eb-screen__form{display:grid;gap:16px;min-width:0}
.eb-screen__panel{display:grid;align-content:start;gap:16px;margin:0}
.eb-screen__panel>header,.eb-screen__panel>.repair-step-heading{display:flex;align-items:center;gap:12px;margin:0;padding:0 0 12px;border-bottom:1px solid var(--eb-border);text-align:right}
.eb-screen__panel>header>span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:var(--eb-radius-small);background:var(--eb-primary-soft);color:var(--eb-primary-pressed);font:800 13px/1 var(--eb-font)}
.eb-screen__panel>header h2,.eb-screen__panel>.repair-step-heading h2{margin:0;color:var(--eb-text);font:800 16px/1.5 var(--eb-font)}
.eb-screen__panel>header p,.eb-screen__panel>.repair-step-heading p{margin:4px 0 0;color:var(--eb-muted);font:500 12px/1.65 var(--eb-font)}
.eb-screen__field{display:grid;align-content:start;gap:8px;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--eb-text);font:600 13px/1.65 var(--eb-font)}
.eb-screen__field>span:last-child,.eb-screen__field>span{min-width:0}
.eb-screen__field b,.eb-screen__field>span:first-child,.eb-screen__field>span:last-child>small,.eb-screen__field>span:last-child>b{font:700 12px/1.6 var(--eb-font);color:var(--eb-text)}
.eb-screen__field :is(input:not([type=checkbox]):not([type=radio]),select,textarea){display:block;min-width:0;width:100%;min-height:48px;padding:10px 12px;margin:0;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text);font:600 13px/1.7 var(--eb-font);box-shadow:none}
.eb-screen__field textarea{min-height:100px;resize:vertical}
.eb-screen__field:focus-within :is(input,select,textarea){border-color:var(--eb-primary)}
.eb-screen__field :is(svg){width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.eb-screen__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0}
.eb-screen__list-card{display:block}
.eb-screen__list-card :is(h2,h3,strong){color:var(--eb-text)}
.eb-screen__list-card :is(p,small,time){color:var(--eb-muted)}
.eb-screen__list-card svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.eb-screen__tools{display:flex;flex-wrap:wrap;gap:12px;padding:12px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-card);background:var(--eb-surface-soft)}
.eb-screen__tools :is(input,select){min-height:44px;min-width:0;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text);font:600 13px/1.6 var(--eb-font)}
/* Existing service-specific structures which can now share the canonical visual language. */
.eb-screen .ebadi-crud-create,.eb-screen .vehicles-v2-add,.eb-screen .vehicles-add{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding:16px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-card);background:var(--eb-surface-soft);color:var(--eb-text);text-decoration:none}
.eb-screen .ebadi-crud-create strong,.eb-screen .vehicles-v2-add strong{display:block;font:800 14px/1.5 var(--eb-font)}
.eb-screen .ebadi-crud-create small,.eb-screen .vehicles-v2-add small{font:500 12px/1.65 var(--eb-font);color:var(--eb-muted)}
.eb-screen .ebadi-crud-create__icon,.eb-screen .vehicles-v2-add__icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:var(--eb-primary-soft);color:var(--eb-primary-pressed)}
.eb-screen .ebadi-crud-create__icon svg,.eb-screen .vehicles-v2-add__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.eb-screen .reminder-list-card__icon,.eb-screen .repair-record__garage{display:grid;place-items:center;flex:none;width:48px;height:48px;border:1px solid var(--eb-border);border-radius:12px;background:var(--eb-surface-soft);color:var(--eb-primary-pressed)}
.eb-screen .reminder-list-card__icon svg,.eb-screen .repair-record__garage svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.eb-screen .repair-summary article{display:grid;align-content:center;justify-items:center;gap:4px;min-width:0;min-height:88px;padding:12px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-card);background:var(--eb-surface-soft);color:var(--eb-text);text-align:center;box-shadow:none}
.eb-screen .repair-summary article small{font:600 11px/1.6 var(--eb-font);color:var(--eb-muted)}
.eb-screen .repair-summary article strong{font:800 16px/1.5 var(--eb-font);color:var(--eb-text);overflow-wrap:anywhere}
.eb-screen .repair-chart-card{padding:16px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-card);background:var(--eb-surface);box-shadow:none}
.eb-screen .repair-record__amount{color:var(--eb-primary-pressed)}
.eb-screen .repair-record__actions :is(a,button){display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text)}
.eb-screen :is(.reminder-notice,.vehicle-editor-notice,.repair-editor-notice,.repair-save-confirmation,.reminder-save-confirmation){border:1px solid var(--eb-border);border-radius:12px;background:var(--eb-primary-soft);color:var(--eb-text);padding:12px 16px;font:600 13px/1.65 var(--eb-font)}
@media(max-width:360px){.eb-screen{padding-inline:12px}.eb-screen__panel{padding:14px}.eb-screen__actions{grid-template-columns:minmax(0,1fr)}}
/* Shared reminder row semantics; no page-owned typography or visual controls. */
.eb-screen .reminder-list-card__copy h2{display:flex;align-items:center;gap:8px;min-width:0;margin:0;color:var(--eb-text);font:800 14px/1.6 var(--eb-font);overflow-wrap:anywhere}
.eb-screen .reminder-list-card__copy h2 i{flex:none;width:6px;height:6px;border-radius:999px;background:var(--eb-primary)}
.eb-screen .reminder-list-card__copy>p{margin:4px 0 8px;color:var(--eb-muted);font:500 12px/1.65 var(--eb-font);overflow-wrap:anywhere}
.eb-screen .reminder-list-card__stats small{display:block;color:var(--eb-muted);font:600 11px/1.5 var(--eb-font)}
.eb-screen .reminder-list-card__stats strong{display:block;color:var(--eb-text);font:800 13px/1.6 var(--eb-font)}
.eb-screen .reminder-list-card__stats strong.is-urgent{color:var(--eb-danger)}
.eb-screen .reminder-list-card__copy time{display:block;margin-top:6px;color:var(--eb-muted);font:500 11px/1.65 var(--eb-font);overflow-wrap:anywhere}
.eb-screen .reminder-list-card__actions :is(a,button){display:grid;place-items:center;flex:none;width:40px;height:40px;min-width:40px;min-height:40px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text)}
.eb-screen .reminder-list-card__actions :is(a,button) svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}

/* Shared vehicle-form building block; the service/form does not own input styling. */
.eb-vehicle-field{display:grid;gap:8px;min-width:0;margin:0}
.eb-vehicle-field>span{min-width:0}
.eb-vehicle-field__body{display:grid;gap:8px;min-width:0}
.eb-vehicle-field__body>b{color:var(--eb-text);font:700 12px/1.5 var(--eb-font)}
.eb-vehicle-field__body> :is(input,select){display:block;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface);color:var(--eb-text);font:600 13px/1.6 var(--eb-font)}
.eb-form-actions>.eb-btn{width:100%;min-width:0;min-height:48px;text-decoration:none}
.profile-garage__header>.eb-btn{width:auto;min-height:48px;font:800 13px/1.6 var(--eb-font)}
.profile-garage__header>.eb-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Plate is rendered as one connected legal-style control, not five unrelated fields. */
.eb-iran-plate{display:grid;grid-template-columns:34px minmax(0,.86fr) minmax(44px,1fr) minmax(0,1.28fr) minmax(0,.79fr);direction:ltr;align-items:stretch;width:100%;min-width:0;min-height:64px;overflow:hidden;border:2px solid #252b30;border-radius:12px;background:#fff}
.eb-iran-plate__blue{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;background:#233b83;color:#fff;font:700 11px/1 var(--eb-font)}
.eb-iran-plate__blue b{color:#fff;font-size:13px}
.eb-iran-plate__blue small{color:#fff;font:600 8px/1 Arial,sans-serif}
.eb-iran-plate__flag{display:block;width:20px;height:11px;border-radius:1px;background:linear-gradient(to bottom,#279750 0 33.3%,#fff 33.3% 66.7%,#dd3348 66.7%)}
.eb-field .eb-iran-plate :is(input,select){min-width:0;width:100%;height:100%;min-height:60px;padding:0 2px;border:0;border-radius:0;outline:0;background:transparent;color:var(--eb-text);font:800 clamp(13px,4vw,23px)/1.4 var(--eb-font);text-align:center;box-shadow:none;direction:ltr}
.eb-field .eb-iran-plate :is(input,select):focus{outline:0;background:var(--eb-primary-soft)}
.eb-field .eb-iran-plate select{appearance:none;text-align-last:center;cursor:pointer}
.eb-iran-plate__city{display:grid;grid-template-rows:18px minmax(0,1fr);min-width:0;border-left:2px solid #252b30;direction:rtl}
.eb-iran-plate__iran{align-self:end;justify-self:center;color:#1f2328;font:700 11px/1.2 var(--eb-font)}
.eb-field .eb-iran-plate__city input{min-height:40px;height:40px}

@media(max-width:360px){.eb-iran-plate{grid-template-columns:30px minmax(0,.9fr) minmax(42px,1fr) minmax(0,1.15fr) minmax(0,.8fr)}}

/* Account drawer component — canonical visual skin for guest and authenticated states. */
.profile-side-menu__backdrop{background:rgba(31,35,40,.35)}
.profile-side-menu{box-sizing:border-box;border-left:1px solid var(--eb-border);background:var(--eb-surface);color:var(--eb-text);box-shadow:-14px 0 40px rgba(31,35,40,.12);font-family:var(--eb-font)}
.profile-side-menu__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 4px 16px;border-bottom:1px solid var(--eb-border)}
.profile-side-menu__head .eb-icon-btn{width:40px;height:40px;flex:none}
.profile-side-menu__identity{display:grid;gap:4px;min-width:0;padding-top:4px}
.profile-side-menu__identity strong{color:var(--eb-text);font:800 16px/1.5 var(--eb-font);overflow-wrap:anywhere}
.profile-side-menu__phone{color:var(--eb-muted);font:600 12px/1.6 var(--eb-font)}
.profile-side-menu nav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:4px 8px;border:1px solid transparent;border-radius:var(--eb-radius-control);color:var(--eb-text);font:700 13px/1.6 var(--eb-font);text-decoration:none}
.profile-side-menu nav a:visited{color:var(--eb-text)}
.profile-side-menu nav a:hover,.profile-side-menu nav a:focus-visible{border-color:var(--eb-border);background:var(--eb-surface-soft)}
.profile-side-menu nav a[aria-current="page"]{border-color:var(--eb-border);background:var(--eb-primary-soft);color:var(--eb-text)}
.profile-side-menu__icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid var(--eb-border);border-radius:var(--eb-radius-control);background:var(--eb-surface-soft);color:var(--eb-text)}
.profile-side-menu__icon svg,.profile-side-menu__logout-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.profile-side-menu__logout{box-sizing:border-box;flex:0 0 48px;min-height:48px;padding-block:0}
.profile-side-menu__logout-icon{display:grid;place-items:center}
