@font-face{font-family:Vazirmatn;src:url('/assets/vazirmatn.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--navy:#092c58;--blue:#0875c9;--blue2:#0b9bea;--border:#dbe8f3;--muted:#68819a;--bg:#f2f8fd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font:15px/1.85 Vazirmatn,Tahoma,sans-serif;color:var(--navy);background:radial-gradient(circle at 0% 0%,#d8efff 0,transparent 38%),linear-gradient(155deg,#f7fbff,#eaf4fc)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.site-shell{min-height:100svh;display:flex;flex-direction:column}.site-header{width:100%;max-width:1200px;margin:auto auto 0;display:flex;align-items:center;gap:15px;padding:18px 22px}.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand img{width:148px;height:auto;object-fit:contain}.brand span{font-size:12px;font-weight:800;border-right:1px solid #b4d3ed;padding-right:12px;white-space:nowrap}.top-nav{display:flex;gap:8px;margin-right:auto}.nav-link{padding:9px 13px;border-radius:11px;color:#325f86;font-size:13px;font-weight:700}.nav-link:hover{background:#e4f2fc}.logout-form{margin:0}.logout-btn{border:1px solid #cddfed;background:#fff;color:#3e6588;border-radius:11px;padding:7px 13px}.main-area{flex:1;width:100%;display:flex;justify-content:center;align-items:center;padding:20px 18px 35px}.panel{width:min(100%,940px);background:#fff;border:1px solid #e0ebf5;border-radius:27px;padding:32px;box-shadow:0 20px 60px #084e8520;position:relative;overflow:hidden}.panel:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#0aa8e9,#0962ac,#033e79)}.is-guest .panel{max-width:440px;padding:35px 27px}.panel-heading{margin-bottom:22px}.eyebrow{display:block;letter-spacing:2px;color:#2495d4;font:700 10px/1.5 Arial,sans-serif;margin-bottom:10px;direction:ltr;text-align:right}h1{font-size:25px;letter-spacing:-.7px;line-height:1.6;margin:0;font-weight:850}h2{font-size:19px;line-height:1.6;margin:0}p{margin:0}.lead{color:#657f97;font-size:13px;line-height:2.2;margin-bottom:25px}.stack-form{display:flex;flex-direction:column;gap:10px}.stack-form label,.add-user-form label{font-size:13px;font-weight:750}.stack-form input,.add-user-form input{width:100%;height:54px;border:1px solid #d6e4f0;border-radius:14px;background:#f9fcff;color:#143d64;padding:0 16px;outline:none;transition:.2s}.stack-form input:focus,.add-user-form input:focus{border-color:#1699e1;box-shadow:0 0 0 4px #1a9be513}.stack-form input::placeholder,.add-user-form input::placeholder{color:#9fb2c2}.input-wrap{position:relative}.input-wrap input{padding-right:42px;direction:ltr;text-align:left}.input-symbol{position:absolute;right:16px;top:13px;color:#278ed0}.primary-btn{width:100%;min-height:53px;display:flex;justify-content:center;align-items:center;gap:14px;border:0;border-radius:14px;color:#fff;background:linear-gradient(110deg,#0878d2,#064b9a);font-weight:800;box-shadow:0 8px 18px #0968b429;transition:transform .15s,box-shadow .15s}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 11px 24px #0968b43c}.stack-form .primary-btn{margin-top:8px}.secure-note{margin-top:26px;text-align:center;color:#376d92;font-size:12px;font-weight:700}.secure-note span{color:#0d9dcf;font-size:18px;margin-left:5px}.access-note{border-top:1px solid #e9f1f8;margin-top:20px;padding-top:16px;text-align:center;color:#91a3b4;font-size:11px}.text-link{display:inline-block;margin-top:20px;font-size:13px;color:#0875c9}.otp-input{text-align:center;direction:ltr;letter-spacing:12px;font-size:24px!important;font-weight:800}.site-footer{color:#7e99ad;font-size:11px;text-align:center;padding:14px 18px 25px}.site-footer span{padding:0 5px}.dashboard-hero{border-radius:20px;padding:27px;background:linear-gradient(120deg,#0754a0,#098bd4);color:#fff;position:relative;overflow:hidden}.dashboard-hero:after{content:"";position:absolute;left:-40px;bottom:-80px;width:240px;height:240px;border:1px solid #ffffff3d;border-radius:50%;box-shadow:0 0 0 35px #ffffff0d,0 0 0 80px #ffffff0b}.welcome-kicker{font-size:12px;color:#c5e7ff}.dashboard-hero h2{margin:8px 0}.dashboard-hero p{font-size:12px;color:#d4eaff;max-width:430px}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:18px}.quick-card{border:1px solid #e0edf7;background:#fbfdff;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:7px}.quick-icon{display:grid;place-items:center;width:42px;height:42px;background:#e2f3ff;border-radius:12px;color:#0875c9;font-size:24px}.quick-card strong{font-size:15px}.quick-card small{font-size:12px;color:#728ba2}.quick-card.clickable:hover{border-color:#7bbde9;background:#f2faff}.dashboard-note{font-size:12px;color:#7b92a6;margin-top:22px}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:10px 0 14px}.section-title p{color:#8098ab;font-size:12px}.add-user-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:18px;background:#f5faff;border:1px solid #e2edf7;border-radius:18px}.add-user-form>div{min-width:0}.add-user-form label{display:block;margin-bottom:7px}.add-user-form .primary-btn{padding:0 22px;white-space:nowrap}.list-title{margin-top:32px}.users-list{display:flex;flex-direction:column;gap:10px}.user-card{display:flex;align-items:center;gap:14px;border:1px solid #e2edf6;border-radius:16px;padding:13px 16px;background:#fff}.user-avatar{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:14px;background:#e4f3fd;color:#0875c9;font-size:20px;font-weight:800}.user-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.user-info strong{font-size:14px}.user-info>span{font-size:12px;color:#718ba1;text-align:right;align-self:flex-start}.user-tags{display:flex;gap:6px;margin-top:5px}.status,.role{border-radius:6px;padding:1px 8px;font-size:10px}.status.on{color:#13865b;background:#e6f8ef}.status.off{color:#bd5960;background:#fff0f0}.role{color:#4e789c;background:#eef5fa}.subtle-btn{border:1px solid #d6e6f1;background:#f9fcff;color:#376e98;border-radius:9px;padding:8px 11px;font-size:11px}.admin-label{font-size:11px;color:#8098ad}.user-actions form{margin:0}
@media(min-width:850px){.is-guest .main-area{padding-top:5px}.is-guest .site-header{max-width:1100px}.is-guest .brand img{width:180px}}
@media(max-width:680px){.site-header{padding:16px 18px;flex-wrap:wrap;gap:10px}.brand img{width:125px}.brand span{font-size:11px}.top-nav{order:3;width:100%;margin:0;overflow:auto;border-top:1px solid #dceaf4;padding-top:8px}.nav-link{font-size:12px;padding:6px 10px}.logout-form{margin-right:auto}.main-area{padding:12px 14px 26px;align-items:flex-start}.is-guest .main-area{align-items:center}.panel,.is-guest .panel{border-radius:22px;padding:26px 20px}.is-guest .panel{margin-top:22px}h1{font-size:23px}.quick-grid{grid-template-columns:1fr 1fr;gap:10px}.quick-card{padding:15px}.dashboard-hero{padding:22px}.add-user-form{grid-template-columns:1fr;gap:12px;padding:15px}.section-title{flex-direction:column;gap:0}.user-card{gap:10px;padding:12px}.user-avatar{width:40px;height:40px}.user-actions{max-width:95px}.subtle-btn{padding:7px;font-size:10px}.site-footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}}
@media(max-width:370px){.brand img{width:110px}.brand span{font-size:10px}.quick-grid{grid-template-columns:1fr}.user-card{flex-wrap:wrap}.user-actions{margin-right:50px;max-width:none}}

/* v2: mobile-first refinements; preserves application behavior */
html{min-height:100%;}body{background:radial-gradient(ellipse at 12% 12%,#cdeeff 0%,transparent 38%),radial-gradient(ellipse at 92% 95%,#d9f3ff 0%,transparent 35%),#f4f9fd;}
.site-shell{max-width:100%;}.site-header{max-width:1100px;margin:0 auto;padding:22px 28px;justify-content:space-between}.brand{gap:14px}.brand img{width:150px;max-height:70px;object-fit:contain}.brand span{font-size:13px}.is-guest .site-header{justify-content:center;padding-top:48px}.is-guest .brand{flex-direction:column;gap:5px}.is-guest .brand img{width:min(70vw,250px);max-height:none}.is-guest .brand span{border:0;padding:0;font-size:15px;color:#47718f}.is-guest .main-area{padding:20px 18px 38px;align-items:center}.is-guest .panel{max-width:430px;padding:34px 30px}.is-guest .panel-heading{text-align:center}.is-guest .eyebrow{text-align:center}.is-guest .lead{text-align:center}.panel{box-shadow:0 18px 55px rgba(14,73,124,.11)}.input-wrap input{padding-right:75px;text-align:left}.input-symbol{right:13px;top:50%;transform:translateY(-50%);font-family:Arial,sans-serif;font-size:13px;font-weight:700;color:#1764a2;background:#e9f5fe;padding:2px 8px;border-radius:7px;direction:ltr}.stack-form input{font-variant-numeric:tabular-nums}.primary-btn{min-height:55px}.primary-btn:focus-visible,.nav-link:focus-visible,.logout-btn:focus-visible{outline:3px solid #69b9f4;outline-offset:3px}.site-footer{margin-top:auto}.is-auth .main-area{align-items:flex-start;padding-top:32px}.is-auth .panel{max-width:940px}.is-auth .site-header{margin-bottom:0}
@media(min-width:800px){.is-guest .site-shell{justify-content:center}.is-guest .site-header{padding-top:38px}.is-guest .main-area{flex:0 0 auto;padding-top:18px}.is-guest .site-footer{margin-top:12px}.is-guest .panel{padding:35px 32px}}
@media(max-width:680px){.site-header{padding:15px 17px}.is-guest .site-header{padding:30px 16px 8px}.is-guest .brand img{width:min(68vw,225px)}.is-guest .brand span{font-size:13px}.is-guest .main-area{padding:12px 16px 20px;align-items:flex-start}.is-guest .panel{margin-top:6px;padding:27px 21px;border-radius:23px}.is-guest .panel-heading{margin-bottom:18px}.is-guest h1{font-size:24px}.is-guest .lead{font-size:13px;margin-bottom:20px}.is-auth .main-area{padding:16px 12px 100px}.is-auth .panel{padding:21px 16px}.is-auth .site-header{padding:15px}.is-auth .brand img{width:120px}.is-auth .brand span{font-size:11px}.is-auth .top-nav{position:fixed;z-index:20;bottom:0;right:0;left:0;width:100%;display:flex;justify-content:center;gap:12px;padding:11px 12px max(11px,env(safe-area-inset-bottom));background:rgba(255,255,255,.97);box-shadow:0 -6px 28px #174b751c;border-top:1px solid #dceaf4;margin:0}.is-auth .nav-link{flex:1;max-width:190px;text-align:center;background:#f1f7fc;border-radius:12px;padding:9px 12px}.is-auth .site-footer{padding-bottom:88px}.user-card{align-items:flex-start}.user-actions{align-self:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* ESM v3: login without country prefix or redundant headings */
.is-guest .input-wrap input{padding-right:16px}
.is-guest .panel-heading{margin-bottom:22px}

/* Phase 1 form enhancements */
.stack-form select{width:100%;min-height:50px;border:1px solid #d8e4f0;border-radius:12px;padding:10px 14px;background:#fff;color:#15365c;font:inherit;direction:rtl}
.user-info small{display:block;margin-top:5px;color:#64748b}
@media(max-width:680px){.top-nav{overflow-x:auto;max-width:100%;scrollbar-width:none}.top-nav .nav-link{white-space:nowrap}}

/* Phase 1: accessible, consistent RTL controls */
.is-auth .stack-form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;max-width:680px}
.is-auth .stack-form label{display:block;font-size:14px;font-weight:700;color:#173a60;margin-top:9px}
.is-auth .stack-form input,.is-auth .stack-form select,.is-auth .stack-form textarea{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;min-height:48px;padding:12px 14px;border:1px solid #c9d9e8;border-radius:12px;background:#fff;color:#173a60;font:inherit;font-size:15px;line-height:1.6;direction:rtl;box-shadow:none;appearance:auto}
.is-auth .stack-form textarea{min-height:96px;resize:vertical}
.is-auth .stack-form select{padding-inline-end:32px;cursor:pointer}
.is-auth .stack-form input:focus,.is-auth .stack-form select:focus,.is-auth .stack-form textarea:focus{outline:2px solid #62b4ee;outline-offset:1px;border-color:#1977b9}
.is-auth .stack-form .primary-btn{margin-top:10px;width:100%;max-width:340px}
.warranty-duration{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,155px);gap:12px;align-items:stretch}
.warranty-duration input{direction:ltr!important;text-align:center}
.warranty-duration select{height:100%}
.user-info .subtle-btn{display:inline-flex;margin:8px 0 0;text-decoration:none}
@media(max-width:480px){.warranty-duration{grid-template-columns:minmax(0,1fr) 105px;gap:8px}.is-auth .stack-form .primary-btn{max-width:none}}

/* Mobile dashboard / forms usability, no horizontal page overflow */
html,body{max-width:100%;overflow-x:hidden}
.profile-success,.profile-hint{padding:12px 16px;border-radius:12px;margin:0 0 18px;background:#eff8ff;color:#185a8a;font-size:13px}
.profile-success{background:#e9f8f0;color:#176c43}
.profile-form small{color:#70859b;font-size:12px}
@media(max-width:680px){
.is-auth .site-shell{padding-bottom:0}
.is-auth .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px 8px}
.is-auth .brand{grid-column:1;min-width:0}
.is-auth .brand img{width:115px;max-height:52px}
.is-auth .logout-form{grid-column:2;justify-self:end;margin:0}
.is-auth .logout-btn{padding:7px 12px;min-height:38px}
.is-auth .top-nav{display:flex;justify-content:flex-start;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;bottom:0;z-index:40;padding:9px 12px max(9px,env(safe-area-inset-bottom))}
.is-auth .top-nav::-webkit-scrollbar{display:none}
.is-auth .top-nav .nav-link{flex:0 0 auto;max-width:none;white-space:nowrap;min-height:42px;display:flex;align-items:center;justify-content:center;padding:8px 13px;scroll-snap-align:start;font-size:12px}
.is-auth .main-area{padding:10px 10px 105px;min-width:0}
.is-auth .panel{width:100%;max-width:100%;min-width:0;border-radius:19px;padding:19px 14px 24px}
.is-auth .panel-heading{margin-bottom:17px}
.is-auth h1{font-size:21px}
.is-auth .dashboard-hero{padding:19px;border-radius:15px}
.is-auth .quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.is-auth .quick-card{min-width:0;padding:14px 11px;border-radius:14px}
.is-auth .quick-card strong{font-size:13px;overflow-wrap:anywhere}
.is-auth .quick-card small{font-size:11px;overflow-wrap:anywhere}
.is-auth .section-title{margin-top:18px}
.is-auth .user-card{display:flex;flex-wrap:wrap;gap:10px}
.is-auth .user-info{min-width:0;flex:1 1 160px;overflow-wrap:anywhere}
.is-auth .user-actions{flex:0 0 auto;margin:0}
.is-auth .stack-form input,.is-auth .stack-form select,.is-auth .stack-form textarea{font-size:16px}
.is-auth .stack-form .primary-btn{min-height:48px}
.is-auth .site-footer{padding-bottom:96px}
}
@media(max-width:390px){.is-auth .quick-grid{grid-template-columns:1fr}.is-auth .panel{padding:16px 12px}}

/* ESM universal select controls: works in stack, inventory, and admin forms */
.is-auth .panel select,
.is-auth .panel form select,
.is-auth .panel .stack-form select,
.is-auth .panel .add-user-form select{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding:10px 15px 10px 42px!important;
  border:1px solid #c7dced!important;
  border-radius:13px!important;
  background-color:#f8fbff!important;
  color:#153b61!important;
  font-family:Vazirmatn,Tahoma,sans-serif!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.6!important;
  text-align:right!important;
  direction:rtl!important;
  box-shadow:0 2px 5px rgba(13,66,112,.035)!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23145f99' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:left 14px center!important;
  background-size:18px!important;
  cursor:pointer;
}
.is-auth .panel select:focus-visible{outline:3px solid rgba(10,139,212,.2)!important;outline-offset:1px!important;border-color:#1388c8!important}
.is-auth .panel select:disabled{opacity:.65;cursor:not-allowed}
.is-auth .panel form label{display:block;margin:8px 0 6px;color:#183f65;font-weight:700}
.is-auth .panel form{min-width:0}
@media(max-width:680px){.is-auth .panel select,.is-auth .panel form select{font-size:16px!important;height:50px!important;min-height:50px!important}}

/* Compact accessible confirmation checkbox for inventory CSV imports */
.is-auth .panel .stack-form label:has(> input[type="checkbox"]){
 display:flex!important;align-items:center;justify-content:flex-start;gap:12px;
 width:100%;box-sizing:border-box;padding:14px 16px;margin:12px 0 4px;
 border:1px solid #c9ddeb;border-radius:13px;background:#f5faff;
 color:#173e61;cursor:pointer;line-height:1.8;
}
.is-auth .panel .stack-form input[type="checkbox"]{
 display:inline-block!important;flex:0 0 20px!important;
 width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;
 min-height:20px!important;max-height:20px!important;
 padding:0!important;margin:0!important;border:1.5px solid #7da8c8!important;
 border-radius:5px!important;box-shadow:none!important;
 appearance:auto!important;-webkit-appearance:checkbox!important;
 accent-color:#147ac3;vertical-align:middle;cursor:pointer;
}
.is-auth .panel .stack-form input[type="checkbox"]:focus-visible{outline:3px solid #9fd3f2;outline-offset:3px}

/* Admin acting on behalf of a dealership: prominent, persistent context */
.esm-acting-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#fff5df;border:1px solid #edc575;border-radius:13px;padding:13px 16px;margin-bottom:20px;color:#714b12}
.esm-acting-banner form{margin:0}.esm-acting-banner button{background:#fff;border:1px solid #d5a550;color:#714b12;cursor:pointer}
@media(max-width:680px){.esm-acting-banner{align-items:stretch;flex-direction:column}.esm-acting-banner button{width:100%}}

/* Dealership management: list-first layout and collapsible create form */
.esm-dealers-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}.esm-add-dealer-btn{width:auto!important;min-width:175px}.esm-dealer-create[hidden]{display:none!important}.esm-dealer-create{padding:22px;border:1px solid #cbdff0;border-radius:16px;background:#f8fbff;margin:14px 0 24px}.esm-dealer-card{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.esm-dealer-card .user-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.esm-dealer-card .user-actions form{margin:0}.esm-dealer-card .user-actions button{white-space:nowrap}@media(max-width:680px){.esm-add-dealer-btn{width:100%!important}.esm-dealer-card .user-actions{width:100%}}

/* Persian warranty calendar */
.esm-jalali-wrap{position:relative;width:100%}.esm-jalali-trigger{display:block;width:100%;min-height:50px;text-align:right;padding:12px 15px;background:#f7fbff;border:1px solid #bfd8ee;border-radius:12px;color:#123f68;font:inherit;cursor:pointer}.esm-jalali-panel[hidden]{display:none!important}.esm-jalali-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:60;background:white;border:1px solid #c7deee;border-radius:15px;padding:14px;box-shadow:0 16px 38px #16486a24;width:min(330px,90vw);direction:rtl}.esm-jalali-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.esm-jalali-head button{border:0;background:#edf6ff;color:#075ca8;border-radius:8px;padding:7px 12px;cursor:pointer}.esm-jalali-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.esm-jalali-grid span{font-size:12px;padding:8px 0;color:#71899c}.esm-jalali-grid button{border:0;border-radius:8px;background:transparent;min-height:35px;color:#173c5d;font:inherit;cursor:pointer}.esm-jalali-grid button:hover{background:#e9f5ff}.esm-jalali-grid button.selected{background:#0875c9;color:white}.esm-jalali-grid button:disabled{opacity:.28;cursor:not-allowed}
