:root{
  --ground:#FBF4F1;--surface:#FFFFFF;--ink:#2A1418;--muted:#7B5E63;--line:#EEDDD8;
  --primary:#E11D48;--primary-dark:#BE123C;--primary-tint:#FFE4E9;--teal:#0F766E;--teal-tint:#D5F0EC;
  --amber:#E11D48;--amber-tint:#FDF0D5;--danger:#B42318;--danger-tint:#FDE3E0;--green:#2E7D4F;--green-tint:#DDF0E3;--on:#FFFFFF;
  --cocoa:#2A1418;--cocoa2:#3D1D24;--cream:#FFF6F2;
  --display:'Manrope',system-ui,sans-serif;--body:'IBM Plex Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;--serif:'Fraunces',Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:var(--body);color:var(--ink);background:var(--ground);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:inherit}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:8px}
.ic{display:inline-flex;flex:none;width:var(--s,20px);height:var(--s,20px)}.ic svg{width:100%;height:100%}
.mono{font-family:var(--mono);font-weight:500}
.muted{color:var(--muted)}small{font-size:12px}
[hidden]{display:none!important}
.red{color:var(--danger)}.grn{color:var(--green)}

/* prototype bar */
.pbar{position:fixed;top:0;left:0;right:0;height:44px;background:#2A1418;color:#cfd8e3;display:flex;align-items:center;gap:12px;padding:0 14px;z-index:100;font-size:13px;overflow-x:auto;white-space:nowrap}
.pbar b{color:#fff;font-family:var(--display);font-weight:800}
.pbar label{display:flex;align-items:center;gap:6px}
.pbar select{background:#16243a;border:1px solid #2a3b55;color:#fff;border-radius:8px;padding:5px 8px;font-size:13px;max-width:150px}
.pbar .sp{flex:1}
.pbar button{border:1px solid #2a3b55;border-radius:8px;padding:5px 10px;color:#fff;font-size:13px;white-space:nowrap}
.pbar button.netbtn{display:flex;align-items:center;gap:6px;background:var(--teal);border-color:var(--teal)}
.pbar button.netbtn.off{background:var(--amber);border-color:var(--amber);color:var(--ink)}

/* phone column */
.app{position:fixed;top:44px;left:0;right:0;bottom:0;display:flex;justify-content:center}
.phone{position:relative;width:100%;height:100%;background:var(--ground);display:flex;flex-direction:column;overflow:hidden}
.screens{flex:1;min-height:0;position:relative}
.screen{position:absolute;inset:0;display:none;flex-direction:column;background:var(--ground)}
.screen.active{display:flex}
.top{flex:none;display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--line)}
.top .back{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;flex:none;background:var(--surface)}
.ttl{flex:1;min-width:0}.ttl h1{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.02em;line-height:1.15;overflow:hidden;text-overflow:ellipsis}
.ttl p{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acts{display:flex;gap:8px;align-items:center}
.content{flex:1;overflow:auto;padding:16px 16px 28px;display:flex;flex-direction:column;gap:14px;-webkit-overflow-scrolling:touch}
.content>*{flex-shrink:0}

/* banners */
.banner{display:none;background:var(--amber);color:var(--ink);padding:8px 16px;font-weight:600;font-size:13px;align-items:center;gap:10px}
body.offline .banner{display:flex}
.cview{background:var(--ink);color:#fff;padding:8px 16px;font-size:13px;display:flex;align-items:center;gap:10px}
.cview span{flex:1}.cview button{border:1px solid #4a5b75;border-radius:8px;padding:5px 10px;font-weight:600;color:#fff;white-space:nowrap}

/* bottom nav */
.bnav{flex:none;display:flex;background:var(--surface);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
.bnav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:58px;border-radius:12px;font-size:12px;font-weight:600;color:var(--muted);position:relative}
.bnav button.on{color:var(--primary);background:var(--primary-tint)}
.bnav .dot{position:absolute;top:6px;left:calc(50% + 8px);min-width:18px;height:18px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.phone.nonav .bnav{display:none}

/* parts */
.btn{min-height:48px;border-radius:12px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:15px;transition:transform .08s;text-align:center}
.btn:active{transform:scale(.985)}
.btn.primary{background:var(--primary);color:var(--on)}.btn.teal{background:var(--teal);color:var(--on)}
.btn.wa{background:#1E8E4E;color:#fff}
.btn.secondary{background:var(--surface);border:1.5px solid var(--line)}
.btn.danger{background:var(--danger-tint);border:1.5px solid var(--danger);color:var(--danger)}
.btn.ghost{color:var(--primary)}.btn.block{width:100%}.btn.sm{min-height:38px;padding:0 12px;font-size:13px;border-radius:10px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:12px;font-size:12px;font-weight:600;width:fit-content;white-space:nowrap}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill.cut,.pill.sew,.pill.finish,.pill.press{background:var(--primary-tint);color:var(--primary)}
.pill.ready,.pill.paid{background:var(--green-tint);color:var(--green)}.pill.collected{background:var(--ground);color:var(--muted)}
.pill.late,.pill.owing{background:var(--danger-tint);color:var(--danger)}.pill.new,.pill.warn{background:var(--amber-tint);color:var(--ink)}
.tag{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:6px;background:var(--amber-tint);color:var(--ink);white-space:nowrap}
.tag.plain{background:var(--ground);color:var(--muted)}.tag.p2{background:var(--primary-tint);color:var(--primary)}
.chips{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
.chips.wrap{flex-wrap:wrap}
.chip{padding:9px 14px;border-radius:20px;border:1px solid var(--line);background:var(--surface);font-weight:500;font-size:14px;white-space:nowrap;flex:none;min-height:40px}
.chip.on{background:var(--primary);color:var(--on);border-color:var(--primary)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}
.card.warnc{border-color:var(--amber);background:#FFF8EC}.card.badc{border-color:var(--danger);background:#FFF7F6}
.h2{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em}
.h3{font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:-.01em}
.lbl{font-size:13px;font-weight:600;color:var(--muted)}
.sec{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:4px;display:flex;align-items:center;gap:8px}
.sec .n{background:var(--ink);color:#fff;border-radius:10px;padding:0 8px;font-size:12px;line-height:20px}
.sec .n.r{background:var(--danger)}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;text-align:left}
.stat span{font-size:12px;color:var(--muted);font-weight:500}.stat b{font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.02em}.stat small{color:var(--muted)}
.stat.alert{border-color:var(--danger);background:#FFF7F6}.stat.alert b{color:var(--danger)}
button.stat:active{background:var(--ground)}
.field{display:flex;flex-direction:column;gap:6px}
.input{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border-radius:12px;background:var(--surface);border:1.5px solid var(--line)}
.input:focus-within{border-color:var(--primary)}
.input input,.input select{flex:1;min-width:0;width:100%;border:0;background:transparent;outline:0;min-height:44px;font-weight:500;font-size:16px}
.input.err{border-color:var(--danger)}
textarea.in{border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface);min-height:84px;width:100%;resize:vertical;font-size:16px}
textarea.in:focus{outline:0;border-color:var(--primary)}
.errmsg{color:var(--danger);font-size:13px;font-weight:600}
.note{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:12px;background:var(--primary-tint);color:var(--primary-dark);font-weight:500;font-size:14px}
.note.warn{background:var(--amber-tint);color:var(--ink)}.note.good{background:var(--green-tint);color:#1f6a3a}.note.bad{background:var(--danger-tint);color:var(--danger)}
.note .ic{margin-top:1px}
.row{display:flex;align-items:center;gap:12px}.row.sp{justify-content:space-between}.row.top0{align-items:flex-start}
.col{display:flex;flex-direction:column;gap:2px;min-width:0}.grow{flex:1;min-width:0}
.gap8{gap:8px}.gap12{gap:12px}.wrapf{flex-wrap:wrap}
.divider{height:1px;background:var(--line)}
.seg{display:flex;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.seg button{flex:1;padding:10px 6px;border-radius:9px;font-weight:600;font-size:14px;text-align:center;min-height:40px}
.seg button.on{background:var(--primary);color:var(--on)}
.sw{width:48px;height:28px;border-radius:14px;background:var(--line);padding:3px;display:flex;flex:none;transition:background .15s}
.sw i{width:22px;height:22px;border-radius:50%;background:var(--surface);transition:transform .15s}
.sw[aria-checked=true]{background:var(--primary)}.sw[aria-checked=true] i{transform:translateX(20px)}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--primary-tint);color:var(--primary);display:grid;place-items:center;font-family:var(--display);font-weight:800;flex:none}
.avatar.c1{background:var(--teal-tint);color:var(--teal)}.avatar.c2{background:var(--amber-tint);color:#7a5600}
/* list rows */
.list{display:flex;flex-direction:column;gap:10px}
.li{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:center;width:100%;text-align:left}
.li:active{background:#f3f6f9}
.li.late{border-left:5px solid var(--danger)}.li.due{border-left:5px solid var(--amber)}.li.ready{border-left:5px solid var(--green)}
.li b{font-weight:600}.li small{color:var(--muted)}
.li .r{text-align:right;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.amt{font-family:var(--mono);font-weight:500;white-space:nowrap}
.li .go{color:var(--muted)}
/* stage progress */
.prog{display:flex;align-items:center}
.prog .st{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--muted);position:relative}
.prog .st i{width:24px;height:24px;border-radius:50%;background:var(--surface);border:2px solid var(--line);display:grid;place-items:center;font-style:normal;font-size:11px;z-index:1}
.prog .st.done i{background:var(--primary);border-color:var(--primary);color:#fff}
.prog .st.cur i{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.prog .st.cur{color:var(--ink)}
.prog .st::before{content:"";position:absolute;top:11px;left:-50%;width:100%;height:3px;background:var(--line)}
.prog .st:first-child::before{display:none}
.prog .st.done::before,.prog .st.cur::before{background:var(--primary)}
.hbar{height:10px;border-radius:5px;background:var(--ground);overflow:hidden}.hbar i{display:block;height:100%;background:var(--primary);border-radius:5px}
.hbar.full i{background:var(--danger)}
/* measurements */
.mgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mf{display:flex;flex-direction:column;gap:4px;min-width:0}
.mf .input{min-height:50px}.mf .input input{font-family:var(--mono);font-size:18px;text-align:right}
.mf .input.chg{border-color:var(--amber);background:#FFF8EC}
.mf label{font-size:13px;font-weight:600;color:var(--muted)}
.mf .u{color:var(--muted);font-size:12px}
.mrow{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}
.mrow b{font-family:var(--mono);font-weight:500}
.photo{border:2px dashed var(--line);border-radius:14px;min-height:96px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-weight:600;padding:12px;text-align:center}
.photo.has{border-style:solid;border-color:var(--primary);background:var(--primary-tint);color:var(--primary)}
/* option tiles */
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.opts.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 6px;border-radius:12px;background:var(--surface);border:1.5px solid var(--line);font-weight:600;font-size:14px;text-align:center;min-height:64px}
.opt small{font-weight:500;color:var(--muted)}
.opt.on{border-color:var(--primary);background:var(--primary-tint);color:var(--primary-dark)}
.qty{display:flex;align-items:center;gap:14px}.qty button{width:44px;height:44px;border-radius:12px;border:1.5px solid var(--line);display:grid;place-items:center;background:var(--surface);font-size:20px;font-weight:700}
.qty b{font-family:var(--mono);font-size:20px;min-width:24px;text-align:center}
.sumbox{background:var(--primary-tint);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}
.sumbox .row b.big{font-family:var(--mono);font-size:22px;font-weight:500}
/* receipts and previews */
.paper{background:#fff;border:1px solid var(--line);border-radius:4px;padding:18px;font-family:var(--mono);font-size:12.5px;line-height:1.55;white-space:pre-wrap;box-shadow:0 8px 20px -12px rgba(42,20,24,.35)}
.bubble{background:#DCF8C6;border-radius:12px 12px 2px 12px;padding:12px;font-size:14px;white-space:pre-wrap;line-height:1.45;color:#10261a;border:0;width:100%;min-height:150px;resize:vertical}
/* table */
.tw{overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px}
table{border-collapse:collapse;width:100%}
th{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--muted);text-align:left;padding:9px 10px;background:var(--ground);white-space:nowrap}
td{padding:10px;border-top:1px solid var(--line);vertical-align:middle;font-size:13px}
td.r,th.r{text-align:right}
/* modal */
.scrim{position:fixed;inset:44px 0 0 0;background:rgba(42,20,24,.55);z-index:60;display:none;align-items:flex-end;justify-content:center}
.scrim.open{display:flex}
.modal{background:var(--surface);border-radius:20px 20px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));width:min(480px,100%);display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 70px);overflow:auto}
@media (min-width:600px){.scrim{align-items:center}.modal{border-radius:20px}}
.toast{position:fixed;left:50%;bottom:86px;transform:translate(-50%,10px);background:var(--ink);color:var(--on);padding:12px 18px;border-radius:12px;font-weight:600;z-index:200;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 32px);font-size:14px;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
/* keypad */
.dots{display:flex;gap:14px;justify-content:center;padding:6px}
.dots i{width:16px;height:16px;border-radius:50%;border:2px solid var(--primary)}.dots i.f{background:var(--primary)}
.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.keys button{height:54px;border-radius:12px;background:var(--ground);font-family:var(--mono);font-size:22px;font-weight:500;text-align:center}
/* public pages */
.hero{background:linear-gradient(150deg,var(--primary-dark),var(--primary));color:#fff;border-radius:18px;padding:22px 18px;display:flex;flex-direction:column;gap:10px}
.hero h2{font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.03em;line-height:1.1}
.hero p{opacity:.92}
.hero .btn.secondary{color:var(--ink)}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (min-width:700px){.gallery{grid-template-columns:repeat(3,1fr)}}
.tile{border-radius:14px;aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:flex-end;padding:10px;color:#fff;position:relative;overflow:hidden}
.tile .ic{position:absolute;top:12px;right:12px;opacity:.75}
.tile b{font-family:var(--display);font-weight:800;font-size:15px;line-height:1.15}.tile small{opacity:.9}
.tile.t0{background:linear-gradient(160deg,#B4437A,#5E1F42)}.tile.t1{background:linear-gradient(160deg,#C98A2B,#7A4B0E)}
.tile.t2{background:linear-gradient(160deg,#2F8C86,#164E4B)}.tile.t3{background:linear-gradient(160deg,#4A5FA8,#222E5E)}
.tile.t4{background:linear-gradient(160deg,#C0504A,#6E1F1B)}.tile.t5{background:linear-gradient(160deg,#6E8F3A,#33491A)}
.svc{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.svc:last-child{border:0}
.plan{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.sizes{display:flex;gap:6px;flex-wrap:wrap}.sizes span{background:var(--ground);border-radius:8px;padding:4px 10px;font-family:var(--mono);font-size:13px}
.task{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}
.task.late{border-color:var(--danger)}
.coming{border:1.5px dashed var(--line);background:transparent}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media (max-width:620px){.pbar .hide-s{display:none}.pbar{gap:8px;padding:0 8px}.pbar select{max-width:110px}}

/* ================= TailorDesk: app shell (sidebar on desktop, bottom bar on phone) ================= */
.bnav .dsk,.sb-brand,.sb-h,.sb-foot{display:none}
.sb-items{display:contents}
.bnav button.on .ic{color:var(--primary)}
.modal.wide{width:min(900px,100%)}
.quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.qa{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;transition:border-color .15s,box-shadow .15s}
.qa .ic{color:var(--primary)}
.qa:hover{border-color:var(--primary);box-shadow:0 6px 18px -12px rgba(225,29,72,.6)}
.dgrid{display:flex;flex-direction:column;gap:14px}
.dmain,.dside{display:flex;flex-direction:column;gap:14px;min-width:0}
.stat.hi{background:linear-gradient(150deg,var(--primary-dark),var(--primary));color:#fff;border:0}
.stat.hi span,.stat.hi small{color:rgba(255,255,255,.85)}
.stat.flat{border:0;padding:0;background:none}
.stat b.grn{color:var(--green)}
button.stat:hover{border-color:var(--primary)}
.lnk{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.tw table{min-width:640px}
table.click tr[data-a]{cursor:pointer}
table.click tr[data-a]:hover td{background:#FFF1F3}
.nowrap{white-space:nowrap}
td.ell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nil{display:flex;flex-direction:column;gap:12px}
.nirow{display:grid;grid-template-columns:190px minmax(0,1fr) 80px 150px 40px;gap:10px;align-items:end;padding-bottom:12px;border-bottom:1px dashed var(--line)}
.nirow .f-x{width:40px;height:48px;padding:0}
.docbar{display:flex;flex-wrap:wrap;gap:10px}
.mrow b.grn{color:var(--green)}.mrow b.red{color:var(--danger)}
@media (max-width:700px){
  .two{grid-template-columns:1fr}
  .nirow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px}
  .nirow .f-svc,.nirow .f-d{grid-column:1/-1}
  .docbar .btn{flex:1 1 45%}
}
@media (min-width:960px){
  .phone{display:grid;grid-template-columns:252px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .bnav{grid-column:1;grid-row:1/-1;flex-direction:column;border-top:0;border-right:1px solid var(--line);padding:18px 14px;gap:2px;overflow:auto;background:#fff}
  .banner{grid-column:2;grid-row:1}.screens{grid-column:2;grid-row:2}
  .sb-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 18px;border-bottom:1px solid var(--line);margin-bottom:10px}
  .sb-logo svg{width:38px;height:38px;border-radius:10px;display:block}
  .sb-brand b{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em}
  .sb-brand small{color:var(--muted);font-size:12px}
  .sb-items{display:flex;flex-direction:column;gap:2px}
  .sb-h{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94A3B8;padding:14px 12px 6px}
  .bnav button,.bnav .dsk{display:flex;flex:none;flex-direction:row;justify-content:flex-start;height:42px;padding:0 12px;gap:12px;font-size:14px;border-radius:10px}
  .bnav button:hover{background:#FFF1F3;color:var(--ink)}
  .bnav .ic{width:19px;height:19px}
  .bnav .dot{position:static;margin-left:auto}
  .bnav .dot.mob{display:none}
  .sb-foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding:14px 8px 4px;border-top:1px solid var(--line)}
  .sb-foot b{font-size:13px}
  .sb-foot .avatar{width:36px;height:36px}
  .top{padding:16px 32px;min-height:76px;border-bottom:1px solid var(--line)}
  .ttl h1{font-size:25px}
  .content{padding:24px 32px 56px;gap:16px}
  .stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
  .quick{grid-template-columns:repeat(4,minmax(0,1fr))}
  .content .list{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}
  .dgrid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:20px;align-items:start}
  .mgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .opts{grid-template-columns:repeat(4,minmax(0,1fr))}
  #s-neworder .content,#s-measure .content,#s-order .content,#s-customer .content,#s-settings .content,#s-newinvoice .content,#s-group .content,#s-team .content,#s-coming .content,#s-more .content,#s-enq .content,#s-tasks .content,#s-invoice .content,#s-audit .content{padding-left:max(32px,calc((100% - 1000px)/2));padding-right:max(32px,calc((100% - 1000px)/2))}
  #s-tasks .content,#s-enq .content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
  #s-tasks .content>.seg,#s-enq .content>small{grid-column:1/-1}
  .modal .opts{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ================= invoice and receipt document (A4 style) ================= */
.doc{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 18px 40px -24px rgba(42,20,24,.35);padding:40px 44px;max-width:794px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:22px;color:#111827;font-size:14px;flex-shrink:0}
.doc-h{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:18px;border-bottom:3px solid var(--primary)}
.doc-h small{color:var(--muted);font-size:12.5px}
.doc-logo{flex:none;width:48px;height:48px;border-radius:12px;background:var(--primary-tint)}
.doc-logo svg{width:48px;height:48px;border-radius:12px;display:block}
.doc-biz{font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:-.02em}
.doc-t{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.doc-t b{font-family:var(--display);font-size:26px;letter-spacing:.1em;color:var(--primary)}
.doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.doc-meta>div{display:flex;flex-direction:column;gap:2px}
.doc-meta small,.doc-foot small,.doc-pays small{color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.06em;font-weight:600;margin-top:6px}
.doc-tb{border:1px solid var(--line)}
.doc-tb th{background:#F8FAFC;font-size:11px;text-transform:uppercase}
.doc-tb td{font-size:14px;padding:11px 10px}
.doc-sum{margin-left:auto;width:min(360px,100%);display:flex;flex-direction:column;gap:7px}
.doc-sum>div{display:flex;justify-content:space-between;gap:12px}
.doc-sum b{font-family:var(--mono);font-weight:500;white-space:nowrap}
.doc-sum .tot{border-top:1px solid var(--line);padding-top:8px;font-weight:700}
.doc-sum .tot b{font-size:17px;font-weight:600}
.doc-sum .hl{background:var(--primary-tint);padding:7px 9px;border-radius:6px}
.doc-pays{display:flex;flex-direction:column;gap:6px}
.doc-pays>div{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-bottom:1px dashed var(--line);padding-bottom:5px}
.doc-foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding-top:16px;border-top:1px solid var(--line)}
.doc-foot>div{display:flex;flex-direction:column;gap:3px}
.doc-fine{font-size:11px;color:var(--muted);text-align:center}
.modal .doc{padding:26px 28px;box-shadow:none}
@media (max-width:600px){.doc,.modal .doc{padding:20px 16px;gap:16px}.doc-meta{grid-template-columns:1fr}.doc-t{align-items:flex-start}.doc-tb th:nth-child(3),.doc-tb td:nth-child(3){display:none}.doc .doc-tb{min-width:0}}
#printbox{display:none}
@media print{
  @page{size:A4;margin:14mm}
  html,body{background:#fff!important;height:auto}
  body>*:not(#printbox){display:none!important}
  #printbox{display:block!important}
  #printbox .doc{box-shadow:none;border:0;max-width:none;padding:0}
}

/* ================= public website ================= */
body.pub .app{position:static;padding-top:44px}
body.demo-public .app{padding-top:0}
body.demo-public .scrim{top:0}
body.pub .phone{display:block;height:auto;overflow:visible;background:#fff}
body.pub .screens{position:static}
body.pub .screen.active{position:static;display:block;background:#fff}
body.pub .bnav,body.pub .banner{display:none!important}
.ws{--ws-ink:#2A1418;--ws-muted:#5B616E;--ws-line:#F0DFDA;--ws-soft:#FFF6F3;font-size:16px;line-height:1.6;color:var(--ws-ink);background:#fff;overflow-x:clip}
.ws-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.ws h1,.ws h2,.ws h3{font-family:var(--display);letter-spacing:-.025em;line-height:1.1}
.ws h2{font-size:clamp(28px,3.4vw,42px);font-weight:800}
.ws h3{font-size:19px;font-weight:800}
.ws-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin-bottom:10px}
.ws-muted{color:var(--ws-muted)}
.ws-head{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--ws-line)}
.ws-head-in{display:flex;align-items:center;gap:24px;height:74px}
.ws-brand{display:flex;align-items:center;gap:11px;flex:none}
.ws-brand b{display:block;font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em;line-height:1.1}
.ws-brand small{display:block;font-size:12px;color:var(--ws-muted)}
.ws-mono{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ws-ink);color:#fff;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.04em;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--primary)}
.ws-nav{display:flex;gap:4px;margin-left:auto}
.ws-nav button{padding:8px 12px;border-radius:8px;font-weight:600;font-size:15px;color:var(--ws-muted)}
.ws-nav button:hover{color:var(--ws-ink);background:var(--ws-soft)}
.ws-head-acts{display:flex;align-items:center;gap:10px}
.ws-staff{font-size:14px;font-weight:600;color:var(--ws-muted);padding:8px 10px;border-radius:8px}
.ws-staff:hover{color:var(--primary)}
.ws-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;background:var(--primary);color:#fff;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 10px 24px -12px rgba(225,29,72,.75);transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}
.ws-btn:hover{transform:translateY(-1px);background:var(--primary-dark);box-shadow:0 14px 28px -12px rgba(225,29,72,.8)}
.ws-btn.lg{min-height:54px;padding:0 28px;font-size:16px}
.ws-btn.block{width:100%}
.ws-btn.ghost{background:#fff;color:var(--ws-ink);border:1.5px solid var(--ws-line);box-shadow:none}
.ws-btn.ghost:hover{border-color:var(--primary);color:var(--primary)}
.ws-btn.wa{background:#1E8E4E;box-shadow:0 10px 24px -14px rgba(30,142,78,.8)}
.ws-hero{background:radial-gradient(80% 90% at 100% 0%,#FFE4E8 0%,rgba(254,243,199,0) 60%),radial-gradient(60% 70% at 0% 100%,#FFF1F2 0%,rgba(255,247,237,0) 70%),#fff;padding:64px 0 80px}
.ws-hero-in{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:56px;align-items:center}
.ws-hero h1{font-size:clamp(38px,5.2vw,64px);font-weight:800;letter-spacing:-.035em;line-height:1.02}
.ws-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--primary),#F43F5E);-webkit-background-clip:text;background-clip:text;color:transparent}
.ws-lead{font-size:18.5px;color:var(--ws-muted);margin:22px 0 30px;max-width:54ch}
.ws-ctas{display:flex;flex-wrap:wrap;gap:12px}
.ws-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px;padding-top:26px;border-top:1px solid var(--ws-line)}
.ws-proof b{display:block;font-family:var(--display);font-size:22px;font-weight:800;letter-spacing:-.02em}
.ws-proof span{font-size:13.5px;color:var(--ws-muted);line-height:1.35;display:block}
.ws-hero-media{position:relative}
.ws-hero-media img{display:block;width:100%;height:auto;aspect-ratio:5/4.6;object-fit:cover;object-position:52% 40%;border-radius:28px;box-shadow:0 40px 80px -40px rgba(136,19,55,.55)}
.ws-hero-media::after{content:"";position:absolute;inset:0;border-radius:28px;background:linear-gradient(180deg,rgba(20,22,28,0) 55%,rgba(20,22,28,.35));pointer-events:none}
.ws-float{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 20px 40px -18px rgba(20,22,28,.4);font-size:14px;line-height:1.3}
.ws-float small{display:block;color:var(--ws-muted);font-size:12.5px}
.ws-float.a{left:-28px;bottom:42px}.ws-float.b{right:-18px;top:28px}
.ws-float .ic{color:var(--primary)}
.ws-dot{width:12px;height:12px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 5px #DCFCE7;flex:none}
.ws-sec{padding:96px 0;scroll-margin-top:74px}
.ws-sec.alt{background:var(--ws-soft)}
.ws-sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:34px}
.ws-sec-h p{max-width:42ch;color:var(--ws-muted)}
.ws-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.ws-chips button{padding:9px 18px;border-radius:999px;border:1.5px solid var(--ws-line);font-weight:600;font-size:14.5px;background:#fff}
.ws-chips button:hover{border-color:var(--primary)}
.ws-chips button.on{background:var(--ws-ink);border-color:var(--ws-ink);color:#fff}
.ws-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ws-tile{position:relative;aspect-ratio:4/4.3;border-radius:22px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;text-align:left;isolation:isolate;transition:transform .2s,box-shadow .2s}
.ws-tile:hover{transform:translateY(-4px);box-shadow:0 28px 50px -28px rgba(20,22,28,.6)}
.ws-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.55))}
.ws-tile-art{position:absolute;top:18%;left:50%;transform:translateX(-50%);opacity:.9;filter:drop-shadow(0 8px 18px rgba(0,0,0,.25))}
.ws-tile-art svg{width:110px;height:110px;stroke-width:1.6}
.ws-tile-tag{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;letter-spacing:.04em}
.ws-tile-txt b{display:block;font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.ws-tile-txt small{display:block;opacity:.9;font-size:14px;margin-top:2px}
.ws-ask{display:inline-block;margin-top:10px;font-size:13.5px;font-weight:700;opacity:0;transform:translateY(4px);transition:.2s}
.ws-tile:hover .ws-ask,.ws-tile:focus-visible .ws-ask{opacity:1;transform:none}
.ws-tile.p0{background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.16) 0 5px,transparent 6px) 0 0/30px 30px,linear-gradient(155deg,#D946EF,#701A75)}
.ws-tile.p1{background:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 10px,transparent 10px 22px),linear-gradient(155deg,#E0A33A,#7C3F0B)}
.ws-tile.p2{background:radial-gradient(circle at 50% 50%,transparent 9px,rgba(255,255,255,.14) 10px 12px,transparent 13px) 0 0/34px 34px,linear-gradient(155deg,#14B8A6,#134E4A)}
.ws-tile.p3{background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,transparent 2px 16px),linear-gradient(155deg,#4F6BD8,#1E2A6B)}
.ws-tile.p4{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35) 0 2px,transparent 3px) 0 0/22px 22px,linear-gradient(155deg,#E9D5DF,#A8577E)}
.ws-tile.p5{background:repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 3px,transparent 3px 18px),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 3px,transparent 3px 18px),linear-gradient(155deg,#3B82F6,#1E3A8A)}
.ws-tile.p6{background:conic-gradient(from 45deg at 50% 50%,rgba(255,255,255,.1) 0 25%,transparent 0 50%,rgba(255,255,255,.1) 0 75%,transparent 0) 0 0/36px 36px,linear-gradient(155deg,#F43F5E,#7F1D3A)}
.ws-tile.p7{background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 1px,transparent 1px 9px),linear-gradient(155deg,#475569,#0F172A)}
.ws-fine{font-size:13px;color:var(--ws-muted);margin-top:14px}
.ws-svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ws-card{background:#fff;border:1px solid var(--ws-line);border-radius:20px;padding:26px;box-shadow:0 1px 2px rgba(20,22,28,.04),0 16px 34px -26px rgba(20,22,28,.3);transition:transform .2s,box-shadow .2s,border-color .2s}
.ws-svc .ws-card{display:flex;flex-direction:column;gap:10px}
.ws-svc .ws-card:hover{transform:translateY(-3px);border-color:#FDA4AF;box-shadow:0 26px 40px -28px rgba(225,29,72,.45)}
.ws-svc p{color:var(--ws-muted);font-size:15px;flex:1}
.ws-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--primary-tint);color:var(--primary)}
.ws-price{font-family:var(--display);font-weight:800;font-size:17px;color:var(--primary-dark);padding-top:12px;border-top:1px dashed var(--ws-line)}
.ws-how{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start}
.ws-steps{list-style:none;display:flex;flex-direction:column;gap:22px;margin:30px 0}
.ws-steps li{display:flex;gap:18px}
.ws-steps li>span{flex:none;width:44px;height:44px;border-radius:50%;background:var(--ws-ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:17px}
.ws-steps p{color:var(--ws-muted);margin-top:4px}
.ws-group{display:flex;gap:14px;background:linear-gradient(135deg,#FFE4E8,#FFE4E6);border-radius:18px;padding:20px 22px}
.ws-group .ic{color:var(--primary);margin-top:3px}
.ws-group p{color:var(--ws-muted);font-size:15px;margin:2px 0 6px}
.ws-link{color:var(--primary);font-weight:700}
.ws-mbook{background:#fff;border:1px solid var(--ws-line);border-radius:22px;padding:24px;box-shadow:0 30px 60px -40px rgba(136,19,55,.45);position:sticky;top:100px}
.ws-mbook-h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.ws-mbook-h>span{width:42px;height:42px;border-radius:12px;background:var(--primary-tint);color:var(--primary);display:grid;place-items:center}
.ws-mbook-h b{display:block;font-family:var(--display);font-size:17px}
.ws-mbook-h small{color:var(--ws-muted);font-size:13px}
.ws-mrow{display:flex;justify-content:space-between;padding:10px 2px;border-bottom:1px dashed var(--ws-line);font-size:15px}
.ws-mrow b{font-family:var(--mono);font-weight:500}
.ws-mbook p{font-size:13.5px;color:var(--ws-muted);margin-top:12px}
.ws-why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:40px}
.ws-why-i{display:flex;flex-direction:column;gap:8px}
.ws-why-i .ic{color:var(--primary)}
.ws-why-i b{font-family:var(--display);font-size:17px}
.ws-why-i p{color:var(--ws-muted);font-size:15px}
.ws-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ws-rev{display:flex;flex-direction:column;gap:14px;margin:0}
.ws-stars{color:#F59E0B;letter-spacing:2px;font-size:16px}
.ws-rev blockquote{font-size:16px;line-height:1.55;flex:1}
.ws-rev figcaption{display:flex;align-items:center;gap:10px;font-size:14px}
.ws-rev figcaption small{display:block;color:var(--ws-muted);font-size:12.5px}
.ws-av{width:38px;height:38px;border-radius:50%;background:var(--primary-tint);color:var(--primary);display:grid;place-items:center;font-weight:800;font-family:var(--display);flex:none}
.ws-sample{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:#FFE4E8;color:#881337;padding:3px 8px;border-radius:6px;white-space:nowrap}
.ws-order{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:start}
#ws-order{scroll-margin-top:74px}
.ws-form{display:flex;flex-direction:column;gap:16px;padding:32px}
.ws-form h3{font-size:24px}
.ws-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ws-fgrid .full{grid-column:1/-1}
.ws-form .input{border-radius:12px;background:#fff}
.ws-form .photo{min-height:64px}
.ws-done{align-items:flex-start}
.ws-done .ic{color:var(--green)}
.ws-contact{display:flex;flex-direction:column;gap:18px;scroll-margin-top:90px}
.ws-map{position:relative;height:190px;border-radius:20px;overflow:hidden;background:#F6E9E5;border:1px solid var(--ws-line)}
.ws-map i{position:absolute;background:#fff}
.ws-map .r1{left:-10%;right:-10%;top:58%;height:14px;transform:rotate(-8deg)}
.ws-map .r2{top:-10%;bottom:-10%;left:38%;width:12px;transform:rotate(14deg)}
.ws-map .r3{left:-10%;right:-10%;top:22%;height:8px;transform:rotate(4deg);background:#fff9}
.ws-pin{position:absolute;left:44%;top:40%;width:40px;height:40px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--primary);color:#fff;display:grid;place-items:center;box-shadow:0 10px 20px -8px rgba(225,29,72,.8)}
.ws-pin .ic{transform:rotate(45deg)}
.ws-map small{position:absolute;right:12px;bottom:10px;font-size:12px;color:var(--ws-muted);background:#fff;padding:2px 8px;border-radius:6px}
.ws-info{list-style:none;display:flex;flex-direction:column;gap:14px}
.ws-info li{display:flex;gap:12px;font-size:15px;line-height:1.45}
.ws-info .ic{color:var(--primary);margin-top:2px}
.ws-foot{background:#2A1418;color:#D6D3CD;padding:64px 0 28px;font-size:15px}
.ws-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid #4A2A32}
.ws-foot .ws-brand b{color:#fff}.ws-foot .ws-brand small{color:#A8A39A}
.ws-foot p{margin-top:12px;color:#A8A39A}
.ws-foot b{color:#fff}
.ws-foot a{color:#FDA4AF}
.ws-foot-bar{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;padding-top:22px;font-size:13px;color:#8E8A82}
.ws-credit{display:inline-flex;align-items:center;gap:8px;color:#E7E2D8}
.ws-credit-logo svg{width:24px;height:24px;border-radius:6px;display:block}
.ws-join{padding-top:32px;padding-bottom:64px;max-width:760px}
.join-body{display:flex;flex-direction:column;gap:14px}
.join-body .hero{padding:32px 28px}
@media (max-width:1080px){.ws-nav{display:none}.ws-head-acts{margin-left:auto}}
@media (max-width:960px){
  .ws-hero{padding:36px 0 56px}
  .ws-hero-in,.ws-how,.ws-order{grid-template-columns:1fr;gap:36px}
  .ws-float.a{left:12px}.ws-float.b{right:12px}
  .ws-gallery,.ws-svc,.ws-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ws-why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ws-mbook{position:static}
  .ws-foot-grid{grid-template-columns:1fr 1fr}
  .ws-sec{padding:64px 0}
  .ws-sec-h{flex-direction:column;align-items:flex-start;gap:8px}
}
@media (max-width:600px){
  .ws-wrap{padding:0 16px}
  .ws-head-in{height:64px;gap:10px}
  .ws-brand small{display:none}
  .ws-mono{width:36px;height:36px;font-size:13px}
  .ws-head .ws-btn{min-height:40px;padding:0 14px;font-size:14px}
  .ws-staff{padding:6px 4px;font-size:13px}
  .ws-lead{font-size:16.5px}
  .ws-ctas .ws-btn{flex:1 1 100%}
  .ws-proof{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .ws-proof b{font-size:17px}.ws-proof span{font-size:12px}
  .ws-float{padding:9px 12px;font-size:13px}
  .ws-float.b{display:none}
  .ws-gallery,.ws-svc,.ws-reviews,.ws-why,.ws-fgrid{grid-template-columns:1fr}
  .ws-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .ws-tile{padding:14px;border-radius:18px}
  .ws-tile-art svg{width:70px;height:70px}
  .ws-tile-txt b{font-size:15.5px}.ws-tile-txt small{font-size:12.5px}
  .ws-tile-tag{top:10px;left:10px;font-size:11px}
  .ws-ask{display:none}
  .ws-form{padding:22px 18px}
  .ws-foot-grid{grid-template-columns:1fr}
  .ws-sec{padding:52px 0}
}
.bnav .dot{font-style:normal}
@media (min-width:960px){.bnav .dot{height:20px;min-width:20px;border-radius:10px;font-size:11px}}
.lnk{white-space:nowrap}
@media (min-width:960px){.content .chips{flex-wrap:wrap;overflow:visible}}

/* ================= VoltDesk additions ================= */
.mx{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;flex:none;background:var(--surface)}
.mx:hover{border-color:var(--primary);color:var(--primary-dark)}
.estline{display:flex;gap:8px;align-items:flex-start;font-size:13px;font-weight:600;color:#881337;background:#FFF1F2;border:1px dashed #FDA4AF;border-radius:10px;padding:8px 10px}
.estline .ic{margin-top:1px;color:var(--primary)}
.tag.ok{background:var(--green-tint);color:var(--green)}
.h3 .n,.sec .n{display:inline-block;background:var(--ink);color:#fff;border-radius:10px;padding:0 8px;font-size:12px;line-height:20px;vertical-align:middle;margin-left:4px;font-family:var(--body)}
.qty.sm{gap:8px}.qty.sm button{width:34px;height:34px;border-radius:9px}.qty.sm b{font-size:16px;min-width:22px}
.qty button[disabled]{opacity:.35;cursor:not-allowed}
.stps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
.stp{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;font-weight:500}
.swrow{padding:8px 0;border-bottom:1px dashed var(--line)}
.rooms{display:grid;grid-template-columns:1fr;gap:10px}
.room{gap:10px}.room .row{gap:8px}
.input.sm{min-height:40px;padding:0 10px;border-radius:10px}.input.sm input,.input.sm select{min-height:36px;font-size:14px}
input[type=range]{width:100%;accent-color:var(--primary)}
.load{gap:12px}
.tw.flat{border-radius:10px}.tw.flat table{min-width:0}
.cin{width:72px;min-height:34px;border:1.5px solid var(--line);border-radius:8px;padding:0 8px;text-align:right;font-family:var(--mono);font-size:14px;background:#fff}
.cin.wide{width:120px}.cin.chg{border-color:var(--primary);background:#FFF1F3}
.cin:focus{outline:0;border-color:var(--primary)}
.lstats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lstats div{background:var(--ground);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}
.lstats span{font-size:12px;color:var(--muted)}.lstats b{font-family:var(--display);font-size:20px}
.lsug{display:flex;gap:12px;align-items:flex-start;background:#2A1418;color:#fff;border-radius:12px;padding:14px}
.lsug .ic{color:#FDA4AF}.lsug b{display:block;font-family:var(--display);font-size:17px}.lsug span{font-size:13.5px;opacity:.85}
.loadres{display:flex;flex-direction:column;gap:10px}
.ptsum{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ptsum div{background:var(--primary-tint);border-radius:10px;padding:8px 4px;text-align:center;display:flex;flex-direction:column}
.ptsum b{font-family:var(--display);font-size:20px;color:var(--primary-dark)}.ptsum span{font-size:11px;color:var(--muted);font-weight:600}
.rsec{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.rl{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}
.rl b{font-weight:600}.rl small{font-size:12px}
.sumbox .tot{border-top:1px solid #FBC4CE;padding-top:8px;margin-top:2px}
.sumbox .row.muted{font-size:13px}
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:12px;overflow-x:auto;padding-bottom:6px}
.kcol{background:#F7ECE9;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:180px}
.kh{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 6px;font-family:var(--display);font-size:14px}
.kh .n{background:var(--ink);color:#fff;border-radius:10px;padding:0 8px;font-size:12px;line-height:20px}
.kcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;text-align:left;transition:border-color .15s,box-shadow .15s}
.kcard:hover{border-color:var(--primary);box-shadow:0 8px 20px -14px rgba(225,29,72,.7)}
.kcard b{font-size:14px;line-height:1.25}.kcard small{color:var(--muted)}
.kt{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--primary-dark)}
.kempty{padding:6px 4px}
.stagec{border-left:5px solid var(--primary)}
.todo{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.ev{display:flex;flex-direction:column;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}
.mrow b.plain{font-family:var(--body);font-weight:600;text-align:right}
.jc-head{background:linear-gradient(150deg,#2A1418,#4A1D27);color:#fff;border:0}
.jc-head .muted{color:#D6D3D1}.jc-head .h2{color:#fff;font-size:20px}
.jc-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.jc-meta>div{display:flex;gap:8px;align-items:flex-start;background:rgba(255,255,255,.08);border-radius:10px;padding:10px}
.jc-meta .ic{color:#FDA4AF;margin-top:2px}.jc-meta span{display:flex;flex-direction:column;min-width:0}.jc-meta b{font-size:14px}.jc-meta small{color:#D6D3D1}
.checks{display:flex;flex-direction:column;gap:8px}
.chk{display:flex;gap:12px;align-items:center;padding:12px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-size:15px;font-weight:500;min-height:52px;text-align:left}
.chk i{width:26px;height:26px;border-radius:8px;border:2px solid var(--line);display:grid;place-items:center;flex:none;font-style:normal}
.chk.on{border-color:#86EFAC;background:#F0FDF4}.chk.on i{background:var(--green);border-color:var(--green);color:#fff}
.chk[disabled]{cursor:default;opacity:.85}
.ph2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.phslot{border:2px dashed var(--line);border-radius:14px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:14px;padding:10px;text-align:center}
.phslot.has{border-style:solid;border-color:var(--green);color:var(--green)}
.phimg{width:100%;height:70px;border-radius:8px;display:block}
.phimg.b{background:repeating-linear-gradient(135deg,#78716C 0 6px,#A8A29E 6px 14px)}
.phimg.a{background:linear-gradient(135deg,#FECDD3,#F59E0B)}
.matrow{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line)}
.matrow.used{opacity:.7}
.mq{width:56px;flex:none;text-align:center;font-family:var(--mono);font-size:18px;font-weight:500;background:var(--ground);border-radius:10px;padding:6px 0;display:flex;flex-direction:column;line-height:1.1}
.mq small{font-family:var(--body);font-size:11px;color:var(--muted)}
.signc{border:2px solid var(--primary)}
.card.good{flex-direction:row;align-items:center;background:var(--green-tint);border-color:#86EFAC;color:#14532D}
.hello{display:flex;justify-content:space-between;align-items:center}
.mycards{display:grid;grid-template-columns:1fr;gap:12px}
.mycard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:8px;text-align:left;box-shadow:0 10px 24px -20px rgba(20,22,28,.5);transition:border-color .15s}
.mycard:hover{border-color:var(--primary)}
.mc-t{font-family:var(--display);font-size:18px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.mc-c{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:14px}
.mc-prog{display:flex;flex-direction:column;gap:6px}.mc-prog small{color:var(--muted)}
.mc-go{display:flex;align-items:center;gap:4px;font-weight:700;color:var(--primary-dark);margin-top:2px}
.daytag{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--ground);color:var(--muted)}
.daytag.today{background:var(--primary);color:#fff}
.leads{display:grid;grid-template-columns:1fr;gap:12px}
.lead.isnew{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint)}
.estsm{font-weight:600;color:var(--primary-dark)}
.board{display:grid;grid-template-columns:1fr;gap:10px}
.bcard{background:var(--ground);border:1px solid transparent;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;text-align:left}
.bcard:hover{border-color:var(--primary);background:#fff}
.att{display:flex;flex-direction:column;gap:8px}
.atti{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;background:#FFF1F3;font-size:14px;font-weight:500;text-align:left;border:1px solid #FECDD3}
.atti>span:not(.ic){flex:1}.atti .ic{color:var(--primary-dark)}
.atti.bad{background:#FEF2F2;border-color:#FECACA;color:#991B1B}.atti.bad .ic{color:var(--danger)}
.menu-grid{display:flex;flex-direction:column;gap:6px}
.sb-h.m{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94A3B8;padding:8px 2px 0}
.dot.s{position:static;background:var(--danger);color:#fff;border-radius:10px;font-style:normal;font-size:11px;font-weight:700;min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px}
.badge-bad{display:inline-flex;align-items:center;gap:4px;background:var(--danger-tint);color:var(--danger);font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}
.bom{display:flex;flex-direction:column;gap:8px}
.bomh,.bomr{display:grid;grid-template-columns:minmax(0,1fr) 70px 130px 110px 40px;gap:8px;align-items:center}
.bomr.nc,.bomh.nc{grid-template-columns:minmax(0,1fr) 70px 40px}
.bomh{font-size:12px;font-weight:600;color:var(--muted)}.bomh .r,.bomr .r{text-align:right}
.card.inset{background:var(--ground);border-style:dashed}
.g4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;text-align:left;font-size:14px}
.pcard:hover{border-color:var(--primary)}
.part{width:52px;height:52px;border-radius:12px;background:var(--primary-tint);color:var(--primary-dark);display:grid;place-items:center}
.cline{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}
tr.lowr td{background:#FFF1F3}
.mrow.big{font-size:16px;border-bottom:0;padding-top:12px}
.doc-tb tr.grp td{background:#FFF1F3;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--primary-dark)}
.lbl.l{color:#F3E3DE}
/* Paystack-style demo sheet */
.modal.psm{padding:0;overflow:hidden;width:min(420px,100%);gap:0}
.ps{display:flex;flex-direction:column}
.ps-top{background:#011B33;color:#fff;padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.ps-top small{color:#9FB3C8;font-size:12px}.ps-top .r{align-items:flex-end}
.ps-amt{font-family:var(--display);font-size:22px;color:#3BB75E}
.ps-demo{align-self:flex-start;background:#FECDD3;color:#713F12;font-weight:800;font-size:12.5px;padding:5px 10px;border-radius:999px}
.ps-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:14px}
.ps-tabs{display:flex;gap:6px;background:#F1F5F9;padding:4px;border-radius:10px}
.ps-tabs button{flex:1;text-align:center;padding:8px;border-radius:8px;font-weight:600;font-size:14px;color:#475569}
.ps-tabs button.on{background:#fff;color:#011B33;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.ps-panel{font-size:14px;color:#334155;display:flex;flex-direction:column;gap:10px}
.ps-fake{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ps-fake span{height:40px;border-radius:8px;background:#F1F5F9;grid-column:1/-1}.ps-fake .s{grid-column:auto}
.ps-pay{background:#3BB75E;color:#fff;font-weight:700;border-radius:10px;min-height:50px;text-align:center;font-size:16px}
.ps-pay:hover{background:#2FA251}
.ps-cancel{text-align:center;color:#64748B;font-weight:600}
.ps-foot{display:flex;align-items:center;justify-content:center;gap:6px;color:#64748B;font-size:12px}
@media (min-width:700px){.stps{grid-template-columns:repeat(4,minmax(0,1fr))}.stp{flex-direction:column;align-items:flex-start}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.mycards,.leads,.board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){
  .dgrid.calc{grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr)}
  .qres{position:sticky;top:0}
  .rooms{grid-template-columns:repeat(2,minmax(0,1fr))}
  #d-card .content,#d-job .content,#d-mycards .content,#d-quote .content,#d-product .content,#d-settings .content,#d-leads .content{padding-left:max(32px,calc((100% - 1080px)/2));padding-right:max(32px,calc((100% - 1080px)/2))}
  #d-card .content{padding-left:max(32px,calc((100% - 820px)/2));padding-right:max(32px,calc((100% - 820px)/2))}
  .bnav button.mob[data-a=menu]{display:none}
}
@media (max-width:959px){.bnav .dot{display:none}}
@media (max-width:600px){.jc-meta{grid-template-columns:1fr}.ptsum b{font-size:17px}.bomh{display:none}.bomr{grid-template-columns:minmax(0,1fr) 60px 40px}.bomr .input:nth-child(3){grid-column:1/3}.bomr b.amt{grid-column:3}.kanban{grid-auto-columns:78%}}

/* ---------- public website: electrical touches ---------- */
.ws-mono{background:var(--primary);color:#fff;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--primary)}
.ws-mono svg{width:22px;height:22px;stroke-width:3}
.ws-foot .ws-mono{box-shadow:inset 0 0 0 3px #2A1418,0 0 0 2px var(--primary)}
.ws-cart{position:relative;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--ws-line);background:#fff}
.ws-cart:hover{border-color:var(--primary);color:var(--primary-dark)}
.ws-cart i{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--primary);color:#fff;font-style:normal;font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 5px}
.ws-hero-media.art{background:radial-gradient(70% 70% at 50% 40%,#FFE4E8,#FFF1F2 60%,rgba(255,255,255,0));border-radius:28px;padding:10px}
.ws-hero-media.art::after{display:none}
.hero-svg{display:block;width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(136,19,55,.22))}
.ws-sec.dark{background:radial-gradient(60% 80% at 100% 0%,rgba(225,29,72,.22),rgba(225,29,72,0) 60%),#2A1418;color:#FBF3F0}
.ws-sec.dark .ws-sec-h p{color:#A8A29E}
.ws-sec.dark .ws-eyebrow{color:#FDA4AF}
.est{background:#3A1C22;border:1px solid #55313B;border-radius:24px;padding:28px}
.est-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px}
.est-in{display:flex;flex-direction:column;gap:16px}
.est-svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.est-svc button{padding:14px;border-radius:14px;border:1.5px solid #6A4049;color:#F3E3DE;font-weight:700;font-size:15px;text-align:left;background:#45232B}
.est-svc button:hover{border-color:#FDA4AF}
.est-svc button.on{border-color:var(--primary);background:rgba(225,29,72,.18);color:#fff}
.est .input{background:#fff;color:var(--ws-ink)}
.est textarea.in{color:var(--ws-ink)}
.est-out{background:linear-gradient(150deg,var(--primary),#BE123C);border-radius:18px;padding:22px;color:#fff;display:flex;flex-direction:column;gap:6px}
.est-out>span{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.est-out b{font-family:var(--display);font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;line-height:1.1}
.est-out p{opacity:.95;font-size:15px}
.estline.l{background:rgba(0,0,0,.18);border-color:rgba(255,255,255,.35);color:#fff;margin-top:6px}.estline.l .ic{color:#FFE4E8}
.est-form{background:#fff;color:var(--ws-ink);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:14px}
.est-form h3{font-size:22px}
.est-done{background:#fff;color:var(--ws-ink);border-radius:18px;padding:32px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.est-done .ic{color:var(--green)}
.ws-pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ws-pcard{background:#fff;border:1px solid var(--ws-line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;text-align:left;transition:transform .2s,box-shadow .2s,border-color .2s}
.ws-pcard:hover{transform:translateY(-3px);border-color:#FDA4AF;box-shadow:0 24px 40px -28px rgba(136,19,55,.5)}
.ws-part{position:relative;height:150px;display:grid;place-items:center;background:linear-gradient(160deg,#FBF3F0,#F3E3DE);color:#44403C}
.ws-part.made{background:linear-gradient(160deg,#FFE4E8,#FDA4AF);color:#881337}
.ws-badge{position:absolute;top:12px;left:12px;background:#2A1418;color:#FDA4AF;font-size:11.5px;font-weight:800;letter-spacing:.03em;padding:4px 10px;border-radius:999px}
.ws-badge.k{background:#fff;color:var(--ws-ink)}
.ws-pc-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.ws-pc-b>small{color:var(--ws-muted);font-size:12px;font-weight:600}
.ws-pc-b>b{font-family:var(--display);font-size:16px;line-height:1.25;letter-spacing:-.01em;flex:1}
.ws-pc-f{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.ws-pc-price{font-family:var(--display);font-weight:800;font-size:18px;color:var(--ws-ink)}.ws-pc-price small{font-size:12px;color:var(--ws-muted);font-weight:600}
.ws-stock{font-size:12px;font-weight:700;color:var(--green)}.ws-stock.mto{color:var(--primary-dark)}.ws-stock.out{color:var(--danger)}
.ws-shophead{padding:48px 0 8px;background:radial-gradient(70% 90% at 100% 0%,#FFE4E8 0%,rgba(254,243,199,0) 60%),#fff}
.ws-shophead h1,.ws-pd h1,.ws-pg-h{font-family:var(--display);font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.ws-shophead .ws-lead{margin:14px 0 20px}
.ws-shopbar{max-width:520px;margin-bottom:16px}.ws-shopbar .input{border-radius:999px}
.ws-sec.tight{padding:36px 0 80px}
.ws-pd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:20px;align-items:start}
.ws-pd-art{position:relative;aspect-ratio:1/1;border-radius:28px;display:grid;place-items:center;background:linear-gradient(160deg,#FBF3F0,#F3E3DE);color:#44403C}
.ws-pd-art.made{background:linear-gradient(160deg,#FFE4E8,#FDA4AF);color:#881337}
.ws-pd-art svg{width:min(240px,60%);height:auto}
.ws-pd-info{display:flex;flex-direction:column;gap:16px}
.ws-pd-info .ws-lead{margin:0}
.ws-pd-price{font-family:var(--display);font-weight:800;font-size:32px;letter-spacing:-.02em}.ws-pd-price small{font-size:15px;color:var(--ws-muted)}
.ws-vars{display:flex;flex-wrap:wrap;gap:8px}
.ws-vars button{padding:9px 16px;border-radius:999px;border:1.5px solid var(--ws-line);font-weight:600}
.ws-vars button.on{border-color:var(--ws-ink);background:var(--ws-ink);color:#fff}
.ws-kit{display:flex;flex-direction:column;gap:4px;background:var(--ws-soft);border-radius:14px;padding:14px 16px;font-size:15px}.ws-kit small{color:var(--ws-muted)}
.ws-cartg{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;margin-top:20px;align-items:start}
.ws-cartg .ws-card{display:flex;flex-direction:column;gap:14px}
.ws-cl{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--ws-line)}
.ws-cl-art{width:48px;height:48px;border-radius:12px;background:#FBF3F0;display:grid;place-items:center;flex:none}
.ws-pay{display:flex;flex-direction:column;gap:8px}
.ws-pay button{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;border:1.5px solid var(--ws-line);text-align:left}
.ws-pay button .ic{color:var(--primary-dark);margin-top:2px}
.ws-pay button span{display:flex;flex-direction:column}.ws-pay small{color:var(--ws-muted);font-size:13px}
.ws-pay button.on{border-color:var(--primary);background:#FFF1F3;box-shadow:0 0 0 3px var(--primary-tint)}
.ws-empty,.ws-donec{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-top:20px}
.ws-narrow{max-width:760px}
.ws-ok{width:56px;height:56px;border-radius:50%;background:var(--green-tint);color:var(--green);display:grid;place-items:center}
.ws-dl{width:100%;display:flex;flex-direction:column;gap:6px;background:var(--ws-soft);border-radius:14px;padding:14px 16px}
.ws-dl>div{display:flex;justify-content:space-between;gap:12px}.ws-dl b{font-family:var(--mono);font-weight:500;white-space:nowrap}.ws-dl .t{border-top:1px solid var(--ws-line);padding-top:8px;font-weight:700}
.ws-bank{display:flex;gap:14px;align-items:flex-start;background:#2A1418;color:#fff;border-radius:16px;padding:18px;width:100%}
.ws-bank .ic{color:#FDA4AF}.ws-bank div{display:flex;flex-direction:column;gap:4px}.ws-bank span{color:#D6D3D1}.ws-bank span b{color:#fff}
.ws-order{align-items:center}
.ws-map{height:320px}
@media (max-width:1080px){.ws-pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:960px){.est-grid,.ws-pd,.ws-cartg{grid-template-columns:1fr}.ws-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-map{height:220px}}
@media (max-width:600px){.est{padding:16px;border-radius:18px}.est-svc{grid-template-columns:1fr}.ws-pgrid{gap:12px}.ws-part{height:110px}.ws-part svg{width:48px;height:48px}.ws-pc-b{padding:10px 12px 12px}.ws-pc-b>b{font-size:14px}.ws-pc-price{font-size:15px}.ws-head .ws-btn{display:none}.ws-cl{flex-wrap:wrap}.ws-cl .grow{flex-basis:calc(100% - 60px)}.ws-pd-art{aspect-ratio:4/3}}
.room .row .input.grow{flex:1 1 120px}.room .row .input:not(.grow){flex:0 1 190px;min-width:0}
.room .stps{grid-template-columns:repeat(2,minmax(0,1fr))}.room .stp{flex-direction:row;align-items:center}
@media (max-width:959px){body[data-demo-role]:not(.demo-public) .top{padding-right:60px}}
.ws-staff{white-space:nowrap}
@media (max-width:600px){.ws-brand b{font-size:15.5px}.ws-head-acts{gap:6px}.ws-cart{width:40px;height:40px}}
@media (min-width:960px){.rooms{grid-template-columns:1fr}.room .stps{grid-template-columns:repeat(4,minmax(0,1fr))}.room .stp{flex-direction:column;align-items:flex-start;gap:6px}.room .row .input.grow{flex:1 1 220px}}
@media (max-width:600px){.ws-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin-right:-16px;padding-right:16px}.ws-chips button{flex:none}}

/* =====================================================================
   OvenDesk: its own look. Cocoa sidebar, cream ground, rose accents,
   capacity calendar, cake builder, allergen notes, editorial website.
   ===================================================================== */
.card{border-radius:18px;box-shadow:0 1px 2px rgba(42,20,24,.04)}
.stat{border-radius:16px;background:linear-gradient(180deg,#fff,#FFF9F7)}
.stat b{font-variant-numeric:tabular-nums}
.top{background:rgba(255,255,255,.92);backdrop-filter:blur(8px)}
.chip.on{background:var(--cocoa);border-color:var(--cocoa)}
.seg button.on{background:var(--cocoa)}
.pill.prodn{background:#FFE4E9;color:var(--primary-dark)}
.pill.warn,.pill.new{background:var(--amber-tint);color:#7A4A06}
.tag{background:var(--amber-tint);color:#6B3F05}
.tag.al{background:#FFF1DB;color:#8A4B06;border:1px solid #F8D9A8;text-transform:none;letter-spacing:0;font-size:12px;display:inline-flex;align-items:center;gap:4px}
.card.alc{border:1.5px solid #F5C77E;background:#FFFBF2}
.alnote{background:#fff;border-left:4px solid var(--amber);padding:8px 12px;border-radius:8px;font-size:15px}
.msgline{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--primary-dark)}
.daytag.wk{background:#F3E8FF;color:#6B21A8}.daytag.ready{background:var(--green);color:#fff}
.mycard.mine{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint)}
.mc-body{display:flex;gap:12px;align-items:center}
.mc-ico{width:64px;height:60px;border-radius:14px;background:var(--primary-tint);color:var(--primary-dark);display:grid;place-items:center;flex:none}
.mc-ico.sm{width:46px;height:44px}
.mc-c{display:block;color:var(--muted);font-size:13.5px;line-height:1.35}
.cakeart{flex:none;display:block}
.kspec{display:flex;gap:16px;align-items:center;background:var(--cream);border-radius:14px;padding:10px 14px}
.kspec .col{gap:4px}
.part.sm{width:38px;height:38px;border-radius:10px}
.seg.mini{padding:3px}.seg.mini button{padding:6px 12px;min-height:34px;font-size:13px}
.hello{gap:12px;flex-wrap:wrap}
/* capacity bars */
.cap{height:8px;border-radius:4px;background:#F1E4E0;overflow:hidden}.cap i{display:block;height:100%;border-radius:4px}
.cap.ok i{background:#22A06B}.cap.busy i{background:#E9A23B}.cap.full i{background:#F97316}.cap.over i{background:var(--danger)}
.cap-e{height:8px}
.capdays{display:flex;flex-direction:column;gap:6px}
.capd{display:grid;grid-template-columns:62px 1fr 42px;gap:10px;align-items:center;font-size:13px;padding:3px 4px;border-radius:8px}
.capd:hover{background:var(--cream)}.capd b{font-family:var(--mono);font-weight:500;text-align:right;font-size:12.5px}.capd .wkl{font-weight:700;color:#6B21A8}
/* calendar */
.cal-h{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.mday{min-height:92px;border:1px solid var(--line);border-radius:12px;padding:7px 8px;display:flex;flex-direction:column;gap:4px;text-align:left;background:#fff;transition:border-color .15s,box-shadow .15s}
.mday:hover{border-color:var(--primary)}
.mday.wk{background:#FCF8FF}
.mday.past{opacity:.5}
.mday.today{box-shadow:inset 0 0 0 2px var(--cocoa)}
.mday.sel{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint)}
.mday.over{background:#FFF3F1;border-color:#F3B4AC}.mday.full{background:#FFF7EE}
.mday-h{display:flex;align-items:baseline;justify-content:space-between}.mday-h b{font-family:var(--display);font-size:16px}.mday-h small{font-size:11px;font-weight:700;color:var(--primary-dark);text-transform:uppercase}
.mday-n{font-size:12px;color:var(--muted);min-height:16px}
.mday-u{font-family:var(--mono);font-size:11px;color:var(--muted)}.mday.over .mday-u{color:var(--danger);font-weight:600}
.legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12.5px;align-items:center}
.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:12px;height:8px;border-radius:3px;display:inline-block}
.legend i.ok{background:#22A06B}.legend i.busy{background:#E9A23B}.legend i.full{background:#F97316}.legend i.over{background:var(--danger)}
.calt{font-family:var(--mono);font-size:13px;background:var(--cream);border-radius:8px;padding:4px 8px;flex:none}
/* cake calculator */
.cakeb{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:start}
.cake-prev{background:radial-gradient(80% 70% at 50% 45%,#FFE4E9,#FFF6F2 70%);border-radius:16px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;position:sticky;top:0}
.cake-prev .cakeart{width:170px;height:auto}
.cake-in{display:flex;flex-direction:column;gap:14px;min-width:0}
.opts.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.opts.five .opt{min-height:48px}
.cake-in .opts:not(.five){grid-template-columns:repeat(2,minmax(0,1fr))}
.cake-in .opts .opt{min-height:62px}
.stps.two-col{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.stps.two-col .stp{flex-direction:row!important;align-items:center!important;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line)}
.stps.two-col .stp>span{min-width:0}
.sec .swrow{border:0;padding:0;margin-left:auto;text-transform:none;letter-spacing:0}
.sec .swrow .col{display:none}
details.recipe{background:var(--cream);border-radius:12px;padding:8px 12px}
details.recipe summary{cursor:pointer;font-weight:600;font-size:14px}
.rl.sm{font-size:13px;padding:4px 0}
.costbox{border:1px dashed #E7B9C3;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:5px;font-size:13px}
.costbox .row b{font-size:13px}
.recgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.pe-art{width:100%;height:96px;border-radius:12px;background:var(--cream);color:var(--primary-dark);display:grid;place-items:center}
.input.lnk-i{background:var(--cream)}.input.lnk-i input{color:var(--ink)}
.bomr .input.sm>span.mono{flex:1;text-align:right}
/* sidebar: deep cocoa, the bakery's own feel */
@media (min-width:960px){
  .bnav{background:var(--cocoa);border-right:0;color:#EAD6D2}
  .sb-brand{border-bottom-color:rgba(255,255,255,.1)}
  .sb-brand b{color:#fff}.sb-brand small{color:#C4A3A8}
  .sb-h{color:#B88F96!important}
  .bnav button{color:#E3CCC8}
  .bnav button:hover{background:rgba(255,255,255,.07);color:#fff}
  .bnav button.on{background:var(--primary);color:#fff;box-shadow:0 8px 18px -10px rgba(225,29,72,.9)}
  .bnav button.on .ic{color:#fff}
  .sb-foot{border-top-color:rgba(255,255,255,.1)}.sb-foot b{color:#fff}.sb-foot small{color:#C4A3A8}
  .sb-foot .avatar{background:rgba(255,255,255,.12);color:#fff}
  #demo-acct.docked{color:#EAD6D2}
  .screens{background:var(--ground)}
  .content .mycards{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
  #d-prod .content,#d-order .content,#d-recipes .content{padding-left:max(32px,calc((100% - 1180px)/2));padding-right:max(32px,calc((100% - 1180px)/2))}
}
@media (max-width:959px){.bnav button.on{color:var(--primary);background:var(--primary-tint)}}
@media (max-width:760px){
  .cakeb{grid-template-columns:1fr}.cake-prev{position:static}
  .opts.five{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.opts.five .opt{font-size:13px;padding:8px 2px}
  .stps.two-col{grid-template-columns:1fr!important}
  .mday{min-height:64px;padding:5px;border-radius:9px}.mday-n,.mday-u{display:none}.mday-h b{font-size:14px}.mday-h small{display:none}.cal,.cal-h{gap:4px}
  .kspec{flex-direction:column;align-items:flex-start}
  .hello .seg.mini{width:100%}
}

/* ---------- public website: bakery personality ---------- */
.ws{--ws-ink:#2A1418;--ws-muted:#7B5E63;--ws-line:#F0DFDA;--ws-soft:#FFF6F3}
.ws h1,.ws h2{font-family:var(--serif);font-weight:700;letter-spacing:-.02em}
.ws h1 em,.ws h2 em{font-style:italic;font-weight:500;color:var(--primary);background:none;-webkit-text-fill-color:currentColor}
.ws-hero h1{font-size:clamp(42px,5.6vw,72px);line-height:1}
.ws-hero{background:radial-gradient(60% 80% at 100% 10%,#FFE1E7 0%,rgba(255,225,231,0) 65%),radial-gradient(50% 60% at 0% 100%,#FFF0E6 0%,rgba(255,240,230,0) 70%),#FFFBF9}
.ws-brand b{font-family:var(--serif);font-weight:700;letter-spacing:-.01em}.ws-brand b i{font-style:italic;color:var(--primary);font-weight:500}
.ws-mono{background:var(--primary);color:#fff;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--primary)}
.ws-mono svg{width:20px;height:20px}
.ws-foot .ws-mono{box-shadow:inset 0 0 0 3px var(--cocoa),0 0 0 2px var(--primary)}
.ws-btn{background:var(--primary)}
.ws-eyebrow{color:var(--primary-dark)}
.ws-hero-media.art{background:none;padding:0}
.hero-svg{filter:drop-shadow(0 30px 40px rgba(136,19,55,.18))}
.ws-float .ic{color:var(--primary)}
.ws-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ws-mcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ws-line);border-radius:24px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.ws-mcard:hover{transform:translateY(-4px);box-shadow:0 26px 44px -30px rgba(136,19,55,.5)}
.ws-mart{height:150px;display:grid;place-items:center;color:var(--cocoa);position:relative}
.ws-mart svg{width:84px;height:84px;stroke-width:1.9}
.ws-mart.p0{background:radial-gradient(circle at 20% 20%,#fff6 0 4px,transparent 5px) 0 0/26px 26px,linear-gradient(150deg,#FFE4E9,#FBC4D0)}
.ws-mart.p1{background:repeating-linear-gradient(45deg,#fff5 0 8px,transparent 8px 18px),linear-gradient(150deg,#FFF3E2,#F6D7B0)}
.ws-mart.p2{background:radial-gradient(circle at 50% 50%,#fff7 0 3px,transparent 4px) 0 0/22px 22px,linear-gradient(150deg,#F3E8FF,#DCC4F5)}
.ws-mart.p3{background:repeating-linear-gradient(90deg,#fff4 0 2px,transparent 2px 14px),linear-gradient(150deg,#FFE8D6,#F6C59B)}
.ws-mart.p4{background:radial-gradient(circle at 30% 30%,#fff6 0 2px,transparent 3px) 0 0/18px 18px,linear-gradient(150deg,#FDEBD3,#E9C08C)}
.ws-mart.p5{background:conic-gradient(from 45deg,#fff4 0 25%,transparent 0 50%,#fff4 0 75%,transparent 0) 0 0/30px 30px,linear-gradient(150deg,#DFF5EC,#B3E3CF)}
.ws-mtxt{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.ws-mtxt p{color:var(--ws-muted);font-size:15px;flex:1}
.ws-price{color:var(--primary-dark)}
.ws-sec.dark{background:radial-gradient(60% 80% at 100% 0%,rgba(225,29,72,.28),rgba(225,29,72,0) 60%),var(--cocoa)}
.ws-sec.dark h2 em{color:#FDA4AF}
.est{background:#3A1C22;border-color:#55313B}
.est-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.est-svc.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.est-svc.four button{text-align:center;padding:11px 4px}
.est-svc button small{display:block;font-weight:500;font-size:12.5px;opacity:.75}
.est-chips{display:flex;flex-wrap:wrap;gap:8px}
.est-chips button{padding:9px 16px;border-radius:999px;border:1.5px solid #6A4049;color:#F3E3E0;font-weight:600;font-size:14.5px}
.est-chips button.on{background:var(--primary);border-color:var(--primary);color:#fff}
.est-out{flex-direction:row;gap:16px;align-items:center;background:linear-gradient(150deg,#FFF6F2,#FFE4E9);color:var(--cocoa)}
.est-out .cakeart{width:120px;height:auto}
.est-txt{display:flex;flex-direction:column;gap:6px;min-width:0}
.est-txt>span{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary-dark)}
.est-txt b{font-family:var(--serif);font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;line-height:1.1}
.est-txt p{font-size:14.5px;color:#5C3B41}
.avail{display:flex;gap:8px;align-items:center;font-size:13.5px;font-weight:600;border-radius:10px;padding:7px 10px}
.avail.ok{background:#DCF3E6;color:#1B5E3B}.avail.few{background:#FFF0D6;color:#7A4A06}.avail.full{background:#FDE3E0;color:#9A1C12}
.estline.l{background:#fff;border-color:#FBC4CE;color:#881337}.estline.l .ic{color:var(--primary)}
.ws-part.made{background:linear-gradient(160deg,#FFE4E9,#FBC4D0);color:var(--cocoa)}
.ws-part.raw{background:linear-gradient(160deg,#FFF3E2,#F6D7B0);color:#5C3A0C}
.ws-part.kit{background:linear-gradient(160deg,#DFF5EC,#B3E3CF);color:#14532D}
.ws-pd-art.made{background:linear-gradient(160deg,#FFE4E9,#FBC4D0);color:var(--cocoa)}
.ws-pd-art.raw{background:linear-gradient(160deg,#FFF3E2,#F6D7B0)}.ws-pd-art.kit{background:linear-gradient(160deg,#DFF5EC,#B3E3CF)}
.ws-badge{background:var(--cocoa);color:#FDA4AF}
.ws-stock.mto{color:var(--primary-dark)}
.ws-al{display:flex;gap:8px;align-items:flex-start;font-size:14px;background:#FFFBF2;border:1px solid #F5D9A8;color:#6B3F05;border-radius:12px;padding:10px 12px}
.ws-mbook-h>span{background:#FFF1DB;color:#8A4B06}
.ws-steps li>span{background:var(--primary)}
.ws-stars{color:var(--primary)}
.ws-sample{background:#FFE4E8;color:#881337}
.ws-foot{position:relative;background:var(--cocoa);padding-top:80px}
.ws-scallop{position:absolute;top:-1px;left:0;right:0;height:22px;background:radial-gradient(circle at 16px -4px,#FFFFFF 15px,transparent 16px) 0 0/32px 22px repeat-x}
.ws-sec.alt+.ws-foot .ws-scallop{background:radial-gradient(circle at 16px -4px,#FFF6F3 15px,transparent 16px) 0 0/32px 22px repeat-x}
.ws-foot a{color:#FDA4AF}
.ws-pin{background:var(--primary)}
.ws-chips button.on{background:var(--cocoa);border-color:var(--cocoa)}
.ws-pay button.on{background:#FFF1F3}
@media (max-width:960px){.ws-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.est-row{grid-template-columns:1fr}}
@media (max-width:600px){.ws-menu{grid-template-columns:1fr}.ws-mart{height:120px}.est-out{flex-direction:column;align-items:flex-start}.est-svc.four{grid-template-columns:repeat(4,minmax(0,1fr))}.ws-brand b{font-size:15px}}
.atti{background:#FFF8EC;border-color:#F5DDB0;color:var(--ink)}.atti .ic{color:#B45309}
.atti.bad{background:#FEF0EE;border-color:#F7C1BA;color:#8F1D13}.atti.bad .ic{color:var(--danger)}
.bomh,.bomr{grid-template-columns:minmax(0,1fr) 104px 120px 100px 40px}
.bomr.nc,.bomh.nc{grid-template-columns:minmax(0,1fr) 104px 40px}
@media (max-width:600px){.bomr{grid-template-columns:minmax(0,1fr) 96px 40px}}
