:root{
    --bg:#08111f;
    --bg-soft:#0f172a;
    --panel:#ffffff;
    --panel-dark:#0f172a;
    --text:#0f172a;
    --text-soft:#475569;
    --primary:#0f766e;
    --primary-strong:#115e59;
    --secondary:#ea580c;
    --danger:#dc2626;
    --border:#e2e8f0;
    --border-dark:#1f2937;
    --success:#16a34a;
    --warning:#f59e0b;
    --shadow:0 20px 45px rgba(15, 23, 42, 0.08);
    --radius:22px;
    --radius-sm:14px;
    --container:1200px;
    --font:"Tahoma","Vazirmatn","Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:var(--font);scroll-behavior:smooth}
body{color:var(--text);background:#f8fafc;line-height:1.75}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(var(--container), calc(100% - 2rem));margin-inline:auto}
.site-bg{
    background:
      radial-gradient(circle at top right, rgba(15,118,110,.15), transparent 40%),
      radial-gradient(circle at bottom left, rgba(234,88,12,.12), transparent 30%),
      #f8fafc;
}
.dashboard-bg{background:#eef2ff}
.admin-bg{background:#020617;color:#e2e8f0}
.page-shell{padding:2rem 0 4rem}
.public-header{
    position:sticky;top:0;z-index:50;
    background:rgba(248,250,252,.85);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(226,232,240,.75);
}
.nav-shell{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0}
.brand{display:flex;align-items:center;gap:.85rem}
.brand small{display:block;color:var(--text-soft);font-size:.83rem}
.brand-mark{
    width:56px;
    height:56px;
    border-radius:18px;
    overflow:hidden;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:var(--shadow);
    flex-shrink:0;
}

.brand-mark img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    border-radius:inherit;
}

.admin-brand .brand-mark{
    background:transparent;
}
.nav-links{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.nav-links a{padding:.65rem .85rem;border-radius:999px;color:var(--text-soft)}
.nav-links a:hover{background:white;color:var(--text)}
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    border:none;border-radius:999px;padding:.9rem 1.25rem;font-weight:700;
    transition:.2s ease;box-shadow:none
}
.btn:hover{transform:translateY(-1px)}
.btn-small{padding:.55rem .95rem;font-size:.9rem}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 12px 24px rgba(15,118,110,.2)}
.btn-secondary{background:#fff;border:1px solid var(--border);color:var(--text)}
.btn-danger{background:#fee2e2;color:var(--danger);border:1px solid #fecaca}
.hero-grid{
    display:grid;grid-template-columns:1.45fr .95fr;gap:1.5rem;align-items:stretch
}
.hero-card,.panel,.auth-card,.request-card,.offer-card,.provider-card,.stat-card{
    background:var(--panel);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius);box-shadow:var(--shadow)
}
.hero-card{padding:2rem;background:linear-gradient(135deg,#ffffff,#f0fdfa)}
.hero-card h1{font-size:clamp(2rem,3.2vw,3.35rem);line-height:1.25;margin:.5rem 0 1rem}
.hero-card p{font-size:1.02rem;color:var(--text-soft);max-width:62ch}
.eyebrow{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .75rem;border-radius:999px;background:rgba(15,118,110,.08);color:var(--primary);font-size:.88rem;font-weight:700}
.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1.35rem}
.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.hero-metrics div{padding:1rem;border-radius:18px;background:#fff;border:1px solid var(--border)}
.hero-metrics strong{display:block;font-size:1.35rem}
.hero-metrics span{color:var(--text-soft);font-size:.92rem}
.hero-side{padding:1.5rem}
.feature-stack{display:grid;gap:1rem}
.feature-item{padding:1rem;border:1px solid var(--border);border-radius:18px;background:#fff}
.feature-item strong{display:block;margin-bottom:.3rem}
.section-block{margin-top:2rem}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.section-head h1,.section-head h2,.section-head h3{margin:.35rem 0 0;line-height:1.3}
.steps-grid,.cards-grid,.stat-grid{display:grid;gap:1rem}
.steps-grid{grid-template-columns:repeat(4,1fr)}
.step-card{padding:1.25rem;background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}
.step-card span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#dcfce7;color:var(--success);font-weight:800;margin-bottom:.85rem}
.cards-grid{grid-template-columns:repeat(3,1fr)}
.cards-grid.two-col{grid-template-columns:repeat(2,1fr)}
.provider-card,.request-card,.offer-card{padding:1.2rem}
.provider-card-head,.request-top{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:.9rem}
.provider-card-head h3,.request-top h3{margin:0}
.provider-card-head p,.request-top p{margin:.25rem 0 0;color:var(--text-soft)}
.provider-meta,.card-meta,.pricing-row,.actions-wrap,.filter-row,.checkbox-row,.hero-metrics,.inline-form,.file-links,.location-head,.action-end{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.provider-meta span,.card-meta span,.tiny,.hint{color:var(--text-soft);font-size:.92rem}
.pricing-row{justify-content:space-between;align-items:center;margin:1rem 0}
.pricing-row strong{font-size:1.35rem;color:var(--secondary)}
.pill-group{display:flex;gap:.5rem;flex-wrap:wrap}
.pill,.badge,.chip{
    display:inline-flex;align-items:center;justify-content:center;
    padding:.4rem .75rem;border-radius:999px;font-size:.85rem;font-weight:700
}
.pill{background:#f1f5f9;color:#334155;border:1px solid var(--border)}
.badge{background:#ecfeff;color:#155e75;border:1px solid #a5f3fc}
.chip{background:#fff;border:1px solid var(--border);color:var(--text-soft)}
.chip.active{background:rgba(15,118,110,.08);color:var(--primary);border-color:rgba(15,118,110,.18)}
.cta-strip{
    background:linear-gradient(135deg,#0f172a,#134e4a);
    color:#fff;padding:1.5rem 1.6rem;border-radius:var(--radius);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap
}
.site-footer{background:#0f172a;color:#cbd5e1;padding:2.25rem 0;margin-top:4rem}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:1rem}
.footer-grid h3,.footer-grid h4{margin:0 0 .75rem}
.plain-list{list-style:none;margin:0;padding:0}
.plain-list li{margin:.35rem 0}
.muted{color:var(--text-soft)}
.auth-login-register-link{color:#2563eb;font-weight:900}
.auth-login-register-link:hover{color:#1d4ed8}
.notice-box{
    padding:1rem 1.1rem;border-radius:18px;border:1px dashed #99f6e4;background:#f0fdfa;color:#134e4a
}
.stack{display:grid}
.gap-4{gap:.25rem}
.gap-12{gap:.75rem}
.gap-16{gap:1rem}
.align-end{text-align:left}
.align-top{align-items:start}
.wrap{flex-wrap:wrap}
.grow{flex:1 1 260px}
.auth-shell,.admin-login-wrap{display:grid;place-items:center;padding:3rem 0}
.auth-card{width:min(520px,100%);padding:1.6rem}
.auth-card.wide{width:min(920px,100%)}
.tab-switch{display:inline-flex;gap:.5rem;background:#f8fafc;border:1px solid var(--border);padding:.45rem;border-radius:999px;margin-bottom:1.2rem}
.tab{padding:.55rem .95rem;border-radius:999px;color:var(--text-soft)}
.tab.active{background:#fff;color:var(--text);box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.form-grid.compact{grid-template-columns:repeat(2,1fr)}
.col-span-2{grid-column:1/-1}
label{display:grid;gap:.4rem}
label span{font-size:.92rem;color:#334155;font-weight:700}
input,select,textarea{
    width:100%;border:1px solid var(--border);border-radius:16px;
    padding:.9rem 1rem;background:#fff;outline:none;transition:border-color .2s, box-shadow .2s
}
input:focus,select:focus,textarea:focus{border-color:rgba(15,118,110,.45);box-shadow:0 0 0 4px rgba(15,118,110,.12)}
textarea{resize:vertical;min-height:120px}
.checkbox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.mini-check{
    display:flex;align-items:center;gap:.55rem;padding:.7rem .8rem;
    border:1px solid var(--border);border-radius:14px;background:#fff
}
.mini-check input{width:auto;padding:0}
.location-card{
    padding:1rem;border:1px dashed rgba(15,118,110,.3);border-radius:18px;background:#f8fffe
}
.map-board{
    width:100%;
    height:420px;
    min-height:420px;
    border-radius:18px;
    border:1px solid var(--border);
    background:
      linear-gradient(135deg, rgba(15,118,110,.18), rgba(234,88,12,.1)),
      repeating-linear-gradient(90deg, rgba(255,255,255,.6) 0 1px, transparent 1px 24px),
      repeating-linear-gradient(0deg, rgba(255,255,255,.6) 0 1px, transparent 1px 24px),
      #e2e8f0;
    position:relative;
    overflow:hidden;
    cursor:crosshair;
    margin-top:.75rem;
}
.map-board::after{
    content:"برای ثبت تقریبی مختصات، روی این ناحیه کلیک کنید";
    position:absolute;inset:auto 12px 12px auto;background:rgba(15,23,42,.7);color:#fff;
    padding:.35rem .55rem;border-radius:999px;font-size:.78rem;z-index:2
}
.map-board.is-sdk-map{
    background:#e5e7eb;
    cursor:default;
}
.map-board.is-sdk-map::after{
    content:"برای انتخاب لوکیشن، روی نقشه کلیک کنید یا مارکر را جابه‌جا کنید"
}
.map-board.is-sdk-map,
.map-board.is-sdk-map #mapp-app,
.map-board.is-sdk-map .leaflet-container,
.map-board.is-sdk-map > div,
.map-board.is-sdk-map .mapp-container,
.map-board.is-sdk-map .leaflet-pane,
.map-board.is-sdk-map .leaflet-map-pane{
    height:100% !important;
}
.map-board .leaflet-container{
    width:100% !important;
    height:100% !important;
    border-radius:18px;
}
.location-card .hint{margin-top:.65rem}
.map-pin{
    position:absolute;width:18px;height:18px;border-radius:999px;background:var(--secondary);
    box-shadow:0 0 0 6px rgba(234,88,12,.18);transform:translate(-50%,-50%)
}
.map-fallback-note{
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    color:#374151;
    font-size:15px;
    padding:20px;
    text-align:center;
}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.gallery-grid a{display:block;overflow:hidden;border-radius:16px;border:1px solid var(--border);background:#fff}
.gallery-grid img{width:100%;height:130px;object-fit:cover}
.list-stack{display:grid;gap:.75rem}
.list-item{
    display:flex;justify-content:space-between;align-items:center;gap:1rem;
    padding:1rem;border-radius:18px;background:#fff;border:1px solid var(--border)
}
.list-item.align-top{align-items:flex-start}
.table-wrap{overflow:auto;border-radius:var(--radius)}
.table{width:100%;border-collapse:collapse;min-width:760px;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.table th,.table td{padding:1rem;border-bottom:1px solid var(--border);text-align:right;vertical-align:top}
.table thead th{background:#f8fafc;color:#475569;font-size:.9rem}
.table tbody tr:hover{background:#fbfdff}
.timeline{display:grid;gap:.85rem}
.timeline-item{
    padding:1rem 1.1rem;border:1px solid var(--border);border-radius:18px;background:#fff;position:relative
}
.timeline-item::before{
    content:"";position:absolute;right:-9px;top:1.2rem;width:18px;height:18px;border-radius:999px;background:var(--primary)
}
.flash{
    margin-bottom:1rem;padding:1rem 1.2rem;border-radius:18px;border:1px solid transparent
}
.flash-success{background:#ecfdf5;border-color:#a7f3d0;color:#166534}
.flash-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.flash-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.flash-info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.dashboard-shell{display:grid;grid-template-columns:300px 1fr;min-height:100vh}
.sidebar{
    padding:1.4rem;background:#0f172a;color:#cbd5e1;position:sticky;top:0;height:100vh;border-left:1px solid rgba(255,255,255,.08)
}
.brand-side{color:#fff;margin-bottom:1.6rem}
.sidebar-nav{display:grid;gap:.35rem}
.sidebar-nav a{
    color:#cbd5e1;padding:.9rem 1rem;border-radius:16px;transition:.2s;background:transparent
}
.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(255,255,255,.08);color:#fff}
.sidebar-note{
    margin-top:1.2rem;padding:1rem;border-radius:18px;background:rgba(255,255,255,.06);font-size:.94rem
}
.dashboard-main{padding:1.5rem 1.2rem 2rem}
.dashboard-header{
    display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.2rem;flex-wrap:wrap
}
.stat-grid{grid-template-columns:repeat(4,1fr)}
.stat-card{padding:1.2rem}
.stat-card span{display:block;color:var(--text-soft);margin-bottom:.4rem}
.stat-card strong{font-size:1.55rem}
.stat-grid.compact{grid-template-columns:repeat(2,1fr)}
.rating-strip{text-align:center;padding:1.2rem;border:1px dashed var(--border);border-radius:18px;background:#f8fafc}
.stars,.stars-large{color:#f59e0b;letter-spacing:1px}
.stars-large{font-size:1.35rem}
.chat-box{
    display:grid;gap:.7rem;max-height:420px;overflow:auto;padding:.35rem;border-radius:18px;background:#f8fafc;border:1px solid var(--border)
}
.chat-message{display:flex}
.chat-message.mine{justify-content:flex-start}
.chat-bubble{
    max-width:min(100%, 520px);padding:.8rem 1rem;border-radius:18px;background:#fff;border:1px solid var(--border)
}
.chat-message.mine .chat-bubble{background:#ecfeff;border-color:#bae6fd}
.chat-bubble img{margin-top:.65rem;border-radius:14px;max-height:200px;object-fit:cover}
.ticket-reply{
    padding:.85rem 1rem;border-radius:16px;background:#fff;border:1px solid var(--border);margin:.5rem 0
}
.ticket-reply.admin{background:#eff6ff;border-color:#bfdbfe}
.ticket-reply.user{background:#f8fafc}
.divider{
    position:relative;display:flex;align-items:center;justify-content:center;margin:1.25rem 0
}
.divider::before{
    content:"";position:absolute;inset:50% 0 auto 0;height:1px;background:var(--border)
}
.divider span{
    position:relative;background:var(--panel);padding:0 .75rem;color:var(--text-soft)
}
.actions-inline,.file-links{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.file-links a{font-size:.9rem;color:var(--primary);background:#ecfeff;padding:.45rem .7rem;border-radius:999px}
.request-card,.offer-card{display:grid;gap:.85rem}
.info-list li{padding:.35rem 0;border-bottom:1px dashed #e2e8f0}
.info-list li:last-child{border-bottom:none}
.admin-shell{display:grid;grid-template-columns:290px 1fr;min-height:100vh}
.admin-sidebar{
    background:#020617;border-left:1px solid rgba(255,255,255,.06);padding:1.4rem;position:sticky;top:0;height:100vh
}
.admin-main{padding:1.35rem}
.admin-brand .brand-mark{background:linear-gradient(135deg,#1d4ed8,#7c3aed)}
.admin-nav a{color:#94a3b8}
.admin-nav a:hover,.admin-nav a.active{background:rgba(59,130,246,.12);color:#fff}
.dark-panel{background:#0b1220;border-color:#162033;color:#e5e7eb}
.dark-panel .muted,.dark-panel .tiny,.dark-panel p,.dark-panel label span{color:#94a3b8}
.dark-panel input,.dark-panel select,.dark-panel textarea{
    background:#0f172a;border-color:#263041;color:#fff
}
.dark-panel .list-item,.dark-panel .ticket-reply,.dark-panel .chat-bubble,.dark-panel .feature-item{
    background:#0f172a;border-color:#1f2937;color:#e5e7eb
}
.table-dark{background:#0b1220;color:#e5e7eb}
.table-dark thead th{background:#0f172a;color:#94a3b8}
.table-dark th,.table-dark td{border-bottom-color:#1f2937}
.admin-head{margin-bottom:1.5rem}
.admin-login-wrap{min-height:100vh}
.subdued{background:#f8fafc}
.inline-form{display:flex;gap:.75rem;align-items:end}
.action-end{display:flex;justify-content:flex-end}
.badge:empty{display:none}
code{padding:.2rem .45rem;background:#f1f5f9;border-radius:8px}
@media (max-width: 1100px){
    .hero-grid,.cards-grid,.cards-grid.two-col,.steps-grid,.footer-grid,.stat-grid,.dashboard-shell,.admin-shell{grid-template-columns:1fr}
    .sidebar,.admin-sidebar{position:static;height:auto}
    .dashboard-main,.admin-main{padding-top:0}
    .checkbox-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 760px){
    .nav-shell,.section-head,.dashboard-header,.hero-actions,.footer-grid{align-items:flex-start}
    .hero-card{padding:1.4rem}
    .hero-metrics,.form-grid,.form-grid.compact,.checkbox-grid,.gallery-grid,.stat-grid.compact{grid-template-columns:1fr}
    .cards-grid,.cards-grid.two-col,.steps-grid,.stat-grid{grid-template-columns:1fr}
    .auth-card.wide{padding:1.2rem}
    .page-shell{padding-top:1rem}
    .container{width:min(var(--container), calc(100% - 1rem))}
    .table{min-width:640px}
    .map-board{
        height:320px;
        min-height:320px;
    }
}

.location-preview{
    margin-top:.75rem;
    padding:1rem 1.1rem;
    border:1px solid var(--border);
    border-radius:18px;
    background:#fff;
    display:grid;
    gap:.3rem;
}
.location-preview strong{font-size:1rem}
.location-preview span{color:var(--text-soft);font-size:.92rem}
.location-actions-row{
    display:flex;
    gap:.65rem;
    flex-wrap:wrap;
    align-items:center;
    margin-top:.85rem;
}
.location-copy-input{
    flex:1 1 280px;
    min-width:220px;
}
@media (max-width: 760px){
    .location-actions-row{align-items:stretch}
    .location-copy-input{min-width:100%}
}
.public-header .nav-links a.btn-primary {
    color: #fff !important;
    background: linear-gradient(135deg, var(--secondary), #c2410c);
    box-shadow: 0 12px 24px rgba(234, 88, 12, .25);
}

.public-header .nav-links a.btn-primary:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #f97316, var(--secondary));
}
/* Multi-image uploader on the service-request form */
.image-upload-field{display:grid;gap:.4rem}
.field-label{font-size:.92rem;color:#334155;font-weight:700}
.image-uploader-box{
    position:relative;
    padding:1rem;
    border:1px dashed rgba(15,118,110,.38);
    border-radius:18px;
    background:#f8fffe;
}
.image-file-picker{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.image-uploader-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.image-selection-count{font-size:.9rem;color:var(--text-soft)}
.image-preview-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(144px,1fr));
    gap:.75rem;
    margin-top:1rem;
}
.image-preview-card{
    position:relative;
    min-width:0;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
}
.image-preview-card img{
    width:100%;
    height:112px;
    object-fit:cover;
    background:#f1f5f9;
}
.image-preview-name{
    display:block;
    overflow:hidden;
    padding:.55rem .65rem;
    color:#334155;
    font-size:.79rem;
    line-height:1.45;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.image-remove-button{
    position:absolute;
    top:.45rem;
    left:.45rem;
    display:grid;
    width:28px;
    height:28px;
    place-items:center;
    padding:0;
    border:1px solid rgba(255,255,255,.85);
    border-radius:999px;
    background:rgba(127,29,29,.92);
    color:#fff;
    font-size:1.12rem;
    line-height:1;
    box-shadow:0 4px 12px rgba(15,23,42,.18);
}
.image-remove-button:hover{background:#991b1b;transform:translateY(-1px)}
.image-uploader-box small{display:block;margin-top:.75rem;color:var(--text-soft)}

/* Provider settlement panel */
.payout-bank-info{display:grid;gap:.35rem;min-width:205px;font-size:.9rem;line-height:1.7}
.payout-order-details{min-width:230px}
.payout-order-details summary{cursor:pointer;color:#7dd3fc;font-weight:700}
.payout-order-details ul{display:grid;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none}
.payout-order-details li{display:grid;gap:.18rem;padding:.55rem .65rem;border:1px solid #263041;border-radius:10px;background:#0f172a}
.payout-order-details li a{color:#7dd3fc}
.payout-settlement-form{display:grid;gap:.45rem;min-width:175px}
.payout-settlement-form input{width:100%;min-width:145px;padding:.5rem .65rem;border-radius:10px}
.payout-help-box{display:flex;gap:.5rem;align-items:flex-start;line-height:1.9}
.provider-payout-table td{min-width:125px}

/* --------------------------------------------------------------------------
   Modern public storefront + mobile-first navigation (homepage / public pages)
   -------------------------------------------------------------------------- */
:root{
    --store-ink:#10232c;
    --store-muted:#5c7078;
    --store-surface:#ffffff;
    --store-line:#e2ecea;
    --store-mint:#e8f6f2;
    --store-teal:#0f766e;
    --store-teal-deep:#0b5954;
    --store-orange:#f97316;
    --store-shadow:0 18px 54px rgba(31,56,65,.10);
}

.site-bg.storefront-body{
    background:
        radial-gradient(circle at 90% 2%, rgba(48, 174, 151, .10), transparent 31rem),
        radial-gradient(circle at 8% 30%, rgba(249, 115, 22, .075), transparent 28rem),
        #f8fbfa;
}
.public-header{
    background:rgba(255,255,255,.91);
    border-bottom:1px solid rgba(226,236,234,.92);
    box-shadow:0 2px 16px rgba(16,35,44,.025);
}
.nav-shell{min-height:78px;padding:.7rem 0}
.brand-public{min-width:0}
.brand-public .brand-mark{width:48px;height:48px;border-radius:15px;box-shadow:none}
.brand-public .brand-copy{min-width:0}
.brand-public .brand-copy strong{display:block;font-size:.98rem;color:var(--store-ink);line-height:1.35}
.brand-public .brand-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;color:#698088;font-size:.73rem;line-height:1.5}
.nav-links-public{gap:.18rem;flex-wrap:nowrap}
.nav-links-public .nav-link{font-size:.9rem;color:#42616a;padding:.58rem .72rem;white-space:nowrap}
.nav-links-public .nav-link:hover{color:var(--store-teal);background:#edf8f5}
.nav-links-public .nav-account-link{margin-right:.2rem}
.nav-links-public .nav-cta{padding:.66rem 1.04rem;background:linear-gradient(135deg,#0f766e,#0b5954)!important;box-shadow:0 10px 20px rgba(15,118,110,.16)}
.mobile-nav-toggle{display:none;border:1px solid var(--store-line);background:#fff;color:var(--store-ink);border-radius:13px;min-height:42px;padding:.48rem .68rem;align-items:center;gap:.45rem;font-weight:700;font-size:.86rem}
.mobile-nav-icon{width:18px;display:grid;gap:4px}
.mobile-nav-icon i{display:block;height:2px;border-radius:4px;background:currentColor;width:100%}
.page-shell.home-page-shell{padding-top:1.4rem}

.storefront-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:clamp(1.5rem,4vw,4.5rem);align-items:center;padding:clamp(1rem,2.5vw,2.5rem) 0 clamp(2.2rem,5vw,4.6rem)}
.storefront-hero-copy{padding-inline:clamp(0rem,1vw,.75rem)}
.storefront-kicker{display:inline-flex;align-items:center;gap:.55rem;padding:.42rem .76rem;border:1px solid #d2ece5;border-radius:999px;background:rgba(255,255,255,.78);color:var(--store-teal);font-size:.81rem;font-weight:800;letter-spacing:-.01em}
.kicker-dot{display:block;width:8px;height:8px;border-radius:50%;background:#24b68d;box-shadow:0 0 0 4px rgba(36,182,141,.13)}
.storefront-hero h1{max-width:13ch;margin:1rem 0 .85rem;color:var(--store-ink);font-size:clamp(2.5rem,4.6vw,4.55rem);line-height:1.22;letter-spacing:-.055em}
.storefront-hero h1 span{color:var(--store-teal)}
.storefront-lead{max-width:56ch;margin:0;color:var(--store-muted);font-size:clamp(1rem,1.35vw,1.15rem);line-height:2.05}
.storefront-actions{display:flex;gap:.72rem;flex-wrap:wrap;margin-top:1.6rem}
.storefront-actions .btn{min-height:51px;padding:.88rem 1.2rem}
.storefront-primary-cta{padding-inline:1.32rem!important}
.cta-arrow{font-size:1.24rem;line-height:1;transition:transform .2s ease}
.storefront-primary-cta:hover .cta-arrow{transform:translateX(-4px)}
.storefront-secondary-cta{background:rgba(255,255,255,.82);border-color:#d6e5e2;color:var(--store-ink)}
.storefront-trust-list{display:flex;align-items:center;gap:.4rem 1.1rem;flex-wrap:wrap;margin:1.45rem 0 0;padding:0;list-style:none;color:#49646d;font-size:.83rem}
.storefront-trust-list li{display:flex;align-items:center;gap:.35rem}
.trust-check{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#dff8eb;color:#16804d;font-size:.72rem;font-weight:900}

.hero-showcase{position:relative;min-height:435px;border:1px solid rgba(205,233,226,.95);border-radius:32px;overflow:hidden;background:linear-gradient(145deg,#dff4ef 0%,#f8fffd 58%,#f0faf8 100%);box-shadow:var(--store-shadow);isolation:isolate}
.showcase-orb{position:absolute;border-radius:50%;filter:blur(1px);z-index:-1}
.showcase-orb-one{width:270px;height:270px;background:rgba(31,153,133,.18);top:-110px;right:-72px}
.showcase-orb-two{width:210px;height:210px;background:rgba(249,115,22,.16);bottom:-106px;left:-78px}
.showcase-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.3rem}
.showcase-label{padding:.42rem .67rem;border-radius:999px;background:rgba(255,255,255,.8);color:#34626a;font-size:.76rem;font-weight:800}
.showcase-live{display:inline-flex;align-items:center;gap:.34rem;color:#5f7477;font-size:.76rem}
.showcase-live i{width:7px;height:7px;border-radius:50%;background:#25a868;box-shadow:0 0 0 4px rgba(37,168,104,.12)}
.hero-car-art{position:absolute;width:calc(100% - 2.5rem);right:1.25rem;bottom:2.1rem;z-index:0}
.showcase-card{position:absolute;z-index:2;display:flex;align-items:center;gap:.65rem;padding:.72rem .8rem;border:1px solid rgba(255,255,255,.9);border-radius:17px;background:rgba(255,255,255,.90);box-shadow:0 15px 32px rgba(25,60,62,.13);backdrop-filter:blur(10px)}
.showcase-card strong{display:block;color:#254952;font-size:.81rem;line-height:1.45}
.showcase-card small{display:block;margin-top:.12rem;color:#749097;font-size:.69rem;line-height:1.45}
.showcase-card-top{top:83px;right:18px}
.showcase-card-bottom{left:17px;bottom:24px}
.showcase-card-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#e5f8f3;color:#0f766e;font-size:1.3rem;font-weight:900}
.card-success{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#dff9e8;color:#188451;font-size:.77rem;font-weight:900}
.offer-count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 .3rem;border-radius:12px;background:#fff0e4;color:#de5b0d;font-size:1.05rem;font-weight:900}

.quick-process{display:grid;grid-template-columns:minmax(260px,.74fr) 1.26fr;gap:1.3rem;align-items:stretch;padding:clamp(1.25rem,2.7vw,2rem);border:1px solid var(--store-line);border-radius:26px;background:rgba(255,255,255,.82);box-shadow:0 14px 40px rgba(28,57,63,.055)}
.quick-process-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:.3rem .25rem}
.section-overline{display:inline-block;color:var(--store-teal);font-size:.78rem;font-weight:900;letter-spacing:.02em}
.quick-process h2,.section-intro h2,.provider-showcase-section h2,.how-hero h1,.how-section-heading h2,.how-payment-card h2{margin:.4rem 0 .65rem;color:var(--store-ink);line-height:1.38;letter-spacing:-.03em}
.quick-process h2{font-size:clamp(1.42rem,2.2vw,2rem);max-width:20ch}
.text-link{display:inline-flex;align-items:center;gap:.38rem;margin-top:.4rem;color:var(--store-teal);font-size:.88rem;font-weight:800}
.text-link:hover{color:var(--store-teal-deep)}
.quick-process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:0;padding:0;list-style:none}
.quick-process-list li{padding:1rem .9rem;border:1px solid #e7efed;border-radius:18px;background:#fbfefd}
.step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#e2f7ef;color:var(--store-teal);font-size:.85rem;font-weight:900}
.quick-process-list h3{margin:.72rem 0 .2rem;font-size:.95rem;line-height:1.5;color:#233f46}
.quick-process-list p{margin:0;color:#70848a;font-size:.78rem;line-height:1.8}

.storefront-advantages{margin-top:clamp(3.4rem,7vw,6.3rem)}
.section-intro{max-width:610px}
.section-intro h2{font-size:clamp(1.75rem,3.15vw,2.85rem)}
.section-intro p{margin:0;color:var(--store-muted);line-height:2.02}
.advantages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.45rem}
.advantage-card{min-height:220px;padding:1.35rem;border:1px solid var(--store-line);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 12px 30px rgba(29,61,63,.04)}
.advantage-card:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(29,61,63,.09)}
.advantage-card h3{margin:.85rem 0 .35rem;color:#223e45;font-size:1.02rem}
.advantage-card p{margin:0;color:#657d84;font-size:.88rem;line-height:1.95}
.advantage-icon{display:grid;position:relative;width:44px;height:44px;border-radius:14px;background:#e7f8f4}
.icon-document::before{content:"";position:absolute;inset:10px 12px;border:2px solid #0f766e;border-radius:5px}
.icon-document::after{content:"";position:absolute;width:13px;height:2px;top:20px;right:15px;background:#0f766e;box-shadow:0 6px 0 #0f766e}
.icon-shield::before{content:"";position:absolute;width:20px;height:24px;right:12px;top:9px;background:#0f766e;clip-path:polygon(50% 0,100% 18%,91% 74%,50% 100%,9% 74%,0 18%)}
.icon-shield::after{content:"✓";position:absolute;z-index:1;right:18px;top:11px;color:#fff;font-size:.85rem;font-weight:900}
.icon-stars::before{content:"★";position:absolute;right:11px;top:7px;color:#f18d18;font-size:1.7rem}
.icon-stars::after{content:"✦";position:absolute;right:24px;top:21px;color:#0f766e;font-size:1rem}

.provider-showcase-section{margin-top:clamp(3.4rem,7vw,6.3rem)}
.storefront-section-head{margin-bottom:1.25rem}
.provider-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.provider-preview-card{padding:1.15rem;border:1px solid var(--store-line);border-radius:21px;background:#fff;box-shadow:0 11px 28px rgba(29,61,63,.045)}
.provider-preview-top{display:flex;align-items:center;gap:.65rem}
.provider-initials{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:linear-gradient(135deg,#dff5ef,#fdf3e9);color:#0d7168;font-size:.73rem;font-weight:900}
.provider-preview-top h3{margin:0;color:#244149;font-size:.95rem}
.provider-preview-top p{margin:.1rem 0 0;color:#7d9499;font-size:.76rem}
.verified-tag{margin-right:auto;padding:.22rem .45rem;border-radius:999px;background:#e6f8ed;color:#19804f;font-size:.67rem;font-weight:800}
.provider-rating-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.95rem;color:#7d9094;font-size:.75rem}
.provider-rating-row .stars{color:#f4a41d;font-size:.9rem;letter-spacing:0}
.provider-preview-bio{min-height:3.5rem;margin:.7rem 0 0;color:#647a80;font-size:.81rem;line-height:1.8}

.storefront-final-cta{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:clamp(3.5rem,7vw,6.5rem);padding:clamp(1.35rem,3vw,2.25rem);border-radius:28px;background:linear-gradient(125deg,#0c5c57,#0f766e 54%,#1e9382);color:#fff;box-shadow:0 18px 44px rgba(15,118,110,.21)}
.section-overline-light{color:#b9f4e7}
.storefront-final-cta h2{margin:.3rem 0;color:#fff;font-size:clamp(1.45rem,2.6vw,2.25rem);line-height:1.35}
.storefront-final-cta p{margin:0;color:rgba(255,255,255,.78);font-size:.92rem}
.storefront-final-actions{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.btn-light{background:#fff;color:#0d5e58;box-shadow:0 9px 22px rgba(1,48,44,.17)}
.light-text-link{color:#ddfff6;font-size:.86rem;font-weight:800}
.light-text-link:hover{color:#fff}

.storefront-footer{margin-top:5rem;background:#10262e}
.storefront-footer-grid{grid-template-columns:1.35fr .75fr .75fr;gap:3rem}
.footer-brand-row{display:flex;align-items:center;gap:.7rem}
.footer-brand-row img{width:44px;height:44px;border-radius:14px}
.footer-brand-row h3{margin:0;color:#fff;font-size:1rem}
.footer-brand-row p{margin:.12rem 0 0;color:#9eb3b7;font-size:.78rem}
.footer-brand-block>.muted{max-width:48ch;margin:.9rem 0 0;color:#a8bdc0;line-height:1.95;font-size:.85rem}
.storefront-footer h4{color:#fff;font-size:.93rem}
.storefront-footer .plain-list a,.storefront-footer .muted{color:#a8bdc0;font-size:.84rem}
.storefront-footer .plain-list a:hover,.footer-support-link{color:#83e8d4}
.footer-support-link{display:inline-flex;margin-top:.15rem;font-size:.84rem;font-weight:800}
.footer-bottom{margin-top:1.7rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.09);color:#88a2a7;font-size:.75rem}

/* Dedicated usage-guide page */
.how-page{max-width:1040px;margin:0 auto;padding-top:.8rem}
.how-hero{max-width:720px;padding:clamp(.8rem,2.5vw,2rem) 0 clamp(2rem,4vw,3rem)}
.how-hero h1{font-size:clamp(2rem,4.1vw,3.55rem);max-width:15ch}
.how-hero p{max-width:64ch;margin:0 0 1.3rem;color:var(--store-muted);line-height:2.05}
.how-flow-section{margin-top:1.1rem;padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--store-line);border-radius:26px;background:#fff;box-shadow:0 11px 32px rgba(29,61,63,.045)}
.how-section-heading h2{font-size:clamp(1.42rem,2.4vw,2rem)}
.how-flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:1.2rem}
.how-flow-grid article{padding:1rem;border-radius:17px;background:#f8fcfb;border:1px solid #e6efed}
.how-flow-grid article>span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#e0f5ee;color:#0f766e;font-size:.84rem;font-weight:900}
.how-flow-grid h3{margin:.75rem 0 .22rem;color:#244149;font-size:.93rem}
.how-flow-grid p{margin:0;color:#70848a;font-size:.8rem;line-height:1.85}
.how-payment-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;margin-top:1rem;padding:1.3rem 1.5rem;border-radius:25px;background:linear-gradient(135deg,#fff5e8,#fffdf9);border:1px solid #f7e2c6}
.how-payment-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:19px;background:#ffedcf;color:#e86d11;font-size:1.8rem;font-weight:900}
.how-payment-card h2{font-size:1.35rem}
.how-payment-card p{margin:0;color:#6c7779;line-height:1.95;font-size:.9rem}
.provider-flow{margin-top:1rem}
.how-provider-list{display:grid;gap:.55rem;margin:1rem 0 1.2rem}
.how-provider-list>div{display:flex;align-items:center;gap:.65rem;padding:.75rem .85rem;border-radius:14px;background:#f8fcfb;color:#456168;font-size:.87rem}
.how-provider-list b{display:grid;place-items:center;flex:0 0 auto;width:23px;height:23px;border-radius:50%;background:#dff4ee;color:#0f766e;font-size:.72rem}
.how-support-box{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1.15rem 1.3rem;border:1px dashed #b9ddd5;border-radius:21px;background:#f6fcfa}
.how-support-box strong{display:block;color:#23434a}
.how-support-box span{display:block;margin-top:.18rem;color:#70848a;font-size:.83rem}
.how-support-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;white-space:nowrap}
.how-support-actions a{color:#0f766e;font-size:.84rem;font-weight:800}

@media (max-width: 980px){
    .nav-links-public .nav-link{padding-inline:.5rem;font-size:.84rem}
    .storefront-hero{grid-template-columns:1fr 1fr;gap:1.6rem}
    .hero-showcase{min-height:390px}
    .quick-process{grid-template-columns:1fr}
    .quick-process h2{max-width:31ch}
    .how-flow-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 760px){
    .public-header{position:sticky}
    .nav-shell{position:relative;min-height:68px;padding:.55rem 0}
    .brand-public .brand-mark{width:42px;height:42px;border-radius:13px}
    .brand-public .brand-copy small{display:none}
    .brand-public .brand-copy strong{font-size:.91rem}
    .mobile-nav-toggle{display:inline-flex}
    .nav-links-public{display:none;position:absolute;top:calc(100% + .5rem);right:0;left:0;z-index:100;padding:.55rem;border:1px solid #deebe8;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 18px 40px rgba(16,35,44,.14);flex-direction:column;align-items:stretch}
    .nav-links-public.is-open{display:flex}
    .nav-links-public .nav-link{display:block;padding:.75rem .85rem;border-radius:11px;font-size:.9rem}
    .nav-links-public .nav-account-link{margin:0}
    .nav-links-public .nav-cta{width:100%;margin-top:.25rem;min-height:44px}
    .page-shell.home-page-shell{padding-top:.35rem}
    .storefront-hero{grid-template-columns:1fr;gap:1.45rem;padding:1.35rem 0 2.7rem}
    .storefront-hero h1{max-width:14ch;font-size:clamp(2.3rem,10.2vw,3.25rem);line-height:1.27}
    .storefront-lead{font-size:.98rem;line-height:2}
    .storefront-actions{display:grid;grid-template-columns:1fr;margin-top:1.25rem}
    .storefront-actions .btn{width:100%}
    .storefront-trust-list{display:grid;gap:.45rem;margin-top:1.25rem;font-size:.8rem}
    .hero-showcase{min-height:300px;border-radius:24px}
    .showcase-head{padding:.95rem 1rem}
    .showcase-card{padding:.58rem .64rem;border-radius:14px}
    .showcase-card strong{font-size:.7rem}
    .showcase-card small{font-size:.61rem}
    .showcase-card-top{top:60px;right:10px}
    .showcase-card-bottom{bottom:12px;left:10px}
    .hero-car-art{width:calc(100% - 1.2rem);right:.6rem;bottom:1.2rem}
    .quick-process{padding:1rem;border-radius:21px}
    .quick-process h2{font-size:1.37rem;max-width:18ch}
    .quick-process-list{grid-template-columns:1fr;gap:.55rem}
    .quick-process-list li{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem}
    .quick-process-list h3{margin:.05rem 0 .1rem}
    .advantages-grid,.provider-preview-grid{grid-template-columns:1fr}
    .advantage-card{min-height:auto;padding:1.12rem}
    .provider-showcase-section{margin-top:3.6rem}
    .storefront-final-cta{align-items:flex-start;flex-direction:column;padding:1.25rem;border-radius:23px}
    .storefront-final-actions{width:100%;display:grid;grid-template-columns:1fr;gap:.6rem}
    .storefront-final-actions .btn{text-align:center}
    .light-text-link{text-align:center}
    .storefront-footer-grid{grid-template-columns:1fr;gap:1.45rem}
    .storefront-footer{margin-top:3.5rem;padding:1.75rem 0}
    .footer-bottom{margin-top:1.3rem}
    .how-hero{padding:1.25rem 0 2rem}
    .how-hero h1{font-size:2.1rem}
    .how-flow-section{padding:1rem;border-radius:21px}
    .how-flow-grid{grid-template-columns:1fr}
    .how-flow-grid article{padding:.9rem}
    .how-payment-card{grid-template-columns:1fr;padding:1.1rem;border-radius:21px}
    .how-payment-icon{width:48px;height:48px;border-radius:15px;font-size:1.45rem}
    .how-support-box{align-items:flex-start;flex-direction:column;padding:1rem;border-radius:18px}
}

/* --------------------------------------------------------------------------
   Dashboard mobile viewport fix
   Prevents accidental mobile zoom/oversized layout on dashboard, finance and
   orders pages by removing horizontal overflow and turning tables into cards.
   -------------------------------------------------------------------------- */
html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}
.dashboard-shell,
.dashboard-main,
.panel,
.section-block,
.table-wrap,
.list-item,
.stat-card{
    min-width:0;
}
@media (max-width: 760px){
    html,body{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }
    body.dashboard-bg{
        min-width:0;
        touch-action:manipulation;
    }
    .dashboard-shell{
        display:block;
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }
    .dashboard-main{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
        padding:.85rem .65rem 1.25rem;
    }
    .dashboard-header{
        gap:.65rem;
        margin-bottom:.85rem;
    }
    .dashboard-header h1{
        margin:.15rem 0;
        font-size:1.45rem;
        line-height:1.45;
    }
    .header-actions,
    .header-actions .btn{
        width:100%;
    }
    .sidebar{
        position:static;
        height:auto;
        max-width:100%;
        overflow:hidden;
        padding:.75rem .65rem;
        border-left:0;
    }
    .brand-side{
        margin-bottom:.75rem;
    }
    .brand-side .brand-mark{
        width:44px;
        height:44px;
        border-radius:14px;
    }
    .brand-side small{
        display:none;
    }
    .sidebar-nav{
        display:flex;
        gap:.45rem;
        overflow-x:auto;
        overscroll-behavior-x:contain;
        scrollbar-width:none;
        padding-bottom:.1rem;
    }
    .sidebar-nav::-webkit-scrollbar{
        display:none;
    }
    .sidebar-nav a{
        flex:0 0 auto;
        white-space:nowrap;
        padding:.62rem .78rem;
        border-radius:999px;
        font-size:.88rem;
    }
    .sidebar-note{
        display:none;
    }
    .panel,
    .notice-box,
    .request-card,
    .offer-card,
    .stat-card{
        border-radius:18px;
    }
    input,
    select,
    textarea,
    button{
        font-size:16px;
    }
    .inline-form{
        display:grid;
        width:100%;
        align-items:stretch;
    }
    .inline-form label,
    .inline-form .btn,
    .section-head .btn{
        width:100%;
    }
    .hero-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }
    .hero-actions .btn{
        width:100%;
    }
    .list-item{
        display:grid;
        grid-template-columns:1fr;
        align-items:stretch;
        width:100%;
    }
    .list-item .badge,
    .list-item .tiny{
        justify-self:start;
    }
    .table-wrap{
        width:100%;
        max-width:100%;
        overflow:visible;
        border-radius:0;
    }
    .table{
        display:block;
        width:100%;
        min-width:0 !important;
        background:transparent;
        box-shadow:none;
        border-radius:0;
    }
    .table thead{
        display:none;
    }
    .table tbody{
        display:grid;
        gap:.75rem;
        width:100%;
    }
    .table tr{
        display:grid;
        width:100%;
        padding:.82rem;
        border:1px solid var(--border);
        border-radius:18px;
        background:#fff;
        box-shadow:var(--shadow);
    }
    .table td{
        display:grid;
        grid-template-columns:minmax(6.6rem,38%) minmax(0,1fr);
        gap:.6rem;
        align-items:start;
        width:100%;
        min-width:0;
        padding:.55rem 0;
        border-bottom:1px dashed #e2e8f0;
        text-align:right;
        word-break:break-word;
    }
    .table td:last-child{
        border-bottom:none;
    }
    .table td::before{
        content:attr(data-label);
        color:#64748b;
        font-size:.82rem;
        font-weight:800;
        line-height:1.8;
    }
    .table td:not([data-label]){
        grid-template-columns:1fr;
    }
    .table td:not([data-label])::before{
        display:none;
    }
    .table td > *{
        min-width:0;
    }
    .table td .btn{
        width:100%;
    }
    .table td p{
        margin:.25rem 0 0;
    }
}

/* PDRYar mobile sidebar grid v2 START */
/* Mobile dashboard menu: no horizontal dragging, all items visible as wrapped chips. */
@media (max-width: 760px){
    body.dashboard-bg .sidebar{
        overflow:visible !important;
        padding:.85rem .7rem 1rem !important;
        border-radius:0 0 24px 24px;
    }
    body.dashboard-bg .brand-side{
        display:grid;
        grid-template-columns:auto minmax(0,1fr);
        align-items:center;
        gap:.65rem;
        margin:0 0 .85rem !important;
    }
    body.dashboard-bg .brand-side span:last-child{
        min-width:0;
    }
    body.dashboard-bg .brand-side strong{
        display:block;
        font-size:1rem;
        line-height:1.7;
        white-space:normal;
    }
    body.dashboard-bg .brand-side small{
        display:block !important;
        margin-top:.05rem;
        font-size:.75rem;
        color:#94a3b8;
    }
    body.dashboard-bg .sidebar-nav{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:.55rem !important;
        overflow:visible !important;
        overscroll-behavior:auto !important;
        scrollbar-width:auto !important;
        padding:0 !important;
        width:100%;
    }
    body.dashboard-bg .sidebar-nav::-webkit-scrollbar{
        display:none !important;
    }
    body.dashboard-bg .sidebar-nav a{
        width:100%;
        min-width:0;
        min-height:48px;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:.35rem;
        flex:initial !important;
        white-space:normal !important;
        text-align:center;
        line-height:1.65;
        padding:.72rem .52rem !important;
        border-radius:17px !important;
        font-size:.86rem !important;
    }
    body.dashboard-bg .sidebar-nav a.active{
        background:rgba(255,255,255,.12) !important;
        box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
    }
    body.dashboard-bg .sidebar-nav .badge{
        flex:0 0 auto;
        min-width:1.8rem;
        height:1.8rem;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        padding:0 .35rem;
        margin:0;
    }
}
@media (max-width: 370px){
    body.dashboard-bg .sidebar-nav{
        grid-template-columns:1fr;
    }
}
/* PDRYar mobile sidebar grid v2 END */

/* PDRYar request workflow, required fields and estimates v7 */
.required-mark{color:#dc2626;font-weight:900}
.field-help,.offer-field-help{display:block;margin-top:.45rem;color:var(--text-soft);font-size:.82rem;line-height:1.8}
.image-upload-field.is-invalid .image-uploader-box,
.pdr-jalali-trigger.is-invalid{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)!important}
.image-upload-field.is-invalid [data-image-count]{color:#b91c1c;font-weight:800}

.request-detail-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
    margin-top:1rem;
}
.request-detail-item{
    min-width:0;
    padding:.9rem 1rem;
    border:1px solid var(--border);
    border-radius:15px;
    background:#f8fafc;
}
.request-detail-item.is-wide{grid-column:1/-1}
.request-detail-label{display:block;color:var(--text-soft);font-size:.82rem;font-weight:700;margin-bottom:.35rem}
.request-detail-value{display:block;color:var(--text);font-weight:800;line-height:1.9;overflow-wrap:anywhere}
.request-schedule-box{
    margin-top:1rem;
    padding:1rem;
    border:1px solid #bae6fd;
    border-radius:16px;
    background:#f0f9ff;
}
.request-schedule-title{display:block;color:#075985;font-size:.87rem;font-weight:900;margin-bottom:.4rem}
.request-schedule-value{color:var(--text);font-weight:900;line-height:1.9}
.request-description-box{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:15px;background:#fff}
.request-description-box h4,.request-damage-box h4{margin:0 0 .5rem}
.request-description-box p{margin:0;line-height:2;white-space:normal;overflow-wrap:anywhere}
.request-damage-box{margin-top:1rem}
.request-payment-notice{margin-bottom:1rem;border-color:#fcd34d;background:#fffbeb}
.notice-box.is-danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.offer-card.is-selected{border-color:#67e8f9;box-shadow:0 14px 34px rgba(8,145,178,.12)}
.offer-estimate-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.65rem;
    margin:.25rem 0 .85rem;
}
.offer-estimate-grid>div{
    min-width:0;
    padding:.75rem;
    border:1px solid var(--border);
    border-radius:13px;
    background:#f8fafc;
}
.offer-estimate-grid span{display:block;color:var(--text-soft);font-size:.76rem;margin-bottom:.3rem}
.offer-estimate-grid strong{display:block;font-size:.9rem;line-height:1.8;overflow-wrap:anywhere}
.compact-estimates{grid-template-columns:1fr}

.ticket-card{overflow:hidden}
.ticket-thread{display:grid;gap:.55rem;margin:.8rem 0}
.ticket-attachments{display:flex;flex-wrap:wrap;gap:.6rem;margin:.7rem 0}
.ticket-attachment-button{width:96px;height:82px;border:1px solid var(--border);background:#fff}
.ticket-attachment-button img{width:100%;height:100%;object-fit:cover}
.gallery-grid .image-viewer-thumb{width:100%;height:130px;border:1px solid var(--border);background:#fff}
.chat-image-button{width:min(260px,100%);max-height:220px;margin-top:.65rem;border:1px solid var(--border)}
.chat-image-button img{max-height:220px;object-fit:cover}

.order-estimate-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.7rem;
    margin:1rem 0;
}
.order-estimate-card{padding:.9rem;border:1px solid #bae6fd;border-radius:15px;background:#f0f9ff}
.order-estimate-card span{display:block;color:#075985;font-size:.78rem;font-weight:800;margin-bottom:.35rem}
.order-estimate-card strong{display:block;line-height:1.9;overflow-wrap:anywhere}

@media (max-width:760px){
    .request-detail-grid,.offer-estimate-grid,.order-estimate-grid{grid-template-columns:1fr}
    .request-detail-item.is-wide{grid-column:auto}
    .gallery-grid .image-viewer-thumb{height:190px}
    .ticket-attachment-button{width:88px;height:76px}
}
/* /PDRYar request workflow v7 */

/* Button links used by the in-page document/image viewer */
.link-button{appearance:none;border:0;background:none;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}

/* PDRYar eNamad footer badge */
.footer-grid.has-enamad{grid-template-columns:1.3fr .8fr .8fr .65fr}
.footer-trust-block{min-width:0}
.enamad-badge{display:flex;align-items:center;justify-content:flex-start;min-height:116px}
.enamad-badge a{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border-radius:16px;background:#fff}
.enamad-badge img{display:block;max-width:110px;width:auto;height:auto}
@media (max-width:1100px){
    .footer-grid.has-enamad{grid-template-columns:1fr}
    .enamad-badge{min-height:0}
}
/* /PDRYar eNamad footer badge */


/* PDRYar role-specific terms acceptance */
.terms-acceptance-box{
    display:grid;gap:.75rem;padding:1rem 1.05rem;border:1px solid rgba(15,118,110,.28);
    border-radius:18px;background:#f6fffd
}
.terms-check{display:flex;align-items:flex-start;gap:.7rem;cursor:pointer}
.terms-check input{width:20px;height:20px;min-width:20px;margin-top:.15rem;padding:0;accent-color:var(--primary)}
.terms-check span{font-weight:700;line-height:1.9;color:#1e293b}
.terms-links-row{display:flex;gap:.75rem 1.25rem;flex-wrap:wrap;align-items:center}
.terms-read-link{width:max-content;max-width:100%;font-weight:800;color:var(--primary);text-decoration:underline;text-underline-offset:4px}
.form-error-note{margin:0;color:#b91c1c;font-weight:800}
.legal-page-panel{padding:clamp(1rem,3vw,2.25rem)}
.legal-document{line-height:2;color:#27364a}
.legal-document .legal-lead{padding:1rem 1.15rem;border-radius:16px;background:#f0fdfa;border:1px solid #bce9df}
.legal-document h2{margin:2rem 0 .75rem;font-size:1.2rem;color:#0f172a}
.legal-document ol,.legal-document ul{padding-right:1.4rem;margin:.5rem 0 1rem}
.legal-document li{margin:.35rem 0}
.legal-document a{color:var(--primary);font-weight:700}
button:disabled{opacity:.55;cursor:not-allowed}

/* PDRYar staged registration onboarding */
.registration-onboarding{padding:2.2rem 0 3rem}
.onboarding-card{border:1px solid rgba(15,118,110,.14);box-shadow:0 24px 70px rgba(15,23,42,.11)}
.onboarding-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:1.45rem}
.onboarding-steps span{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:48px;padding:.65rem .75rem;border:1px solid var(--border);border-radius:15px;background:#f8fafc;color:#64748b;font-size:.82rem;font-weight:800;text-align:center}
.onboarding-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:.78rem}
.onboarding-steps .is-active{border-color:#99f6e4;background:#f0fdfa;color:#115e59}
.onboarding-steps .is-active b{background:#0f766e;color:#fff}
.onboarding-steps .is-done{border-color:#d1fae5;background:#f0fdf4;color:#166534}
.onboarding-steps .is-done b{background:#16a34a;color:#fff}
.role-tabs{display:flex;width:100%;margin-bottom:1.25rem}
.role-tabs .tab{flex:1;text-align:center}
.onboarding-main-action{min-height:54px;font-size:1rem;font-weight:900}
.onboarding-help{display:flex;justify-content:center;gap:.45rem;flex-wrap:wrap;margin-top:1.15rem;color:#64748b;font-size:.9rem}
.onboarding-help a{font-weight:900;color:#0f766e}
.complete-registration-card .section-head{margin-bottom:.7rem}
.registration-location-card{border-style:solid;background:linear-gradient(180deg,#f7fffd,#fff)}
.registration-location-card .location-head{justify-content:space-between;align-items:flex-start}
.registration-location-card .location-head p{margin:.3rem 0 0;color:#64748b;font-size:.86rem}
.clean-location-actions{margin-top:.65rem}
.registration-final-actions{justify-content:flex-end;margin-top:.35rem}
.provider-review-note{align-self:stretch}
@media(max-width:760px){
    .registration-onboarding{padding:1rem 0 2rem}
    .onboarding-steps{grid-template-columns:1fr;gap:.4rem}
    .onboarding-steps span{justify-content:flex-start;min-height:42px}
    .registration-final-actions{align-items:stretch}
    .registration-final-actions .btn{width:100%}
}
/* /PDRYar staged registration onboarding */

/* PDRYar clearer customer/provider registration identity */
.registration-role-card{width:min(590px,100%)}
.registration-role-heading{margin-bottom:1.2rem;text-align:right}
.registration-role-kicker{
    display:inline-flex;align-items:center;min-height:34px;padding:.45rem .8rem;
    border-radius:999px;background:#e9f8f4;color:#0f766e;font-size:.82rem;font-weight:900
}
.registration-role-heading p{margin:.75rem 0 0;color:#64748b;line-height:1.9;font-size:.95rem}
.registration-role-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.3rem}
.registration-role-option{
    display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:94px;
    padding:1rem;border:1px solid #dbe4ea;border-radius:18px;background:#fff;color:#334155;
    transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease
}
.registration-role-option:hover{transform:translateY(-1px);border-color:#99d9cf;box-shadow:0 10px 24px rgba(15,118,110,.08)}
.registration-role-option.is-selected{border:2px solid #0f766e;background:#f0fdfa;box-shadow:0 12px 28px rgba(15,118,110,.12)}
.registration-role-option-copy{display:grid;gap:.3rem;min-width:0;text-align:right}
.registration-role-option-copy strong{font-size:1rem;color:#0f172a;line-height:1.6}
.registration-role-option-copy small{font-size:.78rem;color:#64748b;line-height:1.7}
.registration-role-option.is-selected .registration-role-option-copy strong{color:#0f766e}
.registration-role-option-state{
    display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:999px;
    background:#f1f5f9;color:#64748b;font-size:.9rem;font-weight:900
}
.registration-role-option.is-selected .registration-role-option-state{background:#0f766e;color:#fff}
.is-provider-registration .registration-role-kicker{background:#fff7ed;color:#9a3412}
.is-provider-registration .registration-role-option.is-selected{border-color:#c2410c;background:#fffaf5;box-shadow:0 12px 28px rgba(194,65,12,.10)}
.is-provider-registration .registration-role-option.is-selected .registration-role-option-copy strong{color:#9a3412}
.is-provider-registration .registration-role-option.is-selected .registration-role-option-state{background:#c2410c}
@media(max-width:620px){
    .registration-role-picker{grid-template-columns:1fr}
    .registration-role-option{min-height:82px}
}
/* /PDRYar clearer customer/provider registration identity */


/* PDRYar separated registration entry and role chooser */
.nav-auth-trigger{font:inherit;cursor:pointer}
.auth-choice-dialog{width:min(620px,calc(100% - 1.25rem));max-width:none;padding:0;border:0;border-radius:26px;background:transparent;color:var(--text);overflow:visible}
.auth-choice-dialog::backdrop{background:rgba(2,6,23,.58);backdrop-filter:blur(5px)}
.auth-choice-dialog-card{position:relative;padding:clamp(1.15rem,4vw,2rem);border:1px solid rgba(255,255,255,.75);border-radius:26px;background:#fff;box-shadow:0 30px 90px rgba(2,6,23,.28)}
.auth-choice-close{position:absolute;top:.85rem;left:.85rem;display:grid;place-items:center;width:38px;height:38px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#475569;font-size:1.55rem;line-height:1;cursor:pointer}
.auth-choice-close:hover{background:#eef2f7;color:#0f172a}
.auth-choice-head{padding-left:2.7rem;margin-bottom:1.1rem}
.auth-choice-head h2{margin:.45rem 0 .35rem;font-size:clamp(1.35rem,4vw,1.85rem);color:#0f172a}
.auth-choice-head p{margin:0;color:#64748b;line-height:1.9}
.auth-choice-grid{display:grid;gap:.75rem}
.auth-choice-option{display:grid;grid-template-columns:52px minmax(0,1fr) 34px;align-items:center;gap:.85rem;min-height:96px;padding:1rem;border:1px solid #dce5eb;border-radius:19px;background:#fff;color:#1e293b;transition:.18s ease}
.auth-choice-option:hover{transform:translateY(-2px);text-decoration:none;box-shadow:0 13px 30px rgba(15,23,42,.09)}
.auth-choice-option.is-customer:hover{border-color:#79cbbd;background:#f4fffc}
.auth-choice-option.is-provider:hover{border-color:#f0a36d;background:#fffaf5}
.auth-choice-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#e9f8f4;color:#0f766e}
.auth-choice-option.is-provider .auth-choice-icon{background:#fff0e5;color:#c2410c}
.auth-choice-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-choice-copy{display:grid;gap:.25rem;min-width:0}
.auth-choice-copy strong{font-size:1.02rem;color:#0f172a}
.auth-choice-copy small{color:#64748b;line-height:1.7}
.auth-choice-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#f1f5f9;color:#64748b;font-weight:900}
.auth-choice-login{margin-top:1.05rem;padding-top:1rem;border-top:1px solid #e8eef2;text-align:center;color:#64748b}
.auth-choice-login a{font-weight:900;color:#0f766e}
.registration-role-identity{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:.8rem;margin-bottom:1.3rem;padding:1rem;border:1px solid #bfe5dd;border-radius:18px;background:#f5fffc}
.is-provider-registration .registration-role-identity{border-color:#fed7ba;background:#fffaf5}
.registration-role-identity-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#dff6f0;color:#0f766e}
.is-provider-registration .registration-role-identity-icon{background:#ffeddc;color:#c2410c}
.registration-role-identity-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.registration-role-identity-copy{display:grid;gap:.25rem;min-width:0}
.registration-role-identity-copy strong{font-size:1rem;color:#0f172a}
.registration-role-identity-copy small{color:#64748b;line-height:1.65}
@media(max-width:620px){
    .auth-choice-dialog{width:calc(100% - .9rem)}
    .auth-choice-dialog-card{padding:1.1rem;border-radius:22px}
    .auth-choice-head{padding-left:2.4rem}
    .auth-choice-option{grid-template-columns:46px minmax(0,1fr) 30px;min-height:88px;padding:.85rem}
    .auth-choice-icon{width:46px;height:46px;border-radius:14px}
    .registration-role-identity{grid-template-columns:46px minmax(0,1fr);padding:.9rem}
    .registration-role-identity-icon{width:46px;height:46px}
}
/* /PDRYar separated registration entry and role chooser */

/* PDRYar polished OTP verification frontend v1 */
.otp-verification-page{padding-top:1.8rem}
.otp-verification-card{
    width:min(560px,100%);padding:clamp(1.25rem,3.5vw,2rem);
    border-color:rgba(15,118,110,.16);
    background:linear-gradient(180deg,#fff 0%,#fcfffe 100%);
    box-shadow:0 28px 80px rgba(15,23,42,.12)
}
.otp-verification-head{display:grid;justify-items:center;text-align:center;margin:0 auto 1.45rem}
.otp-verification-icon{
    display:grid;place-items:center;width:64px;height:64px;margin-bottom:.9rem;border-radius:21px;
    background:linear-gradient(145deg,#e9faf6,#d9f4ee);color:#0f766e;
    box-shadow:inset 0 0 0 1px rgba(15,118,110,.10),0 12px 28px rgba(15,118,110,.10)
}
.otp-verification-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.otp-verification-head .eyebrow{margin-bottom:.65rem}
.otp-verification-head h1{margin:0;color:#0f172a;font-size:clamp(1.45rem,4vw,1.85rem);letter-spacing:-.025em}
.otp-verification-head p{margin:.55rem 0 0;color:#64748b;line-height:1.9;font-size:.94rem}
.otp-phone-summary{
    display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;
    border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc
}
.otp-phone-summary span{color:#64748b;font-size:.88rem;font-weight:700}
.otp-phone-summary strong{color:#0f172a;font-size:1rem;letter-spacing:.035em}
.otp-code-field{gap:.55rem}
.otp-code-field>span{text-align:right}
.otp-code-input{
    direction:ltr;text-align:center;min-height:66px;padding:.8rem 1rem;
    font-size:1.55rem;font-weight:900;letter-spacing:.48em;text-indent:.48em;
    color:#0f172a;border-color:#cbd5e1;background:#fff;caret-color:#0f766e
}
.otp-code-input:focus{border-color:#2bb8a6;box-shadow:0 0 0 4px rgba(15,118,110,.12),0 10px 25px rgba(15,118,110,.08)}
.otp-verification-card .onboarding-main-action{min-height:58px;border-radius:18px;box-shadow:0 15px 30px rgba(15,118,110,.22)}
.otp-resend-card{
    display:grid;gap:.9rem;margin-top:1.1rem;padding:1rem 1.05rem;
    border:1px solid #dce8e5;border-radius:18px;background:#f8fcfb;color:#334155
}
.otp-resend-head{display:flex;align-items:center;gap:.8rem}
.otp-resend-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:#e8f7f3;color:#0f766e}
.otp-resend-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.otp-resend-head div{display:grid;gap:.2rem;min-width:0}
.otp-resend-head strong{color:#134e4a;font-size:.95rem}
.otp-resend-head small{color:#64748b;line-height:1.7;font-size:.79rem}
.otp-resend-status{margin:0;padding-top:.8rem;border-top:1px solid #e5efec;color:#64748b;line-height:1.9;font-size:.88rem}
.otp-resend-status strong{color:#0f766e;font-weight:900}
.otp-resend-form{margin:0}
.otp-resend-button{width:100%;min-height:46px;border-color:#cddfdb;background:#fff;color:#0f766e;font-weight:900}
.otp-resend-button:hover{border-color:#8bcfc3;background:#f0fdfa}
@media(max-width:620px){
    .otp-verification-page{padding-top:.75rem}
    .otp-verification-card{padding:1.05rem;border-radius:22px}
    .otp-verification-icon{width:56px;height:56px;border-radius:18px}
    .otp-phone-summary{align-items:flex-start;flex-direction:column;gap:.35rem}
    .otp-code-input{min-height:62px;font-size:1.4rem;letter-spacing:.4em;text-indent:.4em}
    .otp-resend-card{padding:.9rem}
}
/* /PDRYar polished OTP verification frontend v1 */

