:root{--bg:#f4f6f8;--card:#fff;--ink:#14202b;--muted:#5d6b78;--line:#e2e7ec;--brand:#0f766e;--brand-d:#0b5a54;--brand-l:#e7f5f3;--brand-2:#14b8a6;--warn:#a5520a;--warn-l:#fff3e2;--bad:#b42318;--bad-l:#fdecea;--good:#067647;--good-l:#e6f6ec;--blue:#1d4ed8;--blue-l:#e8efff;--r:16px;--shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px rgba(16,24,40,.06);--side:248px;font-size:16px}
*{box-sizing:border-box}html,body{margin:0}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans Hebrew","Arial Hebrew",sans-serif;background:var(--bg);color:var(--ink);line-height:1.45;-webkit-text-size-adjust:100%}
a{color:var(--brand-d)}h1,h2,h3{line-height:1.2;margin:.1em 0 .55em;letter-spacing:-.01em}h1{font-size:1.75rem}h2{font-size:1.15rem}h3{font-size:1rem}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:99}.skip:focus{left:8px}
:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.shell{display:flex;min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);background:#0d2b2a;color:#d6ebe8;display:flex;flex-direction:column;padding:1rem .8rem;z-index:40;overflow-y:auto;transition:transform .25s ease}
.logo-slot{display:grid;place-items:center;width:100%;height:84px;border-radius:14px;background:rgba(255,255,255,.06);border:1.5px dashed rgba(255,255,255,.25);text-decoration:none;color:#9fc9c3;overflow:hidden}
.logo-slot img{max-width:100%;max-height:84px;object-fit:contain;background:#fff;border-radius:12px;padding:6px}.logo-slot.has{border:0;background:#fff}
.logo-ph{font-size:.78rem;text-align:center;line-height:1.2;text-transform:uppercase;letter-spacing:.12em}
.brandname{font-weight:700;color:#fff;margin:.7rem .4rem 1rem;font-size:1.02rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:.7rem;color:#cfe5e2;text-decoration:none;padding:.62rem .75rem;border-radius:10px;font-weight:500;transition:background .15s}
.nav a i{font-style:normal;width:1.3rem;text-align:center;opacity:.85}.nav a:hover{background:rgba(255,255,255,.07);color:#fff}.nav a.on{background:var(--brand-2);color:#032b28;font-weight:700}.nav a.on i{opacity:1}
.nav2{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}
.badge{margin-left:auto;background:#f59e0b;color:#3b2300;border-radius:999px;font-size:.72rem;padding:.05rem .45rem;font-weight:800}
.qbo-chip{margin-top:auto;padding:.7rem .75rem;font-size:.8rem;color:#9fc9c3;border-radius:10px;background:rgba(255,255,255,.05)}.qbo-chip b{color:#fff}
.content{flex:1;min-width:0;margin-left:var(--side)}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:1rem;padding:.7rem 1.6rem;background:rgba(244,246,248,.86);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.crumbs{font-weight:600;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;width:44px;height:44px;font-size:1.2rem;cursor:pointer}
.new-ad{box-shadow:0 4px 14px rgba(15,118,110,.35)}
main{max-width:1180px;margin:0 auto;padding:1.4rem 1.6rem 3rem;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.banner{background:var(--warn-l);color:#6f3a00;border-bottom:1px solid #f3d3a6;padding:.5rem 1.6rem;font-size:.9rem}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:35}
@media(max-width:899px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:none;box-shadow:0 0 40px rgba(0,0,0,.3)}.content{margin-left:0}.menu-btn{display:inline-grid;place-items:center}.topbar{padding:.6rem .9rem}main{padding:1rem .9rem 6rem}.banner{padding:.5rem .9rem}h1{font-size:1.4rem}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:1.15rem;margin:0 0 1rem;min-width:0}
.card h2:first-child,.card h3:first-child{margin-top:0}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.6rem;flex-wrap:wrap}.card-head h2{margin:0}
.muted{color:var(--muted)}.small{font-size:.88rem}.tiny{font-size:.78rem}.right{text-align:right}.nowrap{white-space:nowrap}.grow{flex:1}
.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.page-head h1{margin:0}.page-head p{margin:.25rem 0 0}
.grid{display:grid;gap:1rem}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g6{grid-template-columns:repeat(6,minmax(0,1fr))}
.fields{display:grid;gap:0 1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.fields.f3{grid-template-columns:repeat(3,minmax(0,1fr))}.fields.f4{grid-template-columns:repeat(4,minmax(0,1fr))}.span2{grid-column:span 2}.spanall{grid-column:1/-1}
@media(max-width:1100px){.g6{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.g2,.g3,.g4,.fields,.fields.f3,.fields.f4{grid-template-columns:1fr}.g6{grid-template-columns:repeat(2,minmax(0,1fr))}.span2{grid-column:auto}}
label{display:block;font-weight:600;font-size:.88rem;margin:0 0 .3rem}label .opt{font-weight:400;color:var(--muted)}
.field{margin:0 0 .9rem;min-width:0}
input,select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid #cdd5dd;border-radius:11px;padding:.62rem .75rem;min-height:46px;transition:border-color .15s,box-shadow .15s}
textarea{min-height:120px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(20,184,166,.18);outline:none}
input[type=checkbox],input[type=radio]{width:auto;min-height:auto;accent-color:var(--brand)}
.check{display:flex;align-items:center;gap:.55rem;font-weight:500}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font:inherit;font-weight:650;border-radius:11px;border:1px solid var(--brand);background:var(--brand);color:#fff;padding:.6rem 1.05rem;min-height:44px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .08s,background .15s,box-shadow .15s}
.btn:hover{background:var(--brand-d)}.btn:active{transform:scale(.98)}.btn.ghost{background:#fff;color:var(--brand-d);border-color:#c6dcd8}.btn.ghost:hover{background:var(--brand-l)}.btn.danger{background:#fff;color:var(--bad);border-color:#f1b5ae}.btn.danger:hover{background:var(--bad-l)}.btn.sm{min-height:36px;padding:.32rem .75rem;font-size:.88rem;border-radius:9px}.btn.big{font-size:1.06rem;padding:.8rem 1.4rem;min-height:52px}.btn[disabled]{opacity:.55;cursor:not-allowed}
.seg{display:flex;flex-wrap:wrap;gap:.6rem}.seg label{position:relative;margin:0;flex:1 1 160px;border:1.5px solid #cdd5dd;border-radius:14px;padding:.8rem .9rem;cursor:pointer;background:#fff;font-weight:650;transition:.15s}.seg input{position:absolute;opacity:0;pointer-events:none}.seg label:has(input:checked){border-color:var(--brand);background:var(--brand-l);box-shadow:0 0 0 3px rgba(20,184,166,.16)}.seg label:has(input:focus-visible){outline:3px solid #f59e0b}.seg small{display:block;font-weight:400;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chip{border:1.5px solid #cdd5dd;background:#fff;border-radius:999px;padding:.38rem .8rem;font:inherit;font-size:.9rem;cursor:pointer;min-height:38px;color:var(--ink);transition:.12s}.chip:hover{border-color:var(--brand)}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}
.pill{display:inline-block;border-radius:999px;padding:.14rem .6rem;font-size:.78rem;font-weight:700;border:0;white-space:nowrap}.pill.unpaid{background:var(--warn-l);color:var(--warn)}.pill.paid{background:var(--good-l);color:var(--good)}button.pill{cursor:pointer;min-height:28px;font-family:inherit}
.pill.qb{background:#e8f5e9;color:#1b5e20}.pill.sample{background:#eef2f6;color:#475569}.pill.site{background:var(--blue-l);color:var(--blue)}.pill.pending{background:#fef3c7;color:#92400e}.pill.over{background:var(--bad-l);color:var(--bad)}
.kpi{padding:1rem 1.1rem}.kpi .v{font-size:1.65rem;font-weight:800;letter-spacing:-.02em}.kpi .l{color:var(--muted);font-size:.85rem}.kpi .s{font-size:.8rem;color:var(--muted);margin-top:.15rem}
.kpi.accent{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;border:0}.kpi.accent .l,.kpi.accent .s{color:#d9fbf6}
.list{list-style:none;margin:0;padding:0}.list>li{border-top:1px solid var(--line);padding:.75rem 0}.list>li:first-child{border-top:0;padding-top:.2rem}
.item{display:flex;gap:.8rem;align-items:center}.item .body{flex:1;min-width:0}.item .t{font-weight:650}.item .sub{color:var(--muted);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thumb{width:60px;height:46px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#f1f3f5;flex:none}
.suggest{position:relative}.suggest ul{position:absolute;z-index:30;left:0;right:0;top:100%;margin:.25rem 0 0;padding:.3rem;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.12);max-height:280px;overflow:auto;animation:fade .12s}.suggest li button{display:block;width:100%;text-align:start;border:0;background:none;padding:.55rem .65rem;border-radius:9px;font:inherit;cursor:pointer}.suggest li button:hover,.suggest li button:focus{background:var(--brand-l)}
.suggest li.sug-new{border-top:1px solid var(--line);margin-top:.2rem;padding-top:.2rem}.suggest li.sug-new button{color:var(--brand);font-weight:600}
.card.newc-on{outline:2px solid var(--brand);outline-offset:-2px}
.table-wrap{overflow-x:auto;margin:0 -.2rem}table{border-collapse:collapse;width:100%}th,td{text-align:start;padding:.65rem .55rem;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.76rem;color:var(--muted);font-weight:650;text-transform:uppercase;letter-spacing:.05em;background:#fafbfc}tbody tr{transition:background .12s}tbody tr:hover{background:#f8fbfb}td.num,th.num{text-align:right;white-space:nowrap}
.price-row{border:1px solid var(--line);border-radius:14px;padding:.85rem;margin:0 0 .7rem;background:#fff}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:#0d2b2a;color:#fff;padding:.8rem 1.1rem;border-radius:14px;opacity:0;transition:.25s;pointer-events:none;max-width:92vw;z-index:60;box-shadow:0 10px 30px rgba(0,0,0,.25);font-weight:550}.toast.show{opacity:1;transform:translateX(-50%)}.toast::before{content:"✓ ";color:#5eead4}
.empty{text-align:center;color:var(--muted);padding:1.6rem 1rem}.empty .em{font-size:2rem;display:block;margin-bottom:.3rem}
.hint{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:.85rem;font-size:.9rem}
.code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;background:#f1f5f9;border-radius:9px;padding:.55rem .7rem;overflow-wrap:anywhere;display:block;white-space:pre-wrap}
.preview-cls{font-family:Georgia,"Times New Roman","Noto Serif Hebrew",serif;columns:3 200px;column-gap:1.2rem;font-size:.9rem;border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;background:#fffdf8}.preview-cls h4{text-align:center;margin:.5rem 0 .3rem;font-family:system-ui;font-size:.8rem;letter-spacing:.08em;break-after:avoid;border-bottom:1px solid #222;padding-bottom:.15rem}.preview-cls p{margin:0 0 .45rem;break-inside:avoid}
[dir=rtl]{text-align:right}
.drop{border:2px dashed #b9c6d2;border-radius:16px;padding:1.2rem;text-align:center;background:#fbfcfd;cursor:pointer;transition:.15s;position:relative}.drop:hover,.drop.over{border-color:var(--brand);background:var(--brand-l)}.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop .big{font-size:1.6rem}
.imgprev{max-width:100%;max-height:220px;border-radius:12px;border:1px solid var(--line);display:block;margin:.5rem auto 0}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.2rem;align-items:start}.summary{position:sticky;top:84px}
@media(max-width:1000px){.form-layout{grid-template-columns:1fr}.summary{position:static}}
.sum-total{font-size:2.3rem;font-weight:850;color:var(--brand-d);letter-spacing:-.03em;transition:transform .15s}.sum-total.bump{transform:scale(1.06)}
.adpreview{border:1px solid #d7dde3;border-radius:10px;padding:.7rem .8rem;background:#fffdf8;font-family:Georgia,"Times New Roman","Noto Serif Hebrew",serif;font-size:.93rem;min-height:3rem;overflow-wrap:anywhere}
.step{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--brand-l);color:var(--brand-d);font-size:.85rem;font-weight:800;margin-right:.45rem}
.bars{display:flex;align-items:flex-end;gap:.5rem;height:160px;padding-top:.5rem}.bars .b{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100%;justify-content:flex-end}.bars .b span{display:block;width:100%;max-width:44px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#14b8a6,#0f766e);min-height:3px;transition:height .5s ease}.bars .b small{font-size:.72rem;color:var(--muted);white-space:nowrap}.bars .b em{font-style:normal;font-size:.72rem;font-weight:700}
.meter{height:8px;border-radius:99px;background:#edf1f4;overflow:hidden}.meter span{display:block;height:100%;background:var(--brand-2)}
.queue-card h2{display:flex;align-items:center;gap:.5rem}.queue-card h2 .count{background:var(--brand-l);color:var(--brand-d);border-radius:999px;font-size:.8rem;padding:.05rem .55rem}
.lift{transition:transform .12s,box-shadow .12s}.lift:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(16,24,40,.09)}
.issue-tile{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:14px;padding:.85rem;background:#fff}.issue-tile .d{font-weight:750}.issue-tile.sel{border-color:var(--brand);box-shadow:0 0 0 3px rgba(20,184,166,.18)}
.details summary{cursor:pointer;font-weight:650;padding:.3rem 0}
.status-ok{color:var(--good);font-weight:650}.status-off{color:var(--muted);font-weight:650}.status-err{color:var(--bad);font-weight:650}
.invoice{max-width:840px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2.2rem;box-shadow:var(--shadow)}
.inv-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:1rem;margin-bottom:1rem}.inv-head h1{font-size:1.9rem;margin:0;letter-spacing:.06em}.inv-logo{max-height:70px;max-width:200px;margin-bottom:.4rem}
.inv-logos{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.inv-logos .inv-logo{max-width:170px}
.inv-total td{font-weight:800;font-size:1.15rem;border-bottom:0}
.paid-stamp{display:inline-block;border:3px solid var(--good);color:var(--good);font-weight:800;padding:.2rem .7rem;transform:rotate(-6deg);border-radius:8px;letter-spacing:.1em}
@media print{body{background:#fff}.no-print,.topbar,.sidebar,.banner{display:none!important}.content{margin:0}main{padding:0;max-width:none;animation:none}.invoice{border:0;box-shadow:none;padding:0}}
@media(max-width:520px){.invoice{padding:1.1rem}.new-ad{padding:.55rem .8rem}}

/* ---- login ---- */
body.login-mode .shell,body.login-mode #banner{display:none}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.2rem;background:radial-gradient(1200px 600px at 10% -10%,#d7f2ee 0,transparent 60%),radial-gradient(900px 500px at 110% 110%,#e3e9ff 0,transparent 55%),var(--bg)}
.login-card{width:100%;max-width:440px;animation:pop .35s ease}
.login-logo{display:block;max-width:260px;width:80%;margin:0 auto 1rem}
.login-card h1{text-align:center;margin-bottom:.1rem}.login-card>.muted{text-align:center;margin-top:0}
.demo-creds{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.6rem}
.demo-grid .chip{border-radius:12px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;padding:.5rem .7rem}.demo-grid small{color:var(--muted);font-size:.78rem}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
/* ---- topbar user + caller id ---- */
.userbox{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.userbox .avatar{width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700}
.userbox .who{display:flex;flex-direction:column;line-height:1.1}.userbox .who small{color:var(--muted);font-size:.75rem}
.callerid input{min-height:38px;padding:.35rem .7rem;width:190px;border-radius:999px}
.topbar .new-ad{margin-left:.4rem}
@media (max-width:900px){.callerid{display:none}.userbox .who{display:none}}
a.tel{white-space:nowrap}a.tel::before{content:"☎ ";font-size:.85em}
/* ---- incoming call pop-up ---- */
.callpop{position:fixed;right:18px;bottom:18px;width:min(420px,calc(100vw - 24px));background:#fff;border-radius:18px;box-shadow:0 20px 50px rgba(16,24,40,.25);border:2px solid var(--brand-2);z-index:90;padding:1rem 1.1rem;animation:pop .3s ease}
.callpop .ring{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--brand-d)}
.callpop .ring::before{content:"☎";display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand-l);animation:ring 1s ease-in-out infinite}
@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(-15deg)}40%{transform:rotate(15deg)}60%{transform:rotate(-10deg)}80%{transform:rotate(8deg)}}
.callpop .x{position:absolute;right:10px;top:8px;border:0;background:none;font-size:1.4rem;cursor:pointer;color:var(--muted)}
.mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.7rem 0}.mini-kpis div{background:var(--bg);border-radius:10px;padding:.45rem .6rem}.mini-kpis b{display:block;font-size:1.1rem}.mini-kpis small{color:var(--muted)}
/* ---- data grid (simchas, reports) ---- */
.grid-tools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin-bottom:.8rem}
table.dg{font-size:.88rem}table.dg th{position:sticky;top:0;background:#f8fafb;cursor:pointer;user-select:none;white-space:nowrap;text-align:start}
table.dg th,table.dg td{padding:.45rem .55rem;border-bottom:1px solid var(--line);vertical-align:top}table.dg tr:hover td{background:#f7fbfa}
table.dg td.num,table.dg th.num{text-align:right;font-variant-numeric:tabular-nums}
table.dg td .cellbtn{border:0;background:none;padding:0;font:inherit;color:var(--brand-d);cursor:pointer;text-decoration:underline dotted}
table.dg tfoot td{font-weight:700;background:#f8fafb}
.dg-wrap{max-height:70vh;overflow:auto;border:1px solid var(--line);border-radius:12px}
.status-sel{min-height:32px;padding:.15rem .4rem;width:auto;font-size:.85rem}
.tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1rem}.tabs a{padding:.5rem .95rem;border-radius:999px;background:#fff;border:1.5px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600}.tabs a.on{background:var(--brand);border-color:var(--brand);color:#fff}
.drawer{position:fixed;inset:0 0 0 auto;width:min(560px,100vw);background:#fff;z-index:80;box-shadow:-20px 0 40px rgba(16,24,40,.18);overflow-y:auto;padding:1.2rem;animation:slidein .25s ease}
@keyframes slidein{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.drawer-scrim{position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:79}
.deadline{display:inline-flex;gap:.4rem;align-items:center;padding:.3rem .7rem;border-radius:999px;background:var(--blue-l);color:var(--blue);font-weight:600;font-size:.85rem}
.deadline.soon{background:var(--warn-l);color:var(--warn)}.deadline.past{background:var(--bad-l);color:var(--bad)}
.pill.late{background:var(--bad-l);color:var(--bad)}
.policy{background:var(--warn-l);border:1px solid #f3c78b;border-radius:12px;padding:.6rem .8rem;margin-top:.6rem}
.addons{display:flex;flex-wrap:wrap;gap:.5rem}
.group-h{margin:1rem 0 .4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:flex;gap:.5rem;align-items:center}.group-h b{color:var(--ink)}
.bar{height:8px;border-radius:99px;background:var(--brand-l);overflow:hidden}.bar i{display:block;height:100%;background:var(--brand-2)}

.logo-slot{height:auto;min-height:84px;padding:4px}.logo-slot img{max-height:120px;width:100%;height:auto}

tr.is-late td{background:#fff1f0}
@media print{body.print-checklist .sidebar,body.print-checklist .topbar,body.print-checklist .banner,body.print-checklist .no-print,body.print-checklist .chips button:not(.on){display:none!important}body.print-checklist .content{margin:0!important}body.print-checklist .card{box-shadow:none;border:1px solid #ccc;break-inside:avoid}body.print-checklist .thumb{width:40px;height:40px}}

.notice{background:#f3f7ff;border:1px solid #c9d8f5;border-radius:10px;padding:.8rem 1rem}
.notice input{font-size:.85rem}

.openbar{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fde68a;color:#713f12;padding:.5rem 1.25rem;font-weight:600;font-size:.92rem;border-bottom:1px solid #f59e0b}.openbar[hidden]{display:none}.openbar .btn{background:#713f12;border-color:#713f12;color:#fff}

/* client list (tap a row to open the client) */
.clist{display:flex;flex-direction:column}
.crow{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.6fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,.9fr) 18px;gap:.75rem;align-items:center;padding:.7rem .6rem;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;border-radius:8px;min-height:52px}
a.crow:hover{background:var(--brand-l)}a.crow:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.crow.chead{font-size:.76rem;color:var(--muted);font-weight:650;text-transform:uppercase;letter-spacing:.05em;min-height:0;padding-top:.3rem;padding-bottom:.4rem}
.crow .c-name b{display:block;overflow:hidden;text-overflow:ellipsis}.crow .c-name small{display:block}.crow .c-contact{overflow:hidden;text-overflow:ellipsis;word-break:break-word}.crow .num{text-align:end}.crow .c-go{color:var(--muted);font-size:1.3rem;text-align:end}
.crow .c-inv small{display:block}
.pager{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:.6rem 0;flex-wrap:wrap}
#clist.loading,#invlist.loading,#paylist.loading{opacity:.55;transition:opacity .15s}
@media(max-width:760px){.crow{grid-template-columns:minmax(0,1fr) auto 14px;grid-template-areas:"name owed go" "contact inv go";gap:.15rem .6rem;padding:.75rem .35rem}.crow.chead{display:none}.crow .c-name{grid-area:name}.crow .c-owed{grid-area:owed}.crow .c-contact{grid-area:contact}.crow .c-inv{grid-area:inv}.crow .c-inv small{display:inline}.crow .c-billed{display:none}.crow .c-go{grid-area:go}}
/* client page */
.kv{display:grid;grid-template-columns:max-content 1fr;gap:.45rem 1rem;margin:0}.kv dt{color:var(--muted);font-size:.85rem}.kv dd{margin:0;word-break:break-word}
.aging{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.aging>div{border:1px solid var(--line);border-radius:10px;padding:.6rem .7rem;background:#fff}.aging small{display:block;color:var(--muted);font-size:.78rem}.aging b{font-size:1.1rem}.aging .warn{background:var(--warn-l);border-color:#f5d0a0}.aging .bad{background:var(--bad-l);border-color:#f3b4ae}.aging .zero b{color:var(--muted);font-weight:600}
.client-head{align-items:flex-start}.client-actions{justify-content:flex-end}
@media(max-width:700px){.aging{grid-template-columns:repeat(2,minmax(0,1fr))}.client-actions{justify-content:flex-start}.client-actions .btn{flex:1 1 auto}
 .rtable thead{display:none}.rtable,.rtable tbody,.rtable tr,.rtable td{display:block;width:100%}.rtable tr{display:grid;grid-template-columns:1fr 1fr;gap:.15rem .8rem;border-bottom:1px solid var(--line);padding:.6rem .2rem}.rtable td{border:0;padding:.1rem 0;text-align:start}.rtable td.num{text-align:start}.rtable td::before{content:attr(data-l);display:block;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.rtable td.rt-wide{grid-column:1/-1}}

[hidden]{display:none!important}
@media(max-width:700px){.client-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.6rem}.client-kpis .kpi{padding:.75rem .8rem}.client-kpis .kpi .v{font-size:1.2rem}.client-kpis .kpi .s{font-size:.74rem}
 .pager{flex-wrap:nowrap}.pager span{flex:1;text-align:center;font-size:.76rem}.pager.top{display:none}}
@media(max-width:700px){.kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.45rem}.kpi-row .kpi{padding:.6rem .55rem}.kpi-row .kpi .v{font-size:1.02rem}.kpi-row .kpi .l,.kpi-row .kpi .s{font-size:.7rem}}

/* custom prices + marketer */
.pill.mkt{background:#ede9fe;color:#5b21b6}
.pill.custom{background:#e0f2fe;color:#075985;cursor:default;min-height:0}
.cptable td{vertical-align:middle}.cptable input.cp-in{max-width:130px;padding:.35rem .5rem}.cptable input.cp-in.set{border-color:#0369a1;background:#f0f9ff;font-weight:700}
.cptable .cp-def{display:block;font-size:.72rem;margin-bottom:.1rem}.cptable tr.cp-sub td:first-child{padding-left:1.2rem}
.cptable.weekly .cp-na{display:none}
.inv-disc td{color:#5b21b6}
#cpdet summary{cursor:pointer;padding:.3rem 0}
@media(max-width:700px){.cptable .cp-na{display:none}.cptable tr{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cptable input.cp-in{max-width:none;width:100%}.cptable tr.cp-sub td:first-child{padding-left:0}}
.cptable input.cp-in::placeholder,#mkt_pct::placeholder{color:#a3adb8;font-style:italic;opacity:1}

/* show-password eye */
.pw-wrap{position:relative;display:block}
.pw-wrap input{padding-right:3rem;width:100%}
.pw-eye{position:absolute;right:.2rem;top:50%;transform:translateY(-50%);width:44px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:8px;color:var(--muted,#667);cursor:pointer;padding:0}
.pw-eye:hover,.pw-eye:focus-visible{color:var(--brand,#1a56db);background:rgba(0,0,0,.05)}
.pw-eye .slash{display:none}.pw-eye.on .slash{display:inline}
.pwdlg{border:0;border-radius:14px;padding:1.2rem;max-width:min(420px,92vw);width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.pwdlg::backdrop{background:rgba(0,0,0,.35)}

/* client contact editor */
.cedit .ce-h{font-size:.95rem;margin:1rem 0 .4rem}
.ce-row{display:grid;grid-template-columns:110px 1fr 78px auto auto;gap:.4rem;align-items:center;margin-bottom:.45rem}
.ce-row.em{grid-template-columns:110px 1fr auto auto}
.ce-row input,.ce-row select{min-width:0;width:100%}
@media (max-width:560px){
 .ce-row,.ce-row.em{display:grid;grid-template-columns:minmax(0,1fr) 72px 44px 44px;grid-template-areas:"l x u r" "n n n n";gap:.35rem;padding:.5rem;border:1px solid var(--line,#e2e7ec);border-radius:10px}
 .ce-row.em{grid-template-columns:minmax(0,1fr) 44px 44px;grid-template-areas:"l u r" "n n n"}
 .ce-row .ce-l{grid-area:l}.ce-row .ce-num,.ce-row .ce-mail{grid-area:n}.ce-row .ce-ext{grid-area:x}.ce-row .ce-up{grid-area:u}.ce-row .ce-rm{grid-area:r}
 .ce-row .btn.sm{padding:0;min-width:0;width:44px;height:44px}
}
.client-logo{max-width:160px;max-height:90px;object-fit:contain;display:block;margin:-.2rem 0 .7rem;border-radius:6px}
.c-logo{width:28px;height:28px;object-fit:contain;border-radius:4px;vertical-align:middle;margin-right:.4rem;background:#fff}

.logo-box{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:-.2rem 0 .7rem}
.logo-box .client-logo{margin:0}
.logo-file{font-size:.9rem}
span.c-logo{display:inline-flex;align-items:center;justify-content:center;font-size:1rem}

.viewas{display:flex;align-items:center;gap:.35rem;margin:0 .4rem 0 0;font-weight:500}
.viewas select{width:auto;min-height:36px;padding:.25rem .45rem;font-size:.9rem}
.viewasbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;background:#eef2ff;color:#1e1b4b;border-bottom:1px solid #c7d2fe;padding:.5rem 1rem;font-size:.92rem}
@media (max-width:700px){.viewas .small{display:none}.userbox .who{display:none}.viewas select{max-width:92px;font-size:.85rem}.userbox:has(.viewas) .avatar{display:none}.topbar .new-ad{white-space:nowrap}}

@media (max-width:560px){.topbar{gap:.4rem}.userbox{gap:.3rem}.userbox #logout{padding:.3rem .5rem;font-size:.85rem}.topbar .new-ad span[aria-hidden]{display:none}}

/* invoices typed by hand, record payment, recurring */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.li-head,.li-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 120px 110px 40px;gap:.5rem;align-items:center}
.li-head{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 0 .3rem;border-bottom:1px solid var(--line)}
.li-row{padding:.45rem 0;border-bottom:1px solid var(--line)}.li-row input{margin:0}.li-l{display:none}.li-amt{text-align:right}.li-head .num{text-align:right}
.li-tools{margin-top:.7rem;gap:.6rem;align-items:center;flex-wrap:wrap}.li-pick{display:flex;align-items:center;gap:.5rem;margin:0;flex:1;min-width:240px}.li-pick select{flex:1;min-width:0}
.li-total{display:flex;justify-content:flex-end;gap:1rem;align-items:baseline;margin-top:.8rem;font-size:1.05rem}.li-total b{font-size:1.25rem}
.savebar{position:sticky;bottom:0;z-index:5;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 -4px 18px rgba(16,24,40,.08);padding:.8rem 1rem;margin-top:1rem}
.savebar .status-err{flex:1;margin:0;min-width:160px}.big-total{font-size:1.6rem;font-weight:800;line-height:1.1}
.rp-rows{display:grid;gap:.45rem}.rp-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto 150px;gap:.6rem;align-items:center;border:1px solid var(--line);border-radius:12px;padding:.55rem .7rem;cursor:pointer;margin:0;font-weight:400}
.rp-row.on{border-color:var(--brand);background:var(--brand-l)}.rp-main{display:flex;flex-direction:column;min-width:0}.rp-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-in{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.rp-in input{margin:0;text-align:right}.rp-chk{width:20px;height:20px}
.billing-actions{gap:.5rem;flex-wrap:wrap}
@media (max-width:700px){
 .li-head{display:none}.li-row{grid-template-columns:1fr 1fr;grid-template-areas:"d d" "q p" "a x";row-gap:.35rem;padding:.7rem 0}.li-l{display:block;font-size:.72rem;color:var(--muted);margin:0 0 .1rem}
 .li-desc{grid-area:d}.li-qty{grid-area:q}.li-price{grid-area:p}.li-amt{grid-area:a;text-align:left}.li-x{grid-area:x;justify-self:end}
 .rp-row{grid-template-columns:24px minmax(0,1fr) 112px;grid-template-areas:"c m i" "c b i"}.rp-row .rp-chk{grid-area:c}.rp-main{grid-area:m}.rp-bal{grid-area:b}.rp-in{grid-area:i}
 .savebar{padding:.7rem .8rem}.savebar .btn.big{width:100%}.big-total{font-size:1.35rem}
}

.rd-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.7rem}.rd-grid .field{margin:0}
.rd-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 .2rem}.rd-sum{margin:.6rem 0 .3rem;font-size:.95rem}
.linkbtn{background:none;border:0;padding:.2rem 0;color:var(--brand-d);text-decoration:underline;font:inherit;cursor:pointer}.linkbtn.small{font-size:.85rem}
@media (max-width:520px){.rd-grid{grid-template-columns:1fr 110px}}
@media (max-width:700px){.grid.g4.kpi2{grid-template-columns:1fr 1fr;gap:.6rem}.grid.g4.kpi2 .kpi .v{font-size:1.15rem}}

/* =====================================================================
   Nov 9 2026: the old design is back (Tuli: "Put back the old design").
   Everything above is the original stylesheet. Below: only the pieces the
   new features need (search, shortcuts, palette, phone tab bar, save bar),
   drawn in the old look.
   ===================================================================== */
:root{--side-bg:#0d2b2a;--side-ink:#d6ebe8;--side-mute:#8fb8b2;--line-2:#cdd5dd;--hover:#eef2f5;--shadow-lg:0 18px 50px rgba(16,24,40,.22)}
.num,td.num,th.num,.kpi .v,.money{font-variant-numeric:tabular-nums}
kbd{display:inline-block;font:600 .74rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:.2rem .4rem;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:6px;background:#fff;color:var(--ink);margin:0 .08rem}
/* top-bar search */
.gsearch{display:flex;align-items:center;gap:.5rem;flex:0 1 320px;min-width:160px;height:38px;padding:0 .5rem 0 .85rem;border:1.5px solid #cdd5dd;border-radius:999px;background:#fff;color:var(--muted);font:inherit;font-size:.95rem;cursor:pointer;transition:border-color .12s}
.gsearch:hover{border-color:var(--brand)}.gs-ic{font-size:1.1rem}.gs-t{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gs-k{margin-left:auto;white-space:nowrap;color:var(--muted);font-weight:500;border-bottom-width:1px}
.sc-link{border:0;background:none;padding:.3rem .25rem;font:inherit;font-size:.88rem;font-weight:500;color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:6px}
.sc-link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
/* shortcut letters beside menu items: quiet, brighter on hover */
.nk{margin-left:auto;font:500 .72rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:0;border:0;background:none;color:rgba(214,235,232,.38);letter-spacing:.02em;transition:color .12s}
.nav a .badge + .nk{margin-left:.5rem}
.nav a:hover .nk{color:rgba(255,255,255,.8)}
.nav a.on .nk{color:rgba(3,43,40,.55)}
.new-ad .nk{margin-left:.45rem;color:rgba(255,255,255,.65);font-size:.74rem}
.nav-sc{display:none!important}
.sidebar>*{flex-shrink:0}
/* search palette */
.palette{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.35);display:flex;justify-content:center;align-items:flex-start;padding:10vh 1rem 1rem}
.palette[hidden]{display:none}
.pal-box{width:min(640px,100%);background:#fff;border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden}
.pal-in{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;border-bottom:1px solid var(--line);font-size:1.15rem;color:var(--muted)}
.pal-in input{border:0;box-shadow:none;font-size:1.05rem;padding:.5rem 0;min-height:44px}.pal-in input:focus{box-shadow:none;outline:0}
.pal-res{max-height:min(56vh,460px);overflow:auto;padding:.4rem}
.pal-g{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.6rem .7rem .25rem}
.pal-it{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem .7rem;border-radius:10px;color:var(--ink);text-decoration:none}
.pal-it.on,.pal-it:hover{background:var(--brand-l)}
.pal-l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pal-h{font-size:.8rem;color:var(--muted);white-space:nowrap}
.pal-empty{padding:1.2rem .8rem;color:var(--muted)}
.pal-foot{display:flex;gap:1rem;flex-wrap:wrap;padding:.55rem 1rem;border-top:1px solid var(--line);background:var(--bg);font-size:.85rem;color:var(--muted)}
body.pal-open{overflow:hidden}
.kbd-help{position:fixed;z-index:85;left:50%;top:12vh;transform:translateX(-50%);width:min(460px,94vw);background:#fff;border-radius:var(--r);box-shadow:var(--shadow-lg);padding:1.2rem 1.3rem}
.kbd-help td{padding:.45rem .3rem}
/* small pieces the new flows use */
.btn.soft{background:var(--brand-l);color:var(--brand-d);border-color:transparent}.btn.soft:hover{background:#d5efeb}
.btn.ok{background:var(--good);border-color:var(--good);color:#fff}
.suggest ul button.kb{background:var(--brand-l)}
.cinfo-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
#cedit{display:none}
.cl-compact #cedit{display:inline;white-space:nowrap}
.cl-compact .fields>.field:not(.suggest){display:none}
.cl-compact .fields{grid-template-columns:1fr}
.newc-on{border-color:var(--brand);box-shadow:0 0 0 3px rgba(20,184,166,.16)}
tr.leaving td{opacity:.35;transition:opacity .2s}
.m-savebar{display:none}
.mchips{display:none}
.sidefoot{display:none}
.who-m{display:flex;flex-direction:column;line-height:1.15}
.tabbar{display:none}
.inv-totals{margin:.2rem 0 .6rem}
.inv-totals summary{display:inline-block;cursor:pointer;color:var(--muted);font-size:.88rem;list-style:none;user-select:none}
.inv-totals summary::-webkit-details-marker{display:none}
.inv-totals summary:hover{color:var(--ink)}
.inv-totals .it-row{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin-top:.45rem;font-size:.92rem;color:var(--muted)}.inv-totals .it-row b{color:var(--ink);font-variant-numeric:tabular-nums}
/* top bar: room for search + shortcuts beside the old items */
@media(min-width:900px){
  .topbar{gap:.7rem}
  .crumbs{flex:1 1 auto;min-width:0}
  .gsearch{flex:0 1 230px;min-width:130px}
  .callerid{flex:0 1 160px;min-width:110px}.callerid input{width:100%}
  .new-ad,.userbox,.sc-link{flex-shrink:0}
  .viewas,.viewas *,.who b{white-space:nowrap}
  .viewas select{max-width:120px}
}
@media(min-width:900px){.viewas select{max-width:130px}}
@media(min-width:900px) and (max-width:1100px){.gs-t{display:none}.gsearch{flex:0 0 auto;min-width:0}}
@media(min-width:900px) and (max-width:1366px){.gs-k{display:none}.userbox .who{display:none}.viewas>.small{display:none}}
/* phone: bottom tab bar (dark, to match the menu); "More" opens the side menu */
@media(max-width:899px){
  .nk,.sc-link{display:none!important}
  .nav-sc{display:flex!important}
  .topbar{gap:.5rem}
  .menu-btn{display:none}
  .crumbs{display:none}
  .gsearch{flex:1 1 auto;min-width:0}.gs-k{display:none}
  .callerid,.who,.viewas{display:none!important}
  .userbox .btn{display:none}
  .new-ad{display:none!important}
  main{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}
  .sidebar{width:min(300px,86vw);z-index:46;padding-bottom:calc(5rem + env(safe-area-inset-bottom))}
  .scrim{z-index:44}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--side-bg);border-top:1px solid rgba(255,255,255,.08);padding:.25rem .25rem calc(.25rem + env(safe-area-inset-bottom))}
  .tabbar[hidden]{display:none}
  .tabbar a,.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:54px;border:0;background:none;font:inherit;font-size:.7rem;font-weight:600;color:#9fc9c3;text-decoration:none;border-radius:10px;cursor:pointer}
  .tabbar i{font-style:normal;font-size:1.25rem;line-height:1}
  .tabbar a.on{color:#fff}.tabbar a.on i{color:var(--brand-2)}
  .tabbar .tb-new i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand-2);color:#032b28;font-size:1.1rem}
  .sidefoot{display:block;margin-top:.8rem;padding:.7rem .4rem 0;border-top:1px solid rgba(255,255,255,.1);color:var(--side-ink)}
  .who-m b{color:#fff}.who-m small{color:var(--side-mute);font-size:.75rem}
  .sidefoot label{color:var(--side-ink)}
  .sidefoot .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
  .palette{padding:0;align-items:stretch}.pal-box{border-radius:0;width:100%;height:100%;display:flex;flex-direction:column}.pal-res{max-height:none;flex:1}.pal-foot{display:none}
  .pal-it{min-height:48px}
  body.formview .tabbar{display:none}
  body.formview main{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}
  .m-savebar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;align-items:center;justify-content:space-between;gap:.8rem;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(16,24,40,.1);padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom))}
  .m-savebar b{font-size:1.25rem}.m-savebar .btn{flex:0 0 auto;min-width:150px}
  .mchips{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.4rem}
}
@media print{.tabbar,.palette,.m-savebar,.gsearch,.sc-link,.inv-totals{display:none!important}}

/* edit invoice / pay line */
.warn-note{color:#8a5a00;background:#fff7e6;border:1px solid #f1d7a6;border-radius:6px;padding:.45rem .7rem;margin:.3rem 0 0}
.inv-payline{margin-top:1rem;color:var(--muted,#5d6b78)}
.inv-payline a{word-break:break-all}

.stpk{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line,#e3e7eb)}

/* saved cards & charge dialog */
.cdlg.wide{max-width:min(520px,94vw)}
.cdlg h2{font-size:1.15rem}
.cards-t{width:100%;border-collapse:collapse;margin-top:.6rem}
.cards-t td{padding:.5rem .4rem;border-top:1px solid var(--line);vertical-align:middle}
.cards-t tr:first-child td{border-top:0}
.default-tag{color:var(--brand-d);font-weight:600}
.linkbtn{background:none;border:0;padding:0 .35rem;color:var(--brand-d);cursor:pointer;font:inherit}
.linkbtn:hover{text-decoration:underline}.linkbtn.danger{color:var(--bad)}
.stripe-field{border:1px solid #cdd5dd;border-radius:10px;padding:.75rem .7rem;background:#fff;min-height:1.3rem}
.cpicks{display:flex;flex-direction:column;gap:.35rem}
.cpick{display:flex;align-items:center;gap:.45rem;font-weight:400;border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;margin:0;cursor:pointer}
.cpick:has(input:checked){border-color:var(--brand);background:var(--brand-l)}

/* client page actions: one row, extra actions under More */
.client-actions{flex-wrap:nowrap;align-items:center}
.more-menu{position:relative}
.more-menu>summary{list-style:none;cursor:pointer}
.more-menu>summary::-webkit-details-marker{display:none}
.more-list{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:190px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(16,24,40,.14);padding:.3rem;display:flex;flex-direction:column}
.more-list a,.more-list button{display:block;text-align:left;background:none;border:0;padding:.55rem .75rem;border-radius:7px;color:var(--ink);font:inherit;font-size:.92rem;cursor:pointer;text-decoration:none}
.more-list a:hover,.more-list button:hover{background:var(--brand-l)}
.cpick-new{border-style:dashed}

/* Settings: short left menu, one section at a time */
.set-wrap{display:grid;grid-template-columns:210px minmax(0,1fr);gap:1.4rem;align-items:start}
.set-nav{position:sticky;top:76px;display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.4rem}
.set-nav a{display:block;padding:.55rem .75rem;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.93rem;font-weight:500}
.set-nav a:hover{background:#f1f4f6}
.set-nav a.on{background:var(--brand-l);color:var(--brand-d);font-weight:650;box-shadow:inset 3px 0 0 var(--brand)}
.set-body{min-width:0}
.set-body .page-head h1{font-size:1.3rem}
@media (max-width:820px){.set-wrap{grid-template-columns:1fr}.set-nav{position:static;flex-direction:row;flex-wrap:wrap}}

/* Issues: New / Keep / Remove since the last issue */
.chg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:.8rem}
.chg-col h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .4rem;color:var(--ink)}
.chg-list{list-style:none;margin:0;padding:0;font-size:.9rem}
.chg-list li{padding:.3rem 0;border-top:1px solid var(--line)}
.chg-list li:first-child{border-top:0}
.chg-col:nth-child(1) h3{color:var(--good)}.chg-col:nth-child(3) h3{color:var(--bad)}
.pricedlg #cpricing h2{margin-top:0}
@media print{.chg-card{break-inside:avoid}}

.card-head{margin-bottom:.6rem;align-items:center}
.edit-link{color:var(--muted)}.edit-link:hover{color:var(--brand-d)}

.rowmore{display:inline-block;vertical-align:middle}
.rowmore .more-list{min-width:200px}
.bnote{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notedlg{max-width:440px}

.patbox{margin-top:.7rem;padding:.8rem;border:1px solid var(--line);border-radius:10px;background:#fafbfc}
.oe-bar{padding:.7rem 1rem}
.danger-t{color:var(--bad)}

/* New ad: "Other…" description + price, and the extra lines under the size */
.other-row{display:flex;gap:1rem;align-items:flex-end}.other-row .grow{flex:1;min-width:0}.other-price{width:140px;flex:none}
#xbox{margin-top:-.2rem}#xrows .xrow{display:flex;gap:.6rem;align-items:center;margin-bottom:.45rem;flex-wrap:nowrap}#xrows .xdesc{flex:1;min-width:0}#xrows .xamt{width:120px;flex:none}#xrows .xdel{flex:none;color:var(--muted,#6b7280);text-decoration:none}
#xadd{text-decoration:none;color:var(--muted,#5d6b78)}#xadd:hover{color:var(--brand-d);text-decoration:underline}
/* Type picker: name, with the print size small and light beside it */
.tpick{position:relative}
.tpick-btn{width:100%;display:flex;align-items:baseline;gap:.55rem;text-align:left;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid #cdd5dd;border-radius:11px;padding:.62rem .75rem;min-height:46px;cursor:pointer;transition:border-color .15s,box-shadow .15s;white-space:nowrap;overflow:hidden}
.tpick-btn:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(20,184,166,.18);outline:none}
.tpick-btn small,.tpick-list small{color:var(--muted);font-size:.8rem;font-weight:400}
.tpick-btn .tp-name{overflow:hidden;text-overflow:ellipsis}.tpick-btn .tp-caret{margin-left:auto;color:var(--muted);font-size:.8rem}
.tpick-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);margin:0;padding:.3rem 0;list-style:none;background:#fff;border:1px solid #cdd5dd;border-radius:11px;box-shadow:0 10px 28px rgba(15,23,42,.14);max-height:340px;overflow:auto}
.tpick-list li{display:flex;align-items:baseline;gap:.55rem;padding:.5rem .8rem;cursor:pointer;white-space:nowrap}
.tpick-list li.hi,.tpick-list li:hover{background:#f1f5f4}.tpick-list li.on{font-weight:600}.tpick-list li.on small{font-weight:400}
.tpick-list li.other{border-top:1px solid #e6ebef;margin-top:.25rem;padding-top:.6rem;color:var(--muted)}
.charcount{color:var(--muted);font-variant-numeric:tabular-nums}.charcount.near{color:#b45309}.charcount.over{color:#b91c1c;font-weight:600}
/* House item: free, no invoice. Hide the money parts of the form. */
.step-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:nowrap}.step-head h2{margin-bottom:0}
.house-tog{margin:0;color:var(--muted);white-space:nowrap}
#adf.is-house #punit,#adf.is-house #pover,#adf.is-house label[for=punit],#adf.is-house label[for=pover],#adf.is-house #discbox,#adf.is-house #xbox,#adf.is-house #addonbox,#adf.is-house #ptag,#adf.is-house #apay,#adf.is-house label[for=apay],#adf.is-house #oprice,#adf.is-house label[for=oprice],#adf.is-house #pkgbox{display:none!important}
