/* Oilora Unified Product UI — canonical visual layer */
:root{
  --ui-font:"IRANYekan","IRANYekanX","Yekan Bakh",Tahoma,sans-serif;
  --ui-bg:#f7faf8;--ui-surface:#fff;--ui-surface-soft:#f2f7f4;--ui-text:#15231b;--ui-muted:#718078;
  --ui-border:#dce7e0;--ui-border-strong:#cadbd1;--ui-primary:#178a4a;--ui-primary-hover:#116d3a;--ui-primary-soft:#edf9f2;
  --ui-danger:#b83229;--ui-warning:#94600d;--ui-info:#245c9d;--ui-success:#126e3d;
  --ui-r-sm:10px;--ui-r-md:14px;--ui-r-lg:18px;--ui-r-xl:24px;--ui-control:42px;
  --ui-shadow:0 8px 26px rgba(15,54,33,.07);--ui-shadow-lg:0 18px 54px rgba(10,42,26,.11);
  --ui-focus:0 0 0 4px rgba(23,138,74,.14);
}
html,body,button,input,select,textarea{font-family:var(--ui-font)!important}
body{color:var(--ui-text);background:var(--ui-bg)}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:0!important;box-shadow:var(--ui-focus)!important}

/* Canonical controls */
.btn{min-height:var(--ui-control);border-radius:12px;padding-inline:16px;font-size:13px;font-weight:700;letter-spacing:0;border-width:1px;box-shadow:none}
.btn-primary{background:var(--ui-primary);border-color:var(--ui-primary);color:#fff}.btn-primary:hover{background:var(--ui-primary-hover);border-color:var(--ui-primary-hover);box-shadow:0 8px 22px rgba(23,138,74,.18)}
.btn-ghost{background:#fff;border-color:var(--ui-border);color:#42554b}.btn-ghost:hover{background:var(--ui-primary-soft);border-color:#cbe9d7;color:var(--ui-primary)}
.btn-secondary{background:#18251e;border-color:#18251e}.btn-danger{background:#fff4f3;border-color:#f2d0cd;color:var(--ui-danger)}
.btn-sm{min-height:34px;border-radius:10px;padding-inline:12px}.btn-lg{min-height:48px;border-radius:14px;padding-inline:20px}
.icon-btn{width:40px;height:40px;border-radius:12px;background:#fff;border:1px solid var(--ui-border);box-shadow:none}

/* Inputs */
.field{display:flex;flex-direction:column;gap:7px}.field label,.ds-label{font-size:12px;font-weight:700;color:#405148}
.field input,.field select,.field textarea,.ds-input,.ds-select,.ds-textarea,.search input,.reminder-search input{min-height:var(--ui-control);border:1px solid var(--ui-border);border-radius:12px;background:#fff;color:var(--ui-text);padding-inline:13px;box-shadow:none}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ui-border-strong)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#61bd85;box-shadow:var(--ui-focus)}
.field textarea{padding-block:11px;line-height:1.9}.field-help,.muted{color:var(--ui-muted)}

/* Cards and content surfaces */
.card,.ds-card,.automation-card,.report-kpi,.settings-main,.settings-nav,.customer-card,.vehicle-card,.shop-product-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-r-lg);box-shadow:var(--ui-shadow)}
.card-head,.ds-card-head,.automation-card-head{border-bottom:1px solid #eaf0ec;padding:16px 18px}.card-body,.ds-card-body,.automation-card-body{padding:18px}
.stat,.automation-stat{border-radius:var(--ui-r-lg);border:1px solid var(--ui-border);background:#fff;box-shadow:var(--ui-shadow)}

/* Tables */
.table-wrap,.data-table-wrap{border:1px solid var(--ui-border);border-radius:var(--ui-r-lg);overflow:auto;background:#fff;box-shadow:var(--ui-shadow)}
table{border-collapse:separate;border-spacing:0;width:100%}table th{font-size:11px;font-weight:800;color:#617168;background:#f8fbf9;border-bottom:1px solid var(--ui-border);padding:12px 14px;white-space:nowrap}table td{font-size:12px;color:#314239;border-bottom:1px solid #edf2ef;padding:13px 14px}table tbody tr:last-child td{border-bottom:0}table tbody tr:hover td{background:#fbfdfc}

/* Tabs / filters */
.ds-tabs,.automation-tabs,.reminder-filter-chips{background:var(--ui-surface-soft);border:1px solid var(--ui-border);border-radius:13px;padding:4px;gap:4px}
.ds-tab,.automation-tabs button,.reminder-filter-chips button{min-height:34px;border:0;border-radius:9px;background:transparent;color:#66766d;font-size:12px;font-weight:700;padding:7px 12px}
.ds-tab.active,.automation-tabs button.active,.reminder-filter-chips button.active{background:#fff;color:var(--ui-primary);box-shadow:0 3px 12px rgba(12,55,33,.08)}

/* Badges and feedback */
.badge,.ds-badge{border-radius:999px;min-height:25px;padding:4px 9px;font-size:11px;font-weight:700;border:1px solid transparent}
.ds-alert,.auto-degraded-banner{border-radius:13px;border-width:1px;box-shadow:none}
.toast,.oilora-toast{border-radius:14px!important;box-shadow:var(--ui-shadow-lg)!important}

/* Dialogs */
.modal-backdrop{background:rgba(8,22,14,.52);backdrop-filter:blur(5px)}
.modal{border-radius:22px;border:1px solid rgba(255,255,255,.75);box-shadow:0 28px 80px rgba(8,30,18,.22);overflow:hidden;background:#fff}
.modal-head,.modal-foot{background:#fff;border-color:#eaf0ec}.modal-head{padding:17px 20px}.modal-body{padding:20px}.modal-foot{padding:14px 20px}

/* Headings / page hierarchy */
.page-head h1,.settings-hero h1,.subscription-hero h1,.report-hero h1,.automation-hero h1,.reminder-hero h1{letter-spacing:-.45px;line-height:1.45}
.page-head p,.settings-hero p,.subscription-hero p,.report-hero p,.automation-hero p,.reminder-hero p{color:var(--ui-muted);line-height:1.9}
.settings-kicker,.plan-kicker,.report-kicker,.automation-kicker,.loyalty-kicker{font-size:11px!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important;color:var(--ui-primary)!important}

/* Empty/loading/error states */
.ds-empty,.automation-empty,.route-not-found,.p50-route-loading,[data-oilora-route-loading],[data-oilora-route-boundary]{border-radius:var(--ui-r-xl);border-color:var(--ui-border);background:#fff}
.ds-skeleton,.report-skeleton i,.p50-route-loading i,[data-oilora-route-loading] i{background:linear-gradient(90deg,#eef3f0 25%,#f8faf9 50%,#eef3f0 75%);background-size:200% 100%;animation:oilora-unified-skeleton 1.3s linear infinite}@keyframes oilora-unified-skeleton{to{background-position:-200% 0}}

/* Navigation consistency */
.nav-item,.customer-nav a,.public-links a{font-weight:650}.nav-item.active,.customer-nav a.active{color:var(--ui-primary)}

/* Product tables/cards should not leak development metadata */
[data-business-control] [class*="version"],.settings-section-head .theme-live-status:empty{display:none}

/* Responsive canonical spacing */
@media(max-width:900px){.card-head,.ds-card-head,.automation-card-head{padding:14px 15px}.card-body,.ds-card-body,.automation-card-body{padding:15px}.modal{width:min(94vw,620px)}}
@media(max-width:640px){.btn{min-height:40px;padding-inline:13px}.page-head h1,.settings-hero h1,.subscription-hero h1,.report-hero h1,.automation-hero h1,.reminder-hero h1{font-size:clamp(22px,7vw,29px)}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
