:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#14241f;background:#dfe5dd;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #14241f;--muted: #6f7d77;--paper: #f8f9f5;--soft: #eef1ec;--line: #d8ded8;--green: #123c32;--green-2: #1f5648;--lime: #c9f43d;--orange: #ef7447;--danger: #bd4b3a}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;background:radial-gradient(circle at 50% -20%,#f8fbf3 0,#e7ece4 46%,#dce3da)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgb(201 244 61 / 65%);outline-offset:2px}h1,h2,h3,p{margin-top:0}.demo-stage{display:grid;width:100%;height:100dvh;padding:12px;place-items:center;overflow:hidden}.demo-app{display:flex;width:min(1000px,100%);height:min(880px,calc(100dvh - 24px));min-height:0;overflow:hidden;border:1px solid rgb(20 36 31 / 12%);border-radius:24px;background:var(--paper);box-shadow:0 26px 90px #17362d29}.demo-app{flex-direction:column}.app-tabs{display:grid;flex:none;grid-template-columns:1fr 1fr;height:62px;border-bottom:1px solid var(--line);background:#fff}.app-tabs button{display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-right:1px solid var(--line);color:#7b8782;background:#f5f7f3;font-weight:850;transition:color .15s,background .15s}.app-tabs button:last-child{border-right:0}.app-tabs button span{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:#e6ebe5;font-size:.66rem}.app-tabs button.active{color:#fff;background:var(--green)}.app-tabs button.active span{color:var(--green);background:var(--lime)}.kiosk-view,.office-view{display:flex;flex:1;min-height:0;flex-direction:column}.session-strip{display:flex;flex:none;gap:7px;min-height:62px;padding:9px 12px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--line);background:#f0f3ee;scrollbar-width:thin}.session-strip button{display:grid;flex:0 0 190px;min-width:0;padding:7px 11px;text-align:left;border:1px solid #d3dbd4;border-radius:11px;color:var(--ink);background:#fff}.session-strip button span,.session-strip button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-strip button span{font-size:.82rem;font-weight:850}.session-strip button small{margin-top:3px;color:#83908a;font-size:.67rem}.session-strip button.active{color:#fff;border-color:var(--green);background:var(--green);box-shadow:inset 4px 0 0 var(--lime)}.session-strip button.active small{color:#aac0b7}.kiosk-body{display:flex;flex:1;min-height:0;flex-direction:column;gap:10px;padding:14px 16px 12px}.kiosk-toolbar{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px}.declaration-button{min-width:190px}.declaration-button span{margin-right:4px;font-size:1.05rem}.system-state{display:inline-flex;align-items:center;gap:7px;color:#64736d;font-size:.72rem;font-weight:800}.system-state i{width:8px;height:8px;border-radius:50%;background:#d39a31;box-shadow:0 0 0 4px #d39a311f}.system-state--ready i{background:#25a777;box-shadow:0 0 0 4px #25a7771f}.system-state--unavailable i{background:var(--danger)}.notice{flex:none;min-height:36px;padding:9px 12px;border:1px solid transparent;border-radius:9px;font-size:.76rem;font-weight:750}.notice--info{color:#725a20;border-color:#ecdca7;background:#fff7dc}.notice--success{color:#17664c;border-color:#bddfd0;background:#e7f6ef}.notice--error{color:#923c2f;border-color:#ecc0b7;background:#fff0ed}.inventory-panel{position:relative;display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.inventory-heading{display:flex;flex:none;align-items:center;justify-content:space-between;min-height:58px;padding:10px 14px;border-bottom:1px solid #e3e7e2}.inventory-heading div{min-width:0}.inventory-heading span,.inventory-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-heading span{color:#8a9691;font-size:.66rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.inventory-heading strong{margin-top:3px;font-size:1rem}.inventory-heading>b{flex:none;padding:5px 9px;border-radius:999px;color:#50605a;background:#eef2ed;font-size:.67rem}.material-search{display:flex;flex:none;gap:7px;padding:10px 12px;border-bottom:1px solid #e6e9e5}input,select,textarea{width:100%;min-height:42px;padding:0 12px;border:1px solid #ccd5ce;border-radius:9px;outline:0;color:var(--ink);background:#fff}input:focus,select:focus,textarea:focus{border-color:#6e9c8c;box-shadow:0 0 0 3px #6e9c8c1f}.button{min-height:42px;padding:0 15px;border:0;border-radius:9px;font-weight:850;white-space:nowrap;transition:transform .1s,filter .1s}.button:active:not(:disabled){transform:translateY(1px) scale(.988)}.button--primary{color:#fff;background:var(--orange)}.button--dark{color:#fff;background:var(--green)}.button--ghost{color:#40534c;border:1px solid #cad4cc;background:#fff}.button--confirm{color:var(--green);background:var(--lime)}.button--danger-solid{color:#fff;background:var(--danger)}.button--end{min-width:138px;color:#fff;background:var(--danger)}.material-results{position:absolute;z-index:5;top:116px;right:12px;left:12px;display:grid;gap:5px;max-height:220px;padding:7px;overflow:auto;border:1px solid #ced7d0;border-radius:11px;background:#edf1ed;box-shadow:0 18px 40px #1130272e}.material-results>button{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 11px;text-align:left;border:1px solid #dbe1dc;border-radius:8px;color:var(--ink);background:#fff}.material-results strong,.material-results small{display:block}.material-results small{margin-top:3px;color:var(--muted);font-size:.68rem}.stock-value{flex:none;color:#197252;font-size:.72rem}.stock-value--missing{color:var(--danger)}.material-scroll{flex:1;min-height:0;padding:10px 12px;overflow:auto;scrollbar-width:thin}.cart-lines{display:grid;gap:7px}.cart-lines article{display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #dde3dd;border-radius:11px;background:#fafbf8}.material-info{min-width:0}.material-info strong,.material-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-info strong{font-size:.84rem}.material-info small{margin-top:3px;color:var(--muted);font-size:.67rem}.quantity-control{display:grid;grid-template-columns:32px 64px 32px}.quantity-control button{height:34px;border:1px solid #ccd5ce;color:var(--green);background:#f1f4f0;font-size:1rem;font-weight:900}.quantity-control button:first-child{border-radius:8px 0 0 8px}.quantity-control button:last-child{border-radius:0 8px 8px 0}.quantity-control input{min-height:34px;height:34px;padding:0 4px;text-align:center;border-right:0;border-left:0;border-radius:0}.unit-label{color:#77847e;font-size:.66rem;font-weight:850}.remove-button{border:0;color:var(--danger);background:transparent;font-size:.7rem;font-weight:850}.empty-state{display:grid;min-height:86px;place-items:center;color:#929d98;border:1px dashed #d3dad4;border-radius:10px;font-size:.76rem}.inventory-empty{display:grid;flex:1;place-content:center;justify-items:center;color:#8a9691}.inventory-empty span{display:grid;width:48px;height:48px;margin-bottom:10px;place-items:center;border-radius:50%;color:var(--green);background:#edf1ec;font-size:1.5rem}.inventory-empty strong{font-size:.86rem}.issue-confirm{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:9px 12px;border-top:1px solid #b9ddcd;background:#e8f7ef}.issue-confirm>strong{color:#17644b;font-size:.8rem}.issue-confirm--warning{border-top-color:#e5b29a;background:#fff0e9}.issue-confirm--warning>strong{color:#984831}.issue-confirm__actions{display:flex;gap:7px}.kiosk-footer{display:flex;flex:none;align-items:center;justify-content:space-between;gap:15px;min-height:66px;padding:10px 16px;border-top:1px solid var(--line);background:#f0f3ee}.active-summary{min-width:0}.active-summary span,.active-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-summary span{font-size:.78rem;font-weight:850}.active-summary small{margin-top:2px;color:#7c8983;font-size:.67rem}.modal-backdrop,.camera-modal{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:grid;padding:16px;place-items:center;background:#0a1d18c2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.compact-modal,.camera-panel{width:min(520px,100%);max-height:min(680px,calc(100dvh - 32px));padding:20px;overflow:hidden;border-radius:18px;background:var(--paper);box-shadow:0 28px 80px #00000057}.compact-modal{display:flex;flex-direction:column}.compact-modal>header,.camera-panel .section-heading{display:flex;flex:none;align-items:flex-start;justify-content:space-between;gap:16px}.compact-modal header span,.kicker{display:block;margin-bottom:4px;color:#af5435;font-size:.64rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.compact-modal h2,.camera-panel h2{margin-bottom:0;font-size:1.35rem}.modal-close{display:grid;flex:none;width:36px;height:36px;place-items:center;border:1px solid #d2dad3;border-radius:10px;color:#54655e;background:#fff;font-size:1.25rem}.declaration-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.declaration-options button{display:grid;min-height:130px;padding:18px;text-align:left;border:1px solid #d6ddd7;border-radius:14px;color:var(--ink);background:#fff}.declaration-options button:first-child{color:#fff;border-color:var(--green);background:var(--green)}.declaration-options button span{font-size:1.45rem}.declaration-options button strong{align-self:end}.employee-modal{min-height:480px}.employee-search{display:flex;flex:none;gap:7px;margin:16px 0 10px}.employee-list{display:grid;gap:6px;min-height:0;overflow:auto}.employee-list>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;text-align:left;border:1px solid #dce2dd;border-radius:10px;color:var(--ink);background:#fff}.employee-list>button>span:nth-child(2){min-width:0}.employee-list strong,.employee-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-list strong{font-size:.8rem}.employee-list small{margin-top:3px;color:var(--muted);font-size:.66rem}.employee-list b{color:var(--orange);font-size:1.2rem}.avatar{display:grid;flex:none;width:46px;height:46px;place-items:center;border-radius:12px;color:var(--green);background:var(--lime);font-weight:900}.avatar--small{width:36px;height:36px;border-radius:9px;font-size:.76rem}.identity-confirm{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin-top:20px;padding:14px;border:1px solid #b7d9cb;border-radius:13px;background:#edf8f2}.identity-confirm>div:nth-child(2){min-width:0}.identity-confirm strong,.identity-confirm small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-confirm small{margin-top:4px;color:var(--muted);font-size:.7rem}.identity-confirm__buttons{display:flex;grid-column:1 / -1;gap:7px;justify-content:flex-end}.camera-panel{width:min(640px,100%)}.camera-help{margin:7px 0 0;color:var(--muted);font-size:.74rem}.camera-viewport{position:relative;aspect-ratio:16 / 10;margin-top:14px;overflow:hidden;border-radius:13px;background:#10251f}.camera-viewport video{width:100%;height:100%;object-fit:cover}.scan-line{position:absolute;right:12%;left:12%;top:50%;height:2px;background:var(--lime);box-shadow:0 0 16px var(--lime);animation:scan 1.8s ease-in-out infinite alternate}@keyframes scan{0%{transform:translateY(-70px)}to{transform:translateY(70px)}}.completion-flash{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;align-content:center;justify-items:center;color:#fff;text-align:center;background:#07241ced;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.completion-flash__icon{display:grid;width:82px;height:82px;margin-bottom:20px;place-items:center;border-radius:50%;color:var(--green);background:var(--lime);box-shadow:0 0 0 13px #c9f43d1a;font-size:2.4rem;font-weight:950}.completion-flash strong,.completion-flash small{display:block}.completion-flash strong{color:var(--lime);font-size:clamp(2rem,6vw,3.5rem);letter-spacing:-.05em}.completion-flash small{margin-top:8px;color:#d2e0da}.office-login{display:grid;flex:1;min-height:0;padding:22px;place-items:center;overflow:auto}.office-login form{width:min(430px,100%);padding:26px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 50px #16362d1a}.office-login h1{margin-bottom:8px;font-size:2rem}.office-login p{color:var(--muted);font-size:.8rem;line-height:1.5}.office-login label{display:grid;gap:5px;margin:11px 0;color:#52615b;font-size:.72rem;font-weight:800}.office-login form>.button{width:100%;margin-top:7px}.office-header{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px;min-height:82px;padding:12px 16px}.office-header h1{margin-bottom:0;font-size:1.55rem;letter-spacing:-.035em}.office-header p{margin:4px 0 0;color:var(--muted);font-size:.7rem}.office-nav{display:flex;flex:none;gap:6px;padding:0 16px 10px;overflow-x:auto;border-bottom:1px solid var(--line)}.office-nav button{flex:none;min-height:36px;padding:0 12px;border:1px solid #d2dad3;border-radius:9px;color:#5d6c66;background:#fff;font-size:.7rem;font-weight:850}.office-nav button.active{color:var(--green);border-color:var(--lime);background:var(--lime)}.office-content{display:flex;flex:1;min-height:0;flex-direction:column;gap:9px;padding:12px 16px 14px;overflow:hidden}.office-metrics{display:grid;flex:none;grid-template-columns:repeat(3,1fr);gap:8px}.office-metrics article{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.office-metrics span{color:var(--muted);font-size:.66rem;font-weight:800}.office-metrics strong{grid-row:1 / 3;grid-column:2;align-self:center;font-size:1.5rem}.office-metrics small{color:#909b96;font-size:.62rem}.office-metrics .metric-alert{color:#9d3f31;border-color:#eab9af;background:#fff1ee}.office-card{flex:1;min-height:0;padding:14px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.office-card h2{margin-bottom:5px;font-size:1.1rem}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-copy{margin-bottom:0;color:var(--muted);font-size:.72rem}.data-table{margin-top:12px;overflow:hidden;border:1px solid #dce2dd;border-radius:10px}.data-row{display:grid;grid-template-columns:1fr 1.8fr .8fr .8fr;gap:10px;padding:9px 11px;border-top:1px solid #e3e7e3;background:#fff;font-size:.72rem}.data-row:first-child{border-top:0}.data-row--head{color:#7b8983;background:#edf1ed;font-size:.62rem;font-weight:900;text-transform:uppercase}.data-row .negative{color:var(--danger)}.office-list{display:grid;gap:7px;margin-top:12px}.office-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #dde3de;border-radius:10px}.office-list strong,.office-list small{display:block}.office-list strong{font-size:.76rem}.office-list small{margin-top:3px;color:var(--muted);font-size:.65rem}.receipt-action{display:flex;gap:6px}.receipt-action input{width:100px}.stocktake-entry{display:grid;grid-template-columns:1.5fr 1fr auto;gap:7px;margin:12px 0}.stocktake-line{display:grid;grid-template-columns:1fr 1.5fr auto;gap:10px;align-items:center;margin:8px 0;padding:10px;border:1px solid #dde3de;border-radius:10px}.stocktake-line p{margin:4px 0 0;color:var(--muted);font-size:.68rem}textarea{min-height:64px;padding-top:9px;resize:vertical}.movement-list{margin:12px 0;padding:10px;border-radius:10px;background:#eef2ed}.movement-list>div{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:6px 0;border-top:1px solid #d7ded8;font-size:.68rem}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.report-tile{display:grid;min-height:110px;padding:13px;text-align:left;border:1px solid #d8dfd9;border-radius:11px;color:var(--ink);background:#fff}.report-tile span{color:var(--orange);font-size:1.3rem}.report-tile strong{align-self:end;font-size:.78rem}.report-tile small{color:var(--muted);font-size:.64rem}@media(max-width:700px){.demo-stage{padding:0}.demo-app{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.app-tabs{height:54px}.session-strip{min-height:58px}.session-strip button{flex-basis:160px}.kiosk-body{padding:10px}.material-search{flex-wrap:wrap}.material-search input{flex:1 0 100%}.cart-lines article{grid-template-columns:minmax(0,1fr) auto}.unit-label{display:none}.remove-button{grid-column:1 / -1;justify-self:start}.declaration-options{grid-template-columns:1fr}.declaration-options button{min-height:92px}.office-metrics{grid-template-columns:1fr 1fr 1fr}.data-row{grid-template-columns:1fr 1fr}.data-row--head{display:none}.office-list article,.receipt-action{align-items:stretch;flex-direction:column}.receipt-action input{width:100%}.stocktake-entry,.stocktake-line{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}}@media(max-height:620px){.app-tabs{height:50px}.session-strip{min-height:54px;padding-top:7px;padding-bottom:7px}.kiosk-body{padding-top:9px;padding-bottom:8px}.kiosk-footer{min-height:58px}.office-header{min-height:66px}.office-header h1{font-size:1.25rem}.office-metrics article{padding:7px 9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
