*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:#182c38;background:#f3f8fa}a{text-decoration:none;color:inherit}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;background:#0c4666;color:white;padding:15px clamp(18px,5vw,60px)}.brand{font-weight:800;font-size:21px}.brand small{font-size:12px;color:#a1dbe1}.content{width:100%;max-width:1160px;margin:0 auto;flex:1;padding:clamp(20px,4vw,44px) 18px}.narrow{max-width:570px;margin:auto}.panel,.tile{background:white;border:1px solid #dfebee;border-radius:16px;box-shadow:0 3px 12px #082c3e09}.panel{padding:clamp(20px,4vw,32px);margin-bottom:20px}h1{font-size:clamp(26px,4vw,36px);margin:4px 0 9px}h2{font-size:20px;margin:12px 0}.muted{color:#607787}.eyebrow{color:#14829a;font-size:12px;font-weight:800;letter-spacing:.12em}.hero{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;flex-wrap:wrap}.chip{background:#d9f5ec;color:#13644d;border-radius:30px;padding:8px 14px;font-size:13px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.tile{padding:20px}.tile strong{display:block;font-size:clamp(22px,3vw,34px);margin-top:12px;color:#0c4666}.tile small{font-size:13px}.btn{border:0;border-radius:9px;background:#0c6887;color:white;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;min-height:44px}.btn:hover{background:#084a65}.btn.secondary{background:#ffffff25;border:1px solid #ffffff60}.footer{text-align:center;color:#78909b;font-size:13px;padding:22px}.alert{padding:12px 16px;border-radius:10px;background:#fff0ea;color:#923b1d;margin-bottom:16px}.alert.success{background:#e1f6e9;color:#155b39}label{display:block;font-weight:650;margin:16px 0}label input:not([type=checkbox]){display:block;width:100%;margin-top:7px;border:1px solid #c8d8dd;border-radius:9px;padding:12px;font:inherit;min-height:46px}input:focus{outline:3px solid #c8e8f6;border-color:#086f91}.check{display:flex;gap:10px;align-items:start;font-weight:400}.check input{width:18px;height:18px}.checks>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #e9eef0}.ok{color:#19835a}.bad{color:#b33434}.actions{display:flex;gap:10px;flex-wrap:wrap}.fakebutton{display:inline-block;background:#edf4f8;color:#68808e;padding:12px;border-radius:8px;font-size:14px}.kv{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kv span{color:#657886}@media(max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{padding:15px}.kv{font-size:14px}}@media(max-width:390px){.stats{grid-template-columns:1fr}}

