/* Tijartk Quiet Premium UI
   Loaded after the legacy stylesheet so every authenticated page shares one
   coherent visual language without changing business behavior. */
:root{
  --accent:#14b8a6;--accent-strong:#0d9488;--accent-ink:#0f766e;
  --accent-6:rgba(20,184,166,.06);--accent-10:rgba(20,184,166,.1);
  --accent-16:rgba(20,184,166,.16);--accent-24:rgba(20,184,166,.24);
  --sidebar:#142039;--sidebar-2:#0d1629;--sidebar-ink:#edf5f2;--bg:#f5f8f7;
  --surface:#fff;--surface-2:#f9fbfa;--surface-3:#eef5f2;
  --border:#dfe8e5;--border-soft:#ebf0ee;--text:#10231d;
  --text-muted:#60716b;--text-soft:#8e9c97;--success:#0fa77d;
  --success-ink:#08745a;--danger:#e5484d;--danger-ink:#b4232a;
  --warning:#d99519;--warning-ink:#99620c;--info:#3182ce;
  --radius:14px;--radius-sm:11px;--radius-xs:9px;
  --content-pad:clamp(20px,3vw,38px);--grid-gap:18px;--card-pad:22px;
  --sidebar-w:272px;--header-h:72px;
  --shadow-xs:0 1px 2px rgba(6,25,20,.04);
  --shadow-sm:0 1px 2px rgba(6,25,20,.04),0 5px 16px rgba(6,25,20,.035);
  --shadow:0 12px 34px rgba(6,25,20,.075);
  --shadow-lg:0 28px 75px rgba(6,25,20,.18);
  --ring:0 0 0 4px var(--accent-10);
  --font:"Manrope","Cairo",system-ui,-apple-system,"Segoe UI",sans-serif;
}
html{background:var(--bg)}
body{font-size:13.5px;letter-spacing:-.08px;background:
  radial-gradient(900px 480px at 90% -160px,var(--accent-6),transparent 65%),var(--bg)}
