:root{--ink:#251d17;--muted:#7d7065;--orange:#E47B18;--orange-deep:#A9510A;--cream:#fbf7ef;--cream-2:#f4ead8;--card:#fff;--line:#eadbc2;--green:#4f8059;--green-soft:#e3eee4;--danger:#d7553e;--sidebar:#241b15;--shadow:0 8px 26px rgba(61,39,20,.07)}html[data-theme=dark]{--ink:#f6eadb;--muted:#b9aa9b;--cream:#17130f;--cream-2:#211a15;--card:#29211b;--line:#4a392c;--green-soft:#26392b;--sidebar:#100d0b}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3,.serif{font-family:'Playfair Display',serif;font-weight:700}.app-sidebar{position:fixed;inset:0 auto 0 0;width:82px;background:var(--sidebar);z-index:1040;display:flex;flex-direction:column;align-items:center;padding:24px 10px}.brand-mark{width:44px;height:44px;border-radius:13px;background:var(--orange);color:white;display:grid;place-items:center;text-decoration:none;font-size:21px}.side-nav{display:flex;flex-direction:column;width:100%;gap:8px;margin-top:24px}.side-nav a{color:#aaa19a;text-decoration:none;text-align:center;border-radius:17px;padding:9px 2px;font-size:10px;display:grid;gap:2px;position:relative}.side-nav a i{font-size:20px}.side-nav a.active{background:#ffdab4;color:#9d4f09;font-weight:700}.side-nav a b{position:absolute;top:3px;right:9px;background:var(--danger);color:white;border-radius:9px;padding:1px 5px}.app-content{margin-left:82px;padding:16px 18px 40px;min-height:100vh}.public-content{min-height:100vh}.system-status{min-height:64px;border:1px solid #acd0b1;background:var(--green-soft);color:#315e3b;border-radius:18px;padding:12px 18px;display:flex;align-items:center;gap:14px;margin-bottom:18px}.system-status i{font-size:22px}.system-status strong,.system-status small{display:block}.system-status small{font-size:12px;color:#63806a}.panel,.kpi,.list-card{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:20px;box-shadow:none}.kpi{min-height:160px;display:flex;flex-direction:column;justify-content:center}.kpi span{color:var(--muted)}.kpi strong{font-family:'Playfair Display';font-size:24px}.btn-brand,.primary-pill{border:0;background:var(--orange);color:white!important;border-radius:999px;padding:11px 20px;text-decoration:none;font-weight:700;text-align:center}.btn-brand:hover,.primary-pill:hover{background:var(--orange-deep)}.secondary-pill{border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:9px 18px;text-decoration:none;text-align:center}.progress{height:6px;background:var(--cream-2)}.progress-bar{background:var(--green)}.batch{padding:14px 0;border-bottom:1px solid var(--line)}.batch:last-child{border:0}.insight{background:#ffead0;border-color:#f7c98f;color:#6e3d0c}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:#f8eedb}.welcome-card,.pin-card,.credential-card{width:min(560px,100%);display:flex;flex-direction:column;align-items:center;text-align:center}.welcome-card h1{font-family:'DM Sans';font-size:42px;color:#cb711a;margin:30px 0 8px}.auth-subtitle{font-size:18px;color:#675e57}.version-pill{border:1px solid #dbc9aa;border-radius:999px;padding:5px 19px;color:#8a7d70;font-size:12px}.auth-logo{width:58px;height:58px;border:2px solid var(--orange);border-radius:50%;display:grid;place-items:center;color:var(--orange-deep);background:white;font-size:25px}.auth-logo.large{width:150px;height:150px;font-size:54px}.database-ready{width:100%;background:#deebdd;border:1px solid #a8d0ad;border-radius:18px;padding:15px;display:flex;text-align:left;gap:14px;margin:24px 0 36px;color:#315e3b}.database-ready small,.database-ready strong{display:block}.welcome-card>.primary-pill{width:100%}.pin-card{max-width:360px}.pin-card h2{font-family:'DM Sans';font-size:20px;margin:20px 0 4px}.pin-card>p{color:var(--muted)}.pin-dots{display:flex;justify-content:center;gap:15px;margin:18px 0 34px}.pin-dots span{width:16px;height:16px;border:2px solid var(--orange);border-radius:50%}.pin-dots span.filled{background:var(--orange)}.keypad{display:grid;grid-template-columns:repeat(3,68px);gap:14px 28px;margin-bottom:20px}.keypad button{width:68px;height:68px;border:1px solid var(--line);border-radius:50%;background:white;color:#231d18;font-size:25px}.pin-card .secondary-pill{width:300px}.text-link{color:var(--orange-deep);text-decoration:none;margin-top:12px}.credential-card{max-width:440px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow);align-items:stretch;text-align:left}.credential-card .auth-logo{align-self:center}.credential-card h2{text-align:center;margin-top:16px}.credential-card>p{text-align:center;color:var(--muted)}.credential-card label{font-size:13px;font-weight:600;margin:12px 0 6px}.credential-card input{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--cream);color:var(--ink)}.input-with-icon{position:relative}.input-with-icon i{position:absolute;left:13px;top:12px}.input-with-icon input{width:100%;padding-left:40px}.credential-card .primary-pill{margin-top:20px}.credential-card .text-link{text-align:center}.back-link{color:var(--muted);text-decoration:none;margin-bottom:12px}.mobile-header{display:none}.icon-button{border:0;background:transparent;font-size:26px}.mobile-links{display:flex;flex-direction:column;gap:8px}.mobile-links a{padding:12px;border-radius:10px;text-decoration:none;color:var(--ink);background:var(--cream)}.product-card{width:100%;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:4px;min-height:190px}.product-card b{color:var(--orange-deep);margin-top:auto}.product-icon{height:64px;background:#ffe6c4;color:var(--orange-deep);border-radius:12px;display:grid;place-items:center;font-size:25px}.product-image{height:75px;width:100%;object-fit:cover;border-radius:12px}.table{color:var(--ink)}.table>:not(caption)>*>*{background:transparent;border-color:var(--line)}.form-control,.form-select{background-color:var(--cream);border-color:var(--line);color:var(--ink)}@media(max-width:900px){.app-sidebar{display:none}.mobile-header{height:64px;background:var(--sidebar);color:white;display:flex;align-items:center;gap:12px;padding:10px 16px;position:sticky;top:0;z-index:1030}.mobile-header .icon-button{margin-left:auto;color:white}.app-content{margin-left:0;padding:14px}.system-status{display:none}}@media(max-width:600px){.auth-page{padding:20px}.welcome-card h1{font-size:30px}.auth-logo.large{width:110px;height:110px}.keypad{grid-template-columns:repeat(3,62px);gap:12px 22px}.keypad button{width:62px;height:62px}.panel,.kpi{padding:15px}.kpi{min-height:110px}}
.page-heading{margin:4px 0 22px}.page-heading h2{font-size:23px;margin:0}.page-heading p{color:var(--muted);margin:5px 0}.stock-mini,.setting-line{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.stock-mini small,.setting-line small,.user-row small{display:block;color:var(--muted);font-weight:400}.empty-mini{text-align:center;color:var(--muted);padding:28px}.empty-mini i{font-size:32px;color:#c8bcae}.user-list{display:grid;gap:10px}.user-row{display:flex;align-items:center;gap:14px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:18px}.avatar,.profile-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f2dfe7;color:#7b4a61}.soft-badge,.status-badge{display:inline-block;margin-top:6px;margin-right:5px;border-radius:999px;padding:4px 9px;font-size:11px;background:#ece8e3}.status-badge{background:var(--green-soft);color:var(--green)}.status-badge.inactive{background:#eee;color:#777}.floating-action{position:fixed;right:26px;bottom:24px;background:#ffd8b2;border:0;border-radius:18px;padding:16px 22px;box-shadow:var(--shadow)}.profile-hero{text-align:center;padding:4px 0 24px}.profile-avatar{width:88px;height:88px;margin:auto;background:var(--orange);color:white;font-size:24px}.profile-hero h2{margin:12px 0 0}.profile-hero span{color:var(--muted)}.settings-card{margin-bottom:16px}.settings-card h3{font-family:'DM Sans';font-size:16px}.setting-line span{font-weight:500}.setting-line i,.setting-button i{margin-right:12px;color:#806e5d}.setting-button{width:100%;border:0;background:transparent;color:var(--ink);display:flex;justify-content:space-between;text-align:left;padding:14px 0;border-bottom:1px solid var(--line)}.logout-button{width:100%;border:1px solid #f3c9b8;background:transparent;color:#d64225;border-radius:999px;padding:10px}.modal-content{background:var(--card);color:var(--ink);border-color:var(--line)}
.pos-search{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 15px;margin-bottom:12px}.pos-search input{border:0;outline:0;background:transparent;color:var(--ink);width:100%}.category-pills{display:flex;gap:8px;overflow:auto;padding-bottom:14px}.category-pills button,.payment-pills span{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:var(--cream-2);padding:7px 16px;color:var(--ink)}.category-pills button.active{background:var(--orange);color:white}.history-button{border:1px solid var(--line);border-radius:12px;width:44px;height:44px}.order-panel{top:16px;padding:0;overflow:hidden}.order-panel h4{padding:18px;font-family:'DM Sans';font-size:16px}.cart-body{min-height:360px;background:var(--cream-2);padding:14px}.cart-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.cart-row span{display:flex;align-items:center;gap:5px}.cart-row button{border:1px solid var(--line);background:var(--card);border-radius:50%;width:25px;height:25px}.order-totals{padding:16px}.order-totals>div{display:flex;justify-content:space-between;margin:7px 0}.total-line{font-size:18px}.total-line b{color:var(--orange-deep)}.payment-pills{display:flex;gap:5px;padding:0 14px 14px}.payment-pills label{flex:1}.payment-pills input{display:none}.payment-pills span{display:block;text-align:center;padding:7px}.payment-pills input:checked+span{background:var(--orange);color:white}.order-panel>.btn{margin:0 14px 14px;width:calc(100% - 28px)!important}.order-history-row{display:flex;align-items:center;gap:12px;padding:15px;border-bottom:1px solid var(--line)}.order-history-row span{flex:1}.order-history-row small{display:block;color:var(--muted)}
.cashier-scope{display:flex;align-items:center;gap:10px;background:#fff0d9;border:1px solid #f4c985;border-radius:14px;padding:12px 16px;margin-bottom:16px}.cashier-scope span{flex:1}.cashier-scope button{border:0;background:transparent;color:var(--orange-deep);font-weight:700}.kpi.compact{min-height:90px;flex-direction:row;align-items:center;justify-content:flex-start;gap:14px}.kpi.compact strong{width:44px;height:44px;border-radius:50%;background:#ffe7c6;color:var(--orange-deep);display:grid;place-items:center}

/* 2026 visual refresh — presentation only; application contracts are unchanged. */
:root{
  --ink:#242126;--muted:#8e8a90;--orange:#f37f68;--orange-deep:#df604d;
  --cream:#fbfaf9;--cream-2:#fff4f0;--card:#ffffff;--line:#eee9e7;
  --green:#56b873;--green-soft:#edf9f0;--danger:#e76e78;--sidebar:#ffffff;
  --shadow:0 12px 35px rgba(72,43,37,.06);--soft-coral:#fff0ed;
}
html[data-theme=dark]{--ink:#f9f3f1;--muted:#bdb2af;--cream:#171414;--cream-2:#221b1a;--card:#211d1c;--line:#3e3432;--green-soft:#203528;--sidebar:#1b1716;--soft-coral:#34201d}
body{background:var(--cream);font-family:'DM Sans',sans-serif;font-size:14px;letter-spacing:-.01em}
h1,h2,h3,.serif{font-family:'DM Sans',sans-serif;letter-spacing:-.035em}
h2{font-weight:700}h3{font-size:18px;font-weight:650}
.app-sidebar{width:218px;align-items:stretch;padding:24px 18px;background:var(--sidebar);border-right:1px solid var(--line);box-shadow:4px 0 20px rgba(71,48,43,.025)}
.sidebar-brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--ink);text-decoration:none;border-radius:12px;outline-offset:4px}
.sidebar-brand:hover{color:var(--ink)}
.sidebar-brand-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;line-height:1.05}
.sidebar-brand-copy strong{font-size:11px;font-weight:800;letter-spacing:.005em;white-space:nowrap}
.sidebar-brand-copy small{margin-top:4px;color:var(--orange-deep);font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#ff9d8a,#ef725b);font-size:17px;box-shadow:0 7px 16px rgba(243,127,104,.25)}
.side-nav{gap:5px;margin-top:30px}.side-nav:before{content:'WORKSPACE';font-size:9px;letter-spacing:.12em;color:#b8b2b0;padding:0 12px 8px}
.side-nav a{display:flex;align-items:center;gap:13px;text-align:left;padding:11px 12px;border-radius:10px;font-size:12px;color:#918c8a;transition:.18s ease}
.side-nav a i{font-size:17px;width:20px;text-align:center}.side-nav a:hover{color:var(--orange-deep);background:#fff8f6}.side-nav a.active{color:var(--orange-deep);background:var(--soft-coral);font-weight:650}.side-nav a.active:before{content:'';position:absolute;left:-18px;top:8px;bottom:8px;width:3px;border-radius:0 4px 4px 0;background:var(--orange)}
.side-nav a b{top:10px;right:10px;background:var(--orange);font-size:9px}
.app-content{margin-left:218px;padding:22px 28px 48px;max-width:1800px}
.system-status{float:right;width:auto;min-height:38px;margin:0 0 16px;padding:8px 13px;border-radius:10px;border-color:#dceee1;background:#f5fbf7;font-size:11px}.system-status i{font-size:16px}.system-status small{display:none}.system-status+*{clear:both}
.page-heading{margin:2px 0 24px}.page-heading h2{font-size:26px}.page-heading p{font-size:13px;margin-top:7px}
.panel,.kpi,.list-card{border-color:var(--line);border-radius:14px;padding:20px;background:var(--card);box-shadow:var(--shadow)}
.kpi{min-height:126px;position:relative;overflow:hidden;gap:5px}.kpi:after{content:'';position:absolute;width:80px;height:80px;border-radius:50%;right:-28px;top:-28px;background:var(--soft-coral)}.kpi>i{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--soft-coral);color:var(--orange-deep)!important;font-size:17px!important}.kpi strong{font-family:'DM Sans';font-size:25px;line-height:1.1;margin-top:6px}.kpi span{font-size:12px}
.kpi.compact{min-height:80px}.kpi.compact:after{display:none}.kpi.compact strong{width:38px;height:38px;background:var(--soft-coral);color:var(--orange-deep);font-size:16px}
.btn,.primary-pill,.secondary-pill{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn-brand,.primary-pill{background:linear-gradient(135deg,#ff8c76,#ef735c);border-radius:9px;padding:10px 18px;box-shadow:0 7px 16px rgba(243,127,104,.18);font-weight:600}.btn-brand:hover,.primary-pill:hover{background:linear-gradient(135deg,#f77d67,#df604d);transform:translateY(-1px)}
.btn-outline-secondary,.secondary-pill{border-color:#eadfdb;border-radius:9px;color:#716b69;background:var(--card)}.btn-outline-danger{border-color:#f2cbc4;color:var(--orange-deep);border-radius:8px}.floating-action{right:30px;bottom:28px;background:linear-gradient(135deg,#ff9a84,#ef735c);color:white;border-radius:12px;padding:13px 19px}
.form-control,.form-select{min-height:42px;background:var(--card);border-color:var(--line);border-radius:9px;padding:.6rem .8rem;font-size:13px;box-shadow:none}.form-control:focus,.form-select:focus{background:var(--card);border-color:#f1a699;box-shadow:0 0 0 3px rgba(243,127,104,.11);color:var(--ink)}label,.form-label{font-size:11px;color:#777175;font-weight:600;margin-bottom:5px}
.table{font-size:12px;margin-bottom:0}.table thead th{padding:13px 12px;color:#aaa3a0;text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:700;border-bottom-width:1px}.table tbody td{padding:15px 12px;vertical-align:middle}.table tbody tr{transition:background .15s ease}.table tbody tr:hover{background:#fffaf8}
.badge,.soft-badge,.status-badge{font-weight:600;border-radius:6px}.text-bg-light,.soft-badge{background:#f8f5f4!important;color:#77706d!important}.status-badge{background:var(--green-soft);color:var(--green)}
.progress{height:5px;border-radius:99px}.progress-bar{background:linear-gradient(90deg,#6bc484,#46a966);border-radius:99px}.batch{padding:17px 2px}.batch>div:first-child strong{font-size:13px}.batch small{color:var(--muted)}
.insight{background:linear-gradient(135deg,#fff7ee,#fff1e5);border-color:#f8dfc8;color:#6f4b35}.cashier-scope{border-color:#f5ded8;background:var(--soft-coral);border-radius:11px;color:#765b54}
.user-list{gap:8px}.user-row{border-radius:12px;padding:14px 16px;box-shadow:0 5px 18px rgba(60,40,35,.035)}.avatar,.profile-avatar{background:linear-gradient(145deg,#ff9c89,#ef735c);color:white}.profile-avatar{box-shadow:0 10px 24px rgba(243,127,104,.22)}
.settings-card{padding:22px 24px}.settings-card h3{font-size:14px}.setting-line,.setting-button{padding:15px 2px}.logout-button{border-color:#f3cec7;border-radius:9px;background:#fffafa;font-weight:600}
.setting-copy{display:flex;align-items:center;min-width:0}.setting-copy>span{display:grid;gap:3px;text-align:left}.setting-copy strong{font-size:13px;font-weight:600;line-height:1.35;color:var(--ink)}.setting-copy small{display:block;font-size:11px;line-height:1.4;color:var(--muted)}
.modal-content{border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px rgba(49,30,26,.16)}.modal-header,.modal-footer{border-color:var(--line);padding:16px 20px}.modal-body{padding:20px}.offcanvas{background:var(--card);color:var(--ink)}
.pos-search{border-radius:10px;padding:11px 14px;box-shadow:0 5px 18px rgba(60,40,35,.025)}.category-pills{gap:7px}.category-pills button,.payment-pills span{background:var(--card);border-color:#e9dfdc;border-radius:8px;padding:7px 14px;font-size:11px}.category-pills button.active,.payment-pills input:checked+span{background:var(--orange);border-color:var(--orange);color:white}
.product-card{border-radius:12px;padding:10px;min-height:198px;box-shadow:0 6px 20px rgba(61,41,36,.035);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.product-card:hover{transform:translateY(-3px);border-color:#f3c9c0;box-shadow:0 14px 28px rgba(81,44,37,.09)}.product-card strong{font-size:13px;margin-top:5px}.product-card small{font-size:10px;color:var(--muted)}.product-card b{font-size:13px;color:var(--orange-deep)}.product-icon,.product-image{height:86px;border-radius:9px}.product-icon{background:linear-gradient(145deg,#fff0e7,#ffe2d9);color:var(--orange-deep)}
.history-button{border-color:#eadfdb;background:var(--card);border-radius:9px;color:var(--orange-deep)}.order-panel{border-radius:14px}.order-panel h4{border-bottom:1px solid var(--line);margin:0}.cart-body{background:#fdf9f7}.cart-row button{color:var(--orange-deep)}.order-history-row{border-radius:8px}.order-history-row:hover{background:#fff8f5}
.auth-page{position:relative;overflow:hidden;background:linear-gradient(135deg,#f7a18e 0%,#ffd9cc 48%,#fff1e9 100%)}.auth-page:before,.auth-page:after{content:'';position:absolute;border-radius:50%;filter:blur(1px);background:rgba(255,255,255,.2)}.auth-page:before{width:420px;height:420px;left:-140px;top:-160px}.auth-page:after{width:360px;height:360px;right:-100px;bottom:-130px}.welcome-card,.pin-card,.credential-card{position:relative;z-index:1}.welcome-card,.pin-card{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.75);border-radius:22px;padding:38px;box-shadow:0 28px 80px rgba(107,52,40,.13);backdrop-filter:blur(12px)}.welcome-card h1{font-size:36px;color:var(--ink);margin-top:22px}.auth-subtitle{font-size:15px}.auth-logo.large{width:98px;height:98px;font-size:38px;border:0;color:white;background:linear-gradient(145deg,#ff9d89,#ec6d57);box-shadow:0 14px 30px rgba(206,87,66,.22)}.database-ready{background:#f3fbf5;border-color:#d9eddd;border-radius:11px;margin:22px 0 25px}.credential-card{border:0;border-radius:20px;padding:34px;box-shadow:0 28px 80px rgba(107,52,40,.14)}.credential-card input{background:#fff;border-color:#eee4e1}.keypad button{border-color:#eee3df;box-shadow:0 5px 14px rgba(65,41,35,.045);transition:.15s ease}.keypad button:hover{border-color:#f19b89;background:#fff5f2;transform:translateY(-2px)}
@media(max-width:1100px){.app-sidebar{width:190px;padding-left:14px;padding-right:14px}.sidebar-brand{gap:9px}.sidebar-brand-copy strong{font-size:9.5px}.sidebar-brand-copy small{font-size:6.25px;letter-spacing:.045em}.app-content{margin-left:190px;padding:20px}.side-nav a.active:before{left:-14px}}
@media(max-width:900px){.app-sidebar{display:none}.mobile-header{height:62px;background:var(--card);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 4px 20px rgba(60,40,35,.05)}.mobile-header .icon-button{color:var(--ink)}.app-content{margin-left:0;padding:18px}.system-status{display:none}}
@media(max-width:600px){.app-content{padding:14px 12px}.page-heading h2{font-size:22px}.welcome-card,.pin-card{padding:25px 20px}.welcome-card h1{font-size:27px}.panel,.kpi{padding:15px}.product-card{min-height:175px}.product-icon,.product-image{height:68px}.floating-action{right:16px;bottom:16px}}

/* Bulabog MIS defense palette
   Shark #1A1A1B · White Rock #EDE7DA · Anzac #E47B18 · Boulder #747474 */
:root{
  --ink:#1a1a1b;
  --muted:#747474;
  --orange:#E47B18;
  --orange-deep:#A9510A;
  --cream:#f8f5ef;
  --cream-2:#ede7da;
  --card:#ffffff;
  --line:#ded7c9;
  --sidebar:#1a1a1b;
  --soft-coral:#f8eddf;
  --shadow:0 12px 35px rgba(26,26,27,.07);
}
html[data-theme=dark]{--ink:#ede7da;--muted:#aaa7a0;--cream:#131313;--cream-2:#242321;--card:#1d1d1e;--line:#3f3d39;--sidebar:#101011;--soft-coral:#392b1d}
.app-sidebar{background:#1a1a1b;border-right-color:#2d2d2e;box-shadow:4px 0 22px rgba(26,26,27,.12)}
.sidebar-brand{color:#ede7da}.sidebar-brand:hover{color:#ede7da}.side-nav:before{color:#747474}.side-nav a{color:#aaa7a1}.side-nav a:hover{color:#ede7da;background:#292929}.side-nav a.active{color:#1a1a1b;background:#E47B18}.side-nav a.active:before{background:#ede7da}
.brand-mark,.avatar,.profile-avatar{background:linear-gradient(145deg,#E47B18,#E47B18);box-shadow:0 8px 18px rgba(225,151,69,.24)}
.btn-brand,.primary-pill,.floating-action{background:linear-gradient(135deg,#E47B18,#E47B18);box-shadow:0 7px 16px rgba(225,151,69,.2)}
.btn-brand:hover,.primary-pill:hover{background:linear-gradient(135deg,#E47B18,#A9510A)}
.kpi:after,.kpi>i,.kpi.compact strong,.product-icon{background:#f8eddf;color:#A9510A!important}
.category-pills button.active,.payment-pills input:checked+span{background:#E47B18;border-color:#E47B18}
.product-card:hover{border-color:#e5bd8d;box-shadow:0 14px 28px rgba(26,26,27,.09)}.product-card b,.history-button,.text-link{color:#A9510A}
.form-control:focus,.form-select:focus{border-color:#E47B18;box-shadow:0 0 0 3px rgba(225,151,69,.14)}
.auth-page{background:linear-gradient(135deg,#1a1a1b 0%,#383634 38%,#E47B18 100%)}
.auth-page:before,.auth-page:after{background:rgba(237,231,218,.1)}
.auth-logo.large{background:linear-gradient(145deg,#E47B18,#cf7e31);box-shadow:0 14px 30px rgba(26,26,27,.2)}
.welcome-card,.pin-card,.credential-card{background:rgba(255,255,255,.96);border-color:rgba(237,231,218,.8);box-shadow:0 28px 80px rgba(26,26,27,.25)}
.database-ready,.system-status{background:#f5f2ea;border-color:#ded7c9;color:#50504d}.database-ready small,.system-status small{color:#747474}
.keypad button:hover{border-color:#E47B18;background:#fbf4ea}.pin-dots span{border-color:#E47B18}.pin-dots span.filled{background:#E47B18}
.insight{background:linear-gradient(135deg,#f7efe3,#ede7da);border-color:#dfd2bd;color:#5e5142}.cashier-scope{background:#f8eddf;border-color:#e7ceb0;color:#665446}
.progress-bar{background:linear-gradient(90deg,#E47B18,#E47B18)}
.inventory-level-label{display:flex;justify-content:space-between;gap:12px;min-width:100px;margin-bottom:5px;font-size:11px;font-weight:600}.inventory-level-label small{color:var(--muted);font-size:10px;font-weight:500}
.floating-action{color:#1a1a1b}.logout-button{border-color:#d8d2c6;background:#faf8f3;color:#1a1a1b}
@media(max-width:900px){.mobile-header{background:#1a1a1b;color:#ede7da;border-bottom-color:#323233}.mobile-header .icon-button{color:#ede7da}}

/* Header, light/dark navigation, and global notification center. */
.app-sidebar{background:#f8f5ef;border-right-color:#e6e0d5;box-shadow:3px 0 18px rgba(26,26,27,.04)}
.sidebar-brand{color:#1a1a1b}.sidebar-brand:hover{color:#1a1a1b}.side-nav:before{color:#8d8982}.side-nav a{color:#747474}.side-nav a:hover{color:#1a1a1b;background:rgba(255,255,255,.5)}.side-nav a.active{color:#1a1a1b;background:#E47B18}.side-nav a.active:before{background:#1a1a1b}
html[data-theme=dark] .app-sidebar{background:#1a1a1b;border-right-color:#303031;box-shadow:3px 0 18px rgba(0,0,0,.18)}
html[data-theme=dark] .sidebar-brand{color:#ede7da}html[data-theme=dark] .sidebar-brand:hover{color:#ede7da}html[data-theme=dark] .side-nav:before{color:#747474}html[data-theme=dark] .side-nav a{color:#aaa7a1}html[data-theme=dark] .side-nav a:hover{color:#ede7da;background:#292929}html[data-theme=dark] .side-nav a.active{color:#1a1a1b;background:#E47B18}html[data-theme=dark] .side-nav a.active:before{background:#ede7da}
.app-header{position:fixed;z-index:1035;top:0;right:0;left:218px;height:64px;display:flex;align-items:center;justify-content:space-between;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 3px 16px rgba(26,26,27,.035);padding:0 26px}
.header-title,.header-actions,.header-profile{display:flex;align-items:center}.header-title{gap:12px}.header-title>strong{font-size:16px}.sidebar-toggle{width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:16px}.header-back{font-size:13px;color:var(--muted)}
.header-actions{height:100%;gap:9px}.notification-trigger,.theme-trigger{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink)}.notification-trigger:hover,.theme-trigger:hover{border-color:#E47B18;color:#A9510A;background:#faf5ec}.notification-trigger>span{position:absolute;right:5px;top:4px;min-width:14px;height:14px;padding:0 3px;display:grid;place-items:center;border:2px solid var(--card);border-radius:99px;background:#d95757;color:white;font-size:7px;font-weight:700}
.header-profile{height:100%;gap:10px;padding-left:13px;margin-left:5px;border-left:1px solid var(--line);text-decoration:none;color:var(--ink)}.header-profile:hover{color:var(--ink)}.header-avatar{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(145deg,#E47B18,#E47B18);color:white;font-size:11px;font-weight:700}.header-profile>span:last-child{display:grid;line-height:1.15}.header-profile strong{font-size:11px}.header-profile small{font-size:9px;color:var(--muted);margin-top:3px}
.app-content{padding-top:86px}.system-status{display:none}
body.nav-collapsed .app-sidebar{width:76px;padding-left:14px;padding-right:14px}body.nav-collapsed .sidebar-brand-copy,body.nav-collapsed .side-nav:before,body.nav-collapsed .side-nav a span{display:none}body.nav-collapsed .sidebar-brand{justify-content:center}body.nav-collapsed .side-nav a{justify-content:center;padding-left:8px;padding-right:8px}body.nav-collapsed .side-nav a.active:before{left:-14px}body.nav-collapsed .app-header{left:76px}body.nav-collapsed .app-content{margin-left:76px}
.notification-modal{background:rgba(26,26,27,.12)}.notification-modal .modal-dialog{max-width:390px;margin:72px 24px 24px auto}.notification-modal .modal-content{border-radius:13px;box-shadow:0 22px 60px rgba(26,26,27,.18)}.notification-modal .modal-header h5{font-size:15px;margin:0}.notification-modal .modal-header small{font-size:10px;color:var(--muted)}.notification-pop-row{display:flex;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--card)}.notification-pop-row.unread{background:#fbf5eb}.notification-kind{flex:0 0 34px;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#f4ecdf;color:#A9510A}.notification-pop-row p{font-size:11px;line-height:1.45;margin:0;color:var(--ink)}.notification-pop-row small{font-size:9px;color:var(--muted)}.notification-modal .modal-footer .btn{font-size:11px;padding:8px 12px}
@media(max-width:1100px){.app-header{left:190px}}
@media(max-width:900px){.app-header{display:none}.app-content,body.nav-collapsed .app-content{margin-left:0;padding-top:18px}.mobile-header{background:#ede7da;color:#1a1a1b;border-bottom-color:#d9d1c3}.mobile-header .icon-button{color:#1a1a1b}html[data-theme=dark] .mobile-header{background:#1a1a1b;color:#ede7da;border-bottom-color:#303031}html[data-theme=dark] .mobile-header .icon-button{color:#ede7da}.mobile-header .notification-trigger{margin-left:auto}.notification-modal .modal-dialog{margin:72px 12px 12px;max-width:none}}

/* Smooth theme and navigation motion. */
html,body,.app-sidebar,.app-header,.mobile-header,.app-content,.panel,.kpi,.list-card,.product-card,.modal-content,.offcanvas,.form-control,.form-select,.notification-trigger,.theme-trigger,.header-profile,.side-nav a,.setting-button,.setting-line,.cart-body,.notification-pop-row{
  transition:background-color .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease,transform .22s ease,left .28s ease,margin-left .28s ease,width .28s ease;
}
.theme-trigger i{display:inline-block;transition:transform .28s ease,opacity .2s ease}.theme-trigger:hover i{transform:rotate(14deg) scale(1.08)}
.side-nav a i{transition:transform .2s ease,color .25s ease}.side-nav a:hover i{transform:translateX(2px)}
.app-sidebar,.app-header,.app-content{will-change:width,left,margin-left}
@media(prefers-reduced-motion:reduce){html,body,.app-sidebar,.app-header,.mobile-header,.app-content,.panel,.kpi,.list-card,.product-card,.modal-content,.offcanvas,.form-control,.form-select,.notification-trigger,.theme-trigger,.header-profile,.side-nav a,.setting-button,.setting-line,.cart-body,.notification-pop-row,.theme-trigger i,.side-nav a i{transition:none!important;animation:none!important}}

/* The persistent app header is the single page-title surface. */
.app-content>.page-heading{min-height:0;margin:0 0 14px}.app-content>.page-heading>div:first-child,.app-content>.page-heading>h2,.app-content>.page-heading>p{display:none}.app-content>.page-heading:empty{display:none}
.app-content>.d-flex.justify-content-between:first-child>div:first-child{display:none}.app-content>.d-flex.justify-content-between:first-child{justify-content:flex-end!important;margin-bottom:14px}
.app-content>h2:first-child,.app-content>h2:first-child+p{display:none}
.header-actions{gap:8px}.header-profile{margin-left:0;margin-right:4px;padding-left:0;padding-right:13px;border-left:0;border-right:1px solid var(--line)}.notification-trigger,.theme-trigger{flex:0 0 38px}
.pos-toolbar{display:flex;align-items:stretch;gap:10px;margin-bottom:12px}.pos-toolbar .pos-search{flex:1;margin-bottom:0}.pos-toolbar .history-button{flex:0 0 48px;width:48px;height:auto;min-height:46px;border-color:#e1d8ca;background:#faf8f3}.pos-toolbar .history-button:hover{background:#f4eadb;border-color:#E47B18}
@media(max-width:600px){.header-profile>span:last-child{display:none}.header-profile{padding-right:8px}.pos-toolbar{gap:7px}.pos-toolbar .history-button{flex-basis:44px}}

/* Theme-synchronized POS surfaces and navigation typography. */
.order-panel,.order-panel h4,.order-totals,.payment-pills{background:var(--card);color:var(--ink)}.cart-body{background:#f8f5ef;color:var(--ink)}.pos-toolbar .history-button{background:var(--card);color:#A9510A}.side-nav a span,.side-nav a i{color:inherit}
html[data-theme=dark] .order-panel,html[data-theme=dark] .order-panel h4,html[data-theme=dark] .order-totals,html[data-theme=dark] .payment-pills{background:#1d1d1e;color:#ede7da}html[data-theme=dark] .cart-body{background:#242321;color:#ede7da}html[data-theme=dark] .pos-toolbar .history-button{background:#1d1d1e;border-color:#484541;color:#E47B18}html[data-theme=dark] .pos-toolbar .history-button:hover{background:#292827}html[data-theme=dark] .cart-row button{background:#1a1a1b;border-color:#4a4742;color:#E47B18}

/* Animated split-panel PIN experience. */
.pin-auth-page{padding:28px}.pin-shell{position:relative;z-index:1;width:min(980px,100%);min-height:620px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid rgba(237,231,218,.75);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 30px 90px rgba(26,26,27,.24)}
.pin-auth-page .pin-card{max-width:none;width:100%;height:100%;padding:42px;background:transparent;border:0;border-radius:0;box-shadow:none;justify-content:center}.pin-slider{position:relative;overflow:hidden;background:linear-gradient(145deg,#ede7da,#f8f5ef);border-right:1px solid #ded7c9}.pin-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px;opacity:0;transform:translateX(55px);animation:pinSlideCycle 12s infinite ease-in-out}.pin-slide h2{font-size:28px;margin:28px 0 8px}.pin-slide p{max-width:290px;color:#747474}.slide-two{animation-delay:4s}.slide-three{animation-delay:8s}.slider-art{width:190px;height:190px;border-radius:46% 54% 58% 42%/45% 42% 58% 55%;display:grid;place-items:center;background:linear-gradient(145deg,#E47B18,#E47B18);color:white;font-size:72px;box-shadow:0 24px 55px rgba(225,151,69,.25);animation:sliderFloat 3.5s infinite ease-in-out}.slider-dots{position:absolute;left:0;right:0;bottom:36px;display:flex;justify-content:center;gap:7px}.slider-dots span{width:7px;height:7px;border-radius:99px;background:#c9c1b4}.slider-dots span:first-child{animation:sliderDotOne 12s infinite}.slider-dots span:nth-child(2){animation:sliderDotTwo 12s infinite}.slider-dots span:nth-child(3){animation:sliderDotThree 12s infinite}
@keyframes pinSlideCycle{0%,28%{opacity:1;transform:translateX(0)}33%,95%{opacity:0;transform:translateX(-55px)}96%,100%{opacity:0;transform:translateX(55px)}}@keyframes sliderFloat{50%{transform:translateY(-9px) rotate(2deg)}}@keyframes sliderDotOne{0%,28%{width:22px;background:#E47B18}33%,100%{width:7px;background:#c9c1b4}}@keyframes sliderDotTwo{0%,32%,66%,100%{width:7px;background:#c9c1b4}34%,62%{width:22px;background:#E47B18}}@keyframes sliderDotThree{0%,65%,100%{width:7px;background:#c9c1b4}67%,95%{width:22px;background:#E47B18}}
html[data-theme=dark] .pin-shell{background:#1d1d1e;border-color:#3f3d39}html[data-theme=dark] .pin-slider{background:linear-gradient(145deg,#1a1a1b,#292827);border-right-color:#3f3d39}html[data-theme=dark] .pin-slide h2{color:#ede7da}html[data-theme=dark] .pin-auth-page .pin-card{color:#ede7da}
@media(max-width:760px){.pin-shell{display:block;min-height:auto;max-width:430px}.pin-slider{display:none}.pin-auth-page .pin-card{padding:30px 24px}}
@media(prefers-reduced-motion:reduce){.pin-slide{animation:none;opacity:0;transform:none}.pin-slide:first-child{opacity:1}.slider-art,.slider-dots span{animation:none!important}.slider-dots span:first-child{width:22px;background:#E47B18}}

/* Edge-to-edge PIN screen. */
.pin-auth-page{display:block;min-height:100vh;padding:0;background:#f8f5ef}.pin-auth-page:before,.pin-auth-page:after{display:none}.pin-shell{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none}.pin-slider{border-radius:0}.pin-auth-page .pin-card{border-radius:0}
html[data-theme=dark] .pin-auth-page{background:#1a1a1b}

/* Navigation labels use the same foreground token as the app header title. */
.side-nav a{color:#1a1a1b}.side-nav a:hover{color:#1a1a1b}.side-nav a.active{color:#1a1a1b}
html[data-theme=dark] .side-nav a{color:#ede7da}html[data-theme=dark] .side-nav a:hover{color:#ede7da}html[data-theme=dark] .side-nav a.active{color:#1a1a1b}

/* Protected inventory action modal, inspired by the supplied confirmation UI. */
.protected-action-modal{background:rgba(26,26,27,.52);backdrop-filter:blur(5px)}.protected-action-modal .modal-dialog{max-width:470px;padding:14px}.protected-action-modal .modal-content{padding:34px 28px 24px;text-align:center;border:1px solid #4b4136;border-radius:28px;background:#1d1a20;color:#f5f1e8;box-shadow:0 28px 80px rgba(0,0,0,.38)}.protected-icon{width:66px;height:66px;margin:0 auto 20px;display:grid;place-items:center;border:1px solid #70563b;border-radius:50%;color:#E47B18;font-size:25px}.protected-action-modal h2{font-size:25px;margin:0 0 10px;color:#fff}.protected-action-modal p{max-width:380px;margin:0 auto 20px;color:#c8c0b7;line-height:1.55}.protected-pin-field{width:100%;margin:0 0 24px;text-align:left}.protected-pin-field label{display:block;margin-bottom:8px;color:#ede7da;font-weight:700}.protected-pin-field .form-control{min-height:52px;border:1px solid rgba(225,151,69,.55);border-radius:15px;background:rgba(255,255,255,.04);color:#ede7da;font-size:20px;letter-spacing:.45rem;text-align:center}.protected-pin-field .form-control:focus{border-color:#E47B18;background:rgba(255,255,255,.07);color:#ede7da;box-shadow:0 0 0 .2rem rgba(225,151,69,.16)}.protected-pin-field small{display:block;margin-top:8px;color:rgba(237,231,218,.65);text-align:center}.protected-primary,.protected-cancel{width:100%;min-height:48px;display:grid;place-items:center;border-radius:999px;font-weight:700}.protected-cancel{margin-top:12px;border:1px solid #665441;background:transparent;color:#f5f1e8}.protected-cancel:hover{border-color:#E47B18;background:#29242d;color:#fff}
@media(max-width:760px){.pin-auth-page{display:grid}.pin-shell{min-height:100vh;max-width:none}.protected-action-modal .modal-content{padding:30px 20px 22px;border-radius:22px}.protected-action-modal h2{font-size:22px}}

/* Edit profile follows the same focused, secure dialog language as protected actions. */
.profile-edit-modal{background:rgba(16,15,16,.58);backdrop-filter:blur(7px)}
.profile-edit-modal .modal-dialog{max-width:510px;padding:14px}
.profile-edit-modal .modal-content{max-height:calc(100vh - 32px);overflow-y:auto;padding:30px 28px 24px;border:1px solid #4b4136;border-radius:28px;background:#1d1a20;color:#f5f1e8;box-shadow:0 28px 80px rgba(0,0,0,.42)}
.profile-edit-modal .modal-content::-webkit-scrollbar{width:7px}.profile-edit-modal .modal-content::-webkit-scrollbar-thumb{border-radius:99px;background:#54483c}
.profile-edit-heading{text-align:center}.profile-edit-icon{width:66px;height:66px;margin:0 auto 18px;display:grid;place-items:center;border:1px solid #70563b;border-radius:50%;color:#E47B18;font-size:25px}.profile-edit-modal h2{margin:0 0 8px;color:#fff;font-size:25px}.profile-edit-heading p{max-width:390px;margin:0 auto 22px;color:#c8c0b7;line-height:1.5}
.profile-edit-fields{display:grid;gap:14px}.profile-edit-field{text-align:left}.profile-edit-field label{display:block;margin-bottom:7px;color:#ede7da;font-size:11px;font-weight:700}.profile-edit-field .form-control{min-height:48px;border:1px solid rgba(225,151,69,.48);border-radius:14px;background:rgba(255,255,255,.04);color:#f5f1e8;font-size:14px}.profile-edit-field .form-control:focus{border-color:#E47B18;background:rgba(255,255,255,.07);color:#fff;box-shadow:0 0 0 .2rem rgba(225,151,69,.15)}.profile-edit-field .form-control:-webkit-autofill{-webkit-text-fill-color:#f5f1e8;-webkit-box-shadow:0 0 0 1000px #252127 inset}.profile-pin-input{letter-spacing:.22rem}.profile-edit-grid{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:8px}.profile-auth-or{display:flex;align-items:flex-end;justify-content:center;padding-bottom:15px;color:var(--dialog-muted);font-size:9px;font-weight:700;letter-spacing:.08em}.profile-auth-or span{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--dialog-border);border-radius:50%;background:var(--dialog-bg)}.profile-edit-divider{display:flex;align-items:center;gap:12px;margin-top:3px;color:#aaa197;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.profile-edit-divider:before,.profile-edit-divider:after{content:'';height:1px;flex:1;background:#453b32}.profile-edit-help{margin:-7px 0 0;color:#aaa197;font-size:11px;text-align:center}
.profile-edit-actions{display:grid;gap:11px;margin-top:22px}.profile-edit-modal .protected-primary{border:0;background:linear-gradient(135deg,#E47B18,#E47B18);color:#fff;box-shadow:0 8px 20px rgba(225,151,69,.2)}.profile-edit-modal .protected-primary:hover{background:linear-gradient(135deg,#A9510A,#A9510A);transform:translateY(-1px)}.profile-edit-cancel{width:100%;min-height:48px;border:1px solid #665441;border-radius:999px;background:transparent;color:#f5f1e8;font-weight:700}.profile-edit-cancel:hover{border-color:#E47B18;background:#29242d;color:#fff}
@media(max-width:560px){.profile-edit-modal .modal-dialog{padding:5px;margin:8px}.profile-edit-modal .modal-content{padding:25px 18px 19px;border-radius:22px}.profile-edit-modal h2{font-size:22px}.profile-edit-icon{width:58px;height:58px;margin-bottom:15px}.profile-edit-grid{grid-template-columns:1fr}.profile-auth-or{align-items:center;padding:0}.profile-auth-or:before,.profile-auth-or:after{content:'';height:1px;flex:1;background:var(--dialog-border)}.profile-auth-or span{margin:0 10px}.profile-edit-heading p{margin-bottom:18px}}

/* Reusable create/edit dialog used by Menu, Users, and Inventory. */
.secure-form-modal{background:rgba(16,15,16,.58);backdrop-filter:blur(7px)}
.secure-form-modal .modal-dialog{max-width:510px;padding:14px}.secure-form-modal .modal-content{position:relative;max-height:calc(100vh - 32px);overflow-y:auto;padding:30px 28px 24px;border:1px solid #4b4136;border-radius:28px;background:#1d1a20;color:#f5f1e8;box-shadow:0 28px 80px rgba(0,0,0,.42)}
.secure-form-modal .modal-content::-webkit-scrollbar{width:7px}.secure-form-modal .modal-content::-webkit-scrollbar-thumb{border-radius:99px;background:#54483c}.secure-modal-close{position:absolute;z-index:2;top:18px;right:18px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #4e443a;border-radius:50%;background:transparent;color:#bdb4aa}.secure-modal-close:hover{border-color:#E47B18;background:#29242d;color:#fff}
.secure-modal-heading{text-align:center}.secure-modal-icon{width:66px;height:66px;margin:0 auto 18px;display:grid;place-items:center;border:1px solid #70563b;border-radius:50%;color:#E47B18;font-size:25px}.secure-form-modal h2{margin:0 0 8px;color:#fff;font-size:25px}.secure-modal-heading p{max-width:390px;margin:0 auto 22px;color:#c8c0b7;line-height:1.5}
.secure-modal-fields{display:grid;gap:14px}.secure-modal-field{text-align:left}.secure-modal-field label{display:block;margin-bottom:7px;color:#ede7da;font-size:11px;font-weight:700}.secure-modal-field label span{color:#968d84;font-weight:500}.secure-modal-field .form-control,.secure-modal-field .form-select{min-height:48px;border:1px solid rgba(225,151,69,.48);border-radius:14px;background-color:rgba(255,255,255,.04);color:#f5f1e8;font-size:14px}.secure-modal-field .form-select{background-image:none}.secure-modal-field .form-select option{background:#252127;color:#f5f1e8}.secure-modal-field .form-control:focus,.secure-modal-field .form-select:focus{border-color:#E47B18;background-color:rgba(255,255,255,.07);color:#fff;box-shadow:0 0 0 .2rem rgba(225,151,69,.15)}.secure-modal-field .form-control::placeholder{color:#817970}.secure-pin-input{letter-spacing:.22rem}.secure-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.secure-modal-divider{display:flex;align-items:center;gap:12px;margin-top:3px;color:#aaa197;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.secure-modal-divider:before,.secure-modal-divider:after{content:'';height:1px;flex:1;background:#453b32}
.secure-modal-check{min-height:54px;display:flex;align-items:center;gap:11px;margin:0;padding:10px 13px;border:1px solid #453b32;border-radius:14px;color:#ede7da}.secure-modal-check.compact{align-self:end}.secure-modal-check .form-check-input{flex:0 0 auto;margin:0;background-color:#28242a;border-color:#78654f}.secure-modal-check .form-check-input:checked{background-color:#E47B18;border-color:#E47B18}.secure-modal-check span{font-size:12px;font-weight:700}.secure-modal-check small{display:block;margin-top:2px;color:#aaa197;font-size:10px;font-weight:400}.secure-modal-note{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #453b32;border-radius:13px;background:rgba(225,151,69,.06);color:#bdb4aa;font-size:11px;line-height:1.45}.secure-modal-note i{color:#E47B18}
.secure-modal-actions{display:grid;gap:11px;margin-top:22px}.secure-modal-primary,.secure-modal-cancel{width:100%;min-height:48px;border-radius:999px;font-weight:700}.secure-modal-primary{border:0;background:linear-gradient(135deg,#E47B18,#E47B18);color:#fff;box-shadow:0 8px 20px rgba(225,151,69,.2)}.secure-modal-primary:hover{background:linear-gradient(135deg,#A9510A,#A9510A);transform:translateY(-1px)}.secure-modal-cancel{border:1px solid #665441;background:transparent;color:#f5f1e8}.secure-modal-cancel:hover{border-color:#E47B18;background:#29242d;color:#fff}
@media(max-width:560px){.secure-form-modal .modal-dialog{padding:5px;margin:8px}.secure-form-modal .modal-content{padding:25px 18px 19px;border-radius:22px}.secure-form-modal h2{font-size:22px}.secure-modal-icon{width:58px;height:58px;margin-bottom:15px}.secure-modal-grid{grid-template-columns:1fr}.secure-modal-heading p{margin-bottom:18px}.secure-modal-check.compact{align-self:auto}.secure-modal-close{top:14px;right:14px}}

/* Consistent page-level creation actions. */
.add-floating-action{z-index:1025;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:linear-gradient(135deg,#E47B18,#E47B18);color:#ede7da!important;box-shadow:0 8px 18px rgba(225,151,69,.24);font-weight:700;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.add-floating-action i{color:#ede7da!important;font-size:14px}.add-floating-action:hover{background:linear-gradient(135deg,#A9510A,#A9510A);color:#fff!important;transform:translateY(-1px);box-shadow:0 11px 23px rgba(225,151,69,.3)}
@media(max-width:600px){.add-floating-action{width:auto;max-width:calc(100vw - 32px)}}

/* Unified foreground colors across the owner and cashier dark-mode interfaces. */
html[data-theme=dark] body,
html[data-theme=dark] .app-content,
html[data-theme=dark] .app-header,
html[data-theme=dark] .panel,
html[data-theme=dark] .kpi,
html[data-theme=dark] .list-card,
html[data-theme=dark] .product-card,
html[data-theme=dark] .user-row,
html[data-theme=dark] .settings-card,
html[data-theme=dark] .modal-content,
html[data-theme=dark] .offcanvas,
html[data-theme=dark] .dropdown-menu,
html[data-theme=dark] .table,
html[data-theme=dark] .table td,
html[data-theme=dark] .table th,
html[data-theme=dark] .setting-button,
html[data-theme=dark] .icon-button,
html[data-theme=dark] .header-profile,
html[data-theme=dark] .order-history-row,
html[data-theme=dark] .cart-row button {
  color:var(--ink);
}
html[data-theme=dark] h1,
html[data-theme=dark] h2,
html[data-theme=dark] h3,
html[data-theme=dark] h4,
html[data-theme=dark] h5,
html[data-theme=dark] h6,
html[data-theme=dark] strong,
html[data-theme=dark] .header-title,
html[data-theme=dark] .page-heading,
html[data-theme=dark] .setting-line span {
  color:#ede7da;
}
html[data-theme=dark] .text-secondary,
html[data-theme=dark] .text-muted,
html[data-theme=dark] small,
html[data-theme=dark] label,
html[data-theme=dark] .form-label,
html[data-theme=dark] .page-heading p,
html[data-theme=dark] .profile-hero span,
html[data-theme=dark] .empty-mini,
html[data-theme=dark] .order-history-row small,
html[data-theme=dark] .header-profile small {
  color:#bdb8ae!important;
}
html[data-theme=dark] .form-control,
html[data-theme=dark] .form-select,
html[data-theme=dark] .pos-search input {
  color:#ede7da;
  background-color:var(--card);
}
html[data-theme=dark] .form-control::placeholder,
html[data-theme=dark] .pos-search input::placeholder {
  color:#aaa7a0;
  opacity:1;
}
html[data-theme=dark] .dropdown-menu{background:var(--card);border-color:var(--line)}
html[data-theme=dark] .dropdown-item{color:#ede7da}
html[data-theme=dark] .dropdown-item:hover,
html[data-theme=dark] .dropdown-item:focus{color:#ede7da;background:#292827}
html[data-theme=dark] .btn-outline-secondary,
html[data-theme=dark] .secondary-pill{color:#ede7da;background:var(--card);border-color:#55514b}
html[data-theme=dark] .btn-close{filter:invert(1) grayscale(1);opacity:.8}
html[data-theme=dark] .text-bg-light,
html[data-theme=dark] .soft-badge{background:#343230!important;color:#ede7da!important}
html[data-theme=dark] .status-badge.inactive{background:#343230;color:#c5c0b7}
html[data-theme=dark] .notification-pop-row.unread,
html[data-theme=dark] .order-history-row:hover,
html[data-theme=dark] .table tbody tr:hover{background:#292827}

/* Logout uses the same Anzac treatment as the application's primary buttons. */
.logout-button{border:0;background:linear-gradient(135deg,#E47B18,#E47B18);color:#fff!important;border-radius:9px;padding:11px 20px;font-weight:700;box-shadow:0 7px 16px rgba(225,151,69,.2);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.logout-button:hover{background:linear-gradient(135deg,#E47B18,#A9510A);color:#fff!important;transform:translateY(-1px)}
html[data-theme=dark] .logout-button{background:linear-gradient(135deg,#E47B18,#E47B18);color:#1a1a1b!important}
html[data-theme=dark] .logout-button:hover{background:linear-gradient(135deg,#E47B18,#A9510A);color:#1a1a1b!important}

/* Shared real-time date and time for owner and cashier headers. */
.live-datetime{display:flex;align-items:center;gap:9px;padding:0 13px 0 4px;margin-right:4px;border-right:1px solid var(--line);color:var(--ink);white-space:nowrap}.live-datetime>i{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--cream-2);color:var(--orange-deep)}.live-datetime>span{display:grid;line-height:1.15}.live-datetime strong{font-size:11px;font-family:'DM Sans',sans-serif;font-weight:600}.live-datetime small{margin-top:3px;color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}.mobile-clock{display:none}
html[data-theme=dark] .live-datetime{color:#ede7da}html[data-theme=dark] .live-datetime>i{background:#292827;color:#ede7da!important}html[data-theme=dark] .live-datetime small{color:#bdb8ae!important}
@media(max-width:1120px){.app-header .live-datetime strong{display:none}.app-header .live-datetime{padding-right:9px}.app-header .live-datetime small{margin:0;font-size:10px}}
@media(max-width:900px){.mobile-clock{display:flex;margin-left:auto;margin-right:0;padding:0 8px;border:0}.mobile-clock>i{display:none}.mobile-clock strong{display:none}.mobile-clock small{margin:0;font-size:10px}.mobile-header .notification-trigger{margin-left:0}}
@media(max-width:480px){.mobile-clock{display:none}.mobile-header .notification-trigger{margin-left:auto}}

/* Keep the AI Business Insight copy identical in both themes. */
html[data-theme=dark] .insight,
html[data-theme=dark] .insight h1,
html[data-theme=dark] .insight h2,
html[data-theme=dark] .insight h3,
html[data-theme=dark] .insight h4,
html[data-theme=dark] .insight h5,
html[data-theme=dark] .insight h6,
html[data-theme=dark] .insight strong,
html[data-theme=dark] .insight span,
html[data-theme=dark] .insight p,
html[data-theme=dark] .insight small {
  color:#5e5142!important;
}

.profile-edit-icon i,.secure-modal-icon i,.secure-modal-note i{color:#E47B18!important}

@media print { .app-sidebar,.app-header,button,form { display:none!important; } main,.main-content,.app-main { margin:0!important;padding:0!important; } .panel { box-shadow:none!important;border:0!important; } }
.operation-form{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin-bottom:1rem}.operation-form label{display:grid;gap:.4rem;flex:1 1 12rem}.operation-form input:not([type=hidden]),.operation-form select{min-height:44px;border:1px solid #ccc;border-radius:6px;padding:.5rem;width:100%}.operation-form p{flex-basis:100%}

/* Activity panels follow the warm, rounded history reference. */
.activity-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.activity-card{min-width:0;background:#fff;border:1px solid #dccda8;border-radius:24px;padding:24px 20px;box-shadow:0 3px 8px #49371808}
.activity-card h2{font-family:'DM Sans',sans-serif;font-size:20px;font-weight:700;color:#a51d1d;margin:0 0 10px}
.activity-card>p,.activity-caption{color:#728094;font-size:14px;line-height:1.5}
.activity-card .table{font-size:14px;margin-top:20px;--bs-table-bg:transparent}
.activity-card .table th{color:#728094;font-weight:600;white-space:nowrap}
.activity-card .table td,.activity-card .table th{padding:18px 12px;border-bottom-color:#f1e5bd}
.activity-event-list{display:grid;gap:12px;max-height:650px;overflow:auto}
.activity-event{background:#fffbec;border-radius:15px;padding:14px 12px}
.activity-event-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.activity-event-heading strong{font-weight:500;font-size:15px}
.activity-event-heading time{font-size:12px;color:#728094;text-align:right}
.activity-event-meta,.activity-event summary{font-size:12px;color:#728094;margin-top:5px}
.activity-event pre{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;font-size:12px}
.activity-pagination{display:flex;gap:16px;align-items:center;margin-top:18px;font-size:13px;color:#728094}
.activity-cash-check{margin:20px 0;padding:12px;background:#fffbec;border-radius:14px}
.activity-cash-check>summary{cursor:pointer;font-weight:600;padding:4px}
.inventory-add-action{display:flex;justify-content:flex-end;margin-top:20px;margin-bottom:24px}
[data-theme="dark"] .activity-card{background:#252526;border-color:#655c45}
[data-theme="dark"] .activity-card h2{color:#ffa8a0}
[data-theme="dark"] .activity-event,[data-theme="dark"] .activity-cash-check{background:#343026}
@media(max-width:1000px){.activity-layout{grid-template-columns:1fr}.activity-event-heading{flex-wrap:wrap}.activity-card{padding:18px 14px}}

.activity-tables{grid-template-columns:1fr}
.activity-tables .activity-card{background:var(--card);border-color:var(--line)}
.activity-tables .activity-card h2{color:var(--ink)}
.activity-tables .table{color:var(--ink);--bs-table-color:var(--ink);font-size:13px}
.activity-tables .table th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.activity-tables .table td,.activity-tables .table th{border-bottom-color:var(--line);padding:16px 12px}
.activity-tables .table pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:28rem}

@media(min-width:1100px){.activity-tables{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.activity-tables .table td{overflow-wrap:anywhere}

.activity-switchable{grid-template-columns:minmax(0,1fr)}
.activity-switcher{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:18px;color:var(--ink)}
.activity-switcher>span{min-width:210px;text-align:center;font-weight:600}
.activity-switcher button{min-width:44px;min-height:44px}
.activity-switchable>section[hidden]{display:none!important}

.header-back-button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:40px;padding:0;border:0;background:transparent;border-radius:8px;color:var(--muted);cursor:pointer}
.header-back-button:hover{background:var(--card);color:var(--ink)}
.header-back-button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

.activity-text-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 22px;padding:5px;background:transparent}
.activity-text-nav button{border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:15px;font-weight:600;padding:11px 20px;min-height:44px;cursor:pointer;transition:background .15s,color .15s}
.activity-text-nav button.selected{background:var(--card);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.035)}
.activity-text-nav button:hover{color:var(--ink)}
.activity-text-nav button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

/* Shared theme-aware floating dialogs and primary actions. */
html[data-theme="light"] .modal{--dialog-bg:#fffdf9;--dialog-field:#ffffff;--dialog-ink:#1a1a1b;--dialog-muted:#766f65;--dialog-border:#e4d8c7;--dialog-soft:#f8f3ea}
html[data-theme="dark"] .modal{--dialog-bg:#1d1a20;--dialog-field:#29252d;--dialog-ink:#ede7da;--dialog-muted:#bbb2a6;--dialog-border:#574a3c;--dialog-soft:#302a25}
html .modal .modal-content{background:var(--dialog-bg)!important;color:var(--dialog-ink)!important;border-color:var(--dialog-border)!important;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
html .modal :is(h2,h3,h4,h5,label,.modal-title){color:var(--dialog-ink)!important}
html .modal :is(.profile-edit-heading p,.secure-modal-heading p,.protected-pin-field small,.protected-action-modal p,.profile-edit-help,.profile-edit-divider,.secure-modal-divider,.secure-modal-note,.secure-modal-check small){color:var(--dialog-muted)!important}
html .modal :is(.form-control,.form-select){background-color:var(--dialog-field)!important;color:var(--dialog-ink)!important;border-color:var(--dialog-border)!important;border-radius:14px;min-height:44px}
html .modal :is(.form-control,.form-select):focus{border-color:#E47B18!important;box-shadow:0 0 0 .2rem rgba(225,151,69,.15)}
html .modal .form-control::placeholder{color:var(--dialog-muted)!important}
html .modal .form-control:-webkit-autofill{-webkit-text-fill-color:var(--dialog-ink)!important;-webkit-box-shadow:0 0 0 1000px var(--dialog-field) inset!important}
html .modal .form-select option{background:var(--dialog-field);color:var(--dialog-ink)}
html .modal :is(.modal-header,.modal-footer,.secure-modal-check,.secure-modal-note){border-color:var(--dialog-border)!important}
html .modal :is(.secure-modal-note,.secure-modal-check){background:var(--dialog-soft);color:var(--dialog-ink)}
html .modal :is(.profile-edit-divider,.secure-modal-divider)::before,html .modal :is(.profile-edit-divider,.secure-modal-divider)::after{background:var(--dialog-border)}
html .modal :is(.protected-cancel,.profile-edit-cancel,.secure-modal-cancel,.secure-modal-close,.btn-outline-secondary){background:transparent;color:var(--dialog-ink)!important;border-color:var(--dialog-border)!important;border-radius:12px}
html .modal :is(.protected-cancel,.profile-edit-cancel,.secure-modal-cancel,.secure-modal-close,.btn-outline-secondary):hover{background:var(--dialog-soft)}
html .modal :is(.btn-brand,.protected-primary,.secure-modal-primary){display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:13px 19px;border:0;border-radius:12px;background:linear-gradient(135deg,#E47B18,#E47B18)!important;color:#fff!important;font-weight:700;box-shadow:0 8px 18px rgba(225,151,69,.24);transition:transform .15s,box-shadow .15s}
html .modal :is(.btn-brand,.protected-primary,.secure-modal-primary):hover{background:linear-gradient(135deg,#A9510A,#A9510A)!important;transform:translateY(-1px);box-shadow:0 11px 23px rgba(225,151,69,.3)}
html[data-theme="light"] .modal .btn-close{filter:none}
html[data-theme="dark"] .modal .btn-close{filter:invert(1) grayscale(1) brightness(2)}
html .modal .modal-content::-webkit-scrollbar-thumb{background:var(--dialog-border)}
html .modal .form-check-input:not(:checked){background-color:var(--dialog-field);border-color:var(--dialog-border)}

/* Shared centered create/edit forms, matching the Inventory dialog. */
html .secure-form-modal .modal-content,html .profile-edit-modal .modal-content{position:relative;padding:30px 28px 24px;border-radius:28px;max-height:calc(100dvh - 40px);overflow-y:auto}
html .secure-form-modal .modal-dialog,html .profile-edit-modal .modal-dialog{max-width:510px;padding:12px}
html .modal :is(.secure-modal-heading,.profile-edit-heading){text-align:center;margin:0;padding:0 12px;border:0}
html .modal :is(.secure-modal-heading,.profile-edit-heading) h2{font-family:'DM Sans',sans-serif;font-size:25px;line-height:1.4;margin:0 0 10px;font-weight:700}
html .modal :is(.secure-modal-heading,.profile-edit-heading)>p{display:block;font-size:14px;line-height:1.5;margin:0 auto 20px}
html .modal :is(.secure-modal-icon,.profile-edit-icon){display:grid;place-items:center;width:66px;height:66px;margin:0 auto 18px;border:1px solid #bc945b;border-radius:50%;font-size:25px;color:#E47B18}
html .modal .secure-modal-close{top:16px;right:14px;border:0!important;border-radius:8px!important;width:36px;height:36px}
html .modal :is(.secure-modal-fields,.profile-edit-fields){gap:20px}
html .modal :is(.secure-modal-actions,.profile-edit-actions){display:grid;grid-template-columns:1fr;gap:10px;margin:0;padding:22px 0 0;border:0}
html .modal :is(.secure-modal-primary,.profile-edit-actions .protected-primary,.secure-modal-cancel,.profile-edit-cancel){display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;border-radius:999px!important;margin:0}
@media(max-width:560px){html .secure-form-modal .modal-dialog,html .profile-edit-modal .modal-dialog{margin:8px auto;width:calc(100% - 16px);padding:0}html .secure-form-modal .modal-content,html .profile-edit-modal .modal-content{padding:26px 18px 20px}}

/* Centered inventory form with prominent icon and full-width actions. */
.inventory-centered-modal{background:rgba(16,15,16,.32);backdrop-filter:blur(5px)}
.inventory-centered-modal .modal-dialog{width:min(510px,calc(100% - 24px));max-width:510px;margin:12px auto;padding:0}
html .inventory-centered-modal .modal-content{position:relative;display:flex;flex-direction:column;gap:0;padding:28px 28px 24px;max-height:calc(100dvh - 40px);overflow-y:auto;border-radius:24px}
.inventory-dialog-heading{text-align:center;padding:0 12px}
.inventory-dialog-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border:1px solid #bc945b;border-radius:50%;font-size:23px;color:#E47B18}
.inventory-dialog-heading h2{font-family:'DM Sans',sans-serif;font-size:23px;line-height:1.25;font-weight:700;margin:0 0 8px}
.inventory-dialog-heading p{max-width:360px;margin:0 auto 16px;color:var(--dialog-muted);font-size:13px;line-height:1.5}
.inventory-dialog-close{position:absolute;top:18px;right:18px;z-index:2}
.inventory-centered-modal .modal-body{padding:0;margin-top:0}
html .inventory-centered-modal .modal-body{display:grid;gap:14px!important}
.inventory-centered-modal .modal-body label,.inventory-centered-modal .modal-body .creatable-combobox>label,.inventory-centered-modal .modal-body .static-combobox>label{display:block;width:100%;margin:0;color:var(--dialog-ink);font-size:12px;line-height:1.35;font-weight:650}
.inventory-centered-modal .modal-body>label{padding:0}
.inventory-centered-modal .modal-body :is(input.form-control,textarea.form-control){display:block;width:100%;min-height:42px;margin:6px 0 0;padding:9px 12px;border-radius:10px;font-size:13px;line-height:1.4}
.inventory-centered-modal .modal-body textarea.form-control{min-height:76px;resize:vertical}
.inventory-centered-modal .modal-body :is(.creatable-combobox-control,.static-combobox-control){margin-top:6px}
.inventory-centered-modal .modal-body :is(.creatable-combobox-control,.static-combobox-control)>.form-control{margin:0;min-height:42px;padding-right:46px}
.inventory-centered-modal .modal-body .creatable-combobox-message{display:block;margin-top:4px}
.inventory-centered-modal .modal-body .creatable-combobox-message:empty{display:none;margin:0;min-height:0}
html .inventory-centered-modal .modal-footer{display:grid;grid-template-columns:1fr;gap:9px;border:0;padding:16px 0 0;margin:0}
html .inventory-centered-modal .modal-footer .btn{width:100%;min-height:48px;margin:0;border-radius:999px}
@media(max-width:560px){html .inventory-centered-modal .modal-content{padding:24px 18px 18px;border-radius:20px}.inventory-centered-modal .modal-dialog{margin:8px auto;width:calc(100% - 16px);padding:0}.inventory-centered-modal .modal-body .col-6{width:100%}}

/* Keep long dialogs scrollable without visible scrollbar tracks. */
html .modal,html .modal .modal-content,html .modal .modal-body{scrollbar-width:none;-ms-overflow-style:none}
html .modal::-webkit-scrollbar,html .modal .modal-content::-webkit-scrollbar,html .modal .modal-body::-webkit-scrollbar{display:none;width:0;height:0}
html:has(body.modal-open){overflow:hidden}

/* Cashier screens remain scrollable without visible scrollbar tracks. */
html:has(body.cashier-interface),body.cashier-interface,body.cashier-interface *{scrollbar-width:none;-ms-overflow-style:none}
html:has(body.cashier-interface)::-webkit-scrollbar,body.cashier-interface::-webkit-scrollbar,body.cashier-interface *::-webkit-scrollbar{display:none;width:0;height:0}

/* Stack batch field labels, including pages rendered from the earlier template. */
#batchForm > label:not(.form-check){display:block;width:100%;margin-bottom:6px}
#batchForm > label:not(.form-check) > .form-control{width:100%;margin-top:6px;margin-bottom:12px}

/* Keep native calendar icons visible even when a browser supplies a dark glyph. */
html[data-theme=dark] input:is([type="date"],[type="datetime-local"],[type="month"],[type="week"]){color-scheme:dark}
html[data-theme=dark] input:is([type="date"],[type="datetime-local"],[type="month"],[type="week"])::-webkit-calendar-picker-indicator{
  filter:brightness(0) invert(1);
  opacity:.9;
}

/* Component foregrounds follow their own surface, including hover states. */
html[data-theme=dark] .notification-trigger:hover,
html[data-theme=dark] .theme-trigger:hover{background:var(--cream-2);color:#E47B18}
html[data-theme=dark] .setting-line i,
html[data-theme=dark] .setting-button i{color:var(--muted)}
html[data-theme=dark] .welcome-card,
html[data-theme=dark] .credential-card,
html[data-theme=dark] .pin-card{background:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .auth-subtitle,
html[data-theme=dark] .version-pill,
html[data-theme=dark] .pin-slide p{color:var(--muted)}
html[data-theme=dark] .version-pill{border-color:var(--line)}
html[data-theme=dark] .database-ready{background:var(--cream-2);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] .credential-card input,
html[data-theme=dark] .keypad button{background:var(--cream-2);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .keypad button:hover{background:var(--soft-coral);border-color:var(--orange)}
html[data-theme=dark] .auth-logo:not(.large){background:var(--cream-2);color:#E47B18}

/* Hide scrollbar tracks throughout the app without disabling scrolling. */
html,body,body *{scrollbar-width:none!important;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,body *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}

/* Cashier order workspace */
.cashier-order .order-heading{padding:18px 20px 12px}.cashier-order .order-heading small{color:var(--muted)}
.cashier-order .order-heading h4{padding:8px 0 0;border:0;font-size:20px;display:flex;align-items:center;gap:10px}
.cashier-order #cartCount{font-size:13px;padding:4px 9px;border-radius:20px;background:var(--cream-2);color:var(--ink)}
.service-options{display:flex;margin:0 18px 18px;padding:4px;gap:4px;background:var(--cream-2);border-radius:999px}
.service-options label{flex:1;cursor:pointer}.service-options input{position:absolute;opacity:0;pointer-events:none}
.service-options span{display:block;padding:10px;text-align:center;border-radius:999px;color:var(--ink)}
.service-options input:checked+span{background:var(--orange);color:white}.service-options input:focus-visible+span,.payment-pills input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.cashier-order .payment-pills input{display:block;position:absolute;opacity:0;pointer-events:none}
.order-items-heading{display:flex;justify-content:space-between;align-items:center;padding:0 20px 12px}
.clear-order,.remove-item{border:0;background:transparent;color:#c64a43;font-size:13px}.clear-order:disabled{opacity:.4}
.cashier-order .cart-body{min-height:220px;max-height:38vh;overflow:auto;padding:12px 18px}
.order-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px;margin-bottom:10px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.order-item strong{display:block;overflow-wrap:anywhere}.order-item small{display:block;color:var(--muted);margin-top:4px}.remove-item{font-size:22px;align-self:start}
.quantity-control{display:flex;align-items:center;gap:12px}.quantity-control button{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--cream-2);color:var(--ink)}
.cashier-order .order-totals{padding:10px 20px}.cashier-order .total-line{border-top:1px solid var(--line);padding-top:12px;font-size:21px}
.payment-reference{padding:0 20px 10px}.payment-reference label{font-weight:600;margin-bottom:6px}.payment-reference small,.order-help{color:var(--muted);font-size:12px}
.order-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 14px}.order-actions .btn{font-size:13px;min-height:44px;border-radius:10px;white-space:normal}
.order-notice{margin:0;padding:0 20px 12px;font-size:13px}.order-notice:empty{display:none}.order-help{padding:0 20px 16px;margin:0}
.held-orders-modal .modal-body{padding:0}.held-orders-modal .profile-edit-heading{margin-bottom:12px}.held-orders-modal #heldList{display:grid;gap:10px}.held-selection-bar{display:flex;align-items:center;justify-content:space-between;margin:12px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--dialog-border)}.held-text-button{padding:0;border:0;background:transparent;color:#A9510A;font-size:12px;font-weight:700}.held-text-button:disabled{opacity:.45}.held-selection-bar span{color:var(--dialog-muted);font-size:11px}.held-row{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--dialog-border);border-radius:14px;background:var(--dialog-soft);cursor:pointer}.held-row:has(.held-check:checked){border-color:#E47B18;box-shadow:0 0 0 2px rgba(225,151,69,.12)}.held-check{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:#E47B18}.held-row span{min-width:0}.held-row strong{display:block;color:var(--dialog-ink);font-size:14px}.held-row small{display:block;margin-top:4px;color:var(--dialog-muted);font-size:11px}.held-orders-modal #heldList>p{margin:0;padding:24px;text-align:center;color:var(--dialog-muted);border:1px dashed var(--dialog-border);border-radius:14px}.held-selection-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:20px}.held-selection-actions .btn{min-height:46px;border-radius:999px!important}
@media(max-width:560px){.held-selection-actions{grid-template-columns:1fr}.held-row{align-items:flex-start}}
.order-history-row span{min-width:0;overflow-wrap:anywhere}
.order-history-modal .profile-edit-heading{margin-bottom:18px}.order-history-modal .modal-body{display:grid;gap:10px;padding:0}.order-history-modal .order-history-row{gap:14px;padding:15px;border:1px solid var(--dialog-border);border-radius:14px;background:var(--dialog-soft)}.order-history-modal .order-history-row>a:first-of-type,.order-history-modal .order-history-row strong a{color:var(--dialog-ink);text-decoration:none}.order-history-modal .order-history-row>b{color:var(--orange-deep);white-space:nowrap}.order-history-modal .order-history-row>.bi-receipt{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:var(--dialog-bg);color:#E47B18}.order-history-modal .order-history-row .btn{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;padding:0;border-radius:50%!important}.order-history-modal .empty-mini{padding:30px 12px;border:1px dashed var(--dialog-border);border-radius:14px}.order-history-modal .empty-mini i{color:#E47B18}.order-history-modal .empty-mini p{margin:10px 0 0}
@media(max-width:560px){.order-history-modal .order-history-row{flex-wrap:wrap}.order-history-modal .order-history-row span{flex-basis:calc(100% - 50px)}.order-history-modal .order-history-row>b{margin-left:50px}.order-history-modal .order-history-row .btn{margin-left:auto}}
@media print{body *{visibility:hidden}.sale-receipt,.sale-receipt *{visibility:visible}.sale-receipt{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none}.sale-receipt button{display:none}}
.cashier-order.order-panel{padding:0}.cashier-order .cart-body{min-height:160px;max-height:28vh}.cashier-order .order-heading{padding-top:14px}.cashier-order .order-notice{font-size:12px}

/* Refined order controls and gentle interaction feedback. */
.cashier-order.order-panel{border-radius:20px;border:1px solid var(--line);box-shadow:0 8px 28px rgb(40 30 20 / 5%)}
.cashier-order .order-heading{padding:20px 20px 16px}
.cashier-order .order-heading h4{padding:0;font-size:20px;letter-spacing:-.35px;font-weight:600}
.cashier-order #cartCount{min-width:28px;text-align:center;font-size:12px;font-weight:600}
.cashier-order .service-options{margin:0 18px 18px;gap:4px}
.cashier-order .service-options span{padding:11px 8px;font-size:12px;font-weight:600}
.cashier-order .order-items-heading{padding:0 20px 10px}
.cashier-order .clear-order{padding:6px 8px;border-radius:8px}
.cashier-order .cart-body{margin:0 12px;border-radius:14px;padding:12px;min-height:166px}
.cashier-order .empty-mini{padding:28px 8px}.cashier-order .empty-mini p{margin:12px 0 0;font-size:13px}
.cashier-order .order-item{margin-bottom:8px;box-shadow:0 2px 6px rgb(40 30 20 / 3%)}
.cashier-order .order-item:last-child{margin-bottom:0}
.cashier-order .order-totals{padding:14px 20px 12px}
.cashier-order .total-line{margin-top:12px;padding-top:14px;font-weight:600}
.cashier-order .total-line b{font-size:24px;letter-spacing:-.5px}
.cashier-order .payment-pills{padding:0 18px 16px;gap:8px}
.cashier-order .payment-pills label{cursor:pointer}
.cashier-order .payment-pills span{padding:10px 6px;border-radius:10px;font-size:12px;font-weight:600}
.cashier-order .order-actions{padding:0 18px 18px;gap:10px}
.cashier-order .order-actions .btn{padding:11px 8px;min-height:46px;font-size:12px;font-weight:500;line-height:1.4;border-radius:12px}
.cashier-order .order-actions #pay{font-weight:600}
.cashier-order .order-actions #pay{grid-column:1/-1}
.cashier-order .payment-pills span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid transparent}
.cashier-order .payment-pills label:first-child span{background:color-mix(in srgb,#c58b4b 13%,var(--card));color:var(--ink)}
.cashier-order .payment-pills label:last-child span{background:color-mix(in srgb,#3986d7 11%,var(--card));color:var(--ink)}
.cashier-order .payment-pills span>i{font-size:15px}
.cashier-order .payment-pills label:first-child input:checked+span{border-color:var(--service-orange,var(--orange));box-shadow:inset 0 0 0 1px var(--service-orange,var(--orange))}
.cashier-order .payment-pills label:last-child input:checked+span{border-color:var(--service-orange,var(--orange));box-shadow:inset 0 0 0 1px var(--service-orange,var(--orange))}
.cashier-order .payment-pills input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.cashier-order .order-note label span{color:var(--muted);font-weight:400}
.cashier-order .order-note textarea{resize:vertical;min-height:76px;padding:10px 12px;border:1px solid #e8d8ca;border-radius:11px;background:var(--card);line-height:1.4}
.cashier-order .order-note textarea:focus{border-color:var(--orange);outline:0;box-shadow:0 0 0 3px rgb(225 151 69 / 15%)}
.cashier-order .receipt-order-type,.cashier-order .receipt-note{margin:0 20px 10px;font-size:12px}
.cashier-order .order-actions #pay{border-color:var(--espresso,#2D211B);background:var(--espresso,#2D211B);color:var(--porcelain,#FFFDFB)}
.cashier-order .order-actions #pay:disabled{opacity:.6}
.cashier-order .order-actions #pay:not(:disabled):hover{border-color:#46342b;background:#46342b;color:var(--porcelain,#FFFDFB)}
.pos-layout button,.pos-layout a.btn,.pos-layout .service-options span,.pos-layout .payment-pills span,.pos-layout input.form-control{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}
.pos-layout button:focus-visible,.pos-layout a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.pos-layout button:disabled{cursor:default}
.pos-layout button:not(:disabled):active{transform:scale(.97)}
.cashier-order .payment-reference:not([hidden]){animation:order-field-enter .2s ease-out}
.cashier-order .payment-reference input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgb(225 151 69 / 15%)}
@media(hover:hover){
 .pos-layout .product-card:hover{transform:translateY(-3px);border-color:var(--orange);box-shadow:0 8px 18px rgb(40 30 20 / 10%)}
 .pos-layout .category-pills button:hover,.pos-layout .history-button:hover{transform:translateY(-1px);border-color:var(--orange)}
 .cashier-order .service-options label:hover span,.cashier-order .payment-pills label:hover span{box-shadow:inset 0 0 0 1px var(--orange)}
 .cashier-order .order-actions button:not(:disabled):hover{transform:translateY(-1px);border-color:var(--orange);box-shadow:0 4px 10px rgb(40 30 20 / 8%)}
 .cashier-order .order-actions #holdOrder,.cashier-order .order-actions [data-bs-target="#heldOrders"]{transition:none}
 .cashier-order .order-actions #holdOrder:hover,.cashier-order .order-actions [data-bs-target="#heldOrders"]:hover{transform:none;border-color:var(--line);box-shadow:none;background:var(--card);color:var(--ink)}
 .cashier-order .clear-order:not(:disabled):hover,.cashier-order .remove-item:hover{background:rgb(198 74 67 / 9%)}
 .cashier-order .quantity-control button:hover{background:var(--orange);color:white;border-color:var(--orange)}
}
@keyframes order-field-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.pos-layout *{transition:none!important;animation:none!important}.pos-layout button:hover,.pos-layout button:active{transform:none!important}}

/* Balanced order-type segmented control. */
.cashier-order .service-options{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border:1px solid var(--line);border-radius:15px;background:var(--cream-2)}
.cashier-order .service-options label{position:relative;min-width:0;margin:0}
.cashier-order .service-options span{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;line-height:1.25;letter-spacing:.1px;white-space:nowrap;color:var(--muted)}
.cashier-order .service-options span i{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;font-size:17px;line-height:1}
.cashier-order .service-options input:checked+span{background:var(--orange);color:#fff;box-shadow:0 2px 5px rgb(115 65 15 / 16%)}
.cashier-order .service-options input:focus-visible+span{outline:2px solid var(--orange-deep);outline-offset:2px}
@media(hover:hover){.cashier-order .service-options label:hover input:not(:checked)+span{color:var(--ink);background:var(--card);box-shadow:none}.cashier-order .service-options label:hover input:checked+span{box-shadow:0 3px 7px rgb(115 65 15 / 20%)}}
.cashier-order .service-options label:active span{transform:scale(.98)}
@media(prefers-reduced-motion:reduce){.cashier-order .service-options label:active span{transform:none}}

/* Compact menu cards inside Current Order. */
.cashier-order .order-item{display:block;padding:0;overflow:hidden;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:0 3px 10px rgb(35 25 15 / 4%)}
.cashier-order .order-item-top{display:flex;align-items:center;gap:11px;padding:12px}
.cashier-order .order-thumbnail{--thumbnail-icon-color:var(--espresso);display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:10px;overflow:hidden;background:var(--service-orange-soft);color:var(--espresso);font-size:20px}
.cashier-order .order-thumbnail img{width:100%;height:100%;object-fit:cover}
.cashier-order .order-item-details{flex:1;min-width:0}
.cashier-order .order-item-details strong{font-size:16px;font-weight:700;line-height:1.35}
.cashier-order .order-item-details small{font-size:10px;line-height:1.35;margin-top:3px}
.cashier-order .order-item-details .item-unit-price{color:var(--espresso);margin-top:6px;font-size:14px;font-weight:700}
.cashier-order .order-thumbnail .category-food-icon{width:24px;height:24px}
.cashier-order .order-item .remove-item{flex:0 0 22px;width:22px;height:24px;padding:0;font-size:18px;border-radius:6px;line-height:1;color:var(--muted)}
.cashier-order .order-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid var(--line)}
.cashier-order .order-item-bottom>b{color:var(--espresso);font-size:22px;line-height:1.25;letter-spacing:-.4px;font-weight:750;font-variant-numeric:tabular-nums}
.cashier-order .quantity-control{gap:9px;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--cream-2)}
.cashier-order .quantity-control span{min-width:16px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
.cashier-order .quantity-control button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;font-size:18px;line-height:1;background:var(--card);color:var(--ink)}
.cashier-order .quantity-control button[data-delta="1"]{background:var(--orange);color:#fff}
html[data-theme=dark] .cashier-order .order-item{background:#363533;border-color:#44423e}
html[data-theme=dark] .cashier-order .order-item-bottom{border-color:#4b4944}
html[data-theme=dark] .cashier-order .quantity-control{background:#302f2d;border-color:#504d47}
@media(hover:hover){.cashier-order .quantity-control button:hover{filter:brightness(1.12)}.cashier-order .order-item .remove-item:hover{color:#c64a43}}

.receipt-modal .modal-dialog{max-width:540px}
.receipt-modal .modal-content{border:0;border-radius:20px;overflow:hidden}
.receipt-modal .modal-header{justify-content:center;padding:20px;border:0}
.receipt-modal .modal-header h2{font-size:1.25rem;margin:0;font-weight:700}
.receipt-modal .modal-header i{color:#90a77b;margin-right:8px}
.receipt-modal .modal-body{background:#f4e9d6;padding:20px}
.receipt-paper{background:#fff;border:1px dashed #cbd1db;border-radius:16px;padding:28px 20px;max-width:500px;margin:0 auto;color:#26313d}
.receipt-paper h2{text-align:center;font-size:1.15rem;font-weight:700;margin:0 0 28px}
.receipt-items{width:100%;border-collapse:collapse;font-size:.9rem}
.receipt-items th{padding:10px 0;border-bottom:1px solid #d9dde3;color:#657080;font-weight:500}
.receipt-items td{padding:12px 0;vertical-align:top;overflow-wrap:anywhere}
.receipt-items th:first-child,.receipt-items td:first-child{width:40px}
.receipt-items th:last-child,.receipt-items td:last-child{text-align:right;white-space:nowrap;padding-left:12px}
.receipt-total{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #d9dde3;border-bottom:1px solid #d9dde3;padding:14px 0;margin-top:12px}
.receipt-total strong:last-child{color:#d77141}
.receipt-disclaimer{text-align:center;font-size:.8rem;margin:24px 0 0}
.receipt-modal .modal-footer{padding:16px 20px;gap:12px;justify-content:flex-end}
.receipt-modal .modal-footer .btn{min-width:110px}
@media print{
body.modal-open{overflow:visible!important}
.modal-backdrop{display:none!important}
.receipt-modal{position:absolute!important;inset:0!important;overflow:visible!important;height:auto!important}
.receipt-modal .modal-dialog,.receipt-modal .modal-content,.receipt-modal .modal-body{position:static!important;transform:none!important;overflow:visible!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:white!important;box-shadow:none!important}
.receipt-modal .modal-header,.receipt-modal .modal-footer{display:none!important}
.receipt-paper.sale-receipt{position:static!important;width:100%;max-width:none;border:0;border-radius:0;padding:0}
.receipt-items tr{break-inside:avoid}
}

/* Match the receipt dialog to Held Orders. */
.receipt-modal .profile-edit-heading{margin-bottom:20px}
.receipt-modal .modal-body{padding:0;background:transparent;flex-shrink:1;overflow-y:auto}
.receipt-modal .receipt-paper{margin:0;border-color:var(--dialog-border)}
.receipt-modal .receipt-actions{flex-shrink:0}
@media print{
.receipt-modal{background:transparent!important;backdrop-filter:none!important}
.receipt-modal .profile-edit-heading,.receipt-modal .receipt-actions{display:none!important}
.offline-receipt-dialog{position:absolute!important;inset:0!important;width:100%!important;height:auto!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.offline-receipt-close,.offline-receipt-actions,.offline-receipt-corrections{display:none!important}
.offline-receipt-body{height:auto!important;padding:0!important;overflow:visible!important;background:#fff!important}
.offline-receipt-body .receipt-paper{box-shadow:none!important}
}

/* Profile editor: sidebar navigation and independent form panels. */
html .profile-editor-modal .modal-dialog{max-width:800px}
html .profile-editor-modal .modal-content{padding:0;border-radius:18px;overflow:hidden}
.profile-editor-layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:470px;overflow-y:auto}
.profile-editor-sidebar{display:flex;flex-direction:column;padding:28px 20px;border-right:1px solid var(--dialog-border)}
.profile-editor-account{font-size:13px;overflow-wrap:anywhere;margin:0 0 24px;color:var(--dialog-ink)}
.profile-editor-nav{gap:8px}
.profile-editor-nav .nav-link{display:flex;align-items:center;gap:10px;text-align:left;padding:12px 10px;border:0;border-radius:6px;background:transparent;color:var(--dialog-ink);font-size:13px;font-weight:600}
.profile-editor-nav .nav-link>i:last-child{margin-left:auto;font-size:11px}
.profile-editor-nav .nav-link.active{background:var(--dialog-soft);color:#A9510A}
.profile-editor-nav .nav-link:hover{background:var(--dialog-soft)}
.profile-editor-logout{margin-top:auto;padding-top:30px}
.profile-editor-logout button{border:0;background:transparent;color:var(--dialog-ink);font-size:13px;display:flex;gap:10px;align-items:center}
.profile-editor-main{padding:28px 28px 36px;min-width:0}
html .profile-editor-main h2{font-size:20px;margin:0 40px 20px 0}
.profile-editor-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--dialog-soft);color:#A9510A;font-weight:700;margin-bottom:24px}
html .profile-editor-main .profile-edit-fields{display:grid;gap:18px}
html .profile-editor-main .profile-edit-field{padding:0;border:0;background:transparent;border-radius:0}
html .profile-password-verification{display:grid;gap:9px;margin:0;padding:0;border:0}
html .profile-password-verification legend{margin:0;color:var(--dialog-ink,var(--ink));font-size:12px;font-weight:650}
html .profile-password-verification label{display:flex;align-items:center;gap:9px;margin:0;padding:10px 12px;border:1px solid var(--dialog-border,var(--line));border-radius:8px;color:var(--dialog-ink,var(--ink));font-size:12px;font-weight:500;cursor:pointer}
html .profile-password-verification input{flex:0 0 auto;margin:0;accent-color:var(--service-orange)}
html .profile-password-verification .profile-pin-unavailable{color:var(--dialog-muted,var(--muted));cursor:not-allowed}
html .profile-password-verification [disabled]{cursor:not-allowed}
html .profile-edit-fields [hidden]{display:none!important}
.profile-editor-main label{font-size:12px;font-weight:600;margin-bottom:7px}
html .profile-editor-main .form-control{border-radius:5px;min-height:42px}
html .profile-editor-main .protected-primary{justify-self:start;width:auto;border-radius:6px;min-height:42px;padding:10px 16px;font-size:13px}
.profile-editor-main form>p{font-size:13px;color:var(--dialog-muted);margin:0}
.profile-editor-footer{text-align:center;font-size:11px;padding:12px;border-top:1px solid var(--dialog-border);background:var(--dialog-soft);flex-shrink:0}
html .profile-editor-modal .secure-modal-close{border-radius:50%!important;background:var(--dialog-soft);z-index:1}
@media(max-width:560px){
html .profile-editor-modal .modal-content{padding:0}
.profile-editor-layout{grid-template-columns:1fr;min-height:0}
.profile-editor-sidebar{padding:20px 18px 14px;border-right:0;border-bottom:1px solid var(--dialog-border)}
.profile-editor-account{margin:0 42px 14px 0}
.profile-editor-nav{flex-direction:row!important;flex-wrap:wrap;gap:4px}
.profile-editor-nav .nav-link{padding:9px 8px}
.profile-editor-nav .nav-link>i:last-child{display:none}
.profile-editor-logout{margin-top:10px;padding-top:0}
.profile-editor-main{padding:22px 18px 28px}
}

/* Order history uses the same floating layout as Held Orders. */
.order-history-modal .profile-edit-heading{margin-bottom:20px}
.order-history-modal .modal-body{padding:0;display:grid;gap:10px}
.order-history-modal .order-history-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;padding:16px;border:1px solid var(--dialog-border);border-radius:14px;background:var(--dialog-soft);margin:0}
.order-history-modal .order-history-row>span{min-width:0;overflow-wrap:anywhere}
.order-history-modal .order-history-row small{color:var(--dialog-muted)}
.order-history-modal .order-history-row>span a{color:var(--dialog-ink);text-decoration:none}
.order-history-modal .order-history-row>span a:hover{text-decoration:underline}
.order-history-modal .order-history-row>b{white-space:nowrap;color:var(--dialog-ink);margin-left:0}
.order-history-modal .order-history-row>.btn{grid-column:3;justify-self:end}
.order-history-modal .offline-history-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto 16px;align-items:center;gap:12px;width:100%;min-height:76px;padding:13px 14px;border:1px solid var(--dialog-border);border-radius:14px;background:var(--dialog-soft);color:var(--dialog-ink);text-align:left;box-shadow:none;transition:border-color .18s ease,background-color .18s ease}
.order-history-modal .offline-history-card:hover{border-color:#E47B18;background:var(--dialog-bg)}
.order-history-modal .offline-history-card:focus-visible{outline:3px solid rgba(225,151,69,.35);outline-offset:2px}
.offline-history-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--dialog-bg);color:#A9510A;font-size:18px}
.offline-history-card-copy{display:grid;gap:4px;min-width:0}
.offline-history-card-copy strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.offline-history-card-copy small{display:block;color:var(--dialog-muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.offline-history-card-copy .offline-history-reference{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;opacity:.85}
.offline-history-card-total{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.offline-history-card-arrow{color:var(--dialog-muted);font-size:12px}
.offline-receipt-dialog{position:fixed;inset:0;flex-direction:column;width:min(510px,calc(100vw - 24px));max-width:none;height:min(780px,calc(100dvh - 24px));max-height:none;margin:auto;padding:0;border:1px solid var(--dialog-border,#ded7ca);border-radius:28px;background:var(--dialog-bg,#fffdf9);color:var(--dialog-ink,#26231f);box-shadow:0 28px 80px rgba(0,0,0,.34);overflow:hidden}
.offline-receipt-dialog[open]{display:flex}
.offline-receipt-dialog::backdrop{background:rgba(24,22,19,.68);backdrop-filter:blur(5px)}
.offline-receipt-close{position:absolute;z-index:2;top:14px;right:14px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--dialog-border,#ded7ca);border-radius:50%;background:var(--dialog-bg,#fffdf9);color:var(--dialog-muted,#706b62);font-size:17px;box-shadow:0 4px 12px rgba(49,39,25,.08)}
.offline-receipt-close:hover{background:var(--dialog-soft,#f5f1e9);color:var(--dialog-ink,#26231f)}
.offline-receipt-close:focus-visible{outline:3px solid rgba(225,151,69,.35);outline-offset:2px}
.offline-receipt-body{flex:1 1 auto;min-height:0;height:auto;padding:18px 20px 14px;overflow:auto;background:var(--dialog-soft,#f5f1e9);overscroll-behavior:contain}
html[data-theme] .offline-receipt-body .receipt-paper{width:var(--receipt-paper-width,80mm);max-width:100%;min-height:100%;margin:0 auto;border:1px solid var(--dialog-border,#ded7ca);box-shadow:none}
.offline-receipt-corrections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(80mm,100%);margin:14px auto 0}
.offline-receipt-corrections:empty{display:none}
.offline-receipt-corrections .btn{min-height:42px;white-space:normal}
.offline-receipt-actions{display:grid;flex:0 0 auto;grid-template-columns:1fr 1fr;gap:10px;padding:14px 20px;border-top:1px solid var(--dialog-border,#ded7ca);background:var(--dialog-bg,#fffdf9)}
.offline-receipt-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px!important;font-weight:600}
@media(max-width:560px){
 .order-history-modal .offline-history-card{grid-template-columns:38px minmax(0,1fr) auto;gap:10px;padding:12px}
 .offline-history-card-icon{width:38px;height:38px}
 .offline-history-card-total{grid-column:2;justify-self:start;color:var(--orange-deep)}
 .offline-history-card-arrow{grid-column:3;grid-row:1/3}
 .offline-receipt-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:22px}
 .offline-receipt-body{height:auto;padding:14px 10px 12px}
 .offline-receipt-actions{padding:12px 14px}
 .offline-receipt-corrections{grid-template-columns:1fr}
}
.receipt-paper h2:has(+.receipt-order-number){margin-bottom:10px}
.receipt-order-number{font-size:1.5rem;font-weight:800;text-align:center;margin:0 0 26px;line-height:1.3;overflow-wrap:anywhere}

/* Centered confirmation prompts shared by every page. */
.action-confirmation{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 32px));padding:0;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);box-shadow:0 18px 60px #0005;max-height:calc(100dvh - 32px);overflow:auto}
.action-confirmation::backdrop{background:rgba(0,0,0,.42);backdrop-filter:blur(3px)}
.action-confirmation-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--cream)}
.action-confirmation-header h2{font-size:16px;margin:0;font-weight:700}
.action-confirmation-header button{border:0;background:transparent;color:inherit;font-size:24px;line-height:1;width:32px;height:32px;border-radius:6px}
.action-confirmation-body{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px 20px;text-align:center}
.action-confirmation-body>i{font-size:30px;color:#e7ac34;flex-shrink:0}
.action-confirmation-body p{margin:0;min-width:0;font-size:14px;line-height:1.5;text-align:center;overflow-wrap:anywhere}
.action-confirmation-buttons{display:flex;justify-content:center;gap:12px;padding:0 20px 20px}
.action-confirmation-buttons .btn{min-width:90px}
.action-confirmation-buttons [data-confirm-yes]{background:#287b4f!important;border-color:#287b4f!important;color:#fff!important;box-shadow:none}
.action-confirmation-buttons [data-confirm-no]{background:#bf3e38!important;border-color:#bf3e38!important;color:#fff!important;box-shadow:none}
.action-confirmation-buttons [data-confirm-yes]:hover{background:#20643f!important;border-color:#20643f!important}
.action-confirmation-buttons [data-confirm-no]:hover{background:#a5302b!important;border-color:#a5302b!important}
.action-confirmation-buttons [data-confirm-yes]:focus-visible{outline:3px solid #287b4f;outline-offset:3px}
.action-confirmation-buttons [data-confirm-no]:focus-visible{outline:3px solid #bf3e38;outline-offset:3px}
.printer-settings{margin-bottom:16px;padding:16px}
.printer-settings summary{cursor:pointer}
.printer-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.printer-heading h3{margin:0;font-size:1.15rem;font-weight:700}
.printer-heading p{margin:4px 0 0}
.printer-heading-icon{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:12px;background:#fff0df;color:#b86524;font-size:1.4rem}
.printer-state{margin-left:auto;padding:6px 10px;border-radius:20px;background:#eef0f3;color:#536070;font-size:.75rem;white-space:nowrap}
.printer-state.is-connected{background:#e1f3e8;color:#216b43}
.printer-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.printer-choice{display:flex;align-items:center;gap:12px;text-align:left;padding:18px;border:1px solid #cbd1db;border-radius:12px;background:var(--dialog-bg,#fff);color:inherit;cursor:pointer}
.printer-choice>i:first-child{font-size:1.7rem;color:#A9510A}
.printer-choice span{display:grid;gap:4px}
.printer-choice small{font-size:.8rem;opacity:.75}
.printer-choice-check{margin-left:auto;visibility:hidden;color:#b86524}
.printer-choice[aria-pressed="true"]{border-color:#A9510A;box-shadow:0 0 0 1px #A9510A}
.printer-choice[aria-pressed="true"] .printer-choice-check{visibility:visible}
.printer-choice:focus-visible{outline:3px solid #A9510A;outline-offset:3px}
.printer-choice:disabled{opacity:.65;cursor:default}
.printer-options{border-top:1px solid #cbd1db;padding-top:12px;margin-bottom:16px}
.printer-options summary{font-weight:600}
.printer-settings [data-printer-status]{padding:12px;border-radius:8px;background:var(--dialog-soft,#f5f6f8);overflow-wrap:anywhere}
@media(max-width:576px){.printer-choices{grid-template-columns:1fr}.printer-heading{flex-wrap:wrap}.printer-state{margin-left:0}.printer-choice{padding:14px}}
.printer-settings label{display:block;margin:10px 0}
.printer-settings input,.printer-settings select{display:block;width:100%;max-width:420px;padding:8px;border:1px solid #cbd1db;border-radius:6px;background:var(--dialog-bg,#fff);color:inherit}
.printer-settings p{font-size:.85rem;margin:12px 0}
.printer-settings .receipt-actions{display:flex;flex-wrap:wrap;gap:8px}
.printer-reference{width:100%;max-width:350px;padding:26px 24px;border:0;border-radius:18px;background:var(--dialog-bg,#fff);box-shadow:0 8px 30px rgba(25,40,55,.1);margin:0 0 22px}
.printer-reference h3{font-size:1.45rem;font-weight:800;letter-spacing:-.4px;margin:0 0 26px;color:var(--dialog-ink,#263442)}
.printer-reference #printerTransport{max-width:none;border:0;border-radius:4px;background:var(--dialog-soft,#f7f7f7);padding:13px 12px;font-size:.85rem;margin-bottom:12px}
.printer-device-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px 12px;border:0;border-radius:4px;background:var(--dialog-soft,#f7f7f7);color:inherit;font-size:.85rem;font-weight:600;text-align:left}
.printer-device-picker:disabled{opacity:.75}
.printer-paper{display:flex;gap:8px;margin:12px 0 26px;padding:0;border:0;min-width:0}
.printer-reference .printer-paper label{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;margin:0;padding:8px 4px;border-radius:4px;background:var(--dialog-soft,#f7f7f7);font-size:.75rem;font-weight:700;cursor:pointer}
.printer-reference .printer-paper input{display:inline-block;width:12px;height:12px;margin:0;padding:0;accent-color:#1976ef}
.printer-connect-primary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:0;border-radius:4px;background:#1976ef;color:#fff;font-size:.9rem;text-align:left}
.printer-connect-primary:hover{background:#0964d7}
.printer-connect-primary:disabled{opacity:.65}
.printer-reference [data-printer-status]{padding:0;background:transparent;font-size:.78rem;line-height:1.5;color:var(--dialog-ink,#536070)}
.printer-secondary-actions{display:flex;justify-content:space-between;gap:12px}
.printer-secondary-actions .btn-link{padding:4px 0;font-size:.8rem;text-decoration:none}
.printer-reference .printer-options{margin:14px 0 0;padding-top:12px;font-size:.8rem}
.printer-reference .printer-options summary{font-weight:500}
.printer-reference .printer-custom-size{font-size:.8rem;margin-top:-12px;margin-bottom:18px}
.printer-reference button:focus-visible,.printer-reference select:focus-visible{outline:3px solid #8ab9ff;outline-offset:2px}
.printer-reference{max-width:680px;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 24px rgba(65,43,24,.06);padding:24px;border-radius:18px}
.printer-reference h3{color:var(--ink);margin-bottom:6px;font-size:1.3rem}
.printer-reference .printer-intro{color:var(--muted);margin:0 0 20px;line-height:1.5}
.printer-reference #printerTransport,.printer-reference .printer-device-picker,.printer-reference .printer-paper label{background:var(--cream-2);color:var(--ink);border:1px solid var(--line);border-radius:10px}
.printer-reference .printer-device-picker{margin-top:12px}
.printer-reference .printer-connect-primary{background:var(--orange);border-radius:10px;font-weight:650;padding:13px 16px}
.printer-reference .printer-connect-primary:hover{background:var(--orange-deep)}
.printer-reference .printer-paper input{accent-color:var(--orange-deep)}
.printer-reference [data-printer-status]{color:var(--muted)}
.printer-reference .btn-link{color:var(--orange-deep)}
.printer-reference button:focus-visible,.printer-reference select:focus-visible{outline-color:var(--orange)}
.printer-reference select:focus,.printer-reference select:focus-visible{outline:none;border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange);border-radius:10px}
.printer-device-list{display:grid;gap:10px;margin:18px 0}
.printer-device-list[hidden]{display:none}
.printer-reference .printer-connect-primary{margin-bottom:14px}
.printer-basic-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.printer-reference .printer-basic-fields label{margin:0;font-size:.8rem;color:var(--muted)}
.printer-basic-fields input{margin-top:6px}
@media(max-width:480px){.printer-basic-fields{grid-template-columns:1fr}}
.printer-list-row{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;background:var(--cream-2);border:1px solid var(--line)}
.printer-list-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--card);color:var(--orange-deep);font-size:22px}
.printer-list-copy{flex:1;min-width:0;display:grid;gap:4px}
.printer-list-copy strong{font-size:.88rem;overflow-wrap:anywhere}
.printer-list-copy small{font-size:.73rem;color:var(--muted)}
.printer-list-state{font-size:.72rem;color:var(--muted)}
.printer-default{border:1px solid var(--orange);border-radius:8px;padding:8px 12px;color:var(--orange-deep);background:var(--card);font-size:.78rem;font-weight:650;white-space:nowrap}
.printer-default:disabled{background:var(--cream-2);color:var(--muted);border-color:var(--line)}
.printer-empty{padding:20px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}
.printer-settings-modal .modal-dialog{max-width:650px}
.printer-settings-modal .profile-edit-heading{margin-bottom:18px}
.printer-settings-modal .modal-body{padding:0;--card:var(--dialog-bg);--ink:var(--dialog-ink);--muted:var(--dialog-muted);--line:var(--dialog-border);--cream-2:var(--dialog-soft)}
.printer-settings-modal .printer-reference{max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:transparent}
.printer-settings-modal .printer-reference>h3,.printer-settings-modal .printer-intro{display:none}
.printer-modal-footer{padding-top:18px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.printer-modal-footer .btn{min-width:110px;min-height:44px;border-radius:999px}
.printer-selector-divider{margin:18px 0;border:0;border-top:1px solid var(--dialog-border,var(--line));opacity:1}
.printer-settings-modal .printer-modal-footer{border-top:1px solid var(--dialog-border);margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.printer-settings-modal .printer-modal-footer .btn{min-width:0;padding:10px 12px;font-size:12px}
.printer-settings-modal .printer-test-button{background:#287b4f!important;border:1px solid #287b4f!important;color:#fff!important}
.printer-settings-modal .printer-disconnect-button{background:#bf3e38!important;border:1px solid #bf3e38!important;color:#fff!important}
.printer-settings-modal .printer-test-button:hover{background:#20643f!important}
.printer-settings-modal .printer-disconnect-button:hover{background:#a5302b!important}
.printer-support-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:18px;padding:16px;border:1px solid var(--dialog-border);border-radius:14px;background:var(--dialog-soft)}
.printer-support-heading{display:flex;align-items:center;gap:11px;min-width:0}
.printer-support-heading>div{display:grid;gap:3px;min-width:0}
.printer-support-heading strong{font-size:13px;line-height:1.35}
.printer-support-heading small{color:var(--dialog-muted);font-size:11px;line-height:1.4}
.printer-support-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:var(--dialog-bg);color:var(--orange-deep);font-size:17px}
.printer-support-panel>[data-printer-diagnose]{justify-self:end;min-height:40px;padding:9px 13px;white-space:nowrap}
.printer-support-panel>[data-printer-diagnostic],.printer-support-note{grid-column:1/-1;margin:0!important;padding-top:11px;border-top:1px solid var(--dialog-border);font-size:11px!important;line-height:1.55;color:var(--dialog-muted)}
.printer-support-panel>[data-printer-diagnostic]{color:var(--dialog-ink)}
.printer-support-panel>[data-printer-diagnostic][hidden]{display:none}
.printer-connection-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}
.printer-reference .printer-connection-row #printerTransport{margin:0;min-height:46px}
.printer-settings-modal .printer-connection-row .btn,.printer-settings-modal .printer-modal-footer .btn{min-height:46px;padding:10px 16px;border-radius:999px!important;font-size:12px;font-weight:600;line-height:1.4}
@media(max-width:420px){.printer-connection-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.printer-settings-modal .printer-connection-row .btn,.printer-settings-modal .printer-modal-footer .btn{padding:10px 8px}}
@media(max-width:480px){.printer-support-panel{grid-template-columns:1fr}.printer-support-panel>[data-printer-diagnose]{justify-self:stretch;width:100%}}
.printer-connection-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;margin-bottom:18px;border:1px solid var(--orange);border-radius:12px;background:var(--dialog-soft);color:var(--dialog-ink)}
.printer-connection-notice[hidden]{display:none}
.printer-connection-notice>i{font-size:24px;color:var(--orange-deep)}
.printer-connection-notice strong{font-size:.95rem}
.printer-connection-notice p{margin:5px 0 0;font-size:.82rem;line-height:1.6;color:var(--dialog-muted)}
.printer-error-alert{font-size:.85rem;line-height:1.6;margin-bottom:18px;border-radius:8px}
.printer-error-alert[hidden]{display:none}
@media(max-width:480px){.printer-list-row{flex-wrap:wrap}.printer-list-state{margin-left:56px}.printer-default{margin-left:auto}.printer-reference{padding:18px}}
@media print{.action-confirmation,.printer-settings{display:none!important}}

/* Consistent spacing and distinct menu action colors. */
.menu-row-actions{display:flex;align-items:center;gap:10px}
.menu-row-actions form{margin:0;display:flex!important}
.menu-row-actions .btn{min-height:34px;padding:6px 12px;white-space:nowrap}

/* Floating notifications never move the page content. */
.flash-overlay{position:fixed;top:82px;left:auto;right:28px;width:min(480px,calc(100vw - 32px));z-index:1090;display:grid;gap:10px;pointer-events:none}
.flash-overlay .alert{margin:0;padding:14px 48px 14px 16px;font-size:14px;line-height:1.5;overflow-wrap:anywhere;min-width:0;pointer-events:auto;box-shadow:0 8px 24px rgba(0,0,0,.14);animation:flash-enter .35s ease-out;transition:opacity .35s ease,transform .35s ease}
.flash-overlay .alert:not(.show){opacity:0;transform:translateY(-10px)}
@keyframes flash-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
body.nav-collapsed .flash-overlay{left:auto}
@media(min-width:901px) and (max-width:1100px){.flash-overlay{left:auto;right:20px}body.nav-collapsed .flash-overlay{left:auto}}
@media(max-width:900px){.flash-overlay,body.nav-collapsed .flash-overlay{top:76px;left:auto;right:16px}}
@media(max-width:600px){.flash-overlay,body.nav-collapsed .flash-overlay{left:auto;right:12px;width:min(480px,calc(100vw - 24px))}}
@media(prefers-reduced-motion:reduce){.flash-overlay .alert{animation:none;transition:none}}
@media print{.flash-overlay{display:none!important}}
html body .flash-overlay.flash-screen{top:16px;left:auto;right:16px;width:min(480px,calc(100vw - 32px))}
.receipt-render-source,.receipt-render-source *{color:#000!important;background-color:#fff!important;border-color:#888!important;box-shadow:none!important}
.flash-screen .alert{padding:12px 48px 12px 16px;font-size:13px;line-height:1.5;border-radius:8px}
.flash-screen .alert .btn-close{padding:14px}
@media(max-width:600px){html body .flash-overlay.flash-screen{top:10px;left:auto;right:12px;width:min(480px,calc(100vw - 24px))}}

/* Record pagination uses the system accent colors. */
.navigation-arrow.navigation-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:2px solid var(--orange);border-radius:50%;background:transparent;color:var(--orange);text-decoration:none;line-height:1;cursor:pointer;vertical-align:middle;transition:background-color .15s,color .15s}
.navigation-arrow.navigation-arrow .bi{font-size:28px;color:inherit;line-height:1}
.navigation-arrow.navigation-arrow:not(:disabled):not([aria-disabled="true"]):hover{background:var(--cream-2);border-color:var(--orange-deep);color:var(--orange-deep);outline:none}
.navigation-arrow.navigation-arrow:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.navigation-arrow.navigation-arrow:disabled,.navigation-arrow.navigation-arrow[aria-disabled="true"]{opacity:.45;cursor:default}

.activity-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.activity-card-heading h2{margin:0}
.activity-record-count{margin-left:auto;color:var(--muted);font-size:13px;white-space:nowrap}
.activity-pagination{justify-content:center}
.activity-page-number{min-width:28px;text-align:center;font-size:15px;font-weight:600;color:var(--ink)}

/* Reports: matching card heights with a bounded download history. */
.reports-layout > div{min-width:0}
.report-create-card,.report-history-card{width:100%;margin-bottom:0}
.report-history-card .table-scroll{min-width:0}
.report-history-card .table{table-layout:fixed;width:100%}
.report-history-card th:first-child{width:43%}
.report-history-card th:last-child{width:18%}
.report-history-card td{overflow-wrap:anywhere;vertical-align:middle}
.report-history-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:auto;padding-top:20px;font-size:13px}
@media(min-width:992px){.report-history-card td{padding-top:12px;padding-bottom:12px}}

/* Password sign-in: full-width controls and a clear primary action. */
.password-login-page .login-card{gap:0}
.password-login-page .login-card .auth-logo{flex-shrink:0;margin-bottom:22px}
.login-heading{text-align:center;margin-bottom:28px}
.login-heading h1{font-family:inherit;font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.7px;margin:0 0 10px;color:var(--ink)}
.login-heading p{color:var(--muted);font-size:14px;margin:0;line-height:1.5}
.login-card form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:20px;text-align:left}
.login-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.login-field label{font-size:13px;font-weight:600;color:var(--ink);margin:0}
.login-field .form-control{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:16px;line-height:1.4;background:var(--card);color:var(--ink)}
.login-field .form-control::placeholder{color:var(--muted);opacity:.8;font-size:14px}
.login-field .form-control:focus{border-color:var(--orange);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 18%,transparent)}
.login-card form .primary-pill{width:100%;min-height:48px;border-radius:10px;margin-top:4px;font-size:15px;cursor:pointer}
.login-pin-link{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:360px;min-height:46px;margin-top:14px;border:1px solid var(--line);border-radius:10px;color:var(--orange-deep);font-size:14px;font-weight:600;text-decoration:none}
.login-pin-link:hover{background:var(--cream-2);color:var(--orange-deep)}
.login-help{width:100%;max-width:360px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);text-align:center;font-size:13px;line-height:1.6}
.login-help p{margin:0 0 10px;color:var(--ink);font-weight:500}
.login-help p span{color:var(--muted);font-weight:400}
.login-help .text-link{display:inline-flex;align-items:center;gap:6px;margin-top:0;min-height:32px}
@media(max-width:760px){.password-login-page .login-card{min-height:100svh;height:auto;padding:40px 28px}.password-login-page .pin-shell{height:auto}.login-heading h1{font-size:28px}}
@media(max-height:740px) and (min-width:761px){.password-login-page .login-card{padding-top:28px;padding-bottom:28px}.login-heading{margin-bottom:20px}.login-help{margin-top:18px;padding-top:16px}}

/* Keep expense entry actions aligned with each other and the form controls. */
.expense-entry-actions{width:1%;white-space:nowrap;vertical-align:middle}
.expense-form-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.expense-form-actions .btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:42px;margin:0;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;line-height:1.25;white-space:nowrap;box-shadow:none}
.expense-form-actions .btn-brand{border:1px solid transparent}

/* Expense row actions share one baseline, size, and gap. */
.expense-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.expense-row-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-width:78px;min-height:38px;margin:0;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;line-height:1.25;white-space:nowrap;box-shadow:none}
.expense-row-actions .expense-delete{background:var(--danger);border:1px solid var(--danger);color:#241b11}
.expense-row-actions .expense-delete:hover{background:color-mix(in srgb,var(--danger) 85%,#000);border-color:color-mix(in srgb,var(--danger) 85%,#000);color:#fff}
.expense-row-actions .expense-delete:focus-visible{outline:2px solid var(--danger);outline-offset:3px}

.expense-form-actions.expense-add-action{width:100%}
.expense-form-actions.expense-add-action .btn-brand{flex:1 1 auto;width:100%}

/* Rounded logo corners scale with each brand size. */
.system-logo{display:block;width:100%;height:100%;object-fit:contain;border-radius:20%}
.brand-mark:has(.system-logo){padding:0;border-radius:20%;background:transparent;overflow:hidden}
.auth-logo.system-logo-frame{padding:0;border:0;border-radius:20%;background:transparent;overflow:hidden;flex-shrink:0}

/* Inventory and menu share table spacing, status badges, and row controls. */
:is(.inventory-records,.menu-records){padding:18px;margin-bottom:80px}
:is(.inventory-management-table,.menu-management-table){width:100%;min-width:1080px;table-layout:fixed;margin:0}
:is(.inventory-management-table,.menu-management-table) th,:is(.inventory-management-table,.menu-management-table) td{padding:16px 14px;vertical-align:middle;line-height:1.5}
:is(.inventory-management-table,.menu-management-table) th{font-size:11px;letter-spacing:.04em;white-space:nowrap}
:is(.inventory-management-table,.menu-management-table) td{font-size:13px;overflow-wrap:anywhere}
:is(.inventory-management-table,.menu-management-table) td strong{font-weight:600}
:is(.inventory-management-table,.menu-management-table) th:nth-child(3),:is(.inventory-management-table,.menu-management-table) td:nth-child(3),:is(.inventory-management-table,.menu-management-table) th:nth-child(4),:is(.inventory-management-table,.menu-management-table) td:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}
:is(.inventory-management-table,.menu-management-table) th:nth-child(5),:is(.inventory-management-table,.menu-management-table) td:nth-child(5){text-align:center}
:is(.inventory-management-table,.menu-management-table) th:last-child,:is(.inventory-management-table,.menu-management-table) td:last-child{padding-left:18px;text-align:center}
:is(.inventory-management-table,.menu-management-table) .badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;min-width:90px;padding:5px 9px;font-size:11px;font-weight:500;border-radius:999px;white-space:nowrap}
:is(.inventory-management-table,.menu-management-table) .progress{height:8px;min-width:0;margin:0 0 7px;border-radius:999px}
:is(.inventory-management-table,.menu-management-table) .progress-bar{border-radius:999px}
:is(.inventory-management-table,.menu-management-table) .inventory-level-label{display:block;min-width:0;margin:0;font-size:11px;font-weight:400;color:var(--muted)}
:is(.inventory-row-actions,.menu-row-actions){display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
:is(.inventory-row-actions,.menu-row-actions) form{margin:0}
:is(.inventory-row-actions,.menu-row-actions) .btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;min-width:56px;margin:0;padding:6px 10px;font-size:12px;border-radius:7px;white-space:nowrap}
@media(max-width:600px){:is(.inventory-records,.menu-records){padding:10px}:is(.inventory-management-table,.menu-management-table) th,:is(.inventory-management-table,.menu-management-table) td{padding:13px 12px}}

:is(.inventory-records,.menu-records) :is(.inventory-row-actions,.menu-row-actions){flex-wrap:nowrap}:is(.inventory-records,.menu-records) :is(.inventory-row-actions,.menu-row-actions) form{flex:0 0 auto;width:auto}:is(.inventory-records,.menu-records) :is(.inventory-row-actions,.menu-row-actions) .btn{width:auto;flex:0 0 auto}

:is(.inventory-management-table,.menu-management-table) th:nth-child(3),:is(.inventory-management-table,.menu-management-table) td:nth-child(3),:is(.inventory-management-table,.menu-management-table) th:nth-child(4),:is(.inventory-management-table,.menu-management-table) td:nth-child(4){text-align:center;font-variant-numeric:tabular-nums}

/* Give the stock-level heading, bars and captions one shared center line. */
:is(.inventory-management-table,.menu-management-table) th:nth-child(6),:is(.inventory-management-table,.menu-management-table) td:nth-child(6){text-align:center;padding-left:18px;padding-right:18px}
:is(.inventory-management-table,.menu-management-table) td:nth-child(6) .progress{width:100%;max-width:220px;margin:0 auto 8px}
:is(.inventory-management-table,.menu-management-table) td:nth-child(6) .inventory-level-label{text-align:center;line-height:1.5;margin:0;white-space:normal;font-variant-numeric:tabular-nums}

/* Owner inventory and menu management */
.management-tabs{display:flex;gap:38px;margin:0 0 20px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.management-tabs::-webkit-scrollbar{display:none}.management-tabs a{position:relative;min-height:44px;padding:11px 0 10px;color:var(--muted);font-size:13px;font-weight:500;text-decoration:none;border:0;white-space:nowrap}.management-tabs a:hover{color:var(--ink)}.management-tabs a.active{color:var(--ink);font-weight:700}.management-tabs a.active:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--service-orange,var(--orange))}
.management-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.management-filter{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(145px,1fr)) auto;align-items:end;gap:12px;padding:16px;margin-bottom:16px}.management-filter-inline{display:flex;padding:0;margin:0;border:0;background:transparent;box-shadow:none}.menu-filter-form{display:grid;grid-template-columns:minmax(136px,1fr) minmax(120px,1fr);align-items:end;gap:14px}.inventory-filter-form{display:grid;grid-template-columns:minmax(180px,240px);align-items:end}.menu-filter-form label,.inventory-filter-form label{display:grid;grid-template-rows:auto 54px;align-items:end;margin:0}.menu-filter-form .form-select,.inventory-filter-form .form-select{height:54px;margin-top:7px}.management-filter label{font-size:12px;font-weight:600}.management-filter .form-control,.management-filter .form-select{margin-top:6px}.empty-table-state{padding:42px!important;text-align:center;color:var(--muted)}
.inventory-management-table{width:100%;min-width:1120px;table-layout:fixed}.inventory-management-table col.inventory-col-name{width:14%}.inventory-management-table col.inventory-col-unit{width:6%}.inventory-management-table col.inventory-col-opening{width:10%}.inventory-management-table col.inventory-col-added{width:9%}.inventory-management-table col.inventory-col-before-usage{width:11%}.inventory-management-table col.inventory-col-used{width:12%}.inventory-management-table col.inventory-col-current{width:14%}.inventory-management-table col.inventory-col-status{width:10%}.inventory-management-table col.inventory-col-action{width:14%}.inventory-management-table th{white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.35}.inventory-management-table th:nth-child(n),.inventory-management-table td:nth-child(n){text-align:left}.inventory-management-table th:nth-child(n+3):nth-child(-n+7),.inventory-management-table td:nth-child(n+3):nth-child(-n+7){text-align:right;font-variant-numeric:tabular-nums}.inventory-management-table th:nth-child(8),.inventory-management-table td:nth-child(8),.inventory-management-table th:nth-child(9),.inventory-management-table td:nth-child(9){text-align:center}
.closing-stock-toolbar{display:flex;align-items:center;gap:18px;margin:0 0 16px}
.closing-stock-last-count{display:flex;align-items:center;gap:16px;flex:1;min-width:0;min-height:62px;padding:9px 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}
.closing-stock-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:11px;background:var(--service-orange-soft);color:var(--service-orange);font-size:21px}
.closing-stock-divider{flex:0 0 1px;height:34px;background:var(--line)}
.closing-stock-copy{display:grid;gap:2px;min-width:0}
.closing-stock-copy>span{color:var(--muted);font-size:11px;line-height:1.35}
.closing-stock-copy>strong{font-size:14px;font-weight:700;line-height:1.35}
.closing-stock-toolbar>#enableClosing{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-width:238px;min-height:44px;padding:10px 20px;border-radius:10px}
.inventory-closing-table{width:100%;min-width:1040px;table-layout:fixed;margin:0}
.inventory-closing-table .closing-col-name{width:22%}.inventory-closing-table .closing-col-unit{width:7%}.inventory-closing-table .closing-col-estimated{width:18%}.inventory-closing-table .closing-col-ending{width:20%}.inventory-closing-table .closing-col-basis{width:24%}.inventory-closing-table .closing-col-variance{width:9%}
.inventory-closing-table th,.inventory-closing-table td{padding:16px 12px;vertical-align:middle;line-height:1.45}
.inventory-closing-table th{font-size:10px;letter-spacing:.04em}
.inventory-closing-table td{font-size:12px}
.inventory-closing-table td:first-child strong{display:block;font-weight:650}
.inventory-closing-table .closing-input{min-height:44px;border-radius:11px}
.inventory-closing-table .closing-variance{font-variant-numeric:tabular-nums}
@media(max-width:600px){.closing-stock-toolbar{align-items:stretch;flex-direction:column;gap:10px}.closing-stock-last-count{padding:9px 12px}.closing-stock-toolbar>#enableClosing{width:100%;min-width:0}}
.menu-management-records{padding:18px;margin-bottom:80px}.menu-management-table{min-width:980px;margin:0}.menu-management-table th,.menu-management-table td{padding:15px 13px}.menu-management-table th:nth-child(3),.menu-management-table td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}.menu-management-table th:nth-child(5),.menu-management-table td:nth-child(5){text-align:center}.menu-management-table td:nth-child(4){min-width:250px}
html .secure-form-modal .menu-recipe-dialog{max-width:820px}.recipe-builder{padding-top:4px}.recipe-builder>label{display:block;margin-bottom:7px;font-size:12px;font-weight:600}.recipe-builder>small{display:block;margin-top:7px;color:var(--dialog-muted)}.recipe-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.portion-picker-control{position:relative}.portion-picker-options{position:absolute;z-index:1085;top:calc(100% + 6px);left:0;right:0;max-height:220px;overflow-y:auto;padding:6px;border:1px solid var(--dialog-border);border-radius:12px;background:var(--dialog-bg);box-shadow:0 14px 34px rgba(31,25,18,.18)}.portion-picker-option{display:block;width:100%;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:var(--dialog-ink);font:inherit;font-size:13px;text-align:left}.portion-picker-option:hover,.portion-picker-option.is-active{background:var(--dialog-soft)}.portion-picker-state{padding:12px;color:var(--dialog-muted);font-size:12px;text-align:center}.recipe-rows{display:grid;gap:9px;margin-top:14px}.recipe-empty{margin:14px 0 0;padding:18px;text-align:center;color:var(--dialog-muted);border:1px dashed var(--dialog-border);border-radius:12px}.recipe-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(165px,.8fr) minmax(120px,.55fr) 42px;align-items:end;gap:10px;padding:12px;border:1px solid var(--dialog-border);border-radius:12px;background:var(--dialog-soft)}.recipe-item-name strong,.recipe-item-name small{display:block}.recipe-item-name small{color:var(--dialog-muted)}.recipe-row label,.recipe-unit-field>label{position:relative;font-size:11px;color:var(--dialog-muted)}.recipe-row label .form-control,.recipe-unit-field .form-control{margin-top:4px}.recipe-remove{width:42px;height:42px;padding:0;font-size:20px;border-radius:10px!important}
@media(max-width:760px){.management-toolbar{align-items:stretch;flex-direction:column}.management-toolbar>div,.management-toolbar>.btn{width:100%}.management-toolbar>div .btn{flex:1}.management-filter,.management-filter-inline{display:grid;grid-template-columns:1fr}.menu-filter-form{grid-template-columns:1fr 1fr}.management-filter .btn{width:100%}.recipe-row{grid-template-columns:1fr 42px}.recipe-row>label,.recipe-row>.recipe-unit-field{grid-column:1}.recipe-row .recipe-remove{grid-column:2;grid-row:1/4}.menu-management-records,.inventory-records{padding:10px}}@media(max-width:460px){.menu-filter-form{grid-template-columns:1fr}}

.creatable-combobox{position:relative}.creatable-combobox>label{display:block;margin-bottom:6px;font-size:12px;font-weight:600}.creatable-combobox-control{position:relative}.creatable-combobox-control .form-control{padding-right:76px}.creatable-combobox-spinner{position:absolute;z-index:2;top:50%;right:48px;width:17px;height:17px;margin-top:-8px;color:#E47B18}.creatable-combobox-options{position:absolute;z-index:1085;top:calc(100% - 18px);left:0;right:0;max-height:220px;overflow-y:auto;padding:6px;border:1px solid var(--dialog-border);border-radius:12px;background:var(--dialog-bg);box-shadow:0 14px 34px rgba(31,25,18,.18)}.creatable-combobox-option{display:flex;width:100%;align-items:center;gap:6px;padding:4px;border:0;border-radius:8px;background:transparent;color:var(--dialog-ink);font:inherit;font-size:13px;text-align:left}.creatable-combobox-option:hover,.creatable-combobox-option.is-active{background:var(--dialog-soft)}.creatable-combobox-option-choice{min-width:0;flex:1;padding:7px;border:0;background:transparent;color:inherit;font:inherit;text-align:left}.creatable-combobox-remove{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--dialog-muted)}.creatable-combobox-remove:hover,.creatable-combobox-remove:focus-visible{background:rgba(201,61,61,.11);color:#c93d3d;outline:none}.creatable-combobox-option-create{padding:10px 11px;color:#c7782f;font-weight:700;border-top:1px solid var(--dialog-border);border-radius:0 0 8px 8px}.creatable-combobox-option-create i{font-size:15px}.creatable-combobox-state{padding:12px;color:var(--dialog-muted);font-size:12px;text-align:center}.creatable-combobox-message{display:block;min-height:18px;margin-top:5px;color:var(--dialog-muted);font-size:11px}.creatable-combobox-message.is-error{color:#c93d3d}

.static-combobox{position:relative}.static-combobox>label{display:block;margin-bottom:6px;font-size:12px;font-weight:600}.static-combobox-control{position:relative}.static-combobox-control>.form-control,.portion-picker-control>.form-control{padding-right:48px}.static-combobox-control>.form-control[readonly]{background:var(--dialog-bg);cursor:pointer}.searchable-combobox-toggle{position:absolute;z-index:3;top:50%;right:7px;display:grid;width:36px;height:36px;place-items:center;padding:0;transform:translateY(-50%);border:0;border-radius:9px;background:transparent;color:var(--dialog-muted);cursor:pointer}.searchable-combobox-toggle:hover,.searchable-combobox-toggle:focus-visible{background:var(--dialog-soft);color:var(--dialog-ink);outline:none}.searchable-combobox-toggle i{transition:transform .16s ease}.searchable-combobox-toggle[aria-expanded="true"] i{transform:rotate(180deg)}.static-combobox-options{position:absolute;z-index:1090;top:calc(100% + 6px);left:0;right:0;max-height:220px;overflow-y:auto;padding:6px;border:1px solid var(--dialog-border);border-radius:12px;background:var(--dialog-bg);box-shadow:0 14px 34px rgba(31,25,18,.18)}.static-combobox-option{display:block;width:100%;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:var(--dialog-ink);font:inherit;font-size:13px;text-align:left}.static-combobox-option:hover,.static-combobox-option.is-active{background:var(--dialog-soft)}.static-combobox-state{padding:12px;color:var(--dialog-muted);font-size:12px;text-align:center}

/* Keep account credentials clean and consistent with the surrounding fields. */
#userModal #cashierPassword,#userModal #cashierPin{width:100%;min-height:46px;border-radius:10px;padding:11px 13px}
#userModal .secure-modal-field label[for="cashierPassword"],#userModal .secure-modal-field label[for="cashierPin"]{margin-bottom:8px;line-height:1.5}
#userModal #cashierPin{letter-spacing:.12em}

/* Compact offline settings; scoped to this modal. */
.offline-settings-modal .modal-dialog{max-width:510px}.offline-settings-modal .modal-content{border-radius:22px;background:var(--card);color:var(--ink);overflow:hidden}.offline-settings-modal [hidden]{display:none!important}
.offline-heading{display:flex;align-items:center;gap:12px;padding:24px 24px 14px}.offline-heading>i{padding:12px;background:var(--cream);border-radius:12px}.offline-heading h2{font-size:17px;margin:0 0 4px}.offline-heading small{font-size:11px;color:var(--muted)}.offline-heading>.btn{margin-left:auto;font-size:24px}
.offline-tabs{display:flex;gap:24px;margin:0 24px;border-bottom:1px solid var(--line)}.offline-tabs button,.offline-back{border:0;background:none;color:var(--muted);padding:12px 0;font-size:12px}.offline-tabs [aria-current=page]{color:var(--ink);border-bottom:2px solid var(--orange)}
.offline-settings-modal .modal-body{padding:22px 24px}.offline-settings-modal h3{font-size:18px;margin:12px 0}.offline-intro{text-align:center;margin:12px 0 22px}.offline-intro p,.offline-caption{font-size:12px;color:var(--muted);line-height:1.7}.offline-caption{margin:12px 0}.offline-intro span{font-size:12px;padding:5px 12px;border-radius:20px;background:var(--cream)}
.offline-settings-modal .btn{font-size:12px;border-radius:10px;min-height:42px}.offline-summary{display:grid;gap:16px;margin:24px 0;font-size:12px;color:var(--muted)}.offline-summary>div{display:flex;justify-content:space-between;gap:16px}.offline-summary strong{font-weight:500;color:var(--ink);text-align:right}
.offline-option{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;border:0;border-bottom:1px solid var(--line);padding:17px 0;background:none;color:var(--ink);text-align:left;font-size:13px}.offline-option small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.offline-option input[role=switch]{appearance:none;width:40px;height:23px;border-radius:20px;background:var(--line);position:relative;flex-shrink:0}.offline-option input[role=switch]:before{content:'';position:absolute;width:17px;height:17px;background:var(--card);border-radius:50%;top:3px;left:3px}.offline-option input:checked{background:var(--orange)}.offline-option input:checked:before{left:20px}.offline-option input:disabled{opacity:.5}
.offline-settings-modal label:not(.offline-option){font-size:12px;margin:14px 0 8px}.offline-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.7}.offline-consent input{margin-top:4px}.offline-settings-modal .form-control,.offline-settings-modal .form-select{margin-bottom:12px}.offline-benefits{padding:12px 18px;background:var(--cream);border-radius:12px;font-size:12px}.offline-benefits p{margin:8px 0}.offline-settings-modal dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;font-size:12px}.offline-settings-modal dt,.offline-settings-modal dd{width:auto;padding:0;margin:0;overflow-wrap:anywhere}.offline-settings-modal dt{font-weight:400;color:var(--muted)}.offline-settings-modal #offlineStatus{padding:12px;background:var(--cream);border-radius:10px;font-size:12px;color:var(--muted);line-height:1.7;margin:18px 0 0}.offline-modal-footer{padding:10px 24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.offline-modal-footer small{font-size:11px;color:var(--muted)}
@media(max-width:540px){.offline-settings-modal .modal-dialog{margin:12px}.offline-settings-modal .modal-body{padding:18px 20px}.offline-settings-modal .form-control,.offline-settings-modal .form-select{font-size:16px}.offline-settings-modal .btn{min-height:44px}}
/* Override shared profile-dialog padding so this modal has one scrollable body. */
html .offline-settings-modal .modal-dialog{padding:0;max-width:510px}
html .offline-settings-modal .modal-content{padding:0;max-height:calc(100dvh - 32px);overflow:hidden;border:1px solid var(--line);border-radius:22px}
html .offline-settings-modal h2{font-size:17px;color:var(--ink);margin:0 0 4px}
.offline-settings-modal .offline-heading,.offline-settings-modal .offline-tabs,.offline-settings-modal .offline-modal-footer{flex-shrink:0}
.offline-settings-modal .modal-body{overflow-y:auto;min-height:0}
@media(max-width:540px){html .offline-settings-modal .modal-dialog{width:calc(100% - 24px);margin:12px auto}.offline-heading{padding:18px 20px 12px}.offline-tabs{margin-inline:20px}}

/* Accessible close target: independent of shared small button typography. */
html .offline-settings-modal .offline-heading .offline-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;margin-left:auto;font-size:18px;line-height:1;color:var(--ink);border:0;background:transparent;border-radius:10px}
.offline-settings-modal .offline-close:hover{background:var(--cream)}
.offline-settings-modal .offline-close:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
/* Match the approved compact tabbed modal, rather than shared profile form rules. */
html .offline-settings-modal .modal-dialog{max-width:480px}
html .offline-settings-modal .offline-heading{padding:20px 22px 16px;gap:11px}
html .offline-settings-modal .offline-heading>i{width:35px;height:35px;display:grid;place-items:center;padding:0;font-size:17px;flex-shrink:0}
html .offline-settings-modal .offline-heading .offline-close{font-size:18px;box-shadow:none}
html .offline-settings-modal .offline-close i{font-size:18px;line-height:1}
.offline-settings-modal .offline-tabs{margin-inline:22px;gap:22px}
.offline-settings-modal .modal-body{padding:22px}
.offline-settings-modal .offline-current{display:flex;align-items:center;gap:11px;margin-bottom:20px}
.offline-current>i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--cream);color:var(--orange);flex-shrink:0}
.offline-settings-modal .offline-current h3{font-size:16px;margin:0 0 4px;line-height:1.4}
.offline-current p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.offline-settings-modal #offlineReadinessBadge{margin-left:auto;font-size:10px;color:var(--muted);text-align:right;max-width:75px}
.offline-settings-modal .offline-summary{border-top:1px solid var(--line);padding-top:16px;margin:0 0 20px;gap:14px}
.offline-settings-modal .offline-intro{margin:0 0 20px;text-align:center}
.offline-settings-modal .offline-intro h3{font-size:19px;margin:0 0 6px}
.offline-settings-modal .offline-caption{font-size:11px;line-height:1.6}
.offline-settings-modal #offlineActionCaption{text-align:center;margin:10px 0 0}
.offline-settings-modal [data-offline-pane=overview]>.offline-caption:last-child{display:none}
.offline-settings-modal .offline-option{padding:13px 0;gap:12px;border-bottom:1px solid var(--line)}
.offline-option>i:first-child{flex:0 0 18px;color:var(--muted);font-size:17px}
.offline-option>span{flex:1;min-width:0}
.offline-option>i:last-child{font-size:12px;color:var(--muted);margin-left:auto}
.offline-settings-modal .offline-option small{font-size:11px;line-height:1.5;margin-top:3px}
.offline-settings-modal .offline-option:disabled{opacity:.45}
.offline-settings-modal #offlineSetupForm label:not(.offline-consent){display:block;margin:12px 0 6px;font-weight:500}
.offline-settings-modal .form-control,.offline-settings-modal .form-select{border-radius:8px;min-height:44px;font-size:14px}
.offline-settings-modal .btn-brand{background:var(--orange);border-color:var(--orange);color:var(--porcelain);box-shadow:none;font-weight:600;min-height:44px}
.offline-settings-modal .offline-inline{background:var(--cream);padding:14px;border-radius:8px;color:var(--muted);font-size:12px;line-height:1.7;margin:0}
.offline-settings-modal .offline-modal-footer{padding:8px 22px;background:var(--cream)}
.offline-settings-modal .offline-modal-footer .btn{min-height:32px;font-size:11px}
.offline-settings-modal .offline-consent input{width:16px;height:16px;flex-shrink:0;accent-color:var(--orange)}
@media(max-width:440px){.offline-settings-modal .modal-body{padding:20px 17px}.offline-settings-modal .form-control,.offline-settings-modal .form-select{font-size:16px}html .offline-settings-modal .offline-heading{padding:18px 17px 15px}.offline-settings-modal .offline-tabs{margin-inline:17px}}
.offline-settings-modal .offline-option-group{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.offline-settings-modal .offline-option-group:first-of-type{margin-top:0;padding-top:0;border:0}
.offline-settings-modal .offline-option-group h4{font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:500;color:var(--muted);margin:0 0 3px}
.offline-settings-modal .offline-option-group .offline-option{border:0}

/* Single Offline & Sync dialog: connection, pending count and one main action. */
.offline-settings-modal{--offline-accent:#ef7918;--offline-good:var(--green)}
html .offline-settings-modal .modal-dialog{max-width:550px}
html .offline-settings-modal .offline-heading{padding:24px 28px 12px}
.offline-brand-logo{width:58px;height:48px;object-fit:contain;flex-shrink:0}
.offline-heading strong{font-size:15px;line-height:1.3}
.offline-settings-modal .modal-body{padding:16px 28px 22px}
html .offline-settings-modal .offline-main-title{font-family:inherit;font-size:30px;font-weight:750;text-align:center;margin:5px 0 10px}
.offline-main-intro{text-align:center;font-size:15px;line-height:1.55;color:var(--ink);margin:0 0 20px}
.offline-settings-modal .offline-summary{border:0;padding:0;margin:0 0 14px;display:grid;gap:14px}
.offline-settings-modal .offline-summary>.offline-connection-card{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--cream)}
.offline-connection-card>i{font-size:38px;flex-shrink:0}
.offline-connection-card>div{min-width:0}
.offline-settings-modal .offline-connection-card strong{display:block;font-size:18px;font-weight:650;text-align:left}
.offline-connection-card small{display:block;color:var(--ink);font-size:12px;line-height:1.5}
.offline-settings-modal .offline-summary>.offline-connection-card[data-connection=online]{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 30%,var(--line))}
.offline-connection-card[data-connection=online]>i,.offline-connection-card[data-connection=online]>div>strong{color:var(--green)}
.offline-settings-modal .offline-summary>.offline-connection-card[data-connection=offline]{background:var(--cream-2);border-color:var(--offline-accent)}
.offline-connection-card>div:not(.offline-last-sync){flex:1;text-align:left}
.offline-connection-card[data-connection=offline]>i,.offline-connection-card[data-connection=offline]>div>strong{color:var(--orange-deep)}
.offline-last-sync{margin-left:auto;padding-left:16px;border-left:1px solid var(--line);display:flex;align-items:center;gap:8px}
.offline-last-sync>i{font-size:23px;color:var(--green)}
.offline-settings-modal .offline-last-sync strong{font-size:12px;color:var(--ink);font-weight:650;overflow-wrap:anywhere}
.offline-settings-modal .offline-summary>.offline-pending-card{display:block;border:1px solid var(--line);border-radius:15px;background:var(--cream);overflow:hidden}
.offline-settings-modal .offline-pending-card h3{font:650 14px/1.5 'DM Sans',sans-serif;padding:10px 16px;margin:0;border-bottom:1px solid var(--line)}
.offline-pending-card h3 i{margin-right:7px}
.offline-pending-body{padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.offline-settings-modal .offline-pending-body strong{display:block;font-size:30px;font-weight:700;text-align:left;line-height:1.2}
.offline-pending-body small{font-size:12px;color:var(--ink)}
#offlineCaughtUp{font-size:12px;color:var(--green);background:var(--green-soft);padding:10px;border-radius:20px;white-space:nowrap}
.offline-settings-modal .offline-current{margin:12px 0;gap:8px}
.offline-settings-modal .offline-current h3{font:600 12px/1.4 'DM Sans',sans-serif;margin:0 0 4px}
.offline-settings-modal .offline-current p{font-size:11px}
.offline-settings-modal #offlinePrimary,.offline-settings-modal #offlineSuccessClose{min-height:52px;background:var(--offline-accent);color:#fff!important;font-size:18px;font-weight:650;border-radius:13px}
.offline-settings-modal #offlinePrimary:before{content:'\f130';font-family:bootstrap-icons;margin-right:12px;font-size:22px;vertical-align:middle}
.offline-settings-modal #offlineActionCaption{font-size:12px;line-height:1.5;margin-top:10px}
.offline-settings-modal #offlineAdvanced{border-top:1px solid var(--line);margin:20px -28px -22px;padding:16px 28px;background:var(--cream)}
#offlineAdvanced>summary{font-size:13px;font-weight:600;min-height:28px}
#offlineAdvanced>summary i{margin-right:7px}
.offline-settings-modal #offlineAdvanced[open]{padding-bottom:22px}
.offline-settings-modal #offlineAdvanced .offline-tabs{margin:12px 0}
.offline-sync-state{text-align:center;padding:15px 0 10px}
.offline-settings-modal .offline-sync-state h2{font:750 25px/1.3 'DM Sans',sans-serif;margin:0 0 12px}
.offline-settings-modal .offline-sync-state h3{font:650 17px/1.4 'DM Sans',sans-serif}
.offline-sync-state p{font-size:14px;line-height:1.5;color:var(--muted)}
.offline-sync-ring{width:120px;height:120px;border-radius:50%;margin:28px auto;border:9px solid var(--cream-2);border-top-color:var(--offline-accent);display:grid;place-items:center;position:relative}
.offline-sync-ring:after{content:'';position:absolute;inset:-9px;border:9px solid transparent;border-top-color:var(--offline-accent);border-radius:50%;animation:offline-sync-spin 1s linear infinite}
.offline-sync-ring i{font-size:46px;color:var(--ink)}
.offline-success-mark{display:grid;place-items:center;width:76px;height:76px;background:var(--green);color:#fff;border-radius:50%;font-size:43px;margin:16px auto 20px}
#offlineSyncSuccess .btn{margin-top:16px}
@keyframes offline-sync-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.offline-sync-ring:after{animation:none}}
@media(max-width:540px){html .offline-settings-modal .offline-heading{padding:18px 18px 8px}.offline-settings-modal .modal-body{padding:12px 18px 18px}html .offline-settings-modal .offline-main-title{font-size:26px}.offline-main-intro{font-size:13px}.offline-settings-modal .offline-summary>.offline-connection-card{flex-wrap:wrap;padding:14px}.offline-last-sync{flex-basis:100%;margin:2px 0 0;padding:10px 0 0;border-left:0;border-top:1px solid var(--line)}.offline-settings-modal #offlineAdvanced{margin:18px -18px -18px;padding:14px 18px}.offline-pending-body{padding:14px}.offline-settings-modal .offline-pending-body strong{font-size:27px}#offlineCaughtUp{font-size:11px;padding:8px}.offline-brand-logo{width:45px;height:38px}}

/* A locked offline shell still needs an entry point; normal pages use System Settings. */

.pin-card p.pin-inline-error{color:var(--danger);font-size:13px;line-height:1.5;text-align:center;margin:10px 0 16px}

/* Menu availability uses the same quiet outlined action as Edit. */
.menu-row-actions .menu-availability-button.btn-outline-secondary{border-color:var(--bs-secondary-color,#6c757d);background:transparent;color:var(--bs-secondary-color,#6c757d)}
.menu-row-actions .menu-availability-button.btn-outline-secondary:hover{border-color:var(--bs-secondary);background:var(--bs-secondary);color:#fff}
.menu-row-actions .btn{gap:6px}

/* Management table headers and values share one centered column axis. */
:is(.inventory-management-table,.menu-management-table) th,
:is(.inventory-management-table,.menu-management-table) td{text-align:center!important}

/* Offline overview: connection, queue details, ownership and next steps. */
.offline-settings-modal .offline-summary>.offline-connection-card{min-height:78px;padding:15px 18px;gap:14px}
.offline-settings-modal .offline-connection-card>i{font-size:25px}
.offline-settings-modal .offline-connection-copy{flex:1;min-width:0}
.offline-settings-modal .offline-connection-copy strong{font-size:14px;font-weight:650}
.offline-settings-modal .offline-connection-divider{width:1px;height:34px;background:var(--line);flex:0 0 1px}
.offline-settings-modal .offline-connection-card small{flex:0 0 125px;color:var(--muted);font-size:12px;font-weight:600;text-align:right}
.offline-settings-modal .offline-summary>.offline-stat-list{display:grid;gap:0;padding:2px 16px;border:1px solid var(--line);border-radius:13px;background:var(--cream)}
.offline-settings-modal .offline-stat-list>.offline-stat{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px}
.offline-settings-modal .offline-stat-list>.offline-stat+.offline-stat{border-top:1px solid var(--line)}
.offline-settings-modal .offline-stat>span{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}
.offline-settings-modal .offline-stat>span i{font-size:14px;color:var(--ink)}
.offline-settings-modal .offline-stat>strong{color:var(--ink);font-size:12px;font-weight:650;text-align:right}
.offline-settings-modal #offlineAccountMismatch:not([hidden]){display:flex;align-items:flex-start;gap:11px;margin:12px 0;padding:13px 15px;border:1px solid #e8c986;border-radius:12px;background:#fff8e9;color:var(--ink)}
.offline-settings-modal #offlineAccountMismatch[hidden]{display:none!important}
.offline-account-warning-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#f8e8c7;color:#9a6400}
.offline-account-warning-icon i{font-size:15px}
.offline-settings-modal .offline-account-warning strong{font-size:12px;font-weight:700}
.offline-settings-modal .offline-account-warning p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.offline-settings-modal .offline-primary-action-row #offlinePrimary{width:100%}
.offline-settings-modal .offline-reference-guidance{display:grid;gap:8px;margin:13px 0 0}
.offline-settings-modal .offline-reference-guidance p{display:flex;align-items:flex-start;gap:9px;margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.offline-settings-modal .offline-reference-guidance p i{flex:0 0 14px;margin-top:1px;color:var(--ink);font-size:13px}
.offline-settings-modal .offline-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.offline-settings-modal #offlineMore{margin-left:auto}
.offline-settings-modal #offlineEncryptionNotice[hidden]{display:none!important}
.offline-settings-modal .offline-summary>.offline-connection-card[data-connection=authentication],
.offline-settings-modal .offline-summary>.offline-connection-card[data-connection=authorization],
.offline-settings-modal .offline-summary>.offline-connection-card[data-connection=backend],
.offline-settings-modal .offline-summary>.offline-connection-card[data-connection=database]{background:var(--cream-2);border-color:var(--offline-accent)}
@media(max-width:540px){
  .offline-settings-modal .offline-summary>.offline-connection-card{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px 12px}
  .offline-settings-modal .offline-connection-card>i{grid-column:1;grid-row:1 / span 2}
  .offline-settings-modal .offline-connection-copy{grid-column:2;grid-row:1}
  .offline-settings-modal .offline-connection-divider{display:none}
  .offline-settings-modal .offline-connection-card small{grid-column:2;grid-row:2;flex:auto;text-align:left}
  .offline-settings-modal .offline-stat-list{padding-inline:12px}
}
:is(.inventory-management-table,.menu-management-table) td>*{margin-left:auto;margin-right:auto}
:is(.inventory-management-table,.menu-management-table) td small{line-height:1.55}
:is(.inventory-management-table,.menu-management-table) :is(.inventory-row-actions,.menu-row-actions){justify-content:center}

.inventory-history-table{width:100%;min-width:980px;table-layout:fixed;margin:0}
.inventory-history-table th,.inventory-history-table td{padding:14px 12px;vertical-align:middle;text-align:center;line-height:1.5;overflow-wrap:anywhere}
.inventory-history-table th{font-size:12px;font-weight:600;white-space:normal}
.inventory-history-table td:nth-child(n+3){font-variant-numeric:tabular-nums}
