@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@400;500;600;700&display=swap');
:root{font-family:'IBM Plex Sans Thai',sans-serif;color:#18263d;background:#f3f6fa;font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .15s,box-shadow .15s}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #75a9ff;outline-offset:3px}input,select,textarea{width:100%;border:1px solid #dbe2ed;background:white;border-radius:9px;padding:11px 12px;color:#18263d;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #93b8ff;border-color:#2563eb}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-.6px}h2{font-size:18px}small{display:block;font-size:13px;color:#7a879b}button{border:0}button:hover:not(:disabled){filter:brightness(.97)}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#101e34;padding:30px 18px;color:#eaf0fa;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;padding:0 8px 35px;letter-spacing:.8px;font-weight:700}.brand b{display:grid;place-items:center;width:38px;height:42px;background:#3674f5;border-radius:11px;font-size:25px}.brand small{font-size:9px;margin-top:4px;letter-spacing:1.2px}.nav-caption{font-size:12px;color:#8595ae;padding:12px}.nav{display:flex;align-items:center;gap:14px;text-align:left;border-radius:9px;background:transparent;color:#b1bfd3;padding:14px 12px;margin:4px 0;font-size:14px}.nav span{font-size:21px}.nav.active{background:#2563eb;color:#fff}.sidebar-note{margin-top:auto;background:#1b2b43;padding:15px;border-radius:10px;font-size:14px;line-height:1.8}.sidebar-note small{color:#9aabc3;margin-top:6px}.user{display:flex;gap:10px;border-top:1px solid #2a3950;margin-top:25px;padding-top:22px;font-size:14px}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#35465f;flex-shrink:0}.light{background:#edf3ff;color:#2563eb}main{margin-left:220px;padding:28px 30px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.breadcrumb{font-size:13px;color:#7a879b;margin-bottom:5px}.header-right{display:flex;align-items:center;gap:14px;font-size:13px;color:#758299}.demo{background:#e6edfc;color:#3a609c;border-radius:6px;padding:7px 10px;font-size:12px}.notice{border:1px solid #dae4f4;color:#56708f;background:#edf3fd;border-radius:9px;padding:11px 15px;font-size:13px;margin-bottom:24px}.workspace{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(260px,1fr) minmax(310px,1.08fr);gap:20px;align-items:start}.panel{background:white;border:1px solid #e2e7ef;border-radius:14px;box-shadow:0 3px 10px #14253e03;padding:22px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-head>span{color:#8491a5;font-size:13px}.step{background:#f1f4f8;border-radius:6px;padding:3px 8px;font-weight:600}.search{display:flex;align-items:center;background:white;border:1px solid #dbe2ed;border-radius:10px;padding-left:13px}.search span{font-size:25px;color:#8b98ab}.search input{border:0;background:transparent;font-size:14px}.filters{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.filters button{padding:8px 12px;border-radius:7px;background:#e8edf4;color:#627089;font-size:13px}.filters button.selected{background:#172d4f;color:white}.products{display:grid;grid-template-columns:1fr 1fr;gap:12px}.product{background:white;border:1px solid #e0e6ef;border-radius:12px;padding:17px;text-align:left;min-height:153px}.product.selected{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb;background:#f8fbff}.product-icon{background:#eef3fb;color:#3f689f;border-radius:8px;width:40px;height:40px;display:grid;place-items:center;font-size:22px;margin-bottom:14px}.product strong{font-size:14px;display:block;margin-bottom:6px}.product .price{font-size:17px;font-weight:700}.product .unit{font-size:12px;color:#8895a8;font-weight:400}.helper{margin-top:24px;border-top:1px solid #dde5ef;padding-top:20px;font-size:14px;color:#65758d}.helper p{font-size:13px;line-height:1.8;margin-top:5px}.spec-name{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #e8ecf2}.spec-name h3{font-size:22px;margin-bottom:6px}.tag{font-size:12px;border-radius:5px;padding:3px 7px;background:#edf3ff;color:#5174a8;display:inline-block}.field{display:block;font-size:14px;color:#54627a;margin-bottom:18px}.field input,.field select,.field textarea{margin-top:7px}.segments{display:flex;gap:8px;margin-top:8px}.segments button{flex:1;padding:11px;background:#f4f6f9;border:1px solid #e1e6ee;border-radius:8px;color:#65738b;font-size:14px}.segments button.selected{color:#2563eb;background:#eef4ff;border-color:#2563eb}.quantity{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;margin-top:7px}.quantity button{border:1px solid #dce3ee;background:#f7f9fc;border-radius:8px;font-size:21px;color:#60718b}.quantity input{text-align:center}.inline-label{display:flex;gap:10px;align-items:center;font-size:14px;margin:15px 0}.inline-label input{width:17px;height:17px;accent-color:#2563eb}.spec-total{background:#f4f7fc;padding:17px;border-radius:10px;display:flex;justify-content:space-between;align-items:center;margin:23px 0 15px;font-size:14px}.spec-total b{font-size:23px}.primary{background:#2563eb;color:#fff;padding:13px 18px;border-radius:9px;font-weight:600;font-size:15px}.wide{width:100%}.secondary{background:#eef2f8;color:#3d5474;padding:12px 18px;border-radius:9px}.text-button{background:transparent;color:#8090a6;padding:12px;font-size:13px}.customer-row{display:flex;align-items:center;gap:11px;font-size:14px;margin-bottom:14px}.customer-inputs{display:grid;grid-template-columns:1fr;gap:8px}.customer-inputs input{font-size:13px;padding:9px 11px}.cart-label{display:flex;justify-content:space-between;font-size:13px;color:#8794a7;margin:23px 0 13px}.cart-item{padding:14px 0;border-bottom:1px solid #e9edf3}.cart-item-top{display:flex;justify-content:space-between;font-size:14px;gap:10px}.cart-item small{margin:4px 0 9px;line-height:1.6}.cart-item-bottom{display:flex;align-items:center;justify-content:space-between;font-size:13px}.remove{color:#aa6870;background:transparent;font-size:12px}.empty{text-align:center;padding:45px 10px;color:#8b99ad;font-size:14px;line-height:1.9}.empty-symbol{font-size:34px;color:#bdc9da;margin-bottom:10px}.totals{padding-top:22px;margin-top:8px}.totals>div{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-bottom:15px;color:#65748b}.totals input{width:85px;padding:6px;text-align:right;font-size:14px}.totals .grand{border-top:1px dashed #d4dce8;padding-top:19px;margin:20px 0;color:#18263d;font-weight:600}.grand b{font-size:29px;letter-spacing:-.8px}dialog{border:0;border-radius:18px;width:480px;max-width:calc(100% - 28px);padding:28px;box-shadow:0 30px 100px #061a3b44;color:#18263d}dialog::backdrop{background:#0c1c365c;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.close{background:#f0f3f8;border-radius:50%;width:32px;height:32px;font-size:23px;color:#8090a6}.pay-total{padding:20px;background:#f2f6ff;border-radius:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.pay-total b{font-size:29px;color:#2563eb}fieldset{border:0;padding:0;margin:0 0 20px}legend{font-size:14px;margin-bottom:8px}.payment-methods{display:flex;gap:12px}.payment-methods label{border:1px solid #d8e1ef;padding:12px;flex:1;border-radius:8px;font-size:14px}.payment-methods input{width:auto;accent-color:#2563eb}.change-row{display:flex;justify-content:space-between;margin:12px 0;font-size:15px}.muted{color:#8190a7;font-size:12px;line-height:1.8;margin:15px 0}.error{font-size:14px;color:#bc3749}.receipt-actions{display:flex;gap:12px;margin-top:22px}.receipt-actions button{flex:1}.receipt-logo{text-align:center;margin:15px 0 24px}.receipt-logo h3{font-size:25px}.receipt-row{display:flex;justify-content:space-between;font-size:14px;padding:9px 0;gap:14px}.receipt-divider{border-top:1px dashed #d4dce8;margin:15px 0}.receipt-summary{font-size:20px;font-weight:700}.bill-panel{max-width:1000px}.bill-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid #e6ebf2;font-size:14px}.bill-row button{font-size:13px}.bill-row strong{display:block}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 22px;border-radius:9px;background:#172d4f;color:white;box-shadow:0 5px 20px #172d4f33;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}[hidden]{display:none!important}@media(min-width:1550px){main{padding:35px 45px}.workspace{gap:28px}.panel{padding:26px}}@media(max-width:1200px){.sidebar{width:180px;padding:25px 12px}main{margin-left:180px;padding:22px 20px}.workspace{grid-template-columns:1fr 1fr}.cart{grid-column:2;grid-row:1 / span 2}.spec{grid-column:1}.header-right #date{display:none}}@media(max-width:760px){.sidebar{position:static;width:auto;padding:14px 18px;flex-direction:row;gap:10px;align-items:center}.brand{padding:0;margin-right:auto}.brand small,.nav-caption,.sidebar-note,.user{display:none}.brand span{font-size:13px}.brand b{height:33px;width:30px;font-size:21px}.nav{padding:9px;font-size:12px;gap:6px}.nav span{display:none}main{margin:0;padding:20px 16px}.workspace{grid-template-columns:1fr}.cart,.spec{grid-column:auto;grid-row:auto}.header-right #date{display:none}h1{font-size:24px}.notice{line-height:1.8}.panel{padding:20px}.products{grid-template-columns:repeat(2,1fr)}.helper{display:none}.spec{margin-top:8px}}@media print{body>*{display:none!important}#receipt[open]{display:block!important;position:static;max-width:100%;width:80mm;box-shadow:none;padding:5mm;margin:0 auto}.modal-head,.receipt-actions{display:none!important}#receipt-content{display:block!important}}
/* Reference direction: peach surround, white navigation, soft catalog, fixed cart. */
:root{color:#303034;background:#ffd0b5}body{max-width:1500px;margin:52px auto;padding:0 34px;min-height:calc(100vh - 104px);display:grid;grid-template-columns:205px minmax(0,1fr);background:transparent}body:before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 65% 0,transparent 55%,#ffffff55 55.1%,transparent 55.3%);z-index:-1}.sidebar{position:relative;inset:auto;width:auto;background:#fff;color:#343438;padding:30px 22px;border-radius:25px 0 0 25px;border-right:1px solid #f1f1f1;min-height:780px}.brand{padding:0 4px 58px;font-size:24px;letter-spacing:-1px;font-weight:600}.brand em{font-style:normal;color:#f69c69}.brand small{font-size:9px;letter-spacing:1.4px;margin-top:7px;color:#aaa}.nav-caption{color:#bbb;font-size:12px}.nav{color:#606065;font-size:14px;padding:13px 9px;border-radius:0;margin:4px -3px}.nav.active{background:transparent;color:#ec976c;border-right:3px solid #ffab7d}.nav span{font-size:21px;font-weight:400}.sidebar-note{background:#fff5ee;color:#b57856;border-radius:15px;padding:15px;font-size:13px}.sidebar-note small{color:#b99d8d;font-size:12px}.user{border-color:#f0efed;color:#555;margin-top:24px;padding-top:20px;font-size:13px}.avatar{background:#f7e5d9;color:#bd7d59}main{margin:0;padding:0;background:#f8f8f8;border-radius:0 25px 25px 0;overflow:hidden;min-width:0}header{height:86px;background:white;margin:0;padding:20px 30px;border-bottom:1px solid #f0f0f0}.breadcrumb{font-size:11px;color:#aaa}h1{font-size:22px;font-weight:600;letter-spacing:-.4px}.header-right{color:#aaa}.demo{background:#fff2e9;color:#dc946c;border-radius:30px;font-size:12px}.notice{margin:0;border:0;border-bottom:1px solid #f1eeeb;border-radius:0;background:#fffaf6;color:#b3937d;font-size:12px;padding:10px 30px}.workspace{grid-template-columns:minmax(0,1fr) 320px;gap:0;align-items:stretch;min-height:680px}.catalog{padding:30px;display:flex;flex-direction:column;min-width:0}.catalog-title{order:2;margin:24px 0 18px}.search{order:0;border:0;background:#efefef;border-radius:30px;max-width:460px}.search input{font-size:14px;padding:12px}.search span{color:#bbb;padding-left:3px}.filters{order:1;margin:22px 0 0;gap:8px}.filters button{border:1px solid #e8e8e8;color:#6d6d70;background:transparent;padding:10px 20px;border-radius:28px;font-size:14px}.filters button.selected{background:#ffa36f;border-color:#ffa36f;color:#fff}.products{order:3;grid-template-columns:1fr 1fr;gap:16px}.product{position:relative;min-height:208px;border:1px solid transparent;background:white;border-radius:17px;padding:20px 18px 18px 108px;box-shadow:none}.product.selected{border-color:#ffd7c0;box-shadow:none;background:white}.product:hover{box-shadow:0 5px 20px #d4bba31a;border-color:#ffd7c0}.product-icon{position:absolute;left:14px;top:17px;width:77px;height:116px;border-radius:12px;background:#f7f7f7;color:#e3a784;font-size:43px;font-weight:400}.product strong{font-size:15px;font-weight:500;margin-bottom:6px;line-height:1.6}.product-description{font-size:12px;color:#aaa;line-height:1.7;margin-bottom:12px;min-height:40px}.product .price{font-size:17px;color:#ed9b6f;font-weight:600}.product .unit{font-size:12px;color:#aaa}.product small{font-size:11px;margin-top:3px}.card-action{display:block;margin-top:15px;border:1px solid #fae2d4;border-radius:25px;color:#eaa17a;text-align:center;padding:7px 4px;font-size:12px}.product.selected .card-action{background:#ffa36f;color:white;border-color:#ffa36f}.helper{order:4;border-color:#ececec;color:#999;font-size:13px;margin-top:25px}.helper b{font-weight:500}.helper p{font-size:12px}.cart{border:0;border-left:1px solid #f0f0f0;border-radius:0;background:white;padding:28px 24px;box-shadow:none;display:flex;flex-direction:column}.section-head h2{font-size:18px;font-weight:500;color:#38383b}.step{background:transparent;font-weight:400;color:#bbb!important}.customer-row{font-size:13px}.customer-row b{font-weight:500}.customer-row small{font-size:11px;color:#aaa}.light{background:#fff1e7;color:#e3a482}.customer-inputs input{border:1px solid #efefef;border-radius:12px;padding:10px;font-size:12px}.cart-label{color:#b0b0b0;font-size:12px;margin-top:24px}.cart-item{padding:16px 0;border-color:#f4f4f4}.cart-item-top{font-size:13px}.cart-item-top b{font-weight:500}.cart-item small{font-size:12px;color:#aaa}.cart-item-bottom{font-size:12px;color:#777}.remove{color:#bd9d8b}.empty{color:#aaa;padding:48px 8px}.empty b{font-weight:400}.empty-symbol{color:#ead5c7}.empty small{color:#b7b7b7;font-size:12px}.totals{margin-top:auto;padding-top:38px}.totals>div{color:#a0a0a0;font-size:13px}.totals>div b{color:#444;font-weight:500}.totals input{border-color:#efefef;border-radius:8px}.totals .grand{border-top:1px solid #f1f1f1;color:#aaa;font-weight:400;padding-top:20px}.grand b{font-size:25px;color:#efa071!important;font-weight:500}.primary{background:#ffa36f;border-radius:28px;font-size:14px;font-weight:500;padding:13px 20px}.secondary{background:#fff3ea;color:#c68b6a;border-radius:25px}.text-button{color:#aaa;font-size:12px}.spec{padding:27px;border:0;border-radius:22px;display:block;width:460px;max-width:calc(100% - 28px);box-shadow:0 30px 100px #56342144}.spec:not([open]){display:none}.spec-close{position:absolute;right:22px;top:20px}.spec .section-head{padding-right:32px}.spec-name h3{font-size:23px;font-weight:500;margin-top:8px}.tag{background:#fff0e6;color:#d69975}.segments button.selected{color:#dc946d;background:#fff2e8;border-color:#ffb58b}.spec-total{background:#fff6ef}.spec-total b{color:#de966e;font-weight:500}.field{color:#888}.quantity button{background:#fafafa;color:#aaa}.inline-label input{accent-color:#ffa36f}input:focus,select:focus,textarea:focus{outline:2px solid #ffd1b5;border-color:#efa071}button:focus-visible,a:focus-visible{outline-color:#e9a275}.spec .muted{color:#baa38f}.panel.bill-panel{margin:30px;border-radius:18px;border:0}.pay-total{background:#fff4ec}.pay-total b{color:#ed9b6f}.payment-methods input{accent-color:#ffa36f}.payment-methods label{border-color:#eee;border-radius:15px}.close{background:#f5f3f1;color:#999}#toast{background:#55443a;border-radius:28px}.bill-row{border-color:#f0f0f0}.sidebar,.main{box-shadow:0 0 0 7px #ffffff33}#bills-view{min-height:680px}
@media(min-width:1550px){main{padding:0}.workspace{gap:0}.panel.cart{padding:30px}.catalog{padding:35px}.product{min-height:220px}}@media(max-width:1200px){body{padding:0 20px;margin:30px auto;grid-template-columns:170px 1fr}.sidebar{width:auto;padding:25px 15px}.brand{font-size:21px}.workspace{grid-template-columns:minmax(0,1fr) 290px}.cart{grid-column:2;grid-row:auto}.catalog{padding:24px 18px}.product{padding:15px;min-height:215px}.product-icon{position:static;width:42px;height:42px;font-size:25px;margin-bottom:12px}.product-description{display:none}.cart{padding:25px 20px}.filters button{padding:8px 12px;font-size:12px}.spec{grid-column:auto}}@media(max-width:900px){body{grid-template-columns:145px 1fr;padding:0 12px}.sidebar{padding:22px 12px}.brand{font-size:19px}.nav{font-size:12px;gap:8px}.workspace{grid-template-columns:1fr 260px}.products{grid-template-columns:1fr}.product{min-height:150px;padding-left:90px}.product-icon{position:absolute;left:14px;top:16px;width:60px;height:85px}.cart{padding:25px 18px}.header-right #date{display:none}.helper{display:none}}@media(max-width:680px){body{display:block;margin:12px;padding:0;min-height:0}.sidebar{border-radius:20px 20px 0 0;min-height:auto;padding:16px;display:flex;flex-direction:row;border-bottom:1px solid #eee;border-right:0}.brand{padding:0;margin-right:auto}.brand span{font-size:19px}.nav{padding:8px;margin:0;border-radius:20px}.nav.active{border:0;background:#fff0e5}.brand small{display:none}.nav-caption,.sidebar-note,.user{display:none}main{border-radius:0 0 20px 20px;padding:0;margin:0}header{padding:18px;height:77px}.notice{padding:10px 18px;font-size:11px}.workspace{display:block}.catalog{padding:23px 18px}.products{grid-template-columns:1fr 1fr;gap:10px}.product{padding:15px;min-height:190px}.product-icon{position:static;width:38px;height:38px;font-size:24px;margin-bottom:12px}.product strong{font-size:13px}.product .price{font-size:16px}.card-action{font-size:11px}.cart{border-left:0;border-top:1px solid #f0f0f0;padding:24px}.totals{margin-top:10px}.cart-label{margin-top:18px}.filters{gap:6px}.filters button{font-size:12px;padding:8px 13px}.catalog-title{margin-top:21px}.spec{margin: auto}.panel.bill-panel{margin:18px}#bills-view{min-height:450px}}@media print{body{margin:0;padding:0;display:block;background:#fff}#receipt[open]{border-radius:0}.receipt-summary span{color:#000}}

.brand-logo{width:100%;max-width:160px;height:auto;object-fit:contain}.receipt-brand{width:210px;max-width:100%;height:auto;margin:10px auto 12px}.brand{min-height:96px}@media(max-width:680px){.brand{min-height:auto}.brand-logo{width:130px}}
.sidebar{min-height:900px}.brand{padding-bottom:25px;min-height:75px}.nav{padding:9px 9px;margin:1px -3px;font-size:13px}.nav-caption{padding:17px 9px 5px}.sidebar-note{margin-top:25px}.user{margin-top:auto;padding-top:15px}.header-right select{font-size:12px;width:180px;background:#fafafa;border:0;border-radius:24px}#management-content{padding:30px;min-height:780px}.management-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:25px}.management-head>div{margin-right:auto}.management-head h2{font-size:23px;font-weight:500}.management-head p{color:#96908c;font-size:14px;margin-top:6px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metrics.compact{grid-template-columns:repeat(3,1fr)}.metric{background:#fff;border-radius:17px;padding:22px}.metric>span{font-size:14px;color:#938d89;display:block}.metric strong{font-size:27px;font-weight:500;display:block;margin:9px 0 3px;color:#42403e}.metric small{font-size:12px;color:#aaa}.management-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}.module-card{background:#fff;padding:24px;border-radius:17px;margin-bottom:22px;min-width:0}.management-grid .module-card{margin-bottom:0}.module-card h3{font-size:17px;font-weight:500;margin-bottom:22px}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px;white-space:nowrap}.data-table th{font-weight:400;color:#a09892;font-size:12px;text-align:left;padding:13px 14px;border-bottom:1px solid #eee}.data-table td{padding:17px 14px;border-bottom:1px solid #f2f1ef;color:#5f5a56}.data-table td b{font-weight:500}.data-table small{font-size:12px;margin-top:4px;white-space:normal;max-width:230px}.data-table tr:last-child td{border-bottom:0}.link-button{background:transparent;color:#d58d62;padding:7px;font-size:13px;border-radius:8px}.link-button:hover{background:#fff4ea}.link-button.danger{color:#b87575}.badge{display:inline-block;padding:4px 10px;border-radius:20px;background:#edf4f2;color:#668578;font-size:12px}.badge.warm{background:#fff3e5;color:#b79061}.badge.bad{background:#fbebeb;color:#b27979}.summary-line{display:flex;justify-content:space-between;font-size:14px;color:#948b84;padding:17px 0;border-bottom:1px solid #f2eeeb}.summary-line strong{font-weight:500;color:#5e5650}.bar-row{margin:22px 0;font-size:14px}.bar-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:9px}.bar-row b{font-weight:500;color:#c9916d}.bar-track{height:9px;border-radius:8px;background:#faf0e9}.bar-track span{display:block;height:100%;background:#ffb486;border-radius:8px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px;align-items:center}.toolbar .search{min-width:230px;flex:1;background:white;border:1px solid #eee}.toolbar select,.toolbar>input{width:auto;font-size:13px;border-color:#eee;border-radius:22px;padding:10px 15px}.toolbar .secondary{font-size:13px}.bill-panel{max-width:none}.category-card .category-symbol{display:inline-flex;width:45px;height:45px;border-radius:12px;background:#fff0e6;color:#dda481;align-items:center;justify-content:center;font-size:26px;margin-bottom:15px}.category-card h3{margin-bottom:5px}.category-card>div{margin-top:16px}.staff-grid{grid-template-columns:repeat(3,1fr)}.staff-card .avatar{width:48px;height:48px;font-size:23px;margin-bottom:18px}.staff-card h3{margin-bottom:5px}.staff-card .badge{margin-top:14px}.staff-card p{font-size:13px;color:#aaa;margin:15px 0}.settings-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr)}.settings-grid input,.settings-grid textarea,.settings-grid select{border-color:#e9e5e1}.settings-grid .inline-label{font-size:14px}.settings-grid h3:not(:first-child){margin-top:30px}.mock-receipt{max-width:330px;margin:25px auto;padding:26px;border:1px solid #e9e4df;box-shadow:0 8px 30px #604f3b08;color:#666}.mock-receipt>img{width:100%;max-width:210px;margin:0 auto 18px;display:block}.mock-receipt h3{text-align:center;margin-bottom:5px}.mock-receipt>p,.mock-receipt>small{text-align:center;font-size:12px;color:#999}.receipt-footer{text-align:center!important;margin-top:20px!important;line-height:1.8;font-size:12px}.form-help{font-size:13px;color:#aa9788;line-height:1.9;margin:0 0 18px}#editor-dialog{max-height:85vh;width:550px;overflow:auto}#editor-dialog input[type=checkbox]{width:18px;accent-color:#ffa36f}.void-banner{background:#faebeb;color:#b66b6b;padding:12px;border-radius:8px;margin-bottom:15px;font-size:13px}.receipt-logo>b{display:block;font-weight:500}.paper-a4{width:780px}.preview-card{align-self:start}.option-list{border:1px solid #f1e9e2;border-radius:12px;padding:4px 12px;margin-bottom:18px}.option-list label{font-size:13px}.module-card .empty{padding:30px}.module-card .field{margin-bottom:18px}
@media(max-width:1200px){.metrics{grid-template-columns:1fr 1fr}.staff-grid{grid-template-columns:1fr 1fr}.metric strong{font-size:24px}.management-head h2{font-size:21px}.management-grid{gap:16px}.module-card{padding:20px}#management-content{padding:25px 20px}.header-right select{width:155px}.sidebar{min-height:900px}.nav span{font-size:18px}}
@media(max-width:900px){.sidebar{padding:20px 10px}.nav{font-size:12px;padding:10px 5px}.management-grid,.settings-grid{grid-template-columns:1fr}.header-right select{width:135px}.header-right .demo{display:none}.staff-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.sidebar{min-height:auto;display:flex;overflow-x:auto;flex-wrap:nowrap;gap:7px;align-items:center;padding:15px}.brand{flex:0 0 125px;min-height:auto;padding:0;margin-right:8px}.nav{white-space:nowrap;flex-shrink:0;padding:9px 12px;margin:0}.nav-caption,.user,.sidebar-note{display:none}.metrics,.metrics.compact{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:16px}.metric strong{font-size:22px}.metric>span{font-size:12px}.staff-grid{grid-template-columns:1fr}#management-content{padding:23px 16px}.management-head p{font-size:13px}.management-head .primary,.management-head .secondary{font-size:12px}.header-right select{font-size:11px;width:140px}.toolbar{gap:8px}.toolbar .search{min-width:100%;flex:none}.toolbar select,.toolbar>input{max-width:100%}.module-card{padding:18px}.panel.bill-panel{padding:18px}.data-table{font-size:13px}}
@media print{body:has(#management-view:not([hidden]))>main{display:block!important;margin:0;padding:0;background:white;overflow:visible}body:has(#management-view:not([hidden])) main>header,body:has(#management-view:not([hidden])) .notice,body:has(#management-view:not([hidden])) #sale-view,body:has(#management-view:not([hidden])) #bills-view{display:none!important}#management-content{padding:0}.management-head button,.toolbar,.module-card button{display:none!important}.metrics{grid-template-columns:repeat(4,1fr)}.module-card,.metric{break-inside:avoid;border:1px solid #eee}.table-scroll{overflow:visible}.paper-a4[open]{width:190mm!important}.receipt-row{font-size:inherit}}
/* UID primary brand color requested by the owner. */
:root{--brand:#3662e3;--brand-soft:#eef2ff;background:#dfe7ff;color:#2e3443}body:before{background:radial-gradient(ellipse at 65% 0,transparent 55%,#ffffff77 55.1%,transparent 55.3%)}.primary,.filters button.selected,.product.selected .card-action{background:#3662e3;color:white;border-color:#3662e3}.primary:hover:not(:disabled){background:#2b50c4;filter:none}.nav.active{color:#3662e3;border-right-color:#3662e3}.demo,.tag,.secondary,.sidebar-note{background:#eef2ff;color:#5973bc}.sidebar-note small{color:#8593b4}.avatar,.light{background:#edf1fe;color:#5475d2}.product.selected,.product:hover{border-color:#a8bbf6}.product .price,.grand b,.pay-total b,.spec-total b{color:#3662e3!important}.product-icon{background:#f0f3fc;color:#7492e6}.card-action{border-color:#dbe3fb;color:#3662e3}.customer-inputs input{border-color:#e8ecf5}.segments button.selected{color:#3662e3;background:#eef2ff;border-color:#3662e3}.spec-total,.pay-total{background:#f1f4ff}.inline-label input,.payment-methods input,#editor-dialog input[type=checkbox]{accent-color:#3662e3}input:focus,select:focus,textarea:focus{outline-color:#c0cef9;border-color:#3662e3}button:focus-visible,a:focus-visible{outline-color:#3662e3}.notice{background:#f7f9ff;border-color:#e8edf9;color:#8391b1}.link-button{color:#3662e3}.link-button:hover{background:#eef2ff}.link-button.danger{color:#b87575}.category-card .category-symbol{background:#eef2ff;color:#3662e3}.bar-row b{color:#5878d5}.bar-track{background:#eef2ff}.bar-track span{background:#3662e3}.badge{background:#edf4f2;color:#668578}.badge.warm{background:#fff3e5;color:#b79061}.badge.bad{background:#fbebeb;color:#b27979}.form-help,.spec .muted{color:#8b96ae}.option-list{border-color:#e5eaf8}#toast{background:#33477b}.metric strong{color:#344464}.receipt-summary{color:#3662e3}@media(max-width:680px){.nav.active{background:#eef2ff}}@media print{.receipt-summary{color:#000}}
@media print{body:has(#receipt[open])>main{display:none!important}}

.pricing-section{border:1px solid #e1e7f5;border-radius:14px;padding:18px;margin-bottom:18px}.pricing-section h3{margin-bottom:14px}.pricing-row{display:grid;grid-template-columns:2fr 1fr 1.4fr auto;gap:10px;align-items:end;border-bottom:1px solid #edf0f7;margin-bottom:14px}.tier-editor{grid-template-columns:1fr 1fr auto}.pricing-row .field{font-size:12px}.pricing-row button{margin-bottom:18px}.price-breakdown{font-size:13px;margin-top:18px}.price-breakdown>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}#editor-dialog:has(.pricing-section){width:780px}#double-price{margin-top:15px}@media(max-width:680px){.pricing-row{grid-template-columns:1fr 1fr}.pricing-section{padding:13px}}

#filters{display:block}.parent-categories{display:flex;gap:10px;margin-bottom:14px}.parent-categories button{font-weight:600;padding:12px 20px;border-radius:12px}.child-categories{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.category-level-label{font-size:12px;color:#8794b4;width:100%;margin-bottom:2px}.category-group{margin-bottom:20px}.category-group .category-card{box-shadow:none;background:#f8faff}.category-group .management-grid{margin-bottom:0}

.parent-categories{align-items:center;flex-wrap:wrap}.parent-categories>button{flex-shrink:0;margin:0!important}.parent-categories>.search{flex:1;min-width:170px;max-width:none;margin:0}.parent-categories>.search input{width:100%;min-width:0}@media(max-width:680px){.parent-categories>.search{flex-basis:100%}}

.ui-icon{display:inline-block;width:20px;height:20px;vertical-align:middle;flex-shrink:0}.nav>span{display:flex;align-items:center;justify-content:center;width:22px}.nav .ui-icon{width:20px;height:20px}.search>span{display:flex;align-items:center;justify-content:center}.search .ui-icon{width:18px;height:18px}.product-icon .ui-icon,.category-symbol .ui-icon{width:25px;height:25px}.empty-symbol .ui-icon{width:32px;height:32px}.close{display:inline-flex;align-items:center;justify-content:center}.avatar .ui-icon{width:19px;height:19px}.quantity button{display:inline-flex;align-items:center;justify-content:center}.quantity .ui-icon{width:16px;height:16px}#add-option .ui-icon,#add-tier .ui-icon{width:17px;height:17px;margin-right:7px}.category-symbol,.empty-symbol{color:#8798cf!important}

#database-gate{position:fixed;inset:0;z-index:999;background:#eef2ff;display:grid;place-items:center;padding:30px}#database-gate[hidden]{display:none}#database-gate>div{background:white;padding:35px;border-radius:20px;max-width:550px;line-height:2}#database-gate a,#database-gate button{display:inline-block;margin:20px 10px 0 0;padding:12px 20px;border-radius:10px;text-decoration:none}.saving-data main,.saving-data aside{pointer-events:none;opacity:.65}.unavailable-option{opacity:.45}.insights p{margin:15px 0;line-height:1.8}.material-editor{grid-template-columns:2fr 1fr 1fr auto}.customer-inputs .field{font-size:12px;margin-top:15px}

[hidden]{display:none!important}

.audit-detail{font:12px monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;overflow:auto;background:#f7f9ff;padding:14px}.audit-detail summary{cursor:pointer}

/* Full-width workspace with a half-centimetre outer gutter. */
:root{background:#3662e3}body{max-width:none;margin:0.5cm;padding:0;min-height:calc(100dvh - 1cm)}body::before{content:none;background:none}.sidebar{min-height:calc(100dvh - 1cm);box-shadow:none}main{min-height:calc(100dvh - 1cm)}.workspace{min-height:calc(100dvh - 1cm - 128px)}
@media(max-width:680px){body{margin:0.5cm;padding:0;min-height:calc(100dvh - 1cm)}.sidebar{min-height:auto}main{min-height:0}.workspace{min-height:0}}
@media print{:root{background:white}body{margin:0;min-height:0}.sidebar,main,.workspace{min-height:0}}

@media(min-width:1201px){.products{grid-template-columns:repeat(3,minmax(0,1fr))}.product{min-width:0}.product strong{overflow-wrap:anywhere}}

/* A small, calm dance for the shop mascot. */
.brand{justify-content:center;padding:0 0 24px;min-height:110px;overflow:visible}
.brand-logo{width:88px;max-width:88px;height:90px;object-fit:contain;transform-origin:50% 85%;animation:uid-mascot-dance 4.8s cubic-bezier(.4,0,.2,1) infinite;will-change:transform}
@keyframes uid-mascot-dance{
  0%,10%,55%,100%{transform:translateY(0) rotate(0) scale(1)}
  16%{transform:translateY(1px) rotate(-1deg) scale(1.02,.98)}
  23%{transform:translateY(-6px) rotate(-3deg) scale(.99,1.02)}
  30%{transform:translateY(0) rotate(2deg) scale(1.02,.98)}
  38%{transform:translateY(-3px) rotate(3deg) scale(1)}
  46%{transform:translateY(0) rotate(-1deg) scale(1)}
}
.receipt-brand,.mock-receipt>img{width:80px;max-width:80px;height:82px;object-fit:contain}
@media(max-width:680px){.brand{flex:0 0 64px;min-height:64px;padding:0;margin-right:4px}.brand-logo{width:54px;max-width:54px;height:56px}}
@media(prefers-reduced-motion:reduce){.brand-logo{animation:none;will-change:auto}}
@media print{.brand-logo{animation:none;transform:none}}

/* Screen-sized application with independent scrolling regions. */
body{height:calc(100dvh - 1cm);min-height:0;overflow:hidden}
.sidebar{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.brand{min-height:142px;flex-shrink:0}.brand-logo{width:119px;max-width:119px;height:122px}
main{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
main>header,main>.notice{flex-shrink:0}main>section{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain}
#sale-view{overflow:hidden}.workspace{height:100%;min-height:0;align-items:stretch}
.catalog{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.panel.cart{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.cart>.section-head,.cart>.customer-row,.cart>.customer-inputs,.cart>.cart-label,.cart>.totals,.cart>button{flex-shrink:0}
#cart-items{flex:1;min-height:80px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#cart-items .empty{min-height:100%;height:auto}.cart .totals{margin-top:12px}.cart-label{margin-top:18px}
.customer-inputs[hidden]{display:none}.customer-toggle{margin-left:auto;background:transparent;color:#3662e3;font-size:11px;padding:5px;white-space:nowrap}.customer-row{gap:8px}.customer-row small{font-size:11px}
.header-wordmark{width:145px;height:auto;max-height:38px;object-fit:contain}.header-right #date{display:block;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}
@media(max-width:1100px){.header-wordmark{width:110px}.header-right{gap:8px}.header-right #date{white-space:normal;max-width:160px;font-size:11px}}
@media(max-width:680px){body{display:flex;flex-direction:column}.sidebar{height:76px;flex-shrink:0;overflow-x:auto;overflow-y:hidden}.brand{min-height:64px;flex:0 0 78px}.brand-logo{width:73px;max-width:73px;height:76px}main{flex:1;min-height:0}.header-wordmark{width:90px}.header-right{flex-wrap:wrap;justify-content:flex-end}header{height:auto;min-height:95px}#sale-view{overflow:auto}.workspace{display:flex;flex-direction:column;height:100%;overflow:auto}.catalog{flex:0 0 55%;min-height:220px}.panel.cart{flex:0 0 65%;min-height:380px}.customer-toggle{font-size:10px}}
@media print{body,main,.sidebar,.workspace,.panel.cart{height:auto;overflow:visible}#cart-items{overflow:visible}.header-wordmark{display:none}}

#spec-dialog{width:min(840px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:26px;overflow-y:auto;border-radius:24px}
#spec-dialog::backdrop{background:#17274466;backdrop-filter:blur(4px)}
#spec-content{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}
#spec-content>.spec-name,#spec-content>.spec-toolbar,#spec-content>.pricing-section,#spec-content>.spec-total,#spec-content>#add,#spec-content>.muted{grid-column:1/-1}
#spec-content>.field{margin:0}#spec-content .pricing-section{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px;margin:0;background:#f8faff;border:1px solid #e5ebfa;border-radius:16px}
#spec-content .pricing-section>h3,#spec-content .pricing-section>small{grid-column:1/-1}#spec-content .pricing-section h3:before{content:'▧';color:#3662e3;margin-right:8px}#spec-content .spec-name{margin:0;padding-bottom:14px}
.spec-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:-26px;background:white;z-index:2;padding:12px 0;border-bottom:1px solid #edf0f7}.spec-toolbar-label{color:#3662e3;font-weight:500}.spec-toolbar .primary{padding:9px 20px}.spec-total{margin:0}#spec-content>#add{margin:0}
@media(max-width:600px){#spec-dialog{padding:20px;width:calc(100vw - 24px)}#spec-content{grid-template-columns:1fr}#spec-content .pricing-section{grid-template-columns:1fr}.spec-toolbar{top:-20px}.spec-toolbar-label{font-size:12px}}

/* Larger mascot, with room for its subtle dance. */
@media(min-width:681px){.brand{min-height:226px;padding:8px 0 20px;overflow:visible}.brand-logo{width:202px;max-width:none;height:207px;flex-shrink:0}}

#spec-content .pricing-section .field{margin:0}#spec-content .field input,#spec-content .field select{padding:9px 11px}#spec-content .pricing-section{gap:10px 16px}#spec-content .spec-name h3{font-size:21px}#spec-content .spec-name{padding-bottom:10px}#spec-content{gap:12px 20px}#spec-content .inline-label{margin:0}#spec-content .price-breakdown{grid-column:1/-1}#spec-content .muted{margin:0}

@media(min-width:681px){.brand{min-height:196px}.brand-logo{width:172px;height:176px}}
.header-right [hidden]{display:none!important}.sidebar .user{flex-shrink:0;margin-top:auto;padding-top:16px;border-top:1px solid #e5eaf4;color:#344464}.sidebar-account{min-width:0}.sidebar-account b{font-size:13px;font-weight:500;overflow-wrap:anywhere}.sidebar-account small{margin-top:3px;color:#8190ac;font-size:12px}
.cart-label{border-top:1px solid #e3e8f1;padding-top:16px;margin-top:16px}.cart .totals{border-top:1px solid #e3e8f1;padding-top:16px}.sidebar{overflow-x:hidden}

/* Compact bill rhythm and a unified header clock. */
.cart .customer-row{margin-top:0;margin-bottom:6px}.cart .cart-label{margin-top:8px;padding-top:10px;margin-bottom:8px}
.cart .totals{margin-top:8px;padding-top:10px}.cart .totals>div{padding:6px 0;margin:0}.cart .totals .grand{padding-top:10px;margin-top:6px}.cart .totals input{height:34px;padding:5px 8px}.cart #checkout{margin-top:10px;padding:11px 16px}.cart #clear{margin-top:4px;padding:6px}
.header-right{gap:16px}.header-right #date{background:#f6f8fd;border:1px solid #e8edf7;border-radius:12px;padding:9px 13px;color:#61708b;display:flex;align-items:center;gap:9px}.header-right #date:before{content:'';width:16px;height:16px;flex-shrink:0;border:1.5px solid #3662e3;border-radius:50%;background:linear-gradient(#3662e3,#3662e3) 7px 3px/1.5px 5px no-repeat,linear-gradient(#3662e3,#3662e3) 7px 7px/4px 1.5px no-repeat}.header-wordmark{border-left:1px solid #e5eaf3;padding-left:16px;width:161px;max-height:40px}
.sidebar .user{flex-wrap:wrap;gap:8px}.sidebar-account{flex:1}.sidebar-logout{width:100%;display:flex;justify-content:center;align-items:center;gap:7px;border:1px solid #e4eaf7;background:#f7f9ff;color:#61749e;border-radius:9px;padding:7px 10px;font-size:12px}.sidebar-logout:before{content:'↪';font-size:17px}.sidebar-logout:hover{background:#edf2ff}
@media(max-width:680px){.header-right #date{padding:6px 8px}.header-wordmark{width:90px;padding-left:8px}}

#spec-content .field:has(#note){grid-column:1/-1}.description-help{font-size:11px;margin-top:6px;line-height:1.6;color:#8390aa}
/* Clear product cards and management controls. */
.sidebar-note{display:none}.nav.active{border:0;background:#3662e3;color:white;border-radius:12px;box-shadow:0 5px 14px #3662e321}.product-icon{display:none!important}.product{padding:20px!important;min-height:205px!important;display:flex;flex-direction:column;gap:8px}.product strong{font-size:19px;line-height:1.4}.product-description{display:block!important;font-size:12px;line-height:1.6}.product .price{font-size:23px}.product .card-action{margin-top:auto}.products{grid-template-columns:repeat(4,minmax(0,1fr))!important}.category-group .management-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.staff-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-card{position:relative;border:1px solid #e2e9f8;border-top:5px solid #3662e3;border-radius:18px;overflow:hidden;padding:24px;line-height:1.8}.staff-card h3{font-size:21px;margin-top:14px}.staff-access-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.staff-access-tags .tag{font-size:11px}.staff-card>small{overflow-wrap:anywhere}.admin-product-tools,.admin-bulk-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.admin-product-tools input{flex:1;min-width:200px}.admin-product-tools select,.admin-bulk-tools select{width:auto;max-width:220px}.admin-product-tools label{display:flex;align-items:center;gap:6px;white-space:nowrap}.admin-product-tools label input,.data-table input[type=checkbox]{width:18px;height:18px;min-width:18px;accent-color:#3662e3}.admin-bulk-tools .secondary{padding:9px 14px}.data-table td small{max-width:300px;white-space:normal;line-height:1.6}.conversion-result{background:#eef3ff;border:1px solid #dde6ff;border-radius:18px;padding:24px;margin:18px 0;text-align:center}.conversion-result strong{display:block;font-size:38px;color:#3662e3;font-weight:600;margin:8px 0}.conversion-result span{display:block;color:#526fa8}.conversion-result small{line-height:1.7}.module-switches{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.module-switch{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px;border:1px solid #e5ebf8;border-radius:12px}.module-switch input{width:22px;height:22px;accent-color:#3662e3}.staff-login-help{background:#eef3ff;border:1px solid #dfe8ff;border-radius:16px;padding:20px;margin-bottom:22px;line-height:1.8;color:#566eaa}.staff-login-help p{font-size:13px;margin-top:6px}
#database-gate{background:#3662e3}#database-gate>.login-card{position:relative;width:540px;max-width:100%;padding:38px;border-radius:28px;box-shadow:0 24px 70px #10296b44;line-height:1.8}.login-wordmark{width:190px;display:block;margin-bottom:24px}.login-mascot{width:110px;float:right;margin:0 0 12px 15px}.login-eyebrow{display:block;font-size:12px;color:#758bbd}.login-card h2{font-size:25px;margin:10px 0}.login-card p{font-size:13px;color:#8390a7}.login-card #firebase-login{display:block;width:100%;clear:both;border-radius:12px;margin-top:24px;font-weight:500}.login-card #retry-database{background:transparent;color:#8390a7;padding:6px}
@media(max-width:1100px){.products,.category-group .management-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product strong{font-size:17px}}
@media(max-width:680px){.products,.category-group .management-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.staff-grid,.module-switches{grid-template-columns:1fr}.product{padding:14px!important;min-height:190px!important}}
/* Thermal receipts: black text, stronger strokes, no raster mascot. */
#receipt-content{color:#000}#receipt-content small{color:#000;font-weight:500}
@media print{#receipt,#receipt *{color:#000!important;opacity:1!important;text-shadow:none!important;box-shadow:none!important;filter:none!important;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-family:'IBM Plex Sans Thai',Tahoma,sans-serif!important;font-weight:500!important;-webkit-font-smoothing:auto}#receipt b,#receipt strong,#receipt h2,#receipt h3,#receipt .receipt-summary{font-weight:700!important}#receipt small{font-size:12px!important;line-height:1.6!important}#receipt img{display:none!important}#receipt .receipt-divider{border-color:#000!important;border-width:1px!important}#receipt .receipt-logo:before{content:'UID PRINTING';display:block;color:#000;font-size:20px;font-weight:700;margin-bottom:8px}}
.brochure-summary{grid-column:1/-1;background:#eff3ff;border:1px solid #dce4ff;border-radius:14px;padding:16px;color:#1a3264}.brochure-summary p{margin:7px 0}.brochure-summary small{line-height:1.6}.brochure-quantities{display:flex;gap:6px;flex-wrap:wrap;align-content:center}.brochure-quantities button{padding:8px 12px;font-size:12px}.brochure-rate-used{grid-column:1/-1;margin:0;color:#315bef;font-weight:600}.brochure-rate-editor{border:1px solid #dde5f8;border-radius:12px;margin:12px 0;padding:12px}.brochure-rate-editor summary{cursor:pointer;font-weight:600}.brochure-rate-editor input{width:100%;min-width:85px}.brochure-rate-editor .table-wrap{margin-top:12px}#brochure-error{grid-column:1/-1;margin:0}
.brochure-modal .option-list{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;padding:14px;border:1px solid #e4eafa;border-radius:12px}.brochure-modal .option-list>h3,.brochure-modal .option-list>small{grid-column:1/-1}.brochure-modal .option-list [hidden]{display:none!important}.brochure-modal #note{min-height:65px}.brochure-modal #note>.field{grid-column:1/-1}.brochure-modal #spec-content{gap:12px 20px}.brochure-modal .brochure-summary p{margin:5px 0}@media(max-width:600px){.brochure-modal .option-list{grid-template-columns:1fr}}
.brochure-modal [hidden]{display:none!important}
.standy-modal [hidden]{display:none!important}.standy-presets{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.standy-presets>span{font-size:13px;color:#667594}.standy-presets button{padding:9px 14px}.standy-presets details{width:100%;padding:10px 0;font-size:13px}.standy-presets summary{cursor:pointer;color:#315bef}.standy-presets .pricing-row{margin:12px 0}.standy-price-info{grid-column:1/-1;background:#eff3ff;border:1px solid #dce4ff;border-radius:12px;padding:16px}.standy-price-info>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.standy-price-info strong{font-size:22px;color:#315bef}.standy-price-info p{margin:8px 0;font-size:13px}.standy-modal .option-list{grid-column:1/-1;padding:12px 0}.standy-modal .brochure-summary p{margin:5px 0}

/* Database status is handled by notifications; remove the header notice from layout. */
main > .notice { display: none !important; }
.board-size-section{grid-column:1/-1}.board-size-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.board-size-card{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 8px;border:1px solid #dce3f4;border-radius:14px;background:#fff;color:#24334e;cursor:pointer}.board-size-card[aria-pressed="true"]{border:2px solid #355eea;background:#edf2ff;padding:13px 7px}.board-size-card:hover{border-color:#355eea}.board-size-card:focus-visible{outline:3px solid #86a1ff;outline-offset:2px}.board-paper{width:52px;aspect-ratio:210/297;display:grid;place-items:center;border:1.5px solid #8ba1d1;border-radius:3px;background:#f6f8ff;box-shadow:3px 3px 0 #e8edfa}.board-paper b{font-size:18px}.board-custom .board-paper b{font-size:12px}.board-size-card strong{font-size:19px;color:#3158dc}.board-size-card small{font-size:11px;color:#657594}.board-price-info{background:#eff4ff;border-radius:12px;padding:14px;margin:12px 0}.board-price-info strong{font-size:20px;color:#3158dc}.board-price-info p,.board-diecut-note{font-size:12px;color:#637492}.board-modal{width:760px}@media(max-width:600px){.board-size-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.board-size-card{padding:12px 5px}.board-size-card strong{font-size:16px}}

#filters>.search{display:flex;width:100%;max-width:none;margin:0 0 16px}#filters>.search input{width:100%;min-width:0}

.cut-type-section{grid-column:1/-1}.cut-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cut-type-grid button{padding:16px;text-align:left;background:white;border:1px solid #d4def9;border-radius:12px;display:grid;gap:8px}.cut-type-grid button strong{font-size:15px}.cut-type-grid button b{color:#315bea;font-size:18px}.cut-type-grid button[aria-pressed="true"]{border:2px solid #315bea;background:#edf2ff}.cut-type-grid button:focus-visible{outline:3px solid #91adff;outline-offset:2px}

.product-pin-shell{position:relative;min-width:0;display:flex}.product-pin-shell>.product{width:100%;height:100%;padding-top:52px!important}.product-pin{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f1f4fa;color:#758299;font-size:26px;line-height:1;flex-shrink:0}.product-pin-shell>.product-pin{position:absolute;right:12px;top:12px;z-index:1}.product-pin.is-pinned{background:#fff3cf;color:#a66c00}.product-pin:disabled{opacity:1}#admin-product-list td:nth-child(2)>.product-pin{float:right;margin-left:8px}

/* Branded sign-in workspace */
#database-gate{padding:36px;background:radial-gradient(ellipse at 15% 15%,#e3ecff 0,transparent 48%),radial-gradient(ellipse at 90% 90%,#dbe5ff 0,transparent 45%),#f2f5fc;overflow:auto}
#database-gate>.login-card{display:grid;grid-template-columns:1fr 1fr;width:980px;max-width:100%;padding:0;background:#fff;border:1px solid #fff;border-radius:30px;box-shadow:0 30px 90px #203f7b16;overflow:hidden;line-height:1.65}
.login-brand{position:relative;padding:42px 40px 28px;background:linear-gradient(145deg,#edf3ff,#dce8ff);overflow:hidden}
.login-wordmark{width:190px;height:auto;margin:0 0 48px;position:relative;z-index:1}
.login-eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#5975ad;margin-bottom:16px}
.login-brand h1{font-size:38px;line-height:1.4;letter-spacing:-1px;color:#183c80;margin:0 0 16px;font-weight:600}
.login-card .login-brand p{font-size:15px;color:#61769c;margin:0}
.login-mascot-stage{position:relative;height:218px;display:flex;justify-content:center;align-items:center;margin-top:12px}
.login-mascot{position:relative;float:none;width:190px;height:210px;object-fit:contain;margin:0;filter:drop-shadow(0 16px 15px #345cb526);transform:rotate(-5deg)}
.login-orbit{position:absolute;width:215px;height:155px;border-radius:50%;background:#fff8;border:1px solid #fff;transform:rotate(-20deg)}
.login-brand-footer{display:block;text-align:center;font-size:11px;color:#6c81a9;margin-top:12px}
.login-form{padding:90px 42px 30px;display:flex;flex-direction:column;justify-content:center;align-items:stretch}
.login-kicker{font-size:13px;color:#4267bd;font-weight:500;margin-bottom:8px}
.login-card h2{font-size:32px;line-height:1.4;letter-spacing:-.6px;color:#1e2b45;margin:0 0 14px;font-weight:600}
.login-card .login-intro{font-size:14px;color:#7b879d;line-height:1.9;margin:0 0 32px}
#database-gate .login-google,#database-gate #firebase-login{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;clear:none;margin:0;padding:16px 18px;border:1px solid #dbe3f1;background:#fff;color:#233452;border-radius:13px;font-size:14px;font-weight:500;box-shadow:0 3px 8px #233f7707;transition:background .18s,box-shadow .18s,transform .18s}
#database-gate .login-google svg{flex:none}#database-gate .login-google>span:last-child{margin-left:auto;color:#7182a3}#database-gate .login-google:hover{background:#f5f8ff;border-color:#9bb4f4;box-shadow:0 6px 18px #2c56ab12;transform:translateY(-1px)}#database-gate .login-google:disabled{opacity:.55;cursor:wait}#database-gate button:focus-visible{outline:3px solid #82a8ff;outline-offset:4px}
.login-card .login-account-note{font-size:11px;text-align:center;color:#9099aa;margin:13px 0 0}
.login-card #auth-message{padding:12px 14px;margin:22px 0 0;border:1px solid #f1d8cb;border-radius:10px;background:#fff8f3;color:#976144;font-size:12px;line-height:1.7}.login-card #auth-message[hidden]{display:none}
#database-gate .login-card #retry-database{font-size:12px;border:0;background:transparent;color:#7386aa;padding:10px;margin:14px auto 0;border-radius:8px}#database-gate .login-card #retry-database:hover{background:#f2f5fc;color:#335bea}
.login-form-footer{display:flex;align-items:center;justify-content:center;gap:7px;color:#a0a9b8;font-size:10px;border-top:1px solid #edf0f6;margin-top:auto;padding-top:24px;min-height:42px}
.login-status-dot{width:6px;height:6px;background:#7d9acf;border-radius:50%}.login-loading{display:flex;flex-direction:column;align-items:center;gap:10px;color:#7b879d;font-size:12px;padding:12px 0 45px}.login-loading strong{font-size:14px;color:#40587e;font-weight:500}.login-spinner{width:26px;height:26px;border:3px solid #e3ebfc;border-top-color:#335bea;border-radius:50%;animation:login-spin .8s linear infinite;margin-bottom:8px}@keyframes login-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){#database-gate{padding:18px;place-items:center}#database-gate>.login-card{max-width:430px;grid-template-columns:1fr;border-radius:24px}.login-brand{padding:26px 28px 24px}.login-wordmark{width:155px;margin-bottom:26px}.login-brand h1{font-size:27px;margin-bottom:9px}.login-eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:9px}.login-card .login-brand p{font-size:12px}.login-mascot-stage{position:absolute;right:8px;bottom:7px;width:140px;height:155px;margin:0}.login-mascot{width:130px;height:145px}.login-orbit{width:135px;height:105px}.login-brand-footer{display:none}.login-form{padding:30px 28px 22px}.login-card h2{font-size:27px}.login-card .login-intro{font-size:13px;margin-bottom:22px}.login-form-footer{margin-top:30px;padding-top:18px}.login-brand-copy{position:relative;z-index:1}}
@media(prefers-reduced-motion:reduce){.login-spinner{animation:none}#database-gate .login-google{transition:none}}