::selection{background:var(--accent-24);color:var(--text)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Shell */
.sidebar{background:
  radial-gradient(360px 240px at 108% -4%,rgba(20,184,166,.17),transparent 64%),
  linear-gradient(180deg,#182641 0%,var(--sidebar) 42%,var(--sidebar-2) 100%);
  border-inline-end:1px solid rgba(4,12,29,.4);box-shadow:8px 0 32px rgba(11,22,43,.12)}
.sidebar::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
  background:linear-gradient(115deg,rgba(255,255,255,.055),transparent 28%,transparent 72%,rgba(100,217,199,.035))}
.sidebar>*{position:relative;z-index:1}
.sidebar__brand{min-height:82px;padding:14px 17px;border-bottom-color:rgba(231,244,239,.12)}
.sidebar__logo{width:50px;height:50px}
.sidebar__title{font-size:17px;letter-spacing:-.45px}
.sidebar__subtitle{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(237,245,242,.57)}
.sidebar__nav{padding:17px 11px 12px}
.nav-group+.nav-group{margin-top:23px}
.nav-group__label{padding:0 12px 8px;color:rgba(225,238,234,.42);font-size:9px;letter-spacing:1.45px}
.nav-link{min-height:40px;margin-bottom:3px;padding:9px 12px;border:1px solid transparent;border-radius:10px;
  color:rgba(237,245,242,.72);font-size:12.5px;font-weight:650;transition:.18s cubic-bezier(.2,.8,.2,1)}
.nav-link svg{width:18px;height:18px;opacity:.78}
.nav-link:hover{color:#fff;background:rgba(232,244,240,.09);border-color:rgba(232,244,240,.08);transform:translateX(2px)}
html[dir=rtl] .nav-link:hover{transform:translateX(-2px)}
.nav-link.is-active{color:#fff;background:linear-gradient(90deg,rgba(20,184,166,.24),rgba(20,184,166,.1));border-color:rgba(94,234,212,.18);box-shadow:inset 0 1px rgba(255,255,255,.07),0 8px 18px rgba(4,15,35,.2)}
.nav-link.is-active::before{inset-inline-start:-1px;top:8px;bottom:8px;width:3px;background:#83dfd0;box-shadow:0 0 12px rgba(100,217,199,.45)}
/* Collapsible sidebar sections */
.nav-top{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.nav-sect{margin-bottom:2px}
.nav-sect__head{display:flex;align-items:center;gap:11px;min-height:40px;padding:9px 12px;border-radius:10px;cursor:pointer;list-style:none;color:rgba(237,245,242,.84);font-size:12.5px;font-weight:700;user-select:none;transition:.18s cubic-bezier(.2,.8,.2,1)}
.nav-sect__head::-webkit-details-marker{display:none}
.nav-sect__head:hover{color:#fff;background:rgba(232,244,240,.08)}
.nav-sect__icon{width:18px;height:18px;opacity:.82;flex:none}
.nav-sect__head>span{flex:1;letter-spacing:.1px}
.nav-sect__chev{width:15px;height:15px;opacity:.55;flex:none;transition:transform .2s cubic-bezier(.2,.8,.2,1)}
html[dir=rtl] .nav-sect__chev{transform:scaleX(-1)}
.nav-sect[open]>.nav-sect__head{color:#fff}
.nav-sect[open]>.nav-sect__head .nav-sect__chev{transform:rotate(90deg)}
html[dir=rtl] .nav-sect[open]>.nav-sect__head .nav-sect__chev{transform:rotate(90deg)}
.nav-sect__body{position:relative;padding:2px 0 6px;display:flex;flex-direction:column;gap:2px;animation:navReveal .2s ease}
.nav-sect__body::before{content:"";position:absolute;inset-inline-start:20px;top:1px;bottom:7px;width:1px;background:rgba(232,244,240,.13)}
.nav-sect__body .nav-link{padding-inline-start:34px;min-height:35px;font-size:12.5px;font-weight:600}
@keyframes navReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
/* Reusable modal (popup forms) */
.gx-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:16px}
.gx-modal.is-open{display:flex}
.gx-modal__scrim{position:absolute;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(2px);animation:gxFade .18s ease}
.gx-modal__panel{position:relative;width:100%;max-width:480px;max-height:calc(100dvh - 40px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(11,22,43,.28);animation:gxPop .2s cubic-bezier(.2,.9,.3,1.15)}
.gx-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--border,#e7eaef);position:sticky;top:0;background:#fff;border-radius:18px 18px 0 0}
.gx-modal__head h2{margin:0;font-size:16px}
.gx-modal__close{width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:#64748b;font-size:20px;line-height:1;cursor:pointer;flex:none}
.gx-modal__close:hover{background:#f1f5f9;color:#0f172a}
.gx-modal__body{padding:18px 20px}
.gx-modal__foot{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}
@keyframes gxFade{from{opacity:0}to{opacity:1}}
@keyframes gxPop{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:560px){.gx-modal{align-items:flex-end;padding:0}.gx-modal__panel{max-width:none;border-radius:18px 18px 0 0;animation:gxUp .22s cubic-bezier(.2,.9,.3,1)}}
@keyframes gxUp{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.gx-modal__scrim,.gx-modal__panel,.nav-sect__body{animation:none}.nav-sect__chev{transition:none}}
body.gx-noscroll{overflow:hidden}
.sidebar__footer{padding:12px 11px 14px;background:rgba(18,40,35,.12);border-top-color:rgba(233,245,241,.11)}
.user-card{padding:9px;border:1px solid rgba(235,247,243,.11);background:rgba(255,255,255,.045)}
.user-card:hover{background:rgba(255,255,255,.075)}
.avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#2dd4bf,#0d9488);box-shadow:0 8px 18px rgba(13,148,136,.2)}
.main{background:transparent}
.header{height:var(--header-h);padding:0 var(--content-pad);background:rgba(250,252,251,.82);
  border-bottom-color:rgba(208,221,216,.82);backdrop-filter:saturate(160%) blur(18px)}
.search{max-width:480px}
.search input{height:41px;border-color:transparent;background:#eef3f1;border-radius:12px;box-shadow:inset 0 0 0 1px transparent}
.search input:hover{background:#e9f0ed}
.search input:focus{background:#fff;border-color:var(--accent);box-shadow:var(--ring)}
.search kbd{border:0;background:rgba(255,255,255,.72);box-shadow:var(--shadow-xs)}
.icon-btn,.lang-switch__btn{height:40px;border-color:var(--border);border-radius:11px;background:rgba(255,255,255,.75)}
.content{padding:var(--content-pad);max-width:1500px;width:100%;margin-inline:auto}

/* Page rhythm */
.page-head{align-items:center;margin-bottom:24px;padding-bottom:2px}
.page-head .crumb{margin-bottom:7px;color:var(--accent-ink);font-size:9.5px;letter-spacing:1.15px;text-transform:uppercase}
.page-head h1{font-size:clamp(23px,2.2vw,29px);line-height:1.15;letter-spacing:-.8px}
.page-head p,.help-text{color:var(--text-muted)}
.page-head>div:last-child,.page-head>.flex{align-items:center;gap:8px}
.page-head--compact{max-width:680px}

/* Buttons */
.btn{min-height:40px;height:auto;padding:9px 16px;border-radius:11px;font-size:12.5px;font-weight:750;letter-spacing:-.05px;
  box-shadow:none;transition:transform .12s ease,box-shadow .2s ease,background .18s,border-color .18s,color .18s}
.btn svg{width:17px;height:17px}
.btn:not(:disabled):hover{transform:translateY(-1px)}
.btn:not(:disabled):active{transform:translateY(0) scale(.985)}
.btn--primary{color:#fff;background:linear-gradient(180deg,#18bba8,#0d9488);border-color:#0d9488;
  box-shadow:0 7px 17px rgba(13,148,136,.2),inset 0 1px rgba(255,255,255,.16)}
.btn--primary:not(:disabled):hover{background:linear-gradient(180deg,#15ad9c,#0b887c);box-shadow:0 10px 23px rgba(13,148,136,.25)}
.btn--ghost{color:#31463f;background:#fff;border-color:var(--border);box-shadow:var(--shadow-xs)}
.btn--ghost:hover{background:#f8fbfa;border-color:#cbdad5}
.btn--danger{color:#fff;background:linear-gradient(180deg,#ec5b60,#dc3f45);border-color:#d83c42;box-shadow:0 7px 17px rgba(229,72,77,.18)}
.btn--sm{min-height:34px;padding:7px 11px;border-radius:9px;font-size:11.5px}
.btn:empty::after{content:attr(title);white-space:nowrap}
.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.row-actions form{display:inline-flex;margin:0}
.action-btn{min-width:34px;padding-inline:10px}
.action-btn--danger{color:var(--danger-ink);background:#fff5f5;border-color:#edc5c8;box-shadow:0 1px 2px rgba(180,35,42,.04)}
.action-btn--danger:hover{color:#fff;background:var(--danger);border-color:var(--danger)}
.row-actions--icons{gap:7px}
.action-icon{width:34px;min-width:34px;min-height:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}
.action-icon svg{width:16.5px;height:16.5px;flex:none}
.action-icon--success{color:var(--success-ink);background:#effaf6;border-color:#cbeee2}
.action-icon--success:hover{color:#fff;background:var(--success);border-color:var(--success)}
.action-icon--danger{color:var(--danger-ink);background:#fff5f5;border:1px solid #edc5c8;box-shadow:0 1px 2px rgba(180,35,42,.04)}
.action-icon--danger:hover{color:#fff;background:var(--danger);border-color:var(--danger)}
.btn.is-loading,.btn:disabled{opacity:.68;cursor:wait;transform:none!important}
.btn.is-loading::before{content:"";width:14px;height:14px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:uiSpin .65s linear infinite}
.btn.is-loading svg{display:none}
@keyframes uiSpin{to{transform:rotate(360deg)}}

/* Cards, statistics and tables */
.card,.form-card,.stat{border-color:var(--border);box-shadow:var(--shadow-sm);background:rgba(255,255,255,.94)}
.card{border-radius:15px;overflow:hidden}
.card__head{min-height:62px;padding:18px var(--card-pad) 13px;border-bottom:1px solid var(--border-soft)}
.card__head h2{font-size:14.5px;letter-spacing:-.25px}
.card__head .sub{font-size:11.5px}
.card__body{padding:var(--card-pad)}
.grid{gap:var(--grid-gap)}
.stat{min-height:138px;padding:19px;border-radius:15px;overflow:hidden}
.stat::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:transparent}
html[dir=rtl] .stat::before{inset:0 0 0 auto}
.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.stat__icon{width:38px;height:38px;border-radius:11px;background:var(--accent-10)}
.stat__label{margin-top:14px;font-size:11px;font-weight:650}
.stat__value{margin-top:5px;font-size:24px;letter-spacing:-.8px}
.stat__foot,.stat__trend{font-size:10.5px}
.stat--mini{min-height:94px;padding:16px 18px;border-inline-start:0}
.stat--mini::before{background:var(--accent)}
.stat--mini .stat__label{margin-top:0}
.stat--hero{background:
  radial-gradient(150px 130px at 95% 0,rgba(255,255,255,.15),transparent 70%),
  linear-gradient(145deg,#119e8e,#08766b)}
.table-wrap,.tbl-wrap{border-radius:0;scrollbar-width:thin;scrollbar-color:#cbd7d3 transparent}
.card>.table-wrap,.card>.tbl-wrap{border-top:0}
table.data{font-size:12.5px}
table.data thead th{height:42px;padding:10px var(--card-pad);color:#7c8c87;background:#f7faf9;border-color:var(--border);
  font-size:9.5px;letter-spacing:.75px}
table.data tbody td{padding:13px var(--card-pad);border-color:var(--border-soft)}
table.data tbody tr{transition:background .15s,box-shadow .15s}
table.data tbody tr:hover{background:#f4faf8;box-shadow:inset 2px 0 var(--accent)}
html[dir=rtl] table.data tbody tr:hover{box-shadow:inset -2px 0 var(--accent)}
.cell-strong{color:#193029;font-weight:750}.cell-muted{color:#74847f}
.badge{gap:6px;padding:4px 9px;border-radius:999px;font-size:10.5px;font-weight:750}
.badge::before{width:5px;height:5px}
.badge--success{background:#e5f7f1;color:#08745a}.badge--warning{background:#fff5dc;color:#99620c}
.badge--danger{background:#feebec;color:#b4232a}.badge--info{background:#e4f6f2;color:#0f766e}
.badge--neutral{background:#edf1ef;color:#65756f}
table.data td .badge{max-inline-size:none;min-height:24px;padding:5px 9px;border-radius:999px;line-height:1;white-space:nowrap;text-align:center;justify-content:center;vertical-align:middle}
table.data td .badge::before{flex:0 0 5px;align-self:center}
table.data td{line-height:1.35;overflow-wrap:normal;word-break:normal}
table.data td .badge:only-child{margin-block:0}
.card>.table-wrap>table.data{table-layout:fixed;width:100%}
table.data th:last-child,table.data td:has(.row-actions--icons){width:210px}
table.data td:has(.row-actions--icons){white-space:nowrap}
table.data th:last-child,table.data td:has(.row-actions--icons){position:sticky;inset-inline-end:0;z-index:2;background:#fff;box-shadow:-1px 0 0 var(--border-soft)}
html[dir=rtl] table.data th:last-child,html[dir=rtl] table.data td:has(.row-actions--icons){box-shadow:1px 0 0 var(--border-soft)}
table.data thead th:last-child{z-index:3;background:#f7faf9}
table.data tbody tr:hover td:has(.row-actions--icons){background:#f4faf8}
.chart-wrap{height:255px}
.chart-empty{gap:10px}.chart-empty__emoji{font-size:28px}.chart-empty__text{font-size:12px}
.lowrow{padding:12px 0}.lowrow .thumb{border-radius:11px}
.bar{height:6px;background:#e9efed}

/* Dashboard analytics */
.dashboard-analytics{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);align-items:stretch}
.chart-card{grid-column:span 4;min-width:0;opacity:0;transform:translateY(18px) scale(.985);
  transition:opacity .55s ease,transform .55s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}
.chart-card.is-visible{opacity:1;transform:none}
.chart-card--wide{grid-column:span 8}.chart-card--compact{grid-column:span 4}
.chart-card .card__head{align-items:flex-start;flex-wrap:wrap}.chart-card .card__head h2{min-width:0;font-size:14.5px;line-height:1.35}
.chart-card .chart-wrap{height:300px}.chart-card .chart-wrap--donut{height:260px}.chart-card .chart-wrap--tall{height:330px}
.chart-card canvas{filter:drop-shadow(0 10px 18px rgba(18,39,34,.04))}
.chart-card .chart-empty{min-height:230px;border:1px dashed #d8e8e3;border-radius:13px;background:#f8fbfa}
.chart-legend{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px 12px;flex-wrap:wrap}
.chart-legend span{display:inline-flex;align-items:center;gap:6px;color:#687b75;font-size:11px;font-weight:750;line-height:1.25;white-space:nowrap}
.chart-legend i{width:10px;height:10px;border-radius:4px;box-shadow:0 0 0 3px rgba(20,184,166,.08)}
.low-stock-card .card__body{max-height:360px;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd7d3 transparent}
html[dir=rtl] .chart-legend{justify-content:flex-start}

/* Forms */
.form-wrap{max-width:900px}
.form-wrap[data-form-kind=product]{width:100%;max-width:none;container:product-form/inline-size}
.form-wrap[data-form-kind=product] .form-grid{
  grid-template-columns:1fr;
  align-items:start;
  column-gap:16px;
  row-gap:24px;
}
.form-wrap[data-form-kind=product] .field{align-self:start}
.form-card{border-radius:15px}
.form-card+.form-card{margin-top:17px}
.form-card__head{padding:17px 21px;background:#f8fbfa;border-color:var(--border)}
.form-card__head .ic{width:35px;height:35px;border-radius:10px}
.form-card__head h2{font-size:14.5px}.form-card__head p{font-size:11.5px}
.form-card__body{padding:22px}
.form-grid{gap:17px}
.field{gap:6px}
.field label{color:#354942;font-size:11.5px;font-weight:750}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,
.input,input.erp-field,select.erp-field,textarea.erp-field,input.field:not([type=checkbox]):not([type=radio]),select.field,textarea.field,.inp,select.inp,textarea.inp{
  min-height:42px;height:42px;padding:0 13px;border:1px solid #d8e3df;border-radius:12px;background:#fff;color:var(--text);font-size:13px;outline:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.75);transition:border-color .15s,box-shadow .15s,background .15s}
.field textarea,textarea.erp-field{height:auto;min-height:78px;padding:10px 13px}
.field input:hover,.field select:hover,.field textarea:hover,.erp-field:hover,input.field:hover,select.field:hover,textarea.field:hover{border-color:#bdcfc9;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus,.input:focus,.erp-field:focus,input.field:focus,select.field:focus,textarea.field:focus{border-color:var(--accent);box-shadow:var(--ring)}
select.erp-field,select.field{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238e9c97' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:38px}
html[dir=rtl] select.erp-field,html[dir=rtl] select.field{background-position:left 13px center;padding-right:13px;padding-left:38px}
.erp-field.is-working{background-image:linear-gradient(90deg,transparent,rgba(20,184,166,.1),transparent);background-size:220% 100%;animation:fieldScan 1s linear infinite}
@keyframes fieldScan{to{background-position:-220% 0}}
.hint,.help-text{font-size:10.5px;line-height:1.55}.field-error{font-size:10.5px;font-weight:650}
.form-actions{z-index:20;margin-top:20px;padding:13px 0;background:linear-gradient(transparent,rgba(245,248,247,.96) 28%);border-top:0}

@container product-form (min-width:560px){
  .form-wrap[data-form-kind=product] .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container product-form (min-width:840px){
  .form-wrap[data-form-kind=product] .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container product-form (min-width:1080px){
  .form-wrap[data-form-kind=product] .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
table.lines{font-size:12px}
table.lines th{padding:9px 7px;color:#73827d;font-size:10px;text-transform:uppercase;letter-spacing:.45px}
table.lines td{padding:6px 7px}
table.lines input:not([type=checkbox]):not([type=radio]),table.lines select{height:38px;border-radius:9px;font-size:12px}
.row-del{transition:background .15s,color .15s,transform .12s}
.row-del:hover{background:#feebec;transform:scale(1.04)}
.pay-choice{grid-template-columns:repeat(3,1fr);gap:10px}
.pay-opt__box{min-height:128px;padding:15px;border-width:1px;border-radius:13px}
.pay-opt input:checked+.pay-opt__box{border-color:var(--accent);background:var(--accent-6);box-shadow:0 0 0 3px var(--accent-10)}
.pay-opt__ic{font-size:19px}.pay-opt__t{font-size:13px}.pay-opt__d{font-size:10.5px;line-height:1.5}
.sale-totals{margin-inline-start:auto;margin-top:20px;max-width:430px;padding:15px 17px;border:1px solid var(--border);border-radius:13px;background:#f8fbfa}
.sale-totals__row{min-height:38px;border-color:var(--border-soft)}
.sale-totals__row--final{margin-top:5px;padding-top:13px;border-top:1px solid var(--border);font-size:15px}

/* Guided operational forms */
.workflow-steps{display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:10px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.72)}
.workflow-step{min-width:0;flex:1;display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;color:var(--text-muted);font-size:10.5px;font-weight:700}
.workflow-step b{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#eaf0ee;color:#61726c;font-size:10px}
.workflow-step.is-current{color:var(--accent-ink);background:var(--accent-6)}.workflow-step.is-current b{color:#fff;background:var(--accent)}
.workflow-step.is-done b{color:var(--accent-ink);background:#dff5f0}
.operational-form{max-width:1080px!important}.operational-form[data-form-kind=product]{max-width:none!important}.operational-form .card,.operational-form .form-card{overflow:visible}
.field[data-field]{position:relative}.field:focus-within label{color:var(--accent-ink)}
.field.is-optional label::after{content:" · optional";color:var(--text-soft);font-size:9px;font-weight:500}
html[lang=ar] .field.is-optional label::after{content:" · اختياري"}html[lang=fr] .field.is-optional label::after{content:" · facultatif"}
.field.has-value select~.hint,.field.has-value input~.hint{color:#688078}
.qa-panel[hidden]{display:none!important}
.form-assist{display:flex;gap:10px;margin-bottom:16px;padding:12px 14px;border:1px solid #cfe5df;border-radius:12px;background:#f1faf7;color:#36564d;font-size:11px;line-height:1.6}
.form-assist svg{width:18px;height:18px;flex:0 0 auto;color:var(--accent)}
.purchase-total{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:16px 18px;border:1px solid #cfe2dc;border-radius:13px;background:linear-gradient(135deg,#f4faf8,#fff)}
.purchase-total span{color:var(--text-muted);font-size:11px;font-weight:700}.purchase-total strong{color:var(--accent-ink);font-size:22px;letter-spacing:-.6px}
.scan-zone{position:relative;padding:14px;border:1px dashed #b9d8d0;border-radius:13px;background:#f7fbfa}
.scan-zone::before{content:"";position:absolute;inset:7px auto 7px 7px;width:3px;border-radius:9px;background:var(--accent)}
html[dir=rtl] .scan-zone::before{inset:7px 7px 7px auto}
.form-actions{position:sticky;bottom:0;margin-inline:-8px;padding:14px 8px;background:rgba(245,248,247,.9);backdrop-filter:blur(14px);border-radius:14px}

/* Common list, detail and operational page refinements */
.content>.card+.card,.content>.grid+.card,.content>.card+.grid{margin-top:var(--grid-gap)}
.content>.muted-link:last-child{display:inline-flex!important;align-items:center;gap:6px;margin-top:18px!important}
.content form[method=get]{align-items:end}
.content form[method=get] .erp-field,.content form[method=get] input,.content form[method=get] select{min-height:38px}
.content form[method=get].flex.gap-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(156px,1fr));align-items:end;width:100%;gap:10px}
.content form[method=get].flex.gap-2>.field{min-width:0}
.content form[method=get].flex.gap-2>.btn{min-height:38px;justify-content:center}
.content .card[id]{scroll-margin-top:95px}
.content .flex[style*="flex-wrap"]{row-gap:8px}
.content .stat__value bdi,.content td bdi{unicode-bidi:isolate;direction:ltr}
.content table tfoot td{background:#fafcfb;border-top:1px solid var(--border);font-weight:700}
.content .card__body>table.data{margin-inline:calc(var(--card-pad) * -1);width:calc(100% + var(--card-pad) * 2)}
.content .alert{display:flex;align-items:flex-start;gap:9px}
.content .modal-overlay{background:rgba(3,15,12,.56);backdrop-filter:blur(5px)}
.content .modal{border-radius:17px;box-shadow:var(--shadow-lg)}
.content .pd-var{border-color:var(--border);box-shadow:var(--shadow-xs)}
.content .pd-impact{border-color:var(--accent-24);background:#f2faf7}
.content .wl-add{padding:12px;border:1px solid var(--border);border-radius:12px;background:#f8fbfa}
.content .bal-chip{border-radius:10px;font-size:12px}

/* Auth */
.auth{grid-template-columns:minmax(420px,.95fr) minmax(480px,1.05fr)}
.auth__brand{padding:48px 55px;background:
  radial-gradient(520px 340px at 90% -8%,rgba(20,184,166,.23),transparent 60%),
  linear-gradient(155deg,var(--sidebar),var(--sidebar-2))}
.auth__brand::after{background-size:28px 28px;opacity:.35}
.auth-logo__mark{width:52px;height:52px}.auth-logo__name{font-size:18px}
.auth__hero h2{font-size:38px;letter-spacing:-1.5px}
.auth__hero p{font-size:14px}
.auth__panel{background:
  radial-gradient(620px 300px at 50% 0,var(--accent-6),transparent 70%),var(--bg)}
.auth-card{max-width:420px}.auth-card--wide{max-width:500px}
.auth-card h1{font-size:27px}.auth-card .lede{font-size:13px}
.btn-auth{height:47px;border-radius:11px;background:linear-gradient(180deg,#18bba8,#0d9488);font-size:14px}

/* Alerts and operation feedback */
.toast-stack{top:14px;gap:8px;perspective:900px}
.toast{position:relative;width:408px;min-height:68px;padding:10px 13px 10px 10px;border-radius:21px;background:rgba(43,60,56,.94);
  border:1px solid rgba(255,255,255,.12);color:#fff;box-shadow:0 24px 60px rgba(19,39,34,.24),0 3px 10px rgba(19,39,34,.16),inset 0 1px rgba(255,255,255,.1);
  backdrop-filter:saturate(150%) blur(22px);animation:premiumToastIn .64s cubic-bezier(.16,1.2,.3,1) both;overflow:hidden}
.toast::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:currentColor;opacity:.45;transform-origin:left;
  animation:toastTimer var(--toast-duration,4000ms) linear forwards}
.toast--paused::after{animation-play-state:paused}
.toast.toast--leaving{animation:premiumToastOut .28s ease forwards}
.toast__icon{position:relative;width:46px;height:46px;border-radius:15px;box-shadow:inset 0 1px rgba(255,255,255,.28),0 8px 18px rgba(0,0,0,.16);overflow:visible}
.toast__icon::after{content:"";position:absolute;inset:-5px;border:1px solid currentColor;border-radius:19px;opacity:0;animation:feedbackRing .8s .12s cubic-bezier(.2,.8,.2,1)}
.toast__icon svg{width:21px;height:21px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12));stroke-dasharray:34;stroke-dashoffset:34;animation:feedbackDraw .55s .18s ease forwards}
.toast__body{align-self:center}.toast__title{color:#fff;font-size:13px;font-weight:800}.toast__msg{margin-top:2px;color:rgba(244,250,248,.7);font-size:11.5px;line-height:1.4}
.toast__close{align-self:center;color:rgba(255,255,255,.55)}.toast__close:hover{color:#fff;background:rgba(255,255,255,.1)}
.toast--success{color:#78ead5}.toast--success .toast__icon{background:linear-gradient(145deg,#24c9ae,#0b8f79)}
.toast--error{color:#ff8c92}.toast--error .toast__icon{background:linear-gradient(145deg,#ff6b72,#d93d46)}
.toast--warning{color:#ffd17a}.toast--warning .toast__icon{background:linear-gradient(145deg,#f5b83b,#c88713)}
.toast--info{color:#9bd8d0}.toast--info .toast__icon{background:linear-gradient(145deg,#6d9f96,#3f6d65)}
body.feedback-success::after{content:"";position:fixed;z-index:9998;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0,rgba(100,217,199,.13),transparent 34%);animation:pageSatisfaction .9s ease both}
@keyframes premiumToastIn{0%{opacity:0;transform:translateY(-34px) scale(.78) rotateX(-12deg);filter:blur(8px)}62%{transform:translateY(3px) scale(1.018)}100%{opacity:1;transform:none;filter:none}}
@keyframes premiumToastOut{to{opacity:0;transform:translateY(-18px) scale(.92);filter:blur(3px)}}
@keyframes feedbackRing{35%{opacity:.55}100%{opacity:0;transform:scale(1.45)}}
@keyframes feedbackDraw{to{stroke-dashoffset:0}}
@keyframes pageSatisfaction{from{opacity:0}25%{opacity:1}to{opacity:0}}
@keyframes toastTimer{to{transform:scaleX(0)}}
.alert{border-radius:11px;font-size:12px}
.js-operation-highlight{animation:operationGlow 1.8s ease both}
@keyframes operationGlow{0%,100%{box-shadow:inset 0 0 0 0 rgba(20,184,166,0)}30%{box-shadow:inset 0 0 0 2px rgba(20,184,166,.28);background:#effaf7}}

/* Confirmation sheet */
.confirm-sheet{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.22s}
.confirm-sheet.is-open{opacity:1;visibility:visible}
.confirm-sheet__backdrop{position:absolute;inset:0;border:0;background:rgba(3,15,12,.55);backdrop-filter:blur(6px)}
.confirm-sheet__panel{position:relative;width:min(430px,100%);padding:24px;border:1px solid rgba(255,255,255,.65);border-radius:18px;background:rgba(255,255,255,.94);
  box-shadow:var(--shadow-lg);transform:translateY(15px) scale(.97);transition:.3s cubic-bezier(.16,1,.3,1)}
.confirm-sheet.is-open .confirm-sheet__panel{transform:none}
.confirm-sheet__icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:var(--danger);background:#feedef}
.confirm-sheet__icon svg{width:21px;height:21px}
.confirm-sheet__copy{margin-top:17px}.confirm-sheet__copy h2{font-size:19px;letter-spacing:-.45px}.confirm-sheet__copy p{margin-top:7px;color:var(--text-muted);font-size:12px;line-height:1.65}
.confirm-sheet__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}

/* Dedicated delete page */
.danger-layout{max-width:680px}
.danger-card{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:27px;border:1px solid #f0cdd0;border-radius:17px;background:#fff;box-shadow:var(--shadow)}
.danger-card__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:var(--danger);background:#feedef}
.danger-card__icon svg{width:23px;height:23px}
.danger-card__eyebrow{color:var(--danger);font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.danger-card h2{margin-top:7px;font-size:21px;letter-spacing:-.55px}
.danger-card p{margin-top:8px;color:var(--text-muted);font-size:12px;line-height:1.65}
.danger-card__object{margin-top:17px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:#f8faf9;font-weight:750}
.danger-card__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:21px}

/* Responsive */
@media(max-width:1240px){.grid--stats{grid-template-columns:repeat(2,1fr)}.chart-card,.chart-card--compact{grid-column:span 6}.chart-card--wide{grid-column:1/-1}}
@media(max-width:820px){
  :root{--content-pad:18px;--card-pad:17px}
  .page-head{align-items:flex-start}.page-head>div:last-child,.page-head>.flex{width:100%;flex-wrap:wrap}
  .page-head form.flex{flex:1;min-width:100%}.page-head form.flex input{width:100%!important}
  .form-card__body{padding:18px}.pay-choice{grid-template-columns:1fr}
  .dashboard-analytics{grid-template-columns:1fr;gap:16px}.chart-card,.chart-card--compact,.chart-card--wide{grid-column:1/-1}
  .chart-card .card__head{min-height:auto;padding-block:15px}.chart-card .chart-wrap{height:265px}.chart-card .chart-wrap--donut{height:245px}.chart-card .chart-wrap--tall{height:315px}
  .chart-legend{width:100%;justify-content:flex-start}
  .danger-card{grid-template-columns:1fr}.danger-card__actions{flex-direction:column-reverse}.danger-card__actions .btn{width:100%}
  .workflow-steps{overflow-x:auto}.workflow-step{min-width:145px}.operational-form table.lines{min-width:0}
}
@media(max-width:640px){
  .header{padding:0 14px;gap:9px}.header .search{display:none}
  .content{padding:17px 13px 90px}.page-head{gap:13px;margin-bottom:18px}.page-head h1{font-size:23px}
  .page-head .btn{flex:1}.grid--stats,.grid--3{grid-template-columns:1fr}
  .stat{min-height:0;padding:16px 17px}.stat__icon{width:36px;height:36px}.stat__label{margin-top:10px}.stat__value{font-size:22px}.card{border-radius:13px}
  .dashboard-analytics{gap:13px}.chart-card .card__head{padding:14px var(--card-pad) 10px}
  .chart-card .card__head h2{font-size:13.5px}.chart-card .card__head .sub{font-size:10.5px}
  .chart-card .card__body{padding:12px}.chart-card .chart-wrap{height:235px}.chart-card .chart-wrap--donut{height:220px}.chart-card .chart-wrap--tall{height:280px}
  .chart-legend{gap:7px 9px}.chart-legend span{font-size:10px;white-space:normal}.chart-legend i{width:8px;height:8px;border-radius:3px}
  .low-stock-card .card__body{max-height:none}
  .table-wrap,.tbl-wrap{margin-inline:0}
  table.data{min-width:690px}
  .operational-form table.lines,.operational-form table.lines tbody,.operational-form table.lines tr,.operational-form table.lines td{display:block;width:100%}
  .operational-form table.lines thead{display:none}.operational-form table.lines tr{position:relative;margin-bottom:11px;padding:13px 47px 10px 11px;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:var(--shadow-xs)}
  html[dir=rtl] .operational-form table.lines tr{padding:13px 11px 10px 47px}
  .operational-form table.lines td{padding:4px}.operational-form table.lines .del-cell{position:absolute;top:9px;inset-inline-end:8px;width:auto}
  .operational-form table.lines input:not([type=checkbox]):not([type=radio]),.operational-form table.lines select{width:100%;height:42px}
  .purchase-total{position:sticky;bottom:68px;z-index:12;box-shadow:0 12px 28px rgba(35,58,52,.13)}
  .form-actions{display:grid;grid-template-columns:1fr 1fr}
  .toast-stack{top:10px}.toast{width:calc(100vw - 20px)}
  .confirm-sheet{align-items:end;padding:10px}.confirm-sheet__panel{border-radius:18px 18px 13px 13px}
  .auth__panel{padding:28px 18px}.auth-card h1{font-size:24px}
}

/* Safety net for older ERP pages that still use inline desktop grids. */
.card,.form-card,.grid,.table-wrap,.tbl-wrap,.field,.form-grid{min-width:0}
.responsive-split{align-items:start}
.ocr-card{width:100%}
.ocr-actions{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;margin-top:12px}
.ocr-actions .muted-link{min-height:36px;display:inline-flex;align-items:center}
input[type=file].erp-field{height:auto;min-height:44px;padding-block:9px;line-height:1.35}
@media(max-width:920px){
  .responsive-split,
  .content>.grid[style*="grid-template-columns"],
  .card__body>.form-grid[style*="grid-template-columns"],
  .form-card__body>.form-grid[style*="grid-template-columns"],
  .stat-grid[style*="grid-template-columns"]{grid-template-columns:1fr!important}
  .content .card[style*="max-width"],.content .form-card[style*="max-width"],.content form[style*="max-width"]{max-width:100%!important}
  .content div[style*="display:grid"][style*="grid-template-columns"]{grid-template-columns:1fr!important}
  .page-head__actions{width:100%;flex-wrap:wrap}
}
@media(max-width:640px){
  .content{overflow-x:hidden}
  .page-head .btn,.ocr-actions .btn,.ocr-actions .muted-link{width:100%;justify-content:center;text-align:center}
  .card__head{align-items:flex-start;flex-wrap:wrap}
  .card__body,.form-card__body{padding:16px}
  .table-wrap,.tbl-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.data,table.lines{min-width:640px}
  .row-actions{flex-wrap:wrap;justify-content:flex-end}
  .row-actions .btn,.row-actions button{min-width:max-content}
  .field input[style*="width"],.field select[style*="width"],.field textarea[style*="width"],.card__body input[style*="width"],.card__body select[style*="width"],.page-head input[style*="width"],.page-head select[style*="width"],.content input[style*="max-width"],.content select[style*="max-width"]{width:100%!important;max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  .toast,.toast::after,.confirm-sheet,.confirm-sheet__panel,.btn,.stat,.card{animation:none!important;transition:none!important}
  .chart-card{opacity:1!important;transform:none!important}
}

/* Premium auth, legal pages, and signup welcome */
.auth--premium{position:relative;isolation:isolate;min-height:100vh;background:#f4f8f6;overflow:hidden}.auth-bg-shape{position:absolute;z-index:-1;border-radius:50%;filter:blur(28px);opacity:.55;animation:authFloat 10s ease-in-out infinite}.auth-bg-shape--one{width:280px;height:280px;top:8%;inset-inline-start:48%;background:#78e3d3}.auth-bg-shape--two{width:220px;height:220px;bottom:8%;inset-inline-end:5%;background:#f1cf7f;animation-delay:2s}.auth__brand--story{background:radial-gradient(520px 360px at 86% 10%,rgba(120,227,211,.2),transparent 62%),linear-gradient(150deg,#071b16,#10251e 72%)}.auth__panel--premium{background:radial-gradient(520px 280px at 50% 0,rgba(120,227,211,.18),transparent 70%),#f4f8f6}.auth-card--glass{max-width:460px;padding:34px;border:1px solid rgba(255,255,255,.72);border-radius:26px;background:rgba(255,255,255,.82);box-shadow:0 28px 80px rgba(7,27,22,.14);backdrop-filter:blur(20px)}.auth-card--glass.auth-card--wide{max-width:620px}.auth-kicker{display:inline-flex;margin-bottom:12px;color:#0c8c7e;font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}.auth-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.auth-benefit-grid article{min-height:96px;padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.07);box-shadow:inset 0 1px rgba(255,255,255,.08)}.auth-benefit-grid span{display:block;color:#f1cf7f;font-size:10px;font-weight:900}.auth-benefit-grid b{display:block;margin-top:18px;color:#fff;font-size:13px;line-height:1.35}.auth-progress{display:grid;gap:12px;margin-top:30px}.auth-progress div{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.07)}.auth-progress span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;color:#071b16;background:#78e3d3;font-size:11px;font-weight:1000}.auth-progress b{font-size:13px;color:#fff}.founder-mini-card{margin-top:26px;padding:20px;border:1px solid rgba(241,207,127,.28);border-radius:20px;background:linear-gradient(145deg,rgba(241,207,127,.15),rgba(255,255,255,.06));box-shadow:0 20px 50px rgba(0,0,0,.16)}.founder-mini-card>span{color:#f1cf7f;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.founder-mini-card strong{display:block;margin-top:8px;color:#fff;font-size:26px;letter-spacing:-.7px}.founder-mini-card ul{display:grid;gap:8px;margin-top:15px;list-style:none}.founder-mini-card li{position:relative;padding-inline-start:22px;color:rgba(255,255,255,.78);font-size:11px;font-weight:750}.founder-mini-card li:before{content:"";position:absolute;inset-inline-start:0;top:.35em;width:12px;height:12px;border-radius:50%;background:#78e3d3}.founder-mini-card p{margin-top:15px;color:rgba(255,255,255,.55);font-size:10px;line-height:1.55}.auth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-field--span{grid-column:1/-1}.auth-field label{display:block;margin-bottom:6px;color:#10251e;font-size:11px;font-weight:900}.auth-card--glass .erp-field,.auth-card--glass .input{width:100%;min-height:47px;padding-block:0;padding-inline:13px;border:1px solid #dce7e3;border-radius:13px;background:#fff;color:#10251e;font:inherit;font-size:13px}.auth-card--glass .input-wrap{position:relative;display:flex;align-items:center}.auth-card--glass .input-wrap .ic{position:absolute;inset-inline-start:12px;color:#8aa09a}.auth-card--glass .input-wrap .ic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.auth-card--glass .input-wrap .input{padding-inline-start:42px;padding-inline-end:44px}.auth-card--glass .input-wrap .erp-field{padding-inline-end:44px}.eye{position:absolute;inset-inline-end:8px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#7b8d87;cursor:pointer}.eye:hover,.eye.is-active{color:#0c8c7e;background:#edf8f5}.eye svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.auth-alert{margin:0 0 18px;padding:13px 14px;border-radius:14px;font-size:12px;font-weight:750;line-height:1.45}.auth-alert--error{color:#9f1d2a;background:#fff1f2;border:1px solid #fecdd3}.consent-box{display:grid;gap:10px;margin:16px 0}.consent-check{align-items:flex-start;padding:12px;border:1px solid #dce7e3;border-radius:14px;background:#f8fbfa}.consent-check a{color:#0c8c7e;font-weight:900}.consent-check .erp-check{margin-top:2px;accent-color:#0c8c7e}.auth-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 15px;margin-top:22px;padding-top:18px;border-top:1px solid #dce7e3;color:#63746e;font-size:11px;font-weight:800}.auth-legal-links a:hover{color:#0c8c7e}.auth-card--glass .btn-auth{height:52px;margin-top:4px;border:0;box-shadow:0 14px 34px rgba(21,184,166,.28)}.auth-card--glass .btn-auth svg{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.auth-card--glass .field-error{display:block;margin-top:6px;color:#b4232d;font-size:11px;font-weight:800}.auth-card--glass .hint{display:block;margin-top:5px;color:#7a8b86;font-size:10px;line-height:1.45}.auth-card--glass .pill{border-radius:999px}
.legal-page{min-height:100vh;background:#f4f8f6;color:#10251e}.legal-shell{width:min(1120px,calc(100% - 40px));margin-inline:auto}.legal-hero{position:relative;overflow:hidden;padding:42px 0 70px;color:#fff;background:radial-gradient(620px 340px at 80% 0,rgba(120,227,211,.22),transparent 60%),linear-gradient(155deg,#071b16,#10251e)}.legal-hero:after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(transparent,rgba(0,0,0,.16))}.legal-hero .legal-shell{position:relative;z-index:1}.legal-brand{display:inline-flex;align-items:center;gap:11px;color:#fff;font-size:18px;font-weight:900}.legal-brand img{width:42px;height:42px}.legal-kicker{display:block;margin-top:54px;color:#78e3d3;font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}.legal-hero h1{max-width:780px;margin-top:14px;font-size:clamp(40px,6vw,68px);line-height:1.02;letter-spacing:-2.6px}.legal-hero p{max-width:720px;margin-top:18px;color:rgba(255,255,255,.68);font-size:15px;line-height:1.75}.legal-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.legal-meta span,.legal-meta a{padding:9px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);font-size:11px;font-weight:850}.legal-meta a{color:#f1cf7f}.legal-body{display:grid;grid-template-columns:260px 1fr;gap:34px;padding:54px 0}.legal-toc{position:sticky;top:24px;align-self:start;display:grid;gap:6px;padding:18px;border:1px solid #dce7e3;border-radius:20px;background:rgba(255,255,255,.76);box-shadow:0 18px 50px rgba(7,27,22,.08);backdrop-filter:blur(14px)}.legal-toc b{margin-bottom:8px;color:#071b16;font-size:12px}.legal-toc a{padding:9px 10px;border-radius:10px;color:#63746e;font-size:12px;font-weight:800}.legal-toc a:hover{color:#0c8c7e;background:#edf8f5}.legal-doc{padding:34px;border:1px solid #dce7e3;border-radius:24px;background:#fff;box-shadow:0 22px 60px rgba(7,27,22,.08)}.legal-notice{padding:18px;border:1px solid rgba(214,168,76,.28);border-radius:18px;background:#fff8e7}.legal-notice strong{color:#8a5f13}.legal-notice p{margin-top:7px;color:#5c4b28}.legal-doc section{padding-top:28px;margin-top:28px;border-top:1px solid #e6eeeb}.legal-doc h2{color:#071b16;font-size:22px;letter-spacing:-.5px}.legal-doc p{margin-top:10px;color:#52655f;font-size:13px;line-height:1.82}.legal-doc a{color:#0c8c7e;font-weight:900}.legal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:0 0 42px}.legal-footer a{padding:9px 12px;border:1px solid #dce7e3;border-radius:999px;background:#fff;color:#63746e;font-size:12px;font-weight:850}.legal-footer a:hover{color:#0c8c7e}
.welcome-open{overflow:hidden}.welcome-modal{position:fixed;z-index:10050;inset:0;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.25s}.welcome-modal.is-open{opacity:1;visibility:visible}.welcome-modal__backdrop{position:absolute;inset:0;background:rgba(3,15,12,.58);backdrop-filter:blur(7px)}.welcome-modal__card{position:relative;width:min(520px,100%);overflow:hidden;padding:34px;text-align:center;border:1px solid rgba(255,255,255,.18);border-radius:28px;color:#fff;background:radial-gradient(420px 240px at 50% -20%,rgba(120,227,211,.28),transparent 65%),linear-gradient(155deg,#071b16,#10251e);box-shadow:0 38px 100px rgba(0,0,0,.34);transform:translateY(18px) scale(.96);transition:.36s cubic-bezier(.16,1,.3,1)}.welcome-modal.is-open .welcome-modal__card{transform:none}.welcome-check{width:72px;height:72px;display:grid;place-items:center;margin:4px auto 18px;border-radius:24px;color:#071b16;background:#78e3d3;box-shadow:0 0 0 12px rgba(120,227,211,.12),0 18px 45px rgba(0,0,0,.2);animation:welcomePulse 1.8s ease-in-out infinite}.welcome-check svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:34;stroke-dashoffset:34;animation:feedbackDraw .7s .22s ease forwards}.welcome-kicker{color:#f1cf7f;font-size:10px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}.welcome-modal h2{margin-top:10px;font-size:30px;letter-spacing:-1px}.welcome-modal p{max-width:410px;margin:12px auto 0;color:rgba(255,255,255,.68);font-size:14px;line-height:1.7}.welcome-modal__actions{display:flex;justify-content:center;gap:10px;margin-top:26px}.welcome-modal__close{position:absolute;top:14px;inset-inline-end:14px;width:34px;height:34px;border:1px solid rgba(255,255,255,.14);border-radius:12px;color:#fff;background:rgba(255,255,255,.08);cursor:pointer;font-size:22px}.welcome-confetti i{position:absolute;width:8px;height:14px;border-radius:4px;background:#78e3d3;opacity:0;animation:confettiPop 1.4s .15s ease-out forwards}.welcome-confetti i:nth-child(1){top:18px;left:22%;background:#f1cf7f}.welcome-confetti i:nth-child(2){top:30px;right:22%;animation-delay:.25s}.welcome-confetti i:nth-child(3){top:72px;left:12%;background:#fff}.welcome-confetti i:nth-child(4){top:82px;right:13%;background:#f1cf7f;animation-delay:.32s}.welcome-confetti i:nth-child(5){bottom:35px;left:18%;animation-delay:.4s}.welcome-confetti i:nth-child(6){bottom:48px;right:18%;background:#fff;animation-delay:.48s}@keyframes welcomePulse{50%{box-shadow:0 0 0 18px rgba(120,227,211,.07),0 18px 45px rgba(0,0,0,.2)}}@keyframes confettiPop{0%{opacity:0;transform:translateY(20px) rotate(0)}25%{opacity:1}100%{opacity:0;transform:translateY(-48px) rotate(180deg)}}
/* Keep login icons centered, visible in both LTR/RTL, and explicit when the password is shown. */
.auth-card--glass .input-wrap .ic{z-index:1;top:50%;width:20px;height:20px;display:grid;place-items:center;transform:translateY(-50%);color:#647d75}.auth-card--glass .input-wrap .input{padding-inline-start:42px;padding-inline-end:48px}.auth-card--glass .eye{z-index:1;top:50%;transform:translateY(-50%);color:#647d75}.auth-card--glass .eye svg{width:18px;height:18px}.auth-card--glass .eye .eye-slash{display:none}.auth-card--glass .eye.is-active .eye-slash{display:block}
/* Definitive icon spacing: reserve room for the leading icon (start) and the
   eye/toggle (end) so typed text can never sit under either — LTR and RTL.
   !important ends the specificity/physical-vs-logical tug-of-war for good. */
.auth-card--glass .input-wrap .input,.auth-card--glass .input-wrap .erp-field{padding-inline-start:46px!important;padding-inline-end:48px!important;text-indent:0}
.auth-card--glass .input-wrap .ic{position:absolute;inset-inline-start:14px;inset-inline-end:auto}
.auth-card--glass .input-wrap .eye{position:absolute;inset-inline-end:8px;inset-inline-start:auto;cursor:pointer}
/* Focus clarity: the leading icon adopts the brand accent when its field is
   active, confirming it sits opposite the typed text. */
.auth-card--glass .input-wrap .ic{transition:color .16s ease}
.auth-card--glass .input-wrap:focus-within .ic{color:var(--accent,#0c8c7e)}
@media (prefers-reduced-motion: reduce){.auth-card--glass .input-wrap .ic{transition:none}}

/* ===========================================================================
   AUTH ↔ LANDING ALIGNMENT
   Same palette, motion curve and focus ring as the landing page, plus Apple's
   G2 continuous corners via `corner-shape: squircle` (the landing already uses
   it on buttons/badges). Structure and markup are untouched — surface only.
   Browsers without `corner-shape` simply keep the plain border-radius.
   =========================================================================== */
.auth--premium{
  --ink:#101614; --ink-soft:#35413d; --forest:#06271f; --green:#087a62;
  --mint:#c9f4e5; --mint-soft:#eaf9f3; --sun:#ffc85b; --fog:#f3f5f3;
  --line:#d7ddd9; --ease:cubic-bezier(.22,1,.36,1);
  background:var(--fog);
  /* Manrope is the landing typeface and is already loaded in base.html.
     Arabic has no Manrope glyphs, so it falls through to Cairo on its own. */
  font-family:"Manrope","Cairo",system-ui,-apple-system,"Segoe UI",sans-serif;
}
.auth--premium .auth__panel--premium{background:radial-gradient(520px 280px at 50% 0,rgba(201,244,229,.55),transparent 70%),var(--fog)}
.auth--premium .auth__brand--story{background:radial-gradient(520px 360px at 86% 10%,rgba(201,244,229,.18),transparent 62%),linear-gradient(150deg,var(--forest),#0c3a2e 74%)}
.auth--premium .auth-bg-shape--one{background:var(--mint)}
.auth--premium .auth-bg-shape--two{background:var(--sun)}

/* Squircle surfaces */
.auth--premium .auth-card--glass{border:1px solid var(--line);border-radius:28px;corner-shape:squircle;background:rgba(255,255,255,.9);box-shadow:0 26px 70px rgba(6,39,31,.12)}
.auth--premium .input,.auth--premium .erp-field{border-color:var(--line);border-radius:13px;corner-shape:squircle;color:var(--ink)}
.auth--premium .btn-auth,.auth--premium .pill,.auth--premium .auth-alert,
.auth--premium .consent-check,.auth--premium .auth-benefit-grid article,
.auth--premium .auth-progress div,.auth--premium .founder-mini-card,
.auth--premium .public-contact-links a{corner-shape:squircle}
.auth--premium .auth-kicker{color:var(--green)}
.auth--premium .auth-logo__tag,.auth--premium .founder-mini-card>span,
.auth--premium .auth-benefit-grid span{color:var(--sun)}

/* Primary action mirrors the landing CTA: ink by default, green on hover. */
.auth--premium .btn-auth{border-radius:13px;color:#fff;background:var(--ink);font-weight:800;
  box-shadow:0 12px 30px rgba(6,39,31,.22);transition:background-color .25s,transform .25s var(--ease)}
.auth--premium .btn-auth:hover{background:var(--green);transform:translateY(-2px)}
.auth--premium .btn-auth:active{transform:translateY(0)}

/* Landing focus language */
.auth--premium a:focus-visible,.auth--premium button:focus-visible,
.auth--premium .input:focus-visible,.auth--premium .erp-field:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.auth--premium .input:focus,.auth--premium .erp-field:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(8,122,98,.15)}
.auth--premium .input-wrap:focus-within .ic{color:var(--green)}
.auth--premium .pill.is-active{color:#fff;background:var(--green);border-color:var(--green)}
.auth--premium .auth-foot a,.auth--premium .consent-check a,
.auth--premium .auth-legal-links a:hover{color:var(--green)}
@media(max-width:980px){.auth--premium{grid-template-columns:1fr}.auth--premium .auth__brand{display:block;order:2;min-height:auto;padding:34px 24px}.auth--premium .auth__panel{order:1}.auth--premium .auth__hero{margin-top:42px}.auth--premium .auth__hero h2{max-width:100%;font-size:32px}.auth__panel--premium{padding:24px 14px 40px}.auth-card--glass{max-width:680px}.legal-body{grid-template-columns:1fr}.legal-toc{position:static;grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.auth-benefit-grid,.auth-form-grid{grid-template-columns:1fr}.auth-field--span{grid-column:auto}.auth-card--glass{padding:24px 18px;border-radius:22px}.founder-mini-card strong{font-size:23px}.legal-shell{width:min(100% - 28px,720px)}.legal-hero{padding-top:28px}.legal-hero h1{font-size:38px;letter-spacing:-1.4px}.legal-body{padding:32px 0}.legal-doc{padding:22px 17px;border-radius:18px}.legal-toc{grid-template-columns:1fr}.welcome-modal__card{padding:30px 18px}.welcome-modal__actions{display:grid}.welcome-modal__actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.auth-bg-shape,.welcome-check,.welcome-confetti i,.welcome-modal,.welcome-modal__card,.auth-card{animation:none!important;transition:none!important}}

/* Operational settings / lookup pages */
.sidebar-support-link{margin-top:8px;color:#d7f8f1!important;background:rgba(20,184,166,.08)!important;border-color:rgba(94,234,212,.13)!important}
.sidebar-support-link:hover{background:rgba(20,184,166,.16)!important}
.settings-shell{max-width:1180px;margin-inline:auto}
.settings-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px;padding:22px 24px;border:1px solid #dce7e3;border-radius:18px;background:linear-gradient(135deg,#ffffff 0%,#f4fbf9 58%,#fff8e6 100%);box-shadow:0 18px 48px rgba(12,37,31,.07)}
.settings-hero h1{font-size:28px;letter-spacing:-.7px;margin:0;color:#10251e}
.settings-hero p{margin-top:6px;color:#64766f;font-size:13px;line-height:1.5}
.settings-hero__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.settings-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 11px;border:1px solid #dce7e3;border-radius:999px;background:#fff;color:#52655f;font-size:11px;font-weight:850;white-space:nowrap}
.settings-chip svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.settings-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}
.settings-layout--wide{grid-template-columns:1fr}
.settings-panel{overflow:hidden;border:1px solid #dce7e3;border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(11,32,27,.07)}
.settings-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #e7efec;background:#fbfdfc}
.settings-panel__head h2{margin:0;color:#152f28;font-size:14px;letter-spacing:-.1px}
.settings-panel__head span{color:#7b8d87;font-size:11px;font-weight:750}
.settings-panel__body{padding:18px}
.settings-form{display:grid;gap:14px}
.settings-form .field{margin:0}
.settings-form .btn{width:100%;justify-content:center;min-height:44px}
.settings-list{display:grid}
.settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid #edf2f0}
.settings-row:last-child{border-bottom:0}
.settings-row:hover{background:#f7fbfa}
.settings-row__main{min-width:0;display:flex;align-items:center;gap:12px}
.settings-avatar{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:#e5f7f1;color:#08766b;font-size:13px;font-weight:950;text-transform:uppercase}
.settings-row__title{color:#162f28;font-size:13px;font-weight:850;overflow-wrap:anywhere}
.settings-row__sub{margin-top:2px;color:#7b8d87;font-size:11px;font-weight:650}
.settings-row__actions{display:flex;justify-content:flex-end;gap:8px;white-space:nowrap}
.settings-empty{padding:34px 18px;text-align:center;color:#7b8d87;font-size:13px}
.settings-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.settings-search{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 12px;border:1px solid #dce7e3;border-radius:13px;background:#fff}
.settings-search svg{width:17px;height:17px;color:#82938e;fill:none;stroke:currentColor;stroke-width:2.2}
.settings-search input{width:230px;min-height:0;height:auto;padding:0;border:0;background:transparent;outline:0;font-size:13px}
.settings-table-card table.data{table-layout:auto!important}
.settings-table-card table.data th:last-child,.settings-table-card table.data td:last-child{width:132px}
.settings-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.settings-stat{padding:14px 15px;border:1px solid #dce7e3;border-radius:15px;background:#fff;box-shadow:0 12px 30px rgba(11,32,27,.05)}
.settings-stat span{display:block;color:#7b8d87;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.settings-stat strong{display:block;margin-top:6px;color:#10251e;font-size:22px;letter-spacing:-.6px}
@media(max-width:960px){
  .settings-hero{align-items:flex-start;flex-direction:column;padding:19px}
  .settings-layout{grid-template-columns:1fr}
  .settings-toolbar{width:100%;justify-content:flex-start}
  .settings-search{width:100%}.settings-search input{width:100%}
}
@media(max-width:640px){
  .settings-shell{max-width:none}
  .settings-hero{border-radius:15px}.settings-hero h1{font-size:24px}
  .settings-panel{border-radius:14px}
  .settings-row{grid-template-columns:1fr;gap:10px;padding:14px}
  .settings-row__actions{justify-content:flex-start;white-space:normal}
  .settings-stat-grid{grid-template-columns:1fr}
}

/* Public contact links */
.auth-card--glass .public-contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}.auth-card--glass .public-contact-links a{padding:7px 10px;border:1px solid #dce7e3;border-radius:999px;color:#52655f;background:#fff;font-size:11px;font-weight:850}.auth-card--glass .public-contact-links a:hover{color:#0c8c7e;border-color:#bfe5dc;background:#edf8f5}.legal-contact-card .public-contact-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.legal-contact-card .public-contact-links a{padding:9px 12px;border:1px solid #dce7e3;border-radius:999px;background:#f8fbfa;color:#52655f;font-size:12px;font-weight:850}.legal-contact-card .public-contact-links a:hover{color:#0c8c7e;border-color:#bfe5dc;background:#edf8f5}
.bidi-ltr,.public-contact-links .phone-ltr{direction:ltr;unicode-bidi:isolate;display:inline-flex}

/* Phone-first operational shortcuts */
.mobile-taskbar{display:none}

@media(max-width:760px){
  .content{padding-bottom:88px}
  .quick-sale-fab{display:none!important}
  .mobile-taskbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:85;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:7px;border:1px solid rgba(16,35,29,.12);border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 16px 44px rgba(15,23,42,.18);backdrop-filter:blur(16px)}
  body.sidebar-open .mobile-taskbar{display:none}
  .mobile-taskbar a{min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:10px;color:#61726c;font-size:10.5px;font-weight:850;text-align:center}
  .mobile-taskbar a svg{width:19px;height:19px;flex:none}
  .mobile-taskbar a.is-active{color:var(--accent-ink);background:var(--accent-10)}
  .mobile-taskbar a span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  .card>.table-wrap>table.data,
  table.data:not(.no-card-table){min-width:0!important;border-collapse:separate;border-spacing:0 10px}
  table.data:not(.no-card-table) thead{display:none}
  table.data:not(.no-card-table) tbody{display:block;padding:8px}
  table.data:not(.no-card-table) tr{display:block;margin:0 0 10px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow-xs);overflow:hidden}
  table.data:not(.no-card-table) tbody td{display:grid;grid-template-columns:minmax(92px,.42fr) minmax(0,1fr);gap:10px;align-items:center;min-height:42px;padding:10px 12px!important;border-bottom:1px solid var(--border-soft);text-align:start!important;white-space:normal}
  table.data:not(.no-card-table) tbody td:last-child{border-bottom:0}
  table.data:not(.no-card-table) tbody td::before{content:attr(data-label);color:var(--text-soft);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
  table.data:not(.no-card-table) th:last-child,
  table.data:not(.no-card-table) td:has(.row-actions--icons){position:static!important;width:auto!important;background:transparent!important;box-shadow:none!important}
  table.data:not(.no-card-table) .row-actions{justify-content:flex-start}
  table.lines{min-width:680px}
}

/* ---- Touch devices: guarantee ≥44px tap targets (WCAG 2.5.5 / Apple HIG) ---
   Scoped to coarse pointers so the dense desktop UI is untouched by mouse. */
@media (pointer: coarse) {
  .btn, .icon-btn, .lang-switch__btn, .nav-link,
  .content form[method=get] .erp-field,
  .content form[method=get] input,
  .content form[method=get] select,
  .content form[method=get].flex.gap-2 > .btn { min-height: 44px; }
  /* Small icon-only controls: keep the visual size, expand the hit area. */
  .action-icon { min-height: 44px; min-width: 44px; }
  .btn--sm { min-height: 40px; }
  .icon-btn, .lang-switch__btn { min-width: 44px; }
}

/* ===========================================================================
   ANIMATED SIGN-IN GREETING (hello / welcome back)
   Brand identity: forest gradient, mint glow, Manrope, G2 squircle mark.
   iOS feel: spring overshoot on the mark, staggered text, soft dissolve out.
   =========================================================================== */
:root.hello-splash-open, :root.hello-splash-open body { overflow: hidden; }

.hello-splash{
  --forest:#06271f; --green:#087a62; --mint:#c9f4e5; --sun:#ffc85b;
  --spring:cubic-bezier(.2,.9,.24,1.02);
  position:fixed; inset:0; z-index:10060;
  display:grid; place-items:center; padding:24px;
  color:#fff; text-align:center;
  font-family:"Manrope","Cairo",system-ui,-apple-system,"Segoe UI",sans-serif;
  background:radial-gradient(680px 420px at 50% 18%,rgba(201,244,229,.16),transparent 66%),
             linear-gradient(158deg,var(--forest),#0c3a2e 78%);
  animation:helloIn .42s ease both;
}
.hello-splash.is-leaving{ animation:helloOut .6s var(--spring) both; }

.hello-splash__glow{
  position:absolute; width:min(60vmin,420px); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(201,244,229,.34),transparent 62%);
  filter:blur(18px); opacity:0; animation:helloGlow 2.4s var(--spring) .1s both;
}
.hello-splash__inner{ position:relative; display:grid; justify-items:center; gap:0; }

.hello-splash__mark{
  display:grid; place-items:center; width:96px; height:96px; margin-bottom:26px;
  border-radius:28px; corner-shape:squircle;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  box-shadow:0 22px 60px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.22);
  backdrop-filter:blur(8px);
  animation:helloMark .82s var(--spring) both;
}
.hello-splash__mark img{ width:54px; height:54px; }

.hello-splash__kicker{
  margin:0 0 10px; color:var(--sun);
  font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase;
  animation:helloRise .62s var(--spring) .16s both;
}
.hello-splash__title{
  margin:0; max-width:16ch;
  font-size:clamp(2rem,5.2vw,3.4rem); font-weight:800; line-height:1.08; letter-spacing:-.03em;
  animation:helloRise .68s var(--spring) .24s both;
}
.hello-splash__sub{
  margin:14px 0 0; color:rgba(255,255,255,.66); font-size:.95rem; font-weight:600;
  animation:helloRise .68s var(--spring) .34s both;
}
.hello-splash__bar{
  width:132px; height:3px; margin-top:34px; overflow:hidden;
  border-radius:999px; corner-shape:squircle; background:rgba(255,255,255,.14);
  animation:helloRise .6s var(--spring) .44s both;
}
.hello-splash__bar i{
  display:block; width:100%; height:100%; border-radius:inherit;
  background:linear-gradient(90deg,var(--green),var(--mint));
  transform-origin:left center; animation:helloBar 1.9s cubic-bezier(.5,.05,.2,1) .3s both;
}
html[dir="rtl"] .hello-splash__bar i{ transform-origin:right center; }

@keyframes helloIn{ from{opacity:0} to{opacity:1} }
@keyframes helloOut{ to{ opacity:0; transform:scale(1.045); filter:blur(6px); } }
@keyframes helloGlow{ 0%{opacity:0;transform:scale(.7)} 55%{opacity:1} 100%{opacity:.55;transform:scale(1.12)} }
@keyframes helloMark{ 0%{opacity:0;transform:scale(.62) translateY(16px)} 60%{opacity:1} 100%{opacity:1;transform:scale(1) translateY(0)} }
@keyframes helloRise{ from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes helloBar{ from{transform:scaleX(0)} to{transform:scaleX(1)} }

@media (prefers-reduced-motion: reduce){
  .hello-splash,.hello-splash *{ animation-duration:.01ms!important; animation-delay:0ms!important; }
  .hello-splash.is-leaving{ opacity:0; transition:opacity .12s linear; }
}

/* ===========================================================================
   DASHBOARD — G2 SQUIRCLE + PREMIUM PASS
   Apple-style continuous corners (`corner-shape: squircle`) applied to every
   rounded surface, plus consistent motion, focus and touch-target sizing.
   Brand identity unchanged — this is shape, rhythm and feedback only.
   Browsers without `corner-shape` keep the existing border-radius.
   =========================================================================== */
.app{
  --ease-ios:cubic-bezier(.32,.72,0,1);
  --dur:.22s;
}

/* ---- Squircle every rounded surface ---- */
.app .card,.app .form-card,.app .stat,.app .btn,.app .erp-field,.app .field,
.app input:not([type=checkbox]):not([type=radio]),.app select,.app textarea,
.app .badge,.app .nav-link,.app .nav__link,.app .table-wrap,.app .tbl-wrap,
.app .thumb,.app .avatar,.app .icon-btn,.app .search,.app .pill,
.app .sidebar-sale-cta,.app .user-card,.app .workflow-step,.app .alert,
.app .form-assist,.app .quick-sale-fab,.app .lang-switch__btn,
.app .lang-switch__menu,.app .toast,.app .confirm-sheet__card{corner-shape:squircle}

/* ---- Motion: one curve, one duration, everywhere ---- */
.app .btn,.app .nav-link,.app .nav__link,.app .icon-btn,.app .card,
.app .erp-field,.app input,.app select,.app textarea{
  transition:background-color var(--dur) var(--ease-ios),
             border-color var(--dur) var(--ease-ios),
             color var(--dur) var(--ease-ios),
             box-shadow var(--dur) var(--ease-ios),
             transform var(--dur) var(--ease-ios);
}
.app .btn:hover{transform:translateY(-1px)}
.app .btn:active{transform:translateY(0)}
.app .card:hover{box-shadow:0 10px 30px rgba(6,39,31,.07)}

/* ---- Accessibility: 44px touch targets + a single visible focus ring ---- */
.app .nav-link,.app .nav__link{min-height:44px}
.app .btn{min-height:40px}
.app .btn{
  border-radius:14px;corner-shape:squircle;font-weight:800;
  box-shadow:inset 0 1px rgba(255,255,255,.28),0 7px 18px rgba(6,39,31,.08);
}
.app .btn--primary{
  color:#fff;border-color:#087d67;
  background:linear-gradient(145deg,#0fa987,#087a65);
  box-shadow:inset 0 1px rgba(255,255,255,.26),0 9px 22px rgba(8,126,103,.24);
}
.app .btn--primary:hover{background:linear-gradient(145deg,#0c987b,#066b59)}
.app .btn--ghost{color:#163c32;background:linear-gradient(180deg,#fff,#f7faf9);border-color:#ccddd7}
.app .btn--danger{background:linear-gradient(145deg,#e6555d,#c93440);border-color:#bd2d38}
.app .btn--sm{border-radius:12px}
.app .icon-btn{min-width:40px;min-height:40px}
.app a:focus-visible,.app button:focus-visible,.app summary:focus-visible,
.app input:focus-visible,.app select:focus-visible,.app textarea:focus-visible,
.app [tabindex]:focus-visible{
  outline:3px solid var(--accent,#0ea371); outline-offset:2px; border-radius:inherit;
}
/* Sidebar sits on a dark surface — use a light ring so it stays visible. */
.app .sidebar a:focus-visible,.app .sidebar button:focus-visible,
.app .sidebar summary:focus-visible{outline:3px solid #ffc85b; outline-offset:2px}

/* ---- Table comfort: roomier rows, sticky header, no cramped numbers ---- */
.app table.data thead th{position:sticky;top:0;z-index:2;backdrop-filter:blur(6px)}
.app table.data tbody td{padding-block:14px}
.app .table-wrap,.app .tbl-wrap{scrollbar-width:thin}

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