/* LOO PAY Design System R1 — centralized visual layer */
:root{
  color-scheme:dark;
  --bg:#0b0f14;
  --bg-elevated:#10161e;
  --surface:#151c25;
  --surface-raised:#1b2430;
  --surface-soft:#111821;
  --surface-hover:#202b38;
  --line:#2a3543;
  --line-strong:#3b4a5d;
  --text:#eef3f9;
  --text-soft:#c3cedb;
  --muted:#8f9daf;
  --accent:#f0b33c;
  --accent-hi:#ffd16d;
  --accent-low:#9d6812;
  --success:#55c994;
  --success-bg:#123226;
  --danger:#ff7777;
  --danger-bg:#3a1d21;
  --warning:#f1c15d;
  --warning-bg:#302817;
  --info:#7eb8ff;
  --shadow-sm:0 2px 8px rgba(0,0,0,.24);
  --shadow-md:0 12px 32px rgba(0,0,0,.32);
  --shadow-lg:0 24px 70px rgba(0,0,0,.48);
  --radius-sm:9px;
  --radius-md:13px;
  --radius-lg:18px;
  --control-h:42px;
  --sidebar-w:264px;
  --topbar-h:78px;
  --focus:0 0 0 3px rgba(240,179,60,.18);
}
html{background:var(--bg);scrollbar-color:#3b4655 #111720}
body{min-width:320px;background:radial-gradient(circle at 75% -10%,rgba(61,78,100,.18),transparent 28rem),var(--bg);color:var(--text);font-feature-settings:"tnum" 1,"cv02" 1;line-height:1.45}
::selection{background:rgba(240,179,60,.28);color:#fff}
button,input,select,textarea{font:inherit}
button{min-height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:linear-gradient(180deg,#2a3543 0%,#222b36 100%);color:var(--text);padding:9px 14px;font-weight:650;box-shadow:inset 0 1px rgba(255,255,255,.06),0 2px 0 rgba(0,0,0,.32);transition:background .15s,border-color .15s,transform .08s,box-shadow .15s,color .15s;cursor:pointer}
button:hover:not(:disabled){background:linear-gradient(180deg,#344153 0%,#293442 100%);border-color:#53647a}
button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px 4px rgba(0,0,0,.3)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;border-color:var(--accent);box-shadow:var(--focus)}
button:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.65)}
button.primary,.primary{background:linear-gradient(180deg,var(--accent-hi) 0%,var(--accent) 58%,#d89a27 100%);border-color:#d49a2c;color:#231a08;font-weight:850;box-shadow:inset 0 1px rgba(255,255,255,.6),0 3px 0 var(--accent-low),0 8px 18px rgba(0,0,0,.24)}
button.primary:hover:not(:disabled),.primary:hover:not(:disabled){background:linear-gradient(180deg,#ffdc85 0%,#f4b83f 60%,#dfa029 100%);border-color:#e0a536}
button.danger,.danger{background:linear-gradient(180deg,#6e3036,#512328);border-color:#854149;color:#ffd7d7;box-shadow:inset 0 1px rgba(255,255,255,.05),0 2px 0 #2b1114}
button.secondary,.secondary{background:linear-gradient(180deg,#273341,#202936);border-color:#3a4a5e}
.link-btn{min-height:34px;padding:5px 8px;background:transparent;border-color:transparent;box-shadow:none;color:#b5c2d2;font-weight:650}
.link-btn:hover:not(:disabled){background:rgba(255,255,255,.04);border-color:var(--line);color:#fff}
input,select,textarea{min-height:var(--control-h);background:#0d131a;color:var(--text);border:1px solid #344153;border-radius:var(--radius-sm);padding:9px 12px;outline:none;box-shadow:inset 0 1px 3px rgba(0,0,0,.24);transition:border-color .15s,box-shadow .15s,background .15s}
input:hover,select:hover,textarea:hover{border-color:#435268}
input:focus,select:focus,textarea:focus{background:#0f1620;border-color:var(--accent);box-shadow:var(--focus),inset 0 1px 3px rgba(0,0,0,.24)}
textarea{resize:vertical;min-height:86px}
label{gap:7px;margin:10px 0;color:var(--text-soft);font-size:13px;font-weight:650}
small,.muted{color:var(--muted)}

/* App shell */
#app{grid-template-columns:var(--sidebar-w) minmax(0,1fr);background:transparent}
.sidebar{width:var(--sidebar-w);padding:15px 12px 12px;background:linear-gradient(180deg,#101720 0%,#0d131a 100%);border-right:1px solid #263240;box-shadow:8px 0 28px rgba(0,0,0,.11);z-index:30}
.brand{display:flex;align-items:center;gap:8px;padding:8px 10px 16px;font-size:22px;letter-spacing:.035em;color:#fff}
.brand:before{content:"L";display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--accent-hi),#d8921e);color:#231a08;font-size:19px;font-weight:950;box-shadow:inset 0 1px rgba(255,255,255,.6),0 3px 0 #7e5510}
.brand small{margin-left:auto;color:#d9af59;background:#241e13;border-color:#5a4827;font-size:10px;letter-spacing:.08em}
#nav{gap:4px;padding-right:2px;scrollbar-width:thin}
#nav button{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:43px;padding:8px 10px;text-align:left;color:#aebac9;border:1px solid transparent;border-radius:10px;background:transparent;box-shadow:none;font-weight:650}
#nav button:hover{background:#18212c;border-color:#253242;color:#eef3fa}
#nav button.active{background:linear-gradient(180deg,#273442,#202b37);border-color:#3b4b5e;color:#fff;box-shadow:inset 3px 0 var(--accent),inset 0 1px rgba(255,255,255,.05),0 5px 14px rgba(0,0,0,.18)}
.nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#17202a;border:1px solid #293646;color:#cbd5e1;font-size:15px;line-height:1}
#nav button.active .nav-icon{background:#332917;border-color:#705a2c;color:var(--accent-hi)}
.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#nav button.nav-break{margin-top:7px;padding-top:10px;border-top-color:#25313f}
.sidebar-foot{padding:12px 8px 2px;gap:10px;color:var(--text-soft);font-size:13px}
.workspace{min-height:100vh}
.topbar{min-height:var(--topbar-h);padding:13px 22px;background:rgba(13,19,26,.88);border-bottom:1px solid #293542;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 5px 22px rgba(0,0,0,.12)}
.topbar h1{font-size:24px;line-height:1.12;letter-spacing:-.02em}
#pageSub{font-size:12px;margin-top:5px;max-width:700px}
.top-actions{gap:7px}
.top-actions select,.top-actions button{min-height:38px;height:38px;padding:7px 10px}
.top-actions select{min-width:130px;background-color:#111923}
#langSelect{min-width:76px}
#refreshBtn{background:linear-gradient(180deg,#232e3b,#1c2632)}
.content{width:100%;max-width:1760px;margin:0 auto;padding:20px 22px 36px}

/* Surfaces */
.card,.panel,.metric{background:linear-gradient(180deg,rgba(24,32,42,.98),rgba(19,26,35,.98));border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.panel{padding:16px;margin-top:14px}
.panel:hover{border-color:#324154}
.panel-head{min-height:38px;margin-bottom:12px}
.panel h2{font-size:16px;letter-spacing:-.01em}
.grid{gap:12px}
.grid.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.metric{position:relative;overflow:hidden;padding:16px;min-height:104px}
.metric:after{content:"";position:absolute;inset:auto -15% -55% auto;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.045),transparent 68%);pointer-events:none}
.metric .k{font-size:12px;text-transform:uppercase;letter-spacing:.035em;color:var(--muted)}
.metric .v{font-size:27px;line-height:1.08;letter-spacing:-.035em;color:#f6f8fb}
.success{background:var(--success-bg);border-color:#296146;color:#a7e8c8}
.error{color:#ffaaaa}
.error-card{border-color:#65363a}
.empty{padding:34px 18px;color:#8190a3}

/* Tables */
.table-wrap,.table-scroll{overflow:auto;border:1px solid #26313e;border-radius:11px;background:#111820}
table{font-size:13px;border-collapse:separate;border-spacing:0}
th,td{padding:10px 9px;border-bottom:1px solid #25303c}
th{top:0;z-index:2;background:#151d26;color:#94a4b7;font-size:11px;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:#19232e}
td button{min-height:32px}
.right{font-variant-numeric:tabular-nums}
.pill{padding:3px 8px;background:#121a23;border-color:#394858;color:#c6d1dd;font-weight:700}
.pill.good{background:#122a21;border-color:#2b6a4e;color:#91e0b7}
.pill.bad{background:#30191d;border-color:#754047;color:#ffaaaa}

/* Toolbars/forms */
.toolbar{align-items:center;gap:7px}
.toolbar input{width:min(320px,100%)}
.form-grid{gap:9px 11px}
.two{gap:12px}
.check{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}
.check input[type="checkbox"]{width:18px;height:18px;min-height:18px;accent-color:var(--accent)}

/* Modals */
.modal-back{background:rgba(3,6,10,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:18px;animation:dsFade .14s ease-out}
.modal{width:min(820px,100%);padding:0;background:linear-gradient(180deg,#1a222d,#141b24);border:1px solid #405064;border-radius:18px;box-shadow:var(--shadow-lg);animation:dsLift .16s ease-out}
.modal-header{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;background:rgba(24,32,42,.96);border-bottom:1px solid #2b3745;backdrop-filter:blur(10px)}
.modal-header h2{margin:0;font-size:18px}
.modal-close{width:36px;min-height:36px;height:36px;padding:0;border-radius:9px;font-size:19px;line-height:1;background:#202a36}
.modal-body{padding:15px 17px 4px}
.modal-actions{position:sticky;bottom:0;z-index:3;margin-top:12px;padding:12px 17px 15px;background:rgba(20,27,36,.96);border-top:1px solid #2b3745;backdrop-filter:blur(10px)}
.modal-actions button{min-width:104px}
@keyframes dsFade{from{opacity:0}to{opacity:1}}@keyframes dsLift{from{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}

/* Toasts and loading */
.toast-stack{position:fixed;right:18px;bottom:18px;z-index:220;display:grid;gap:8px;width:min(390px,calc(100vw - 28px));pointer-events:none}
.app-toast{display:grid;grid-template-columns:7px minmax(0,1fr);gap:10px;align-items:center;padding:11px 13px;border:1px solid #32654f;border-radius:11px;background:#142b22;color:#d9f5e8;box-shadow:var(--shadow-md);animation:dsToast .18s ease-out;pointer-events:auto}
.app-toast:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(85,201,148,.1)}
.app-toast.bad{background:#331d21;border-color:#724047;color:#ffd4d4}.app-toast.bad:before{background:var(--danger);box-shadow:0 0 0 4px rgba(255,119,119,.1)}
@keyframes dsToast{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.loading-state{padding:26px;display:grid;gap:10px}.loading-bar{height:11px;border-radius:999px;background:linear-gradient(90deg,#1a2430 25%,#263342 42%,#1a2430 60%);background-size:220% 100%;animation:dsShimmer 1.25s infinite}.loading-bar:nth-child(1){width:42%}.loading-bar:nth-child(2){width:88%}.loading-bar:nth-child(3){width:68%}@keyframes dsShimmer{to{background-position:-220% 0}}

/* Login */
.center{background:radial-gradient(circle at 50% 10%,rgba(240,179,60,.08),transparent 28rem),var(--bg)}
.login{width:min(430px,100%);padding:27px;border-radius:20px}.login h1{margin:0;font-size:30px;letter-spacing:.035em}.login h1:before{content:"L";display:grid;place-items:center;width:48px;height:48px;margin-bottom:16px;border-radius:13px;background:linear-gradient(145deg,var(--accent-hi),#d8921e);color:#231a08;font-size:26px;box-shadow:inset 0 1px rgba(255,255,255,.65),0 4px 0 #805710}.login .primary{width:100%;margin-top:7px}

/* POS */
.sale-layout{grid-template-columns:minmax(0,1.52fr) minmax(390px,.72fr);gap:14px;align-items:start}
.sale-catalog-panel,.sale-cart-panel{border-color:#303e4e}
.sale-search-row{grid-template-columns:minmax(220px,1fr) 42px auto}.sale-search{height:48px;font-size:16px;padding:12px 14px;background:#0b1118;border-color:#425168}
.category-chips{gap:6px}.category-chips button{min-height:34px;padding:6px 11px;background:#18222d;border-color:#2b3949;box-shadow:none;font-size:12px}.category-chips button.active{background:#3a301d;border-color:#84692f;color:#ffda83;box-shadow:inset 0 1px rgba(255,255,255,.08)}
.catalog{gap:9px;max-height:calc(100vh - 270px);padding:1px 3px 8px 1px;scrollbar-width:thin}
.product-card{min-height:162px;padding:10px;background:linear-gradient(180deg,#1a2430,#151e28);border-color:#2b3949;border-radius:12px;box-shadow:0 2px 0 rgba(0,0,0,.22);transition:transform .1s,border-color .15s,background .15s,box-shadow .15s}
.product-card:hover{transform:translateY(-1px);background:linear-gradient(180deg,#202c39,#19232e);border-color:#52657d;box-shadow:0 7px 18px rgba(0,0,0,.22)}
.product-card:active{transform:translateY(1px)}
.product-card img{height:112px;background:#0b1016;border:1px solid #25313e}.product-card .price{color:var(--accent-hi);font-size:19px}.product-card.out{filter:saturate(.6);opacity:.56}.product-card .gift-add{min-height:31px;height:31px;box-shadow:0 2px 0 #1c1307}
.sale-cart-panel{top:calc(var(--topbar-h) + 12px);max-height:calc(100vh - var(--topbar-h) - 26px);box-shadow:var(--shadow-md)}
.cart-row{border-bottom-color:#283442}.sale-summary{border-top-color:#354355}.sale-total-line{padding-top:11px!important;font-size:25px}.sale-total-line b{color:var(--accent-hi)}
.payment-tabs{padding:4px;border:1px solid #2b3848;border-radius:11px;background:#101720;gap:4px}.payment-tabs button{min-height:38px;border-color:transparent;background:transparent;box-shadow:none}.payment-tabs button.active{background:linear-gradient(180deg,#354557,#293647);border-color:#536982;box-shadow:inset 0 1px rgba(255,255,255,.08),0 2px 4px rgba(0,0,0,.2)}
.payment-summary{background:#101720;border-color:#2c3948}.sale-post{min-height:50px;font-size:17px}.sale-rule-hint{border-color:#544525;background:#211c12}.sale-rule-hint.ready{border-color:#2e664b;background:#12271d}

/* Dashboard and attention */
.dashboard-caption,.report-period{padding:2px 1px}.owner-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.report-metric{min-height:116px;text-align:left;background:linear-gradient(180deg,#19222c,#141c25);border-color:#2a3746;box-shadow:var(--shadow-sm)}.report-metric:hover{transform:translateY(-2px);border-color:#4e6178;box-shadow:0 10px 24px rgba(0,0,0,.22)}.report-metric .v{font-size:27px}.metric-open{right:12px;top:11px}.attention-panel{border-color:#3a4655}.attention-group{background:#101720;border-color:#293645}.attention-group h3{background:#141c25}.attention-row{min-height:48px;box-shadow:none}.attention-row:hover{background:#18232e}.report-scope-note,.formula-box,.return-note,.fiscal-warning{background:#101720;border-color:#2b3948}

/* Fiscal/debug */
.json-box{background:#0a1016;border-color:#293747;color:#c7d4e2}

/* Responsive */
@media(max-width:1120px){:root{--sidebar-w:78px}.sidebar{padding:12px 8px}.brand{justify-content:center;padding:7px 0 15px;font-size:0}.brand:before{margin:0}.brand small{display:none}#nav button{grid-template-columns:1fr;justify-items:center;padding:7px 5px}.nav-label{display:none}.nav-icon{width:32px;height:32px}.sidebar-foot span{display:none}.sidebar-foot{justify-content:center}.sale-layout{grid-template-columns:minmax(0,1fr) 390px}.content{padding-inline:16px}}
@media(max-width:900px){:root{--sidebar-w:68px}.topbar{padding:10px 13px}.content{padding:12px 12px 30px}.sale-layout,.two{grid-template-columns:1fr}.sale-cart-panel{position:static;max-height:none}.catalog{max-height:56vh}.owner-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){:root{--topbar-h:66px}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:66px;padding:5px 4px;background:rgba(13,19,26,.97);border:0;border-top:1px solid #2a3644;box-shadow:0 -8px 28px rgba(0,0,0,.24);backdrop-filter:blur(12px)}.brand,.sidebar-foot{display:none}#nav{display:flex;gap:2px;overflow-x:auto;padding:0 1px;scrollbar-width:none}#nav::-webkit-scrollbar{display:none}#nav button{flex:0 0 66px;display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:54px;padding:3px 4px;border-radius:9px;font-size:10px}#nav button.nav-break{margin-top:0;padding-top:3px;border-top-color:transparent}.nav-icon{width:27px;height:25px;border:0;background:transparent;font-size:15px}.nav-label{display:block;max-width:62px;font-size:9px;line-height:1.05;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#nav button.active{box-shadow:inset 0 -3px var(--accent);background:#202b37}.workspace{padding-bottom:68px}.topbar{min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto;padding:9px 10px}.topbar h1{font-size:19px}.topbar #pageSub{display:none}.top-actions{gap:5px}.top-actions select,.top-actions button{height:36px;min-height:36px}.top-actions #langSelect{display:none}.top-actions #locationSelect{max-width:122px;min-width:92px}.content{padding:10px 9px 24px}.panel{padding:12px;border-radius:12px}.grid.cards,.owner-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric,.report-metric{min-height:92px;padding:12px}.metric .v,.report-metric .v{font-size:20px}.sale-search-row{grid-template-columns:minmax(0,1fr) 40px}.sale-search-row #newClient{grid-column:1/-1}.sale-search{height:44px}.catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:none}.product-card{min-height:139px;padding:8px}.product-card img{height:88px}.payment-tabs{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.toolbar input{width:100%}.modal-back{padding:0;align-items:end}.modal{width:100%;max-height:94vh;border-radius:18px 18px 0 0;border-bottom:0}.modal-header{padding:13px 14px}.modal-body{padding:12px 14px 3px}.modal-actions{padding:10px 14px 14px}.attention-grid{grid-template-columns:1fr}.toast-stack{right:8px;bottom:76px;width:calc(100vw - 16px)}}
@media(max-width:420px){.grid.cards,.owner-cards{grid-template-columns:1fr}.top-actions #refreshBtn{width:38px;overflow:hidden;color:transparent;padding:0;position:relative}.top-actions #refreshBtn:after{content:"↻";position:absolute;inset:0;display:grid;place-items:center;color:var(--text);font-size:18px}.sale-cart-row{grid-template-columns:minmax(0,1fr) 60px 70px 32px}.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card .price{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
/* Neutralize legacy compact-nav pseudo icon now that navigation has explicit icon elements. */
#nav button:before{content:none!important;display:none!important}


/* RC1 cash shift */
.cash-shift-bar{margin-bottom:14px}.cash-shift-list{display:grid;gap:8px}.cash-shift-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line,rgba(255,255,255,.1));border-radius:12px;background:var(--surface-2,rgba(255,255,255,.035))}.cash-shift-item span{display:flex;flex-direction:column;gap:3px}.cash-shift-item small{opacity:.72}.cash-shift-item.active{box-shadow:inset 3px 0 0 rgba(84,211,145,.8)}
@media(max-width:700px){.cash-shift-item{align-items:stretch;flex-direction:column}.cash-shift-item button{width:100%}}


/* Reality Polish R1 — calmer owner overview */
.dashboard-hero{margin-bottom:14px;padding:2px 2px 8px;border-bottom:1px solid rgba(255,255,255,.06)}
.dashboard-hero>div{display:grid;gap:2px}.dashboard-hero .eyebrow,.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7f90a5;font-weight:800}.dashboard-hero b{font-size:17px;color:#e7edf5}.dashboard-section{margin:0 0 15px}.section-label{margin:0 0 8px 2px}
.owner-primary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.owner-primary-grid .report-metric{min-height:105px}.owner-primary-grid .report-metric.primary .v{font-size:25px}.owner-primary-grid .report-metric.primary:nth-child(3) .v{color:#dff6e8}
.dashboard-state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.state-metric{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;text-align:left;padding:11px 13px;background:#121a23;border:1px solid #273544;border-radius:11px;box-shadow:none}.state-metric:hover{background:#17212c;border-color:#42546a}.state-metric span{display:grid;gap:3px}.state-metric small{font-size:11px;text-transform:uppercase;letter-spacing:.045em;color:#8393a7}.state-metric b{font-size:18px;color:#edf2f8}.state-metric em{font-style:normal;font-size:11px;color:#8393a7;text-align:right}.state-metric i{position:absolute;right:9px;top:7px;font-style:normal;color:#68788d;font-size:11px}
.attention-priority{margin-top:15px}.attention-summary{display:flex;flex-wrap:wrap;gap:7px;margin:-2px 0 11px}.attention-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:5px 9px;border:1px solid #3b3427;border-radius:999px;background:#201b13;color:#d4bf91;font-size:11px;font-weight:700}.attention-chip b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#4e3d20;color:#ffe1a0}.attention-chip.good{border-color:#285b45;background:#12251d;color:#9bd9b9}
.priority-list{display:grid;border:1px solid #293645;border-radius:11px;overflow:hidden;background:#101720}.priority-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid #25313e;border-radius:0;background:transparent;box-shadow:none;min-height:54px}.priority-row:last-child{border-bottom:0}.priority-row:hover{background:#18232e}.priority-row span{display:grid;gap:3px;min-width:0}.priority-row span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e6edf5}.priority-row span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8495a9}.priority-row em{font-style:normal;font-weight:800;color:#c6d1dd;white-space:nowrap}.priority-row.danger-row{box-shadow:inset 3px 0 #b85a60}.priority-row.danger-row em{color:#ffaaaa}.priority-row.warning-row{box-shadow:inset 3px 0 #c39343}.priority-row.warning-row em{color:#ffd37a}.row-overdue td{background:rgba(112,42,48,.12)}
@media(max-width:1180px){.owner-primary-grid,.dashboard-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dashboard-hero{display:grid;gap:5px}.owner-primary-grid,.dashboard-state-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.state-metric{min-height:64px;padding:9px 10px}.state-metric b{font-size:16px}.attention-priority .panel-head{align-items:flex-start}.priority-row{padding:9px 10px}.priority-row em{font-size:12px}}
@media(max-width:420px){.owner-primary-grid,.dashboard-state-grid{grid-template-columns:1fr 1fr}.owner-primary-grid .report-metric{min-height:90px}.owner-primary-grid .report-metric.primary .v{font-size:20px}}

/* Two-Layer UX R1 — simple outside, deep inside */
.detail-mode-toggle{display:inline-flex;align-items:center;gap:7px;min-width:118px;justify-content:center;background:linear-gradient(180deg,#202a35,#18212b);border-color:#334153;color:#d5deea}
.detail-mode-toggle.active{background:linear-gradient(180deg,#3b3120,#2b2518);border-color:#735b2b;color:var(--accent-hi);box-shadow:inset 0 1px rgba(255,255,255,.06),0 2px 0 #15110a}
.detail-mode-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:rgba(255,255,255,.06);font-weight:900}
.section-tabs{display:flex;gap:5px;margin:0 0 12px;padding:4px;width:max-content;max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#101720}
.section-tabs button{min-height:36px;padding:7px 14px;background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}
.section-tabs button.active{background:linear-gradient(180deg,#344253,#283544);border-color:#46576c;color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.06)}
.simple-action-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 13px}
.simple-action-bar button{min-width:130px}
.simple-status-line{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.simple-status-line>span{display:inline-flex;align-items:baseline;gap:6px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#111820;color:var(--text-soft)}
.simple-status-line b{color:#fff;font-size:16px}
.warn-text b{color:var(--warning)}
.money-simple-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin-bottom:12px}
.direction-card{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label icon" "value icon" "hint icon";gap:2px 8px;min-height:105px;text-align:left;padding:14px 15px;border-radius:13px;background:linear-gradient(180deg,#1b2531,#151d26);border-color:#2c3948}
.direction-card small{grid-area:label;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.035em}
.direction-card b{grid-area:value;font-size:24px;line-height:1.15;color:#f6f8fb;letter-spacing:-.025em}
.direction-card span{grid-area:hint;color:#94a3b5;font-size:12px}
.direction-card:after{content:"›";grid-area:icon;align-self:center;color:#617287;font-size:28px;font-weight:400}
.direction-card:hover{border-color:#46566b}
.expert-card,.expert-panel{position:relative}
.expert-panel:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--accent),transparent 85%);opacity:.55}
.expert-action{border-color:#6a552b;background:linear-gradient(180deg,#332b1e,#282219);color:#f4ca71}
.simple-payment-panel{margin-top:12px}
.simple-payment-panel h3{margin-top:0}
.client-simple-metrics{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.simple-help{max-width:650px}
.simple-owner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:980px){.money-simple-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.simple-owner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.detail-mode-toggle{min-width:42px;width:42px;padding:0}.detail-mode-toggle span:last-child{display:none}.detail-mode-icon{background:transparent}.section-tabs{width:100%}.section-tabs button{flex:1}.simple-action-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.simple-action-bar button{min-width:0}.money-simple-grid{grid-template-columns:1fr 1fr}.direction-card{min-height:92px;padding:11px}.direction-card b{font-size:19px}.simple-owner-grid{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.money-simple-grid{grid-template-columns:1fr}.simple-action-bar{grid-template-columns:1fr 1fr}}

/* POS layout R2: fit the receipt to the available width and keep checkout accessible. */
.sale-layout{grid-template-columns:minmax(0,1fr) minmax(440px,0.72fr);align-items:stretch;min-width:0}
.sale-layout>div,.sale-layout .panel{min-width:0}
.sale-catalog-panel{min-width:0;overflow:hidden}
.sale-cart-panel{position:sticky;align-self:start;top:calc(var(--topbar-h) + 10px);height:calc(100dvh - var(--topbar-h) - 24px);max-height:none;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:12px 13px}
.sale-cart-panel>.panel-head{flex:none;margin-bottom:4px}
.sale-cart-items{flex:1 1 auto;min-height:76px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;overscroll-behavior:contain}
.sale-cart-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(50px,65px) minmax(46px,70px) minmax(64px,82px) 30px;gap:5px;min-width:0;align-items:center}
.sale-cart-row>*{min-width:0;max-width:100%}
.sale-cart-row input,.sale-cart-row select{padding:8px 4px;text-align:center}
.sale-cart-row button{padding:7px 0}
.sale-cart-row .cart-name{overflow:hidden}
.sale-checkout{flex:none;min-width:0;max-height:min(68%,580px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;border-top:1px solid #334051}
.sale-checkout .sale-summary{margin-top:0;border:0;padding:5px 0 0}
.sale-total-line{font-size:21px;padding:6px 0!important}
.sale-client-row{grid-template-columns:minmax(0,1fr) 38px 38px;gap:5px}
.sale-client-row label{min-width:0;margin:4px 0}
.sale-client-row select{min-width:0}
.sale-client-row button{height:38px;padding:6px 4px}
.sale-discount-row label{margin:4px 0}
.sale-discount-row input{height:36px}
.sale-discount-row button{margin-bottom:4px}
.payment-tabs{margin:6px 0 2px}
.sale-payment-fields label{margin:3px 0}
.sale-payment-fields input{height:36px}
.sale-note-disclosure{margin:4px 0;color:var(--muted);font-size:12px}
.sale-note-disclosure summary{cursor:pointer;padding:3px 0}
.sale-note-disclosure label{margin:4px 0}
.payment-summary{margin:5px 0;padding:5px 8px}
.payment-summary>div{padding:2px 0}
.sale-post{flex:none;margin-top:7px;min-height:49px}
.catalog{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));max-height:calc(100dvh - var(--topbar-h) - 208px);overflow-x:hidden}
.product-card{min-width:0;min-height:124px;padding:9px}
.product-card img{height:74px}
.product-card .price{font-size:17px;margin-top:4px}
.category-chips{overflow-x:auto;overflow-y:hidden}
@media(max-width:1350px) and (min-width:901px){.sale-layout{grid-template-columns:minmax(0,1fr) minmax(410px,0.8fr)}.sale-cart-row{grid-template-columns:minmax(0,1fr) 57px 52px 70px 28px}.catalog{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}
@media(max-width:900px){.sale-layout{grid-template-columns:minmax(0,1fr)}.sale-cart-panel{position:static;height:auto;max-height:none;overflow:visible}.sale-cart-items{max-height:260px;flex:none;overflow-y:auto}.sale-checkout{max-height:none;overflow:visible}.catalog{max-height:46vh}.sale-cart-row{grid-template-columns:minmax(0,1fr) 62px 62px 77px 30px}}
@media(max-width:620px){.sale-cart-row{grid-template-columns:minmax(0,1fr) 58px 64px 28px}.sale-cart-row [data-unit],.sale-cart-row .unit-static{grid-column:1/2}.sale-cart-row [data-pr]{grid-column:3/4;grid-row:1/2}.sale-client-row{grid-template-columns:minmax(0,1fr) 38px 38px}.sale-search-row{grid-template-columns:minmax(0,1fr) 40px}.catalog{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}}

/* POS R3 — compact store list, not marketplace tiles. Scope all styles to the sale catalog. */
.sale-catalog-panel .catalog{display:block;overflow-x:hidden;overflow-y:auto;max-height:calc(100dvh - var(--topbar-h,88px) - 245px);border:1px solid #2c3948;border-radius:8px}
.sale-catalog-panel .pos-list-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,125px) minmax(90px,120px) auto;align-items:center;gap:12px;min-height:46px;padding:7px 12px;border-bottom:1px solid #293443;background:#151e28;cursor:pointer}
.sale-catalog-panel .pos-list-row:last-child{border-bottom:0}
.sale-catalog-panel .pos-list-row:hover,.sale-catalog-panel .pos-list-row:focus-visible{background:#263343;outline:2px solid #d6a641;outline-offset:-2px}
.sale-catalog-panel .pos-list-row.out{opacity:.55}
.sale-catalog-panel .pos-list-name{min-width:0;line-height:1.25}
.sale-catalog-panel .pos-list-name b{display:block;font-size:14px;font-weight:650;overflow-wrap:anywhere}
.sale-catalog-panel .pos-list-meta{display:block;margin-top:3px;font-size:11px;color:#8d9db2}
.sale-catalog-panel .pos-list-stock{font-size:12px;color:#a8b7c9;text-align:right;white-space:nowrap}
.sale-catalog-panel .pos-list-price{font-size:15px;color:#ffd06e;text-align:right;white-space:nowrap}
.sale-catalog-panel .pos-list-gift{padding:5px 7px;font-size:11px}
.sale-catalog-panel .category-chips{padding:7px 0;gap:5px}
.sale-catalog-panel .category-chips button{padding:5px 9px;font-size:12px}
.sale-catalog-panel .sale-hint{font-size:11px;margin-top:3px}
.sale-catalog-panel .catalog-state{min-height:17px;padding-bottom:4px}
@media(max-width:1190px){.sale-catalog-panel .pos-list-row{grid-template-columns:minmax(0,1fr) 85px 90px auto;gap:7px;padding:7px 9px}}
@media(max-width:900px){.sale-catalog-panel .catalog{max-height:42vh}}
@media(max-width:620px){.sale-catalog-panel .pos-list-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.sale-catalog-panel .pos-list-stock{grid-column:1;grid-row:2;text-align:left}.sale-catalog-panel .pos-list-price{grid-column:2;grid-row:1/3}.sale-catalog-panel .pos-list-gift{grid-column:1/-1}}

/* Legacy POS parity R4: classic 1.7/1.3 catalogue + receipt, payment on demand. */
@media(min-width:901px){
  .sale-layout{grid-template-columns:minmax(0,1.7fr) minmax(410px,1.3fr)}
  .sale-cart-panel{position:sticky;top:calc(var(--topbar-h) + 10px)}
  .sale-cart-items{flex:1 1 auto;min-height:110px}
}
.sale-payment-disclosure{display:block;flex:none;min-width:0;border-top:1px solid var(--line-strong);margin-top:6px}
.sale-payment-trigger{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:49px;padding:9px 12px;border-radius:var(--radius-sm);background:var(--accent);color:#231a08;font-weight:850;cursor:pointer}
.sale-payment-trigger::-webkit-details-marker{display:none}
.sale-payment-trigger::before{content:'›';font-size:22px;font-weight:700;margin-right:3px}
.sale-payment-disclosure[open]>.sale-payment-trigger::before{content:'⌄'}
.sale-payment-trigger span{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.sale-payment-trigger:focus-visible{outline:3px solid var(--accent-hi);outline-offset:2px}
.sale-payment-disclosure .sale-checkout{max-height:min(55dvh,490px);overflow-y:auto;overflow-x:hidden}
.sale-payment-disclosure:not([open]) .sale-checkout{display:none}
@media(max-width:900px){.sale-payment-disclosure .sale-checkout{max-height:none}}

/* Legacy POS layout restoration R5 — mirror the layout of old /kassa/ while retaining SQL handlers. */
.sale-layout{grid-template-columns:minmax(0,1.7fr) minmax(0,1.3fr);align-items:start;gap:12px}
.sale-catalog-panel,.sale-cart-panel{min-width:0}
.sale-catalog-panel{padding:13px 14px}
.legacy-pos-heading{margin:0 0 10px;font-size:18px}
.legacy-pos-search{display:grid;grid-template-columns:minmax(140px,0.75fr) minmax(150px,1.5fr) 38px;gap:8px;align-items:center}
.legacy-pos-search select,.legacy-pos-search input,.legacy-pos-search button{height:40px;min-width:0;padding:7px 9px;font-size:14px}
.sale-catalog-panel .legacy-pos-catalog{display:block;overflow:auto;max-height:calc(100dvh - var(--topbar-h,88px) - 208px);border:1px solid var(--border);border-radius:8px;scrollbar-width:thin}
.pos-legacy-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:13px}
.pos-legacy-table th{position:sticky;top:0;z-index:1;background:var(--panel2);font-weight:600;color:var(--muted);font-size:12px;padding:10px 8px;text-align:left}
.pos-legacy-table td{padding:7px 8px;border-top:1px solid var(--border);vertical-align:middle;overflow-wrap:anywhere}
.pos-legacy-table th:first-child,.pos-legacy-table td:first-child{width:92px}
.pos-legacy-table th:nth-child(3),.pos-legacy-table td:nth-child(3){width:112px;text-align:right;white-space:nowrap}
.pos-legacy-table th:nth-child(4),.pos-legacy-table td:nth-child(4){width:65px;text-align:right;white-space:nowrap}
.pos-legacy-table th:last-child,.pos-legacy-table td:last-child{width:65px;text-align:right}
.pos-legacy-table tbody tr{cursor:pointer}
.pos-legacy-table tbody tr:hover,.pos-legacy-table tbody tr:focus-visible{background:#263343;outline:2px solid var(--accent);outline-offset:-2px}
.pos-legacy-table tbody tr.out{opacity:.5}
.pos-table-name{font-weight:600}.pos-table-name small{display:block;color:var(--muted);font-weight:400;font-size:11px}
.pos-table-action{white-space:nowrap}.pos-table-action button{padding:3px 7px;min-height:31px}
.sale-cart-panel{position:sticky;top:calc(var(--topbar-h) + 10px);height:calc(100dvh - var(--topbar-h) - 25px);min-height:340px;max-height:none;display:flex;flex-direction:column;overflow:hidden;padding:13px 14px}
.legacy-pos-barcode{width:100%;height:40px;margin:4px 0 11px;font-size:14px;flex:none}
.sale-cart-items{flex:1 1 auto;min-height:80px;max-height:none;overflow-y:auto;overflow-x:hidden}
.legacy-pos-foot{flex:none;display:grid;gap:10px;padding-top:10px;border-top:1px solid var(--border)}
.legacy-pos-total{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}
.legacy-pos-total strong{font-size:24px;color:var(--accent-hi);font-variant-numeric:tabular-nums}
.legacy-pos-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;grid-auto-rows:56px;align-items:stretch}
.legacy-pos-actions button{height:100%;min-height:56px;font-size:15px;display:flex;align-items:center;justify-content:center}
.sale-payment-dialog{border:1px solid var(--border);border-radius:14px;color:var(--text);background:var(--panel);box-shadow:0 24px 70px rgba(0,0,0,.6);width:min(96vw,670px);max-height:90dvh;overflow:auto;padding:0;margin:auto}
.sale-payment-dialog::backdrop{background:rgba(5,10,18,.78)}
.sale-payment-dialog .legacy-payment-head{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:12px 16px}
.sale-payment-dialog .legacy-payment-head h2{font-size:20px;margin:0}
.sale-payment-dialog .legacy-payment-head button{font-size:24px;line-height:1;padding:4px 10px}
.sale-payment-dialog .sale-checkout{overflow:visible;max-height:none;padding:14px 16px 16px}
.sale-payment-dialog .sale-post{width:100%;margin-top:14px}
@media(max-width:1150px) and (min-width:901px){.sale-layout{grid-template-columns:minmax(0,1.4fr) minmax(370px,1fr)}.pos-legacy-table th:first-child,.pos-legacy-table td:first-child{width:76px}}
@media(max-width:900px){.sale-layout{grid-template-columns:1fr}.sale-cart-panel{position:static;height:auto;max-height:none;overflow:visible}.sale-cart-items{max-height:240px}.sale-catalog-panel .legacy-pos-catalog{max-height:42vh}}
@media(max-width:580px){.legacy-pos-search{grid-template-columns:minmax(0,1fr) 38px}.legacy-pos-search select{grid-column:1/-1}.pos-legacy-table th:first-child,.pos-legacy-table td:first-child{display:none}.pos-legacy-table th:nth-child(3),.pos-legacy-table td:nth-child(3){width:90px}.pos-legacy-table th:nth-child(4),.pos-legacy-table td:nth-child(4){width:52px}.pos-legacy-table th:last-child,.pos-legacy-table td:last-child{width:40px}.pos-table-action .pos-table-gift{display:none}.sale-cart-panel{padding:12px}.sale-payment-dialog{width:96vw}}
/* The two tabs and shift indicator sit below the global top bar: reserve their height
   so that total and payment remain visible without scrolling the entire page. */
@media(min-width:901px){.sale-cart-panel{height:calc(100dvh - var(--topbar-h) - 160px);min-height:360px}}

/* Step: universal notifications ticker. Positioned outside #content so it survives tab switches. */
:root{--notice-strip-h:39px}
.notification-ticker{position:sticky;top:var(--topbar-h);z-index:9;display:flex;align-items:center;gap:9px;min-height:var(--notice-strip-h);height:var(--notice-strip-h);padding:3px 18px;background:#192332;border-bottom:1px solid #415168;color:#eaf1fa;font-size:12px;overflow:hidden}
.notice-heading{flex:none;font-weight:700;white-space:nowrap;color:#ffd16d}
.notice-heading b{display:inline-block;background:#4a3720;color:#ffd16d;padding:1px 5px;border-radius:7px;font-variant-numeric:tabular-nums}
.notice-viewport{position:relative;flex:1;min-width:0;overflow:hidden;white-space:nowrap}
.notice-track{display:inline-flex;align-items:center;gap:28px;width:max-content;max-width:none;white-space:nowrap;animation:loo-notice-scroll var(--notice-speed,35s) linear infinite;will-change:transform}
.notice-viewport:hover .notice-track,.notice-viewport:focus-within .notice-track{animation-play-state:paused}
.notice-item{display:inline-flex;gap:8px;align-items:center;flex:none;border:0;border-radius:5px;background:transparent;color:#edf2f8;padding:4px 3px;box-shadow:none;white-space:nowrap;font-size:12px;line-height:18px}
.notice-item:before{content:'●';font-size:9px;color:#80c9f8}
.notice-item.notice-urgent:before{color:#ff8585}
.notice-item small{color:#aebccf;font-size:11px}
.notice-item:hover,.notice-item:focus-visible{color:#ffe0a3;background:#29394c;outline-offset:1px}
.notice-empty{color:#aebccf}
.notice-tool{display:grid;place-items:center;flex:none;min-width:29px;width:29px;height:29px;padding:2px;border:1px solid #526079;background:#243346;color:#fafcff;border-radius:7px;font-size:17px;line-height:1}
.notice-tool:hover,.notice-tool:focus-visible{background:#364e65}
@keyframes loo-notice-scroll{from{transform:translateX(var(--notice-viewport-w,800px))}to{transform:translateX(-100%)}}
@media(min-width:901px){.sale-cart-panel{top:calc(var(--topbar-h) + var(--notice-strip-h) + 10px);height:calc(100dvh - var(--topbar-h) - var(--notice-strip-h) - 160px)}}
@media(max-width:650px){.notification-ticker{padding:3px 8px;gap:5px}.notice-heading{font-size:10px}.notice-tool{width:27px;min-width:27px}}
@media(prefers-reduced-motion:reduce){.notice-viewport{overflow-x:auto}.notice-track{animation:none;transform:none;will-change:auto}}

/* Notification strip is display-only; click anywhere to open the single notice center. */
.notification-ticker{cursor:pointer}
.notification-ticker:hover,.notification-ticker:focus-visible{background:#243346}
.notification-ticker:focus-visible{outline:2px solid #a9d5fd;outline-offset:-2px}
.notice-item{pointer-events:none}
.notice-center{display:grid;gap:20px;max-height:min(66vh,700px);overflow-y:auto;padding-bottom:10px}
.notice-center-section{border:1px solid #354354;border-radius:12px;padding:12px;display:grid;gap:8px}
.notice-center-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.notice-center-header h3{margin:0;font-size:15px}
.notice-center-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #313f50;border-radius:9px;background:#1d2936}
.notice-center-overdue{border-left:3px solid #d88080}
.notice-center-info{min-width:0;overflow-wrap:anywhere;display:grid;gap:5px}
.notice-center-info small{color:#afc0d2}
.notice-center-actions{display:flex;flex-shrink:0;gap:6px}
.notice-center-actions button{white-space:nowrap}
.notice-center-editor{background:#1b2835;border:1px solid #465973;border-radius:10px;padding:12px;margin-bottom:8px}
.notice-center-editor[hidden],[data-nc-list][hidden]{display:none}
.notice-center-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.notice-center-hint{font-size:12px}
@media(max-width:580px){.notice-center-row{align-items:flex-start;flex-direction:column}.notice-center-actions{align-self:flex-end;flex-wrap:wrap}.notice-center-header{flex-wrap:wrap}}


/* Sales-only layout refinement. Leave the universal notification ticker unchanged. */
.workspace.sales-workspace .topbar{display:flex;align-items:center;gap:18px;min-height:var(--topbar-h);padding:12px 22px}
.workspace.sales-workspace .topbar>div:first-child{flex:1 1 190px;min-width:0}
.workspace.sales-workspace .top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 0 auto}
.workspace.sales-workspace .top-actions>*{margin:0;flex:0 0 auto}
.workspace.sales-workspace .content{padding-top:16px}
.sale-page-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;min-height:42px}
.sale-workspace-caption{font-size:16px;font-weight:750;color:#e8edf5}
.sale-return-open{min-width:146px;background:linear-gradient(180deg,#453138,#39282e);border-color:#81505a;color:#ffd9d9}
.sale-return-open:hover:not(:disabled){background:#563741;border-color:#a86775}
.sale-layout>.sale-catalog-panel:first-child{margin-top:0}
.sale-expert-summary{display:flex;flex-wrap:wrap;align-items:center;gap:9px 20px;margin:0 0 12px;padding:10px 14px;border:1px solid #415268;border-radius:10px;background:#1a2838;font-size:12px;color:#bfd0e2}
.sale-expert-summary strong{color:#ffe0a2;margin-right:5px;font-size:13px}
.sale-expert-summary b{color:#f6f9ff;font-variant-numeric:tabular-nums}
.sale-return-browser{min-width:0}
.sale-return-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.sale-return-filters label{display:grid;gap:5px;margin:0;flex:1 1 155px;max-width:215px}
.sale-return-filters input{min-width:0}
.sale-return-filters button{height:42px}
.sale-return-browser .table-wrap{max-height:54vh;overflow:auto}
.sale-return-browser th,.sale-return-browser td{vertical-align:middle}
.sale-return-browser .table-wrap table{width:100%}
@media(max-width:850px){.workspace.sales-workspace .topbar{align-items:flex-start;flex-wrap:wrap;gap:9px;padding:12px 16px}.workspace.sales-workspace .top-actions{margin-left:0;justify-content:flex-start;width:100%}.workspace.sales-workspace .topbar{position:relative;top:auto}.workspace.sales-workspace .notification-ticker{top:0}}
@media(max-width:520px){.sale-return-filters label{max-width:none;flex-basis:100%}.sale-page-tools{padding:0 1px}.sale-return-open{min-width:115px}.sale-expert-summary{gap:8px 14px}}

/* Sales cash desk controls only. */
.sale-bank-settlement{margin-left:auto;white-space:nowrap;background:#223950;border-color:#47617c;color:#e0eeff}
.sale-page-tools .sale-return-open{margin-left:0}
.sale-return-filters label:has(input[type=search]){flex:2 1 240px;max-width:330px}
.sale-cost-warning{color:#efc778;font-weight:650}
.sale-statement-confirm{display:flex;align-items:flex-start;gap:10px;margin-top:18px}
.sale-statement-confirm input{width:17px;min-width:17px;height:17px;margin-top:2px}
.sale-settlement-info{padding:8px 12px;background:#172334;border:1px solid #34465c;border-radius:9px;margin-bottom:12px}
@media(max-width:600px){.sale-page-tools{flex-wrap:wrap}.sale-bank-settlement{margin-left:0}.sale-return-filters label:has(input[type=search]){max-width:none;flex-basis:100%}}

/* Sales cash-register controls: place Returns in the receipt action block,
   with Payment as the full-width primary action. */
.legacy-pos-actions .sale-return-open{min-width:0;width:100%;margin:0}
.legacy-pos-actions #saleOpenPayment{grid-column:1 / -1}

/* Sales: align the three main vertical areas at the viewport bottom.
   The sidebar continues to fill the window; catalogue and receipt use the
   same available workspace height, with independent internal scrolling. */
@media (min-width:901px){
  .workspace.sales-workspace{
    height:100dvh;
    min-height:0;
    display:flex;
    flex-direction:column;
  }
  .workspace.sales-workspace > .topbar,
  .workspace.sales-workspace > .notification-ticker{flex:0 0 auto}
  .workspace.sales-workspace > #content.content{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    padding-bottom:20px;
  }
  .workspace.sales-workspace .sale-layout{
    flex:1 1 auto;
    min-height:470px;
    align-items:stretch;
  }
  .workspace.sales-workspace .sale-layout > div:first-child{
    min-height:0;
    display:flex;
    flex-direction:column;
  }
  .workspace.sales-workspace .sale-layout .sale-catalog-panel{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
  }
  .workspace.sales-workspace .sale-catalog-panel .legacy-pos-catalog{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
  }
  .workspace.sales-workspace .sale-layout > .sale-cart-panel{
    position:relative;
    top:auto;
    height:auto;
    max-height:none;
    min-height:0;
    align-self:stretch;
  }
}

/* POS discount: fixed company rule, cashier opt-in only. */
.sale-discount-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:6px 0}
.sale-discount-toggle label,.sale-rule-check{display:flex!important;align-items:center;gap:9px;cursor:pointer}
.sale-discount-toggle input[type=checkbox],.sale-rule-check input[type=checkbox]{width:18px;min-width:18px;height:18px;accent-color:var(--accent)}
.sale-discount-toggle input[disabled]+span{opacity:.55}
.sale-rules-settings{max-width:960px;margin-top:16px}
.sale-rules-settings .sale-rule-check{justify-content:flex-start;flex-direction:row}
.sale-rules-settings input[type=number]{max-width:270px}
