:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18324e;background:#f2f5f8;font-synthesis:none;font-size:15px;line-height:1.5;--navy:#132b46;--blue:#2364d2;--line:#dfe6ee;--muted:#66778b;--orange:#a65a18;--teal:#087d78}*{box-sizing:border-box}body{margin:0}a{color:var(--blue)}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 15px;border:1px solid #cdd7e3;border-radius:8px;background:white;color:#18324e;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}button:hover,.button:hover{background:#eef3fa;border-color:#92a8c2}button:disabled{opacity:.48;cursor:not-allowed}button.primary,.button.primary{background:var(--blue);border-color:var(--blue);color:white}button.primary:hover,.button.primary:hover{background:#1a52b2}button.ghost{color:#dce7f4;background:transparent;border-color:#4a5d74;font-size:13px;min-height:34px;padding:4px 10px}button.link-button{border:none;background:transparent;color:var(--blue);padding:0;min-height:30px}input,select,textarea{width:100%;min-width:0;border:1px solid #cbd6e2;border-radius:7px;color:#203952;background:#fff;padding:10px 11px;min-height:44px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #a3c4ff;outline-offset:2px;border-color:var(--blue)}input[type=checkbox]{width:18px;height:18px;min-height:18px;flex-shrink:0;accent-color:var(--blue)}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:6px;color:#38506a;font-size:13px;font-weight:600;margin-bottom:14px}label.check{flex-direction:row;align-items:center;gap:10px;margin:13px 0;font-weight:500}fieldset{margin:0;padding:0;border:0;min-width:0}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-.8px;line-height:1.25;margin-bottom:8px}h2{font-size:18px;letter-spacing:-.3px;margin-bottom:16px}h3{font-size:15px;margin-bottom:12px}p{margin-bottom:14px}small{font-size:12px;color:var(--muted)}.muted{color:var(--muted);font-size:13px}.helper{font-size:12px;color:var(--muted);line-height:1.55;margin:10px 0 14px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:750;color:#77889e;margin-bottom:9px}.topbar{height:72px;background:var(--navy);color:white;display:flex;align-items:center;gap:28px;padding:0 32px}.brand{font-size:21px;font-weight:750;color:inherit;text-decoration:none;letter-spacing:-.6px;white-space:nowrap}.event-name{color:#aebed1;font-size:13px;flex:1}.user{display:flex;align-items:center;gap:12px;font-size:13px}.topbar .badge{background:#304860;color:#dce7f4}.tabs{display:flex;align-items:stretch;gap:22px;background:white;padding:0 32px;border-bottom:1px solid var(--line);min-height:58px;overflow-x:auto}.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#687b90;font-size:13px;padding:14px 0 11px;gap:7px}.tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.count{display:inline-flex;align-items:center;justify-content:center;background:#e6effe;border-radius:10px;min-width:21px;font-size:11px}.shell{max-width:1540px;margin:0 auto;padding:30px 32px 48px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-heading p:not(.eyebrow){color:var(--muted);font-size:13px;margin-bottom:0}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:20px;min-width:0;box-shadow:0 2px 3px #19344d03}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.section-heading h2,.section-heading h3{margin-bottom:0}.section-heading p{margin:4px 0 0}.badge{display:inline-flex;align-items:center;background:#edf1f5;color:#566a80;border-radius:5px;padding:3px 8px;white-space:nowrap;font-size:11px;font-weight:650}.badge.good{color:#177151;background:#e4f6eb}.badge.bad{color:#a53030;background:#fdecec}.badge.wait{color:#8e621d;background:#fff3d9}.notice{border:1px solid;border-radius:9px;padding:13px 16px;margin-bottom:18px;display:flex;align-items:center;gap:15px;font-size:13px;overflow-wrap:anywhere}.notice span{flex:1}.notice button{min-height:28px;padding:2px 8px;background:transparent}.notice.error{background:#fff0ef;border-color:#f2cac7;color:#9e3430}.notice.success{background:#eaf7f0;border-color:#b9dfca;color:#236744}.notice.warning{background:#fff6e4;border-color:#ebd9ab;color:#8b6325}.context-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px;padding:20px 23px}.context-grid.cashier-context{grid-template-columns:1.3fr 1fr}.context-grid label{margin:0}.billing-context{display:flex;flex-direction:column;gap:3px;padding-left:24px;border-left:1px solid var(--line);justify-content:center}.billing-context strong{font-size:14px}.pos-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:25px;align-items:start}.mode-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mode{min-height:66px;white-space:normal;font-size:12px;line-height:1.25;text-align:left;justify-content:flex-start;padding:13px 12px;border-width:2px;border-color:transparent;box-shadow:0 0 0 1px var(--line)}.mode span{font-size:23px;margin-right:4px}.mode.selected.issue{background:#eaf1ff;border-color:#4580e8;color:#2157ad}.mode.selected.full_return{background:#fff3e5;border-color:#d79a51;color:var(--orange)}.mode.selected.empty_return{background:#e5f6f3;border-color:#3aa79d;color:var(--teal)}.scan-row{display:grid;grid-template-columns:1.5fr 1fr;gap:10px;margin-top:20px}.scan-form{display:flex;gap:7px}.scan-form input{min-width:50px}.scan-form button{padding:8px 11px;font-size:12px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:17px 16px;min-height:163px;white-space:normal;border-color:var(--line);border-radius:11px;font-weight:400;gap:3px}.product-card:hover{border-color:#82a6d7;background:#fafdff;box-shadow:0 3px 12px #22446a09}.crate-icon{font-size:29px;color:#7895b6;line-height:1.15;margin-bottom:7px}.product-card strong{font-size:14px;line-height:1.35}.product-card .muted{font-size:11px}.product-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px;border-top:1px solid #edf1f5;padding-top:10px;gap:8px;font-size:11px;color:var(--muted)}.product-bottom strong{font-size:12px;color:#385572}.cart-panel{position:sticky;top:20px;padding:22px}.cart-empty{text-align:center;padding:32px 6px 27px;color:var(--muted)}.cart-empty>span{font-size:42px;color:#c8d4e3}.cart-empty h3{margin:10px 0 6px;font-size:15px;color:#526983}.cart-empty p{font-size:12px}.cart-lines{max-height:400px;overflow-y:auto}.cart-line{border:1px solid transparent;border-radius:9px;padding:13px;display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.cart-line:last-child{margin-bottom:0}.cart-line.issue{background:#eaf1ff;border-color:#c8d9f7}.cart-line.full_return{background:#fff3e5;border-color:#efd4b4}.cart-line.empty_return{background:#e5f6f3;border-color:#b7e2db}.cart-line strong{font-size:13px}.line-mode{display:block;font-size:11px;font-weight:600;margin-top:2px}.line-mode.issue{color:#2c67c2}.line-mode.full_return{color:var(--orange)}.line-mode.empty_return{color:var(--teal)}.quantity{display:flex;gap:5px}.quantity button{min-height:32px;min-width:32px;padding:3px 9px}.quantity input{width:65px;text-align:center;min-height:32px;padding:3px 5px;-moz-appearance:textfield}.quantity input::-webkit-inner-spin-button{display:none}.quantity .remove{margin-left:auto;border:none;background:none;color:#8a99aa}.totals{margin:20px 0}.totals>div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:9px}.totals .grand-total{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;font-size:19px}.totals small{font-size:10px}.tracking-note{padding:13px;background:#f0f4f8;border-radius:7px;font-size:12px;color:#5d7188;margin:17px 0}.complete{width:100%;min-height:49px;margin-top:9px}.cart-panel .helper{text-align:center;font-size:10px;margin-bottom:0}.cart-panel textarea{font-size:12px}.cart-panel .check{font-size:11px}.empty-state{padding:30px;background:#eaf1fa;border:1px dashed #a7bedb;border-radius:12px;margin-bottom:24px}.empty-state p{font-size:13px}.location-grid,.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#748599;font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;background:#f7f9fb;white-space:nowrap;padding:11px 12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #edf1f5;vertical-align:top}td small{display:block;margin-top:4px;font-size:10px}tr:last-child td{border-bottom:0}.number{text-align:right;font-variant-numeric:tabular-nums}.negative{color:#ac3939!important}.empty-inline{padding:25px 12px;text-align:center;color:var(--muted);font-size:13px;margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.form-grid .wide{grid-column:1 / -1}.filters{display:flex;align-items:flex-end;gap:16px}.filters label{flex:1;margin:0}.filters .check{margin-bottom:13px}.filters button{height:44px}.booking-items{max-width:300px;font-size:11px;line-height:1.7}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;overflow-wrap:anywhere}.metadata{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:0 0 18px}.metadata dt{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.metadata dd{margin:4px 0 0;font-size:12px}.revision{padding:18px 0;border-top:1px solid var(--line)}.revision p{font-size:12px}.detail-status{display:flex;flex-wrap:wrap;align-items:center;gap:18px;font-size:12px;margin:20px 0}.reconcile{padding:20px;background:#fff8ec;border:1px solid #eedfbe;border-radius:9px}.reconcile h3{color:#8a5a21}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:22px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:20px}.stat span{display:block;font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:30px;margin-top:6px;letter-spacing:-1px}.setup-steps{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.setup-steps span{padding:8px 13px;border-radius:6px;background:#e5ecf5;font-size:11px;font-weight:600;color:#536d8b}.integration-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.integration-stats strong{display:block;font-size:25px;font-weight:650}.integration-stats span{color:var(--muted);font-size:11px}.entity-list{display:flex;flex-direction:column;gap:7px;margin-bottom:23px;max-height:270px;overflow-y:auto}.entity{justify-content:space-between;border-color:#e0e7ef;font-size:12px;text-align:left;white-space:normal}.entity.chosen{background:#edf4ff;border-color:#759fda}.products-admin{display:grid;grid-template-columns:240px 1fr;gap:25px}.products-admin .entity-list{max-height:550px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px;background:linear-gradient(145deg,#edf3fa,#f8fafc)}.login-card{max-width:510px;padding:44px;border:1px solid var(--line);background:white;border-radius:16px;box-shadow:0 15px 60px #152c4810}.login .brand{color:var(--navy);margin-bottom:34px}.login h1{font-size:34px;margin-bottom:16px}.login p{color:var(--muted);font-size:14px;line-height:1.7}.login .button{margin:13px 0 20px;min-height:48px}.login p.muted{font-size:11px}footer{max-width:1540px;margin:0 auto;padding:0 32px 23px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#8492a4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1350px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.pos-grid{grid-template-columns:minmax(0,1fr) 325px;gap:18px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scan-row{grid-template-columns:1fr}.mode{font-size:11px;padding:10px 8px;flex-direction:column;align-items:flex-start}.mode span{font-size:19px}.shell{padding:25px 22px 40px}.topbar,.tabs{padding-left:22px;padding-right:22px}.filters{flex-wrap:wrap}.filters label{flex:1 1 160px}.filters .check{flex-basis:200px}.products-admin{grid-template-columns:200px 1fr}}@media(max-width:800px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;gap:8px 20px;padding:16px 18px}.event-name{display:none}.user{margin-left:auto}.user>span:first-child{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs{gap:22px;padding:0 18px}.shell{padding:23px 16px 35px}.page-heading{align-items:flex-start}.page-heading>.badge{display:none}h1{font-size:25px}.context-grid{grid-template-columns:1fr 1fr;gap:14px;padding:17px}.billing-context{grid-column:1/-1;flex-direction:row;justify-content:flex-start;align-items:center;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;gap:12px}.billing-context small{display:none}.pos-grid{grid-template-columns:1fr}.cart-panel{position:static}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mode{flex-direction:row;align-items:center;min-height:60px;font-size:11px}.location-grid,.setup-grid{grid-template-columns:1fr;gap:0}.stat-grid{grid-template-columns:repeat(2,1fr)}.integration-stats{grid-template-columns:repeat(3,1fr);gap:15px}.products-admin{grid-template-columns:1fr}.products-admin .entity-list{max-height:220px}.metadata{grid-template-columns:1fr}.panel{padding:18px}.filters button{flex:1}.page-heading button,.page-heading .button{font-size:11px;padding:8px 10px}.stat strong{font-size:25px}.cart-lines{max-height:none}footer{padding:0 16px 20px;font-size:9px}}@media(max-width:480px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-switch{gap:5px}.mode{flex-direction:column;font-size:10px;align-items:flex-start}.context-grid,.context-grid.cashier-context{grid-template-columns:1fr}.billing-context{grid-column:auto}.user>.badge{display:none}.brand{font-size:19px}.form-grid{grid-template-columns:1fr}.integration-stats{grid-template-columns:repeat(2,1fr)}.login-card{padding:28px}.login h1{font-size:28px}.section-heading{align-items:flex-start}.section-heading>.muted{display:none}footer span{display:none}}

