:root{--ink:#173633;--muted:#71817e;--green:#186b56;--lime:#d9f391;--paper:#f4f6f2;--line:#e0e6df;--red:#b84b49;--radius:17px;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{opacity:.55;cursor:wait}a{color:var(--green)}button.primary,.primary{background:var(--green);color:white;border-radius:10px;padding:12px 18px;font-weight:650}button.secondary{border:1px solid var(--line);background:white;padding:10px 15px;border-radius:10px}button.danger{color:var(--red);border:1px solid #efdad7;background:#fff8f7;padding:10px 15px;border-radius:10px}button.link{color:var(--green);padding:7px;font-weight:600}button.small{font-size:12px;padding:7px 10px}input,select,textarea{width:100%;border:1px solid #d7e0d8;border-radius:9px;padding:11px 12px;background:white;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #b4d5c7;border-color:var(--green)}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}input[type=file]{padding:12px;background:#f4f8f2}label{display:grid;gap:7px;font-size:12px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1.1px;font-weight:650;margin-bottom:8px}h2{font-size:18px;font-weight:650;letter-spacing:-.3px}h3{font-size:14px}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{letter-spacing:2px;text-transform:uppercase;font-size:10px;font-weight:700;color:var(--muted);margin-bottom:12px}.brand{font-size:25px;font-weight:760;letter-spacing:-1px;display:flex;gap:9px;align-items:center}.brand-mark{display:inline-grid;place-items:center;border:1px solid #7aa98b;width:32px;height:32px;transform:rotate(-8deg);border-radius:10px;color:var(--lime);font-size:20px}.brand small{font-size:12px;font-weight:400;letter-spacing:1px;opacity:.65}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#102f2b;color:#eff7e9;padding:9vw 7vw;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-story:after{content:'';width:400px;height:400px;border:1px solid #42684d;border-radius:50%;position:absolute;bottom:-220px;right:-40px;box-shadow:0 0 0 65px #ffffff03,0 0 0 130px #ffffff03}.auth-story h1{font-size:clamp(36px,4.3vw,65px);line-height:1.08;letter-spacing:-2px;margin:65px 0 25px;max-width:560px}.auth-story h1 em{font-style:normal;color:var(--lime)}.auth-story p{color:#b9cabc;max-width:350px;font-size:15px}.auth-form{display:grid;align-content:center;justify-items:center;padding:36px}.auth-card{width:100%;max-width:390px}.auth-card form{display:grid;gap:20px;margin-top:28px}.auth-card h1{font-size:29px}.auth-card footer{margin-top:35px;font-size:12px}.auth-card .primary{padding:14px}.shell{min-height:100vh;display:grid;grid-template-columns:242px 1fr}.sidebar{position:fixed;width:242px;inset:0 auto 0 0;background:#102b29;color:#d2dfd6;padding:30px 18px 18px;display:flex;flex-direction:column;z-index:5}.sidebar .brand{padding:0 12px;margin-bottom:30px;color:white}.workspace{border:1px solid #34504a;background:#1c3832;color:#e0e8df;border-radius:10px;padding:12px;margin:0 4px 24px;font-size:12px}.workspace select{background:#1c3832;color:#e0e8df;border:0;padding:4px 0;margin-top:7px}.nav-label{font-size:9px;letter-spacing:1.8px;color:#85a399;padding:0 14px;margin:6px 0 10px}.nav{overflow-y:auto;flex:1}.nav button{width:100%;display:flex;align-items:center;gap:12px;padding:11px 14px;text-align:left;border-radius:9px;font-size:13px;margin:2px 0;color:#b9ccc4}.nav button.active{background:var(--lime);color:#153f31;font-weight:650}.nav button:hover:not(.active){background:#ffffff09;color:white}.nav-icon{width:20px;text-align:center;font-size:17px}.sidebar-bottom{border-top:1px solid #304a42;padding:17px 10px 0;margin-top:16px;display:flex;align-items:center;gap:10px}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#d5e8d5;color:#214c3b;font-weight:700;flex-shrink:0}.sidebar-bottom .name{font-size:12px;color:#fff;max-width:125px;overflow:hidden;text-overflow:ellipsis}.sidebar-bottom small{font-size:10px;color:#9fb5aa}.sidebar-bottom button{margin-left:auto;font-size:20px}.main{grid-column:2;min-width:0}.topbar{height:77px;background:#ffffffb0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:15px}.topbar .path{font-size:12px;color:var(--muted)}.topbar .path strong{font-weight:500;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:15px;font-size:11px;color:var(--muted)}.online-dot{width:7px;height:7px;background:#60a370;border-radius:50%;display:inline-block;margin-right:5px}.content{max-width:1600px;margin:auto;padding:34px 38px 50px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:26px}.page-head p{font-size:13px;margin:0;color:var(--muted)}.head-buttons,.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.stat{border:1px solid var(--line);border-radius:var(--radius);background:white;padding:22px;min-width:0}.stat .stat-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-bottom:22px}.stat .stat-icon{color:var(--green);font-size:17px}.stat strong{display:block;font-size:28px;letter-spacing:-1px;font-weight:650;overflow-wrap:anywhere}.stat small{font-size:10px;color:var(--muted);display:block;margin-top:9px}.stat.featured{background:#e5edda;border-color:#d5e0c8}.grid2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:23px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0;margin-bottom:22px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.card-head h2{margin:0}.card-head small{color:var(--muted);font-size:11px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;color:var(--muted);font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.6px;padding:13px 11px;border-bottom:1px solid var(--line);background:#fafbf8}td{padding:15px 11px;border-bottom:1px solid #edf0eb}tr:last-child td{border-bottom:0}td strong{font-weight:600}.number{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:5px 9px;border-radius:6px;font-size:10px;font-weight:650;background:#e9f2e3;color:#3f754e}.badge.red{background:#faeae7;color:#ac534a}.badge.amber{background:#f8f0dc;color:#997c2b}.badge.gray{background:#edf0ec;color:#6e7d73}.empty{text-align:center;padding:45px 18px;color:var(--muted);white-space:normal}.empty b{display:block;color:var(--ink);font-size:15px;margin-bottom:8px}.notice{border-radius:11px;padding:14px 17px;background:#edf3e4;color:#476740;font-size:12px;line-height:1.65;margin-bottom:20px}.notice.warning{background:#fff3dc;color:#946e25}.notice.error{background:#fbece8;color:#a2473e}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.toolbar input[type=search]{max-width:330px}.toolbar .spacer{flex:1}.tabs{display:flex;gap:7px;margin-bottom:22px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);border-radius:8px;padding:9px 14px;font-size:12px;background:white}.tabs button.active{background:#173f34;color:white;border-color:#173f34}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .wide{grid-column:1/-1}.form-stack{display:grid;gap:18px}.form-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}dialog{width:min(760px,95vw);max-height:91vh;border:1px solid var(--line);border-radius:20px;padding:28px;color:var(--ink);box-shadow:0 30px 100px #102b2930}dialog::backdrop{background:#102b2970;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:23px}.dialog-head h2{font-size:21px;margin-bottom:7px}.dialog-head p{color:var(--muted);font-size:12px;margin:0}.dialog-head button{font-size:24px}.error-msg{color:var(--red);background:#fff3ef;padding:11px;border-radius:8px;font-size:12px;margin:10px 0}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checklist label{display:flex;align-items:center;font-weight:400;font-size:13px}.permission-table input{width:17px;height:17px}.permission-table td:not(:first-child),.permission-table th:not(:first-child){text-align:center}.permission-table{white-space:normal}.line-row{display:grid;grid-template-columns:minmax(140px,1fr) 70px 100px 80px 30px;gap:8px;align-items:end;margin-bottom:10px}.line-row.bundle-line{grid-template-columns:minmax(140px,1fr) 90px 30px}.line-row input,.line-row select{padding:9px}.line-row label{font-size:10px}.remove{color:var(--red);padding:10px}.pos{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:13px}.product-tile{border:1px solid var(--line);background:white;border-radius:13px;padding:18px;text-align:left;min-height:150px;display:flex;flex-direction:column;align-items:start;gap:10px}.product-tile:hover{border-color:#85b39a;box-shadow:0 5px 20px #153c2810}.product-tile .product-symbol{display:grid;place-items:center;background:#f0f3e9;color:#6a8663;border-radius:10px;width:40px;height:40px;font-size:20px}.product-tile strong{font-size:13px}.product-tile small{font-size:10px;color:var(--muted)}.product-tile .price{font-size:16px;margin-top:auto;color:var(--green);font-weight:650}.product-tile.combo{background:#f1f5e5;border-color:#d9e4c4}.cart{position:sticky;top:20px;align-self:start}.cart .cart-empty{padding:35px 0;text-align:center;color:var(--muted);font-size:12px}.cart-line{padding:13px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12px}.cart-line .quantity{display:flex;align-items:center;gap:8px;margin-top:7px}.cart-line .quantity button{width:25px;height:25px;border:1px solid var(--line);border-radius:5px}.cart-line small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.totals{display:grid;gap:12px;margin:22px 0;font-size:12px}.totals>div{display:flex;justify-content:space-between}.totals .grand{font-size:22px;font-weight:650;padding-top:15px;border-top:1px solid var(--line)}.full{width:100%}.payment-row{display:grid;grid-template-columns:1fr 1fr 30px;gap:10px;margin-bottom:10px}.banner{background:#183e32;color:#e8f0e0;padding:27px;border-radius:var(--radius);margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.banner h2{color:#e8f0e0;font-size:24px;margin-bottom:9px}.banner p{color:#b7ccba;font-size:12px;margin:0;max-width:500px}.banner .banner-art{font-size:52px;color:#cbe58c}.list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.list-item:last-child{border:0}.list-item small{display:block;color:var(--muted);margin-top:5px}.receipt{max-width:700px;margin:auto;font-size:13px}.receipt header{border-bottom:2px solid var(--ink);padding-bottom:20px;margin-bottom:20px}.receipt .meta{display:flex;justify-content:space-between;gap:15px}.file-preview{width:100%;height:360px;border:1px solid var(--line);border-radius:10px}.mobile-menu{display:none}.loading{padding:100px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173f34;color:white;z-index:30;padding:14px 24px;border-radius:11px;box-shadow:0 8px 40px #102b2930;display:none;max-width:90vw;font-size:13px}.help-line{font-size:11px;color:var(--muted);line-height:1.7}.status-panel{max-width:650px;margin:60px auto}.offline-bar{background:#fff0dc;color:#815b23;text-align:center;padding:12px;font-size:12px}.filters{display:flex;gap:12px;align-items:end;margin-bottom:20px}.filters label{max-width:190px}.break{white-space:normal;overflow-wrap:anywhere;max-width:350px}
@media(min-width:1500px){.content{padding:44px 55px}}@media(max-width:1150px){.stats{grid-template-columns:repeat(2,1fr)}.pos{grid-template-columns:1fr 300px}.content{padding:28px 24px}.topbar{padding:0 24px}.grid2{grid-template-columns:1fr}.auth-story{padding:65px 50px}}@media(max-width:800px){.shell{grid-template-columns:1fr}.main{grid-column:1}.sidebar{transform:translateX(-100%);transition:transform .2s;width:260px}.sidebar.open{transform:translateX(0);box-shadow:20px 0 80px #102b2950}.mobile-menu{display:block;font-size:21px}.topbar{height:64px;padding:0 18px}.top-actions .date-label{display:none}.content{padding:25px 17px}.page-head{flex-direction:column;margin-bottom:22px}h1{font-size:26px}.stats{gap:11px}.stat{padding:17px}.stat strong{font-size:24px}.stat .stat-top{font-size:11px;margin-bottom:15px}.card{padding:18px}.pos{grid-template-columns:1fr}.cart{position:static}.auth{grid-template-columns:1fr}.auth-story{display:none}.auth-form{min-height:100vh;padding:30px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:1}.line-row{grid-template-columns:1fr 60px 80px 55px 25px;gap:5px}.line-row label{font-size:9px}.line-row select,.line-row input{font-size:11px;padding:8px 5px}.checklist{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.banner{padding:22px}.banner-art{display:none}.banner h2{font-size:20px}dialog{padding:20px}.topbar .path{font-size:11px}}@media print{.sidebar,.topbar,.page-head,.form-footer,.dialog-head,.no-print,#toast{display:none!important}.shell,.main{display:block}.content{padding:0}.card{border:0;padding:0}body{background:white}dialog{position:absolute;inset:0;max-height:none;width:100%;border:0;box-shadow:none}dialog::backdrop{background:white}.receipt{max-width:100%}.receipt table{white-space:normal}}

.ocr-text{margin:18px 0;border:1px solid var(--line);border-radius:10px;padding:14px}.ocr-text summary{cursor:pointer;font-weight:600;font-size:12px}.ocr-text pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font:12px/1.7 ui-monospace,monospace;background:#f4f6f2;padding:14px;border-radius:8px}

.purchase-item{padding:15px 0;border-bottom:1px solid var(--line)}.new-product-fields{padding:15px;background:#f4f7ef;border-radius:10px;margin:10px 0}.review-check{display:flex;align-items:start;gap:10px;font-size:12px;line-height:1.7;margin:18px 0}.review-check input{flex-shrink:0;margin-top:3px}[hidden]{display:none!important}

.cart .cart-qty{width:70px;padding:5px;font-size:12px;text-align:center}

.product-tile:disabled{cursor:not-allowed;opacity:.6}

.profitability-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.gain{color:var(--green)}.loss{color:var(--red)}@media(max-width:800px){.profitability-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profitability-stats .stat strong{font-size:22px}}

.receipt header p{white-space:pre-line;overflow-wrap:anywhere}.ticket-footer{white-space:pre-line;text-align:center;margin-top:18px}.simple-ticket .table-wrap{overflow:visible}.simple-ticket table{min-width:0;table-layout:fixed}.simple-ticket th:first-child,.simple-ticket td:first-child{width:52%}.simple-ticket td,.simple-ticket th{white-space:normal;overflow-wrap:anywhere;padding:8px 4px}
@media print{.simple-ticket{max-width:76mm;margin:0 auto;font-size:11px;color:#000}.simple-ticket h2{font-size:16px}.simple-ticket table{font-size:10px}.simple-ticket th,.simple-ticket td{padding:6px 2px}.simple-ticket tr{break-inside:avoid}}

@media print{body:has(dialog[open] .receipt) #root{display:none!important}body:has(dialog[open] .receipt) #dialog{position:static;margin:0;padding:0;width:100%;max-width:100%;max-height:none;overflow:visible}.simple-ticket{max-width:72mm}}
