:root{font-family:Noto Sans SC,system-ui,sans-serif;color:#19312d;background:#e9eeeb;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:11px 15px;background:#edf1ee;color:#213b33;font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}input{width:100%;min-width:0;border:1px solid #dce3de;border-radius:9px;padding:12px;background:#f8faf8;color:#16372b;outline:none}input:focus{border-color:#268363;box-shadow:0 0 0 3px #168b6020}label{display:block;font-size:12px;color:#6b7870;margin:16px 0 7px}label input{margin-top:7px}h1,h2,h3,p{margin-top:0}h2{font-size:16px}small{font-size:11px;color:#7a8980}.app{max-width:600px;min-height:100dvh;margin:auto;background:#fafcf9;display:flex;flex-direction:column;box-shadow:0 0 80px #17332510}.top{padding:21px 21px 15px;display:flex;justify-content:space-between;align-items:center;background:#102522;color:#fff}.brand{font-size:23px;font-weight:700;letter-spacing:-1px}.brand>span:first-child{font-weight:400;color:#afd0b7}.tag{font-size:10px!important;letter-spacing:1px;border-left:1px solid #47605a;padding-left:10px;margin-left:10px;color:#c5d6c9}.top small{color:#adc0b5;display:block;margin-top:4px}.top nav{display:flex;gap:5px}.top nav button{font-size:11px;padding:8px;background:#203e35;color:#e5f0e7}.scanner{height:265px;background:#102522;position:relative;padding:13px 20px 20px;color:#d7e8dc}.scanner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}.viewfinder{position:relative;max-width:350px;margin:0 auto 16px;height:160px;display:flex;align-items:center;justify-content:center;text-align:center}.viewfinder p{margin:2px 0 5px;font-size:12px;letter-spacing:2px}.viewfinder small{color:#94afa0;font-size:10px}.barcode{font-size:42px;font-weight:400;letter-spacing:9px;opacity:.65}.corner{position:absolute;width:21px;height:21px;border:2px solid #a5c9aa}.tl{left:0;top:0;border-right:0;border-bottom:0}.tr{right:0;top:0;border-left:0;border-bottom:0}.bl{left:0;bottom:0;border-right:0;border-top:0}.br{right:0;bottom:0;border-left:0;border-top:0}.laser{position:absolute;width:90%;height:1px;background:#c5ecad;box-shadow:0 0 15px #c5ecad;animation:scan 2s infinite alternate}@keyframes scan{0%{top:15%}to{top:85%}}.scan-actions{position:relative;display:flex;gap:8px}.scan-actions>.primary{font-size:12px;white-space:nowrap}.scan-actions form{display:flex;gap:4px;min-width:0}.scan-actions input{background:#ffffff10;border-color:#ffffff25;color:#fff;font-size:12px}.scan-actions input::placeholder{color:#afc0b5}.scan-actions form button{font-size:12px;background:#ffffff18;color:#fff;padding:10px}.primary{background:#267453;color:#fff}.cart{flex:1;z-index:1;background:#fafcf9;border-radius:20px 20px 0 0;margin-top:-12px;padding:22px 20px;min-height:250px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title h2{margin:0}.section-title h2 span{display:inline-block;margin-left:6px;color:#267453;background:#e5eee5;border-radius:6px;padding:2px 7px;font-size:11px}.empty{text-align:center;color:#86978b;padding:45px 0}.empty>span{display:block;font-size:38px;font-weight:400;line-height:60px}.empty h3{font-size:14px;font-weight:500;margin:10px}.empty p{font-size:11px}.cart-item{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;width:100%;padding:17px 10px;border-bottom:1px solid #e9eee7;border-radius:0}.item-number{font-size:11px;color:#9aa79b}.item-info{flex:1;min-width:0}.item-info strong{display:block;font-size:13px;overflow-wrap:anywhere}.item-info small{display:block;margin:4px 0 8px}.item-info>span{font-size:12px}.item-info em{font-style:normal;background:#f0f4e9;color:#688349;padding:3px 5px;font-size:10px;margin-left:5px}.cart-item>b{font-size:15px}.checkout-bar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:18px 22px max(18px,env(safe-area-inset-bottom));background:#ffffffed;border-top:1px solid #e7ede5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.checkout-bar strong{display:block;font-size:28px;letter-spacing:-1px;margin-top:2px}.checkout-bar .primary{padding:15px 28px}.checkout-bar .primary span{margin-left:20px}.backdrop{position:fixed;inset:0;background:#061a1590;z-index:20;display:flex;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet{background:#fff;max-width:600px;width:100%;max-height:92dvh;overflow-y:auto;border-radius:24px 24px 0 0;padding:23px 23px max(25px,env(safe-area-inset-bottom));box-shadow:0 -20px 80px #10251f30}.sheet>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0e9;padding-bottom:12px;margin-bottom:14px}.sheet>header h2{margin:0}.icon{background:none;font-size:24px;padding:0 7px;color:#8e9b90}.muted{color:#8a978d;font-size:11px;overflow-wrap:anywhere;line-height:1.8}.stock{background:#f3f6ef;color:#687e57;padding:9px 12px;border-radius:6px;font-size:11px}.two{display:grid;grid-template-columns:1fr 140px;gap:15px}.stepper{display:flex;margin-top:7px;border:1px solid #dce3de;border-radius:9px;overflow:hidden}.stepper input{border:0;margin:0;text-align:center;padding:10px 0;border-radius:0}.stepper button{border-radius:0;padding:10px}.discounts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.discounts button{font-size:12px;background:#fff;border:1px solid #e1e8de;padding:10px 0}.selected{background:#e9f3e9!important;color:#21603e!important;border-color:#448363!important}.summary{display:flex;justify-content:space-between;align-items:center;padding:13px 0;gap:10px;border-bottom:1px solid #eef1eb;font-size:12px}.summary b{font-size:14px;text-align:right}.summary.total{margin:12px 0;color:#21623f}.summary.total b{font-size:25px}.hint{color:#94a08f;font-size:10px;margin:15px 0}.actions{display:flex;gap:10px}.actions .primary{flex:1}.danger{background:#f8eee9;color:#a55439}.wide{width:100%;margin-top:17px}.inline{display:flex;align-items:center;gap:8px}.inline button{margin-top:7px;white-space:nowrap}.employee-list{display:flex;flex-wrap:wrap;gap:7px;max-height:160px;overflow:auto;margin:12px 0}.employee-list button{font-size:12px;border:1px solid #e8ede4;background:#f8faf5}.employee-list small{display:block;font-size:9px;font-weight:400}.check{display:flex;align-items:center;gap:8px;color:#745733}.check input{width:17px;height:17px;margin:0}.error{background:#fbebe6;color:#9b402b;border-radius:8px;padding:12px;font-size:12px;line-height:1.8}.toast{position:fixed;top:15px;left:50%;transform:translate(-50%);width:calc(100% - 30px);max-width:550px;z-index:50;box-shadow:0 5px 30px #0002}.toast button,.notice button{padding:0 5px;float:right;background:none}.notice{font-size:11px;background:#e8f2e2;color:#416b36;padding:10px 20px}.candidate{display:block;text-align:left;width:100%;margin:8px 0}.candidate span{display:block;font-size:12px;margin-top:5px}.order-search{display:flex;flex-wrap:wrap;gap:7px}.order-search input{flex:1;min-width:120px;font-size:12px}.order-row{width:100%;display:flex;justify-content:space-between;text-align:left;background:#fff;border-bottom:1px solid #e8eee3;border-radius:0;padding:17px 0}.order-row small{display:block;margin-top:5px;font-size:10px}.order-row>div:last-child{text-align:right}.pagination{display:flex;justify-content:space-between;align-items:center;padding-top:20px;font-size:12px}.receipt-line{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px dashed #e1e9dd;font-size:12px}.receipt-line small{display:block;margin-top:5px}.login{max-width:420px;margin:7vh auto;padding:35px;background:#fff;border-radius:20px;box-shadow:0 20px 80px #12351b10}.login .brand{color:#1b4d36;font-size:35px;margin:12px 0 25px}.login .brand>span{color:#63886c}.login h1{font-size:24px;letter-spacing:3px}.login p{color:#82907f;font-size:12px}.login .primary{width:100%;margin:23px 0}.eyebrow{font-size:10px;letter-spacing:3px;color:#8b9c84}.login>small{display:block;text-align:center}fieldset{border:0;padding:0;margin:0;min-width:0}@media(min-width:700px){.app{margin:24px auto;min-height:calc(100dvh - 48px);border-radius:20px;overflow:hidden}.sheet{margin-bottom:24px;border-radius:24px}.backdrop{align-items:center}.scanner{height:290px}.viewfinder{height:185px}}@media(prefers-reduced-motion:reduce){.laser{animation:none}}