.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.pagination .muted{text-align:center;font-size:12px}@media(max-width:480px){.pagination{gap:7px}.pagination button{font-size:11px;padding:8px}.pagination .muted{font-size:10px}}
.context-grid .selection-required{color:#a52d35}
.context-grid .selection-required select{border-color:#c43c45;background-color:#fff1f2;color:#90272e}
.context-grid .selection-required select:focus{outline:2px solid #c43c45;outline-offset:2px}
.booking-dialog{width:420px;max-width:calc(100% - 32px);padding:26px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;box-shadow:0 18px 65px #132b4633}
.booking-dialog::backdrop{background:#132b4673;backdrop-filter:blur(3px)}
.booking-dialog h2{font-size:22px;margin-bottom:25px}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px}
.dialog-actions button{min-width:110px}
.operation-symbol{display:inline-block;min-width:1.1em;margin-right:5px;font-size:16px;line-height:1;vertical-align:-1px}
.group-share{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.group-share .helper{margin-top:0}.group-share .share-url{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;background:#f7f9fc}
.group-share-actions{display:flex;flex-wrap:wrap;gap:10px}.group-share .notice{margin-top:14px;margin-bottom:0}
.share-confirmation{margin-top:15px;padding:15px;border:1px solid #ebd9ab;border-radius:9px;background:#fff6e4}.share-confirmation p{font-size:13px;margin-bottom:12px;color:#775522}
.statement-topbar{justify-content:space-between}.statement-shell{max-width:1060px;padding-top:35px}.statement-heading{margin-bottom:28px}
.statement-totals{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}.statement-totals .panel{display:flex;flex-direction:column;margin:0;padding:24px}
.statement-totals span{font-size:12px;font-weight:600;color:var(--muted)}.statement-totals strong{font-size:29px;letter-spacing:-.6px;margin:5px 0;font-variant-numeric:tabular-nums}.statement-totals small{font-size:11px}
.statement-totals .statement-balance{background:var(--navy);border-color:var(--navy);color:white}.statement-balance span,.statement-balance small{color:#c2d2e4}
.statement-balance-note{margin:14px 0 30px}.statement-history{margin-top:28px}.statement-booking{margin-bottom:16px}.statement-booking .section-heading{margin-bottom:18px}
.statement-booking .section-heading p{display:flex;align-items:center;gap:9px}.statement-booking h3{font-size:14px}.statement-booking-total{font-size:17px;white-space:nowrap;font-variant-numeric:tabular-nums}.statement-operation{white-space:nowrap;margin:0}
.statement-empty{text-align:center;padding:55px 25px}.statement-empty p{color:var(--muted)}.statement-empty p:last-child{margin:0}.statement-footer{max-width:1060px}
@media(max-width:650px){.statement-totals{grid-template-columns:1fr 1fr;gap:12px}.statement-totals .statement-balance{grid-column:1 / -1}.statement-totals .panel{padding:19px}.statement-totals strong{font-size:25px}.statement-booking .section-heading{align-items:flex-start;flex-wrap:wrap;gap:10px}.statement-booking-total{font-size:15px}.statement-topbar{gap:8px}.statement-topbar>.badge{font-size:10px}.statement-heading{gap:10px}}

.integration-stats.local-mode{grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px}

.history-row.expanded>td{background:#edf4ff;border-bottom-color:#cbdbee}
.history-details-row>td{padding:0 12px 18px;background:#f6f9fd}
.history-details-row .details{margin:0;border-color:#cbdbee;border-top-left-radius:0;border-top-right-radius:0;box-shadow:none}
.history-details-row .details>.notice{margin-bottom:0}
@media(max-width:650px){.history-details-row>td{padding:0 6px 12px}.history-details-row .details{padding:15px}}

.scan-row{grid-template-columns:minmax(0,1fr) auto minmax(150px,.7fr)}
.camera-trigger{font-size:12px;padding:8px 11px}.camera-trigger svg{flex-shrink:0}
.camera-dialog{width:600px;padding:24px}.camera-dialog>.section-heading{margin-bottom:12px}.camera-dialog h2{font-size:21px;margin:0}
.camera-mode{font-size:13px;margin:0 0 5px}.camera-dialog .helper{margin:0 0 16px}
.camera-preview{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:#132b46;margin-bottom:16px}
.camera-preview video{display:block;width:100%;height:100%;object-fit:contain}
.camera-paused{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#dce7f4;font-size:14px;background:#132b4680}
.camera-instruction{font-size:13px;color:var(--muted);margin:0 0 16px}.camera-dialog .notice{display:block;margin-bottom:16px}
@media(max-width:1200px){.scan-row{grid-template-columns:minmax(0,1fr) auto}.scan-row>#product-filter{grid-column:1/-1}}
@media(max-width:480px){.scan-row{grid-template-columns:1fr}.camera-trigger{width:100%}.camera-dialog{padding:18px}.camera-dialog h2{font-size:18px}}

.selection-hint{margin:12px 0 18px;font-size:13px;color:#9e3430}.product-empty{padding:28px 20px;border:1px dashed #c5d1df;border-radius:11px;background:#fff;text-align:center;color:#526983}.product-empty p{margin:0;font-size:14px;font-weight:600}.product-empty small{display:block;margin-top:7px}

.notification-stack{position:fixed;z-index:1000;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(640px,calc(100% - 32px));display:grid;gap:10px;pointer-events:none}
.notification-stack>.notice{margin:0;padding:12px 14px;box-shadow:0 8px 28px #132b4626;pointer-events:auto;align-items:flex-start;gap:12px}
.notification-stack>.notice>span{min-width:0;max-height:min(35dvh,14rem);overflow-y:auto;overscroll-behavior:contain;align-self:center}
.notification-stack>.notice>button{flex-shrink:0;min-width:44px;min-height:44px}
