:root{--cream:#f7f2e9;--cream2:#efe5d7;--paper:#fffdf8;--sage:#7e9272;--sage-dark:#55664f;--sage-soft:#dfe7da;--brown:#5a351f;--brown2:#7a5236;--sand:#d5b792;--ink:#2f332d;--muted:#6f746b;--danger:#a8473c;--shadow:0 18px 50px rgba(61,51,38,.09);--radius:24px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--cream);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100vh}.hidden{display:none!important}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.login-view{min-height:100vh;display:grid;place-items:center;padding:28px 18px;background:radial-gradient(circle at 18% 10%,#fffdf8 0,transparent 35%),radial-gradient(circle at 90% 85%,#dfe7da 0,transparent 32%),var(--cream)}.login-card{width:min(100%,430px);padding:34px;border:1px solid rgba(90,53,31,.1);border-radius:34px;background:rgba(255,253,248,.94);box-shadow:var(--shadow);text-align:center}.brand-logo{width:132px;height:132px;object-fit:contain;border-radius:50%;margin:0 auto 16px}.eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:800;color:var(--sage-dark)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;margin:0}h1{font-size:clamp(2rem,6vw,3.15rem);line-height:1.05}.login-card h1{font-size:2.1rem}.login-copy{color:var(--muted);line-height:1.55;margin:12px 0 25px}.login-card form{display:grid;gap:14px;text-align:left}label{display:grid;gap:7px;font-size:.86rem;font-weight:700;color:var(--muted)}input{width:100%;border:1px solid rgba(90,53,31,.14);background:#fff;border-radius:16px;padding:15px 16px;outline:none;color:var(--ink);transition:.15s}input:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(126,146,114,.13)}button{border:0;border-radius:15px;padding:12px 15px;font-weight:800}.primary{background:var(--sage-dark);color:#fff}.primary:hover{filter:brightness(.96)}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{background:var(--sage-soft);color:var(--sage-dark)}.danger{background:#f5ded9;color:var(--danger)}.big{height:55px;display:flex;align-items:center;justify-content:space-between;padding-inline:18px}.compact{padding:10px 13px}.inline-error,.message{border-radius:15px;padding:11px 13px;font-size:.9rem;margin-top:13px}.inline-error,.message.error{background:#f8dfd9;color:#923a31}.message.success{background:#e2eddc;color:#436042}.login-foot{font-size:.74rem;color:#92968f;margin-top:22px}.topbar{position:sticky;top:0;z-index:20;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1180px)/2));background:rgba(247,242,233,.88);backdrop-filter:blur(22px);border-bottom:1px solid rgba(90,53,31,.08)}.topbar-brand{display:flex;align-items:center;gap:10px}.topbar-brand img{width:46px;height:46px;object-fit:contain;border-radius:50%}.topbar-brand div{display:grid}.topbar-brand strong{letter-spacing:.08em;font-family:Georgia,serif}.topbar-brand span{font-size:.72rem;color:var(--muted)}.topbar-actions{display:flex;gap:8px}.icon-btn{width:42px;height:42px;padding:0;border-radius:14px;background:rgba(255,253,248,.8);color:var(--sage-dark);border:1px solid rgba(90,53,31,.1);display:grid;place-items:center;font-size:1.1rem}.badge-wrap{position:relative}.badge{position:absolute;right:-5px;top:-5px;background:#e2753f;color:#fff;border-radius:99px;min-width:19px;height:19px;font-size:.68rem;display:grid;place-items:center;padding:0 5px}.page{max-width:1180px;margin:0 auto;padding:38px 22px 70px}.hero-row{display:flex;justify-content:space-between;gap:28px;align-items:flex-end}.hero-row p{max-width:640px;color:var(--muted);line-height:1.55}.status-cards{display:grid;grid-template-columns:repeat(2,minmax(135px,1fr));gap:10px}.mini-card{min-width:150px;padding:16px 17px;background:var(--paper);border:1px solid rgba(90,53,31,.09);border-radius:20px;box-shadow:0 10px 30px rgba(80,64,45,.05);display:grid;gap:3px}.mini-card span,.mini-card small{font-size:.72rem;color:var(--muted)}.mini-card strong{font-size:1.55rem;color:var(--sage-dark)}.segmented{margin-top:27px;display:inline-flex;background:var(--cream2);padding:5px;border-radius:17px;gap:3px}.segmented button{background:transparent;color:var(--muted);padding:10px 16px}.segmented button.active{background:var(--paper);color:var(--ink);box-shadow:0 5px 18px rgba(68,58,45,.08)}.segmented span{margin-left:6px;font-size:.72rem;background:rgba(126,146,114,.15);padding:2px 6px;border-radius:99px}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.searchbox{min-width:0;flex:1;display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid rgba(90,53,31,.1);border-radius:16px;padding:0 13px}.searchbox span{font-size:1.2rem;color:var(--muted)}.searchbox input{border:0;background:transparent;box-shadow:none;padding:13px 4px}.orders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.order-card{background:var(--paper);border:1px solid rgba(90,53,31,.09);border-radius:24px;padding:19px;box-shadow:0 10px 35px rgba(72,58,40,.055);display:grid;gap:14px;transition:.18s}.order-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(72,58,40,.08)}.order-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.order-no{font-size:.78rem;color:var(--muted);font-weight:800}.order-top h3{font-size:1.25rem;margin-top:4px}.status-pill{font-size:.72rem;font-weight:800;border-radius:99px;padding:6px 9px;background:var(--sage-soft);color:var(--sage-dark);white-space:nowrap}.status-pill.pending{background:#fae4b8;color:#8d6225}.production-block{display:grid;gap:9px}.item-box{border-radius:18px;background:var(--cream);padding:14px}.item-title{font-weight:850}.item-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{font-size:.74rem;background:#fff;border:1px solid rgba(90,53,31,.08);padding:5px 8px;border-radius:99px;color:var(--brown2)}.note{font-size:.82rem;color:var(--brown);background:#f5ead8;border-radius:12px;padding:9px 10px;margin-top:8px}.customer-strip{display:flex;justify-content:space-between;gap:15px;padding-top:12px;border-top:1px solid rgba(90,53,31,.08);font-size:.8rem;color:var(--muted)}.customer-strip strong{display:block;color:var(--ink);font-size:.88rem}.order-actions{display:flex;gap:8px}.order-actions button{flex:1}.empty-state{text-align:center;padding:80px 20px;color:var(--muted)}.empty-icon{font-size:3rem;color:var(--sage)}dialog{border:0;padding:0;color:var(--ink);background:transparent}dialog::backdrop{background:rgba(31,35,29,.35);backdrop-filter:blur(5px)}.sheet-dialog{width:min(720px,calc(100vw - 24px));max-height:min(90vh,900px);border-radius:28px;background:var(--paper);box-shadow:0 30px 90px rgba(30,32,28,.22);overflow:auto}.sheet-dialog.wide{width:min(1080px,calc(100vw - 24px))}.sheet-dialog.small{width:min(500px,calc(100vw - 24px))}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 24px 14px;background:var(--paper);z-index:3}.dialog-head.sticky{position:sticky;top:0}.close-btn{width:38px;height:38px;padding:0;border-radius:13px;background:var(--cream2);font-size:1.5rem;color:var(--brown2)}.dialog-body{padding:8px 24px 24px}.detail-section{background:var(--cream);border-radius:20px;padding:16px;margin:10px 0}.detail-section h3{font-size:1.02rem;margin-bottom:12px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.detail-field span{display:block;font-size:.72rem;color:var(--muted);margin-bottom:3px}.detail-field strong{font-size:.9rem}.undo-box{background:#fae4b8;border-radius:18px;padding:15px;margin:12px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}.undo-time{font-variant-numeric:tabular-nums;font-weight:900;color:#8d6225}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.inventory-toolbar{display:flex;gap:9px;padding:4px 24px 16px}.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 24px 26px}.inventory-card{padding:17px;background:var(--cream);border:1px solid rgba(90,53,31,.08);border-radius:20px}.inventory-card.low{border-color:#e8b052;background:#fbefd8}.inventory-card-top{display:flex;justify-content:space-between;gap:10px}.inventory-card h3{font-family:inherit;font-size:1.05rem}.stock-number{font-size:1.75rem;font-weight:850;color:var(--sage-dark);margin:10px 0 2px}.stock-number small{font-size:.8rem;color:var(--muted)}.stock-meta{font-size:.75rem;color:var(--muted)}.stock-actions{display:grid;grid-template-columns:50px 1fr 50px;gap:8px;margin-top:12px}.stock-actions button{padding:9px}.stock-set{display:flex;gap:7px;margin-top:8px}.stock-set input{padding:9px 10px;border-radius:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .full{grid-column:1/-1}.muted{color:var(--muted);line-height:1.55}.scan-status{padding:14px;border-radius:16px;background:var(--cream);margin:12px 0}.receipt-row{display:grid;grid-template-columns:1fr 100px 40px;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(90,53,31,.08)}.receipt-row small{display:block;color:var(--muted);margin-top:3px}.receipt-row input{padding:9px 10px;border-radius:12px}.remove-row{width:36px;height:36px;padding:0;background:#f5ded9;color:var(--danger)}.ocr-details{margin-top:14px}.ocr-details pre{white-space:pre-wrap;max-height:240px;overflow:auto;background:#f4f1ea;padding:12px;border-radius:12px;font-size:.75rem}.account-body{text-align:center;display:grid;justify-items:center;gap:10px}.account-body img{width:110px;height:110px;object-fit:contain;border-radius:50%}.account-body span,.account-body small{color:var(--muted)}.account-body button{width:100%;margin-top:10px}
@media(max-width:760px){.topbar{height:68px;padding:0 14px}.topbar-brand span{display:none}.page{padding:26px 14px 90px}.hero-row{display:block}.hero-row p{font-size:.9rem}.status-cards{margin-top:17px}.mini-card{min-width:0}.segmented{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.segmented button{padding:10px 6px}.toolbar-row{align-items:stretch}.toolbar-row .secondary{display:none}.orders-grid{grid-template-columns:1fr}.customer-strip{flex-direction:column;gap:7px}.inventory-toolbar{padding:4px 14px 14px;flex-wrap:wrap}.inventory-toolbar .searchbox{flex-basis:100%}.inventory-toolbar button{flex:1}.inventory-grid{grid-template-columns:1fr;padding:0 14px 24px}.sheet-dialog,.sheet-dialog.wide,.sheet-dialog.small{width:100vw;max-height:94vh;border-radius:28px 28px 0 0;margin:auto 0 0 0}.dialog-head{padding:20px 17px 12px}.dialog-body{padding:8px 17px 24px}.detail-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.receipt-row{grid-template-columns:1fr 82px 36px}.topbar-actions{gap:5px}.icon-btn{width:39px;height:39px}.order-card{border-radius:21px;padding:16px}}

/* v0.15.1 – mobile app shell */
html{overflow-x:hidden;-webkit-text-size-adjust:100%}body{overflow-x:hidden}.mobile-bottom-nav{display:none}.order-time{margin-top:3px;font-size:.72rem;color:var(--muted)}.customer-strip small{display:block;margin-top:3px;color:var(--muted)}
@media(max-width:760px){
  :root{--mobile-gutter:12px;--mobile-nav-h:76px;--radius:20px}
  html,body,.app-shell{width:100%;max-width:100%;min-height:100%;overflow-x:hidden}
  body{background:#f5f1e8;padding-bottom:env(safe-area-inset-bottom)}
  button{min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  input{font-size:16px}

  .login-view{display:flex;align-items:flex-start;justify-content:center;min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) 16px max(28px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#f8f4ec 0%,#f3eee4 100%)}
  .login-card{width:100%;max-width:430px;margin:auto 0;padding:26px 20px 22px;border-radius:28px;box-shadow:0 18px 45px rgba(61,51,38,.08);border-color:rgba(90,53,31,.08)}
  .brand-logo{width:102px;height:102px;margin-bottom:10px}
  .login-card h1{font-size:1.9rem}.login-copy{font-size:.9rem;margin:10px auto 22px;max-width:310px}.login-card form{gap:12px}.login-card input{min-height:52px;border-radius:15px}.login-foot{margin-top:18px}

  .dashboard{min-height:100dvh;padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 12px)}
  .topbar{height:58px;padding:env(safe-area-inset-top) 12px 0;box-sizing:content-box;background:rgba(247,242,233,.96);border-bottom:1px solid rgba(90,53,31,.07);backdrop-filter:blur(18px)}
  .topbar-brand{gap:8px}.topbar-brand img{width:36px;height:36px}.topbar-brand strong{font-size:.9rem}.topbar-brand span{display:none}
  .topbar-actions{gap:6px}.icon-btn{width:38px;height:38px;min-height:38px;border-radius:13px;background:#fffdf9;font-size:1rem;box-shadow:0 3px 12px rgba(60,50,40,.04)}
  #inventoryBtn{display:none}

  .page{width:100%;padding:18px var(--mobile-gutter) 10px;margin:0}
  .hero-row{display:block;margin-bottom:12px}.hero-row .eyebrow{font-size:.64rem;letter-spacing:.13em}.hero-row h1{font-size:1.72rem;line-height:1.08;margin-top:3px}.hero-row p{display:none}
  .status-cards{display:flex;gap:8px;margin-top:12px;overflow:visible}.mini-card{flex:1;min-width:0;padding:11px 12px;border-radius:16px;box-shadow:none;background:rgba(255,253,248,.88)}.mini-card span,.mini-card small{font-size:.63rem}.mini-card strong{font-size:1.22rem}.mini-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .segmented{display:none}
  .toolbar-row{margin:12px 0 10px;display:block}.toolbar-row .secondary{display:none}.searchbox{height:46px;border-radius:15px;padding:0 12px;background:#fffdf9;box-shadow:0 4px 18px rgba(70,58,42,.04)}.searchbox input{height:44px;padding:10px 3px;font-size:16px}.searchbox span{font-size:1.05rem}
  .message{margin:8px 0 10px;border-radius:14px;font-size:.82rem}

  .orders-grid{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .order-card{width:100%;min-width:0;padding:13px;border-radius:19px;gap:10px;box-shadow:0 7px 24px rgba(72,58,40,.045);background:#fffdf9;transition:none;overflow:hidden}.order-card:hover{transform:none;box-shadow:0 7px 24px rgba(72,58,40,.045)}
  .order-top{align-items:center;gap:8px}.order-no{font-size:.72rem;letter-spacing:.02em}.order-time{font-size:.65rem;margin-top:2px}.status-pill{font-size:.64rem;padding:5px 8px;max-width:48%;overflow:hidden;text-overflow:ellipsis}
  .production-block{gap:7px}.item-box{padding:12px;border-radius:15px;background:#f5f0e7;overflow:hidden}.item-title{font-size:.97rem;line-height:1.28;display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.item-title span{flex:0 0 auto;color:var(--sage-dark)}.item-meta{gap:5px;margin-top:7px}.chip{font-size:.68rem;padding:4px 7px;max-width:100%;white-space:normal;line-height:1.25}.note{font-size:.76rem;padding:8px 9px;border-radius:11px;margin-top:7px}
  .customer-strip{display:grid;grid-template-columns:1fr;gap:7px;padding-top:9px;font-size:.72rem}.customer-strip>div{min-width:0}.customer-strip span{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}.customer-strip strong{font-size:.82rem;line-height:1.28;white-space:normal;overflow-wrap:anywhere}.customer-strip small{font-size:.72rem;overflow-wrap:anywhere}
  .order-actions{gap:7px}.order-actions button{min-height:44px;border-radius:13px;padding:10px 12px;font-size:.84rem}
  .empty-state{padding:54px 20px 30px}.empty-state h2{font-size:1.3rem}.empty-icon{font-size:2.4rem}

  .mobile-bottom-nav{position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:40;display:grid;grid-template-columns:repeat(4,1fr);height:68px;padding:5px 5px 4px;border:1px solid rgba(90,53,31,.09);border-radius:22px;background:rgba(255,253,248,.96);box-shadow:0 14px 45px rgba(55,45,35,.16);backdrop-filter:blur(22px)}
  .mobile-bottom-nav button{position:relative;min-width:0;min-height:56px;padding:5px 2px;border-radius:17px;background:transparent;color:#85897f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.63rem;font-weight:750}
  .mobile-bottom-nav button.active{color:var(--sage-dark);background:var(--sage-soft)}
  .mobile-nav-icon{width:21px;height:21px;display:block}.mobile-nav-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-bottom-nav b{position:absolute;top:3px;right:calc(50% - 25px);min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#ece8de;color:#6c7067;font-size:.58rem;line-height:17px;text-align:center}.mobile-bottom-nav button.active b{background:#fff;color:var(--sage-dark)}.mobile-bottom-nav .nav-alert{background:#e2753f!important;color:#fff!important}

  dialog::backdrop{background:rgba(34,36,32,.42);backdrop-filter:blur(3px)}
  .sheet-dialog,.sheet-dialog.wide,.sheet-dialog.small{width:100%;max-width:none;max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));margin:auto 0 0;border-radius:24px 24px 0 0;background:#fffdf9;box-shadow:0 -16px 60px rgba(30,32,28,.2);overflow:auto;overscroll-behavior:contain}
  .dialog-head{position:sticky;top:0;z-index:5;padding:15px 15px 10px;background:rgba(255,253,249,.97);backdrop-filter:blur(18px);border-bottom:1px solid rgba(90,53,31,.06)}.dialog-head h2{font-size:1.45rem}.dialog-head .eyebrow{font-size:.62rem}.close-btn{width:36px;height:36px;min-height:36px;border-radius:12px}
  .dialog-body{padding:8px 14px calc(20px + env(safe-area-inset-bottom))}.detail-section{padding:13px;border-radius:16px;margin:8px 0}.detail-section h3{font-size:.93rem}.detail-grid{grid-template-columns:1fr;gap:8px}.detail-field{padding:9px 10px;background:#fffdf9;border-radius:12px}.detail-field span{font-size:.65rem}.detail-field strong{font-size:.83rem;overflow-wrap:anywhere}.undo-box{padding:12px;border-radius:15px;align-items:flex-start}.undo-box>div:last-child{display:grid;gap:5px;justify-items:end}.undo-box button{min-height:38px;padding:7px 10px}.dialog-actions{position:sticky;bottom:0;z-index:4;margin:12px -14px calc(-20px - env(safe-area-inset-bottom));padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,253,249,.96);border-top:1px solid rgba(90,53,31,.07);backdrop-filter:blur(18px)}.dialog-actions button{flex:1;min-height:46px}

  .inventory-toolbar{position:sticky;top:61px;z-index:4;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px 12px;background:rgba(255,253,249,.97);border-bottom:1px solid rgba(90,53,31,.06)}.inventory-toolbar .searchbox{grid-column:1/-1}.inventory-toolbar button{min-width:0;font-size:.8rem;padding:9px 8px;border-radius:12px}.inventory-grid{grid-template-columns:1fr;gap:9px;padding:10px 12px calc(24px + env(safe-area-inset-bottom))}.inventory-card{padding:13px;border-radius:17px}.inventory-card h3{font-size:.98rem}.stock-number{font-size:1.55rem;margin:8px 0 1px}.stock-meta{font-size:.69rem;overflow-wrap:anywhere}.stock-actions{grid-template-columns:48px minmax(0,1fr) 48px;gap:7px;margin-top:10px}.stock-actions button{min-width:0;min-height:42px;padding:7px 5px;border-radius:12px;font-size:.78rem}

  .form-grid{grid-template-columns:1fr;gap:10px}.form-grid .full{grid-column:auto}.receipt-row{grid-template-columns:minmax(0,1fr) 76px 36px;gap:7px}.receipt-row input{font-size:16px;min-width:0}.account-body img{width:90px;height:90px}
}
@media(max-width:390px){
  :root{--mobile-gutter:10px}.page{padding-top:14px}.topbar-brand strong{font-size:.82rem}.status-cards{gap:6px}.mini-card{padding:10px}.order-card{padding:11px}.item-box{padding:10px}.mobile-bottom-nav{left:6px;right:6px}.mobile-bottom-nav button{font-size:.6rem}.status-pill{max-width:52%}
}

/* v0.15.2: explicit immediate finalization during the undo window */
.pending-actions{flex-wrap:wrap}.pending-actions .force-finalize{background:var(--brown);color:#fff}.pending-control{display:grid;gap:7px;justify-items:end}.pending-control .force-finalize{background:var(--brown);color:#fff;min-width:150px}.undo-box{border:1px solid rgba(141,98,37,.16)}
@media(max-width:700px){.pending-actions{display:grid;grid-template-columns:1fr 1fr}.pending-actions [data-detail]{grid-column:1/-1}.pending-control{width:100%;grid-template-columns:1fr 1fr;justify-items:stretch}.pending-control .undo-time{grid-column:1/-1;text-align:right}.pending-control button{width:100%}.undo-box{display:grid}.undo-box>div:last-child{justify-items:stretch!important}}

/* v0.15.3 fixed inventory positions */
.inventory-card.fixed-material{border-color:rgba(85,102,79,.38);box-shadow:0 10px 24px rgba(85,102,79,.08)}.inventory-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.status-pill.fixed{background:var(--sage-soft);color:var(--sage-dark);border:1px solid rgba(85,102,79,.16)}