.nav{display:flex;gap:16px;flex-wrap:wrap}.nav a{color:#e6faff;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}select,textarea,input:not([type=checkbox]){display:block;width:100%;margin-top:7px;border:1px solid #c8d8dd;border-radius:9px;padding:11px;font:inherit;background:#fff;min-height:44px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid #e5ecee;padding:12px 9px}th{color:#587181}.table-wrap{overflow-x:auto}.search{display:flex;gap:8px;margin-bottom:14px}.search input{margin:0}.pill{padding:7px 12px;border-radius:18px;background:#e6f4f9;margin-bottom:10px;font-size:13px}.order-line{display:grid;grid-template-columns:minmax(180px,3fr) minmax(90px,1fr) auto;gap:12px;align-items:end;border-bottom:1px solid #e3edef;padding:6px 0}.order-line label{margin:5px 0}.btn.danger{background:#ad4343}.btn.light{background:#e1f2f7;color:#125571}.total-preview{font-size:20px;text-align:right}.center{text-align:center}.amounts{padding-top:20px;border-top:1px solid #ddd}.operations{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:850px){.topbar{flex-wrap:wrap}.nav{order:3;width:100%;overflow:auto}.operations{grid-template-columns:1fr}}@media(max-width:520px){.order-line{grid-template-columns:1fr 90px}.order-line .remove{grid-column:1/-1}.search{flex-wrap:wrap}}@media print{body{background:white;font-size:12px}.topbar,.footer,.no-print,.alert{display:none!important}.content{padding:0}.receipt{border:0;box-shadow:none;padding:3mm;width:76mm;max-width:100%;margin:0 auto}.receipt table{font-size:10px}.receipt th,.receipt td{padding:5px 2px}.receipt .kv{font-size:11px;gap:5px}.receipt h2{font-size:16px} @page{margin:4mm}}
/* Phase 3 quick POS and processing board */
.pos-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:18px;align-items:start}.pos-layout .panel{margin:0}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:12px;margin-top:15px}.garment-card{min-height:135px;border:1px solid #d0e2e9;border-radius:12px;background:#f5fbfd;padding:13px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:3px;color:#103f56;font:inherit;overflow-wrap:anywhere}.garment-card:hover,.garment-card:focus-visible{outline:2px solid #1689ac;background:#e5f5fb}.garment-card[hidden]{display:none}.garment-card small{color:#5f7583}.garment-card b{margin-top:auto}.garment-icon{font-size:25px}.pos-cart{position:sticky;top:15px}.pos-cart h2{display:flex;justify-content:space-between;align-items:center;gap:10px}.pos-cart h2 small{font-size:12px;color:#647d8c}.cart-line{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #e2edf0}.cart-line strong,.cart-line small{display:block}.cart-line small{color:#67808d}.qty-controls{display:flex;gap:8px;align-items:center}.qty-controls button{border:1px solid #a4c3d0;background:white;border-radius:7px;min-width:36px;min-height:38px;cursor:pointer;font-size:20px}.pos-total{border-top:2px solid #cfdee5;padding-top:15px;margin-top:20px;display:flex;justify-content:space-between;gap:8px;align-items:center}.pos-total strong{font-size:22px;color:#0c4666}.pos-save{width:100%;margin-top:8px}.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.board-col{background:#e8f2f5;border-radius:14px;padding:15px;min-height:160px}.board-col h2{font-size:16px}.board-order{display:flex;flex-direction:column;gap:3px;background:#fff;padding:12px;border-radius:10px;margin:10px 0;border:1px solid #d8e7ed;overflow-wrap:anywhere}.board-order small,.board-order span{color:#506e7c}.board-order:hover{border-color:#0c6887}@media(max-width:850px){.pos-layout{grid-template-columns:1fr}.pos-cart{position:static}.board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.board-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.pos-layout,.board-grid{display:none}}

/* LaundryFlow Phase 4 — restrained contemporary business UI */
:root{--lf-navy:#123c52;--lf-teal:#087f85;--lf-bg:#f2f7f8;--lf-border:#d8e6eb}
body{background:linear-gradient(150deg,#f6fafb,#eff6f8 55%,#f8fbfc);color:#19394a}
.topbar{background:linear-gradient(110deg,#103a50,#0d5167);box-shadow:0 3px 18px #0b304020;gap:16px}
.nav a{font-size:14px;padding:8px 1px;white-space:nowrap}.nav a:hover{color:#a4f2ed}
.panel,.tile{border:1px solid var(--lf-border);box-shadow:0 8px 28px #13394b0b;border-radius:18px}
.panel{padding:clamp(18px,3vw,28px)}.btn{background:#0d7288;transition:transform .15s,background .15s}.btn:hover{background:#07546b;transform:translateY(-1px)}
.btn.light{background:#e6f4f7;color:#145b73}.btn.light:hover{background:#d2edf2}
input,select,textarea{border-color:#c6dbe3!important;border-radius:10px!important;max-width:100%}
.lf-search{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.lf-search-field{flex:1 1 260px;margin:0}.lf-search .btn{margin-bottom:0}
.board-col{background:#eaf3f6;border:1px solid #dae9ed}.board-order[hidden]{display:none}.board-order{transition:border-color .15s,transform .15s}.board-order:hover{transform:translateY(-1px)}
.lf-photo-row{display:flex;gap:10px;overflow-x:auto;padding:10px 0}.lf-photo-row img{width:106px;height:88px;border-radius:10px;object-fit:cover;border:1px solid #d2e2e8}
.lf-complaint{border-top:1px solid #dce9ed;padding-top:12px;margin-top:12px}
@media(max-width:700px){.topbar{padding:12px 16px}.nav{gap:12px;overflow-x:auto;flex-wrap:nowrap}.content{padding:16px 12px}.panel{padding:16px}.hero h1{font-size:26px}.lf-search{align-items:stretch}.lf-search-field{flex-basis:100%}}
@media print{.lf-search,.lf-photo-row{display:none!important}}
