
:root{
 --bg:#0b0b0d;--panel:#141417;--panel2:#1b1b20;--line:#2b2b31;--text:#f5f5f3;
 --muted:#9c9ca5;--orange:#ff6a00;--green:#50d890;--red:#ff7979;--yellow:#ffd166;
 --radius:18px;--shadow:0 12px 34px rgba(0,0,0,.26)
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh}
button,input{font:inherit}
button{cursor:pointer}
.shell{max-width:640px;margin:0 auto;min-height:100vh;padding-bottom:calc(92px + env(safe-area-inset-bottom));background:radial-gradient(circle at 90% 0,rgba(255,106,0,.12),transparent 28%),var(--bg)}
.topbar{position:sticky;top:0;z-index:20;padding:calc(14px + env(safe-area-inset-top)) 17px 12px;background:linear-gradient(180deg,rgba(11,11,13,.98),rgba(11,11,13,.88),rgba(11,11,13,.35));backdrop-filter:blur(15px)}
.brandrow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;gap:10px;align-items:center;font-weight:850;letter-spacing:-.02em}
.brandmark{width:40px;height:40px;border-radius:13px;background:var(--orange);color:#111;display:grid;place-items:center;font-weight:950}
.brand small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-top:2px}
.iconbtn,.backbtn{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:13px;height:40px;min-width:40px;padding:0 12px}
.content{padding:8px 16px 24px}
.hero{padding:8px 2px 16px}
.eyebrow{font-size:11px;color:var(--orange);font-weight:850;letter-spacing:.13em;text-transform:uppercase}
h1{font-size:29px;line-height:1.05;margin:8px 0 6px;letter-spacing:-.04em}
.subtitle,.meta{color:var(--muted);font-size:12px;line-height:1.55}
.notice{padding:11px 13px;border-radius:14px;background:rgba(80,216,144,.08);border:1px solid rgba(80,216,144,.2);color:#9ee8be;font-size:12px;line-height:1.45;margin:0 0 14px}
.notice.error{background:rgba(255,121,121,.08);border-color:rgba(255,121,121,.2);color:#ffaaaa}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:18px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}
.kpi .value{font-size:25px;font-weight:900;letter-spacing:-.04em}.kpi .label{font-size:11px;color:var(--muted);margin-top:3px}
.section{margin-top:18px}.sectionhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sectionhead h2{font-size:16px;margin:0}.linkbtn{border:0;background:none;color:var(--orange);font-size:12px;font-weight:800}
.search{display:flex;gap:9px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:11px 13px;margin:4px 0 14px}
.search input{width:100%;border:0;outline:0;background:none;color:var(--text)}.search input::placeholder{color:#73737b}
.list{display:grid;gap:9px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}
.card.clickable:active{transform:scale(.995)}
.cardrow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card h3{font-size:15px;margin:0 0 5px;letter-spacing:-.02em}
.badge{font-size:10px;font-weight:850;padding:5px 7px;border-radius:999px;white-space:nowrap;background:var(--panel2);border:1px solid var(--line)}
.badge.green{color:var(--green)}.badge.orange{color:#ff9f5a}.badge.red{color:var(--red)}.badge.yellow{color:var(--yellow)}
.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.tag{font-size:10px;padding:5px 7px;border:1px solid var(--line);border-radius:999px;color:#cfcfd4;background:var(--panel2)}
.page-title{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:8px 2px 13px}.page-title h1{margin:0}.count{font-size:11px;color:var(--muted)}
.bottomnav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:30;width:min(640px,100%);padding:8px 9px calc(8px + env(safe-area-inset-bottom));background:rgba(14,14,17,.96);border-top:1px solid var(--line);backdrop-filter:blur(18px);display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
.navbtn{border:0;background:transparent;color:#8d8d95;border-radius:12px;padding:7px 2px 5px;font-size:9px}.navbtn .ico{display:block;font-size:17px;margin-bottom:2px}.navbtn.active{color:var(--orange);background:rgba(255,106,0,.08)}
.detailgrid{display:grid;gap:9px}.detailbox{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.detailbox h2{font-size:14px;margin:0 0 9px}.row{display:grid;grid-template-columns:115px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12px}.row:last-child{border-bottom:0}.row .label{color:var(--muted)}
.loading,.empty{padding:28px;text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius)}
.money{font-variant-numeric:tabular-nums}.footer{font-size:10px;color:#65656d;text-align:center;margin:22px 0 4px}
@media(min-width:560px){.kpis{grid-template-columns:repeat(4,1fr)}.content{padding-left:20px;padding-right:20px}}

.eventhero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 2px 14px}
.eventhero h1{margin:5px 0 6px}
.eventtabs{display:flex;gap:7px;overflow-x:auto;padding:2px 0 10px;margin:0 -16px 4px;padding-left:16px;padding-right:16px;scrollbar-width:none}
.eventtabs::-webkit-scrollbar{display:none}
.eventtabs button{flex:0 0 auto;border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:9px 12px;border-radius:999px;font-size:11px;font-weight:800}
.eventtabs button.active{background:var(--orange);border-color:var(--orange);color:#111}
.eventpanel{padding-top:4px}
.boxhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.boxhead h2,.tabaction h2{margin:0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border-radius:10px;border:1px solid var(--line);font-size:11px;font-weight:800}
.button.secondary{background:var(--panel2);color:var(--text)}
.chev{font-size:24px;color:var(--orange)}
.clickable-tab{cursor:pointer}
.row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.055);font-size:12px}
.row:last-child{border-bottom:0}
.row>span{color:var(--muted);min-width:110px}
.row>strong{text-align:right;font-weight:750}
.row a{color:#f7f7f5;text-decoration:underline;text-decoration-color:#4a4a50;text-underline-offset:2px}
.longcopy{margin-top:12px;padding:12px;border-radius:13px;background:var(--panel2)}
.longcopy small{color:var(--orange);font-size:9px;font-weight:900;letter-spacing:.12em}
.longcopy p{font-size:12px;line-height:1.6;margin:7px 0 0}
.mutedcopy small{color:var(--muted)}
.versioncard{margin-top:10px;padding:12px;border-radius:14px;background:var(--panel2);border:1px solid var(--line)}
.versioncard h3{margin:0 0 3px}
.mini-finance{margin-top:9px}
.mini-list{margin-top:10px;border-top:1px solid var(--line)}
.mini-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:11px}
.mini-list>div span{color:var(--muted)}
.decisionline{margin-top:9px;font-size:11px;color:var(--muted)}
.progress-label{font-size:10px;color:var(--muted);margin:9px 0 5px}
.progressbar{height:7px;background:#28282d;border-radius:999px;overflow:hidden}
.progressbar span{display:block;height:100%;background:var(--orange);border-radius:999px}
.moneygrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.moneygrid>div{padding:12px;border-radius:13px;background:var(--panel2);border:1px solid var(--line)}
.moneygrid>div.total{grid-column:1/-1}
.moneygrid small{display:block;color:var(--muted);font-size:9px;margin-bottom:5px}
.moneygrid strong{font-size:18px}
.tabaction{margin:2px 0 11px}
.note{font-size:12px;line-height:1.6;margin:10px 0 0;color:#d6d6da}
.filecard{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text);text-decoration:none}
.filecard h3{margin:0 0 4px}
.service-title{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:start}
.service-title>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--panel2);color:var(--orange);font-size:10px;font-weight:900}
.service-title h3{margin:2px 0 3px}
.service-title>strong{font-size:12px;white-space:nowrap;margin-top:4px}
.readonlybar{margin:18px 0 3px;padding:10px 12px;border-radius:13px;background:rgba(255,106,0,.07);border:1px solid rgba(255,106,0,.18);font-size:10px;line-height:1.5;color:#d7a57f}
.empty.compact{padding:14px;margin-top:10px}
.paymentlist{margin-top:12px}

.notice.write{background:rgba(255,106,0,.08);border-color:rgba(255,106,0,.22);color:#ffbf91}
.button.primary{background:var(--orange);border-color:var(--orange);color:#111}
.button.danger-soft{background:rgba(255,121,121,.08);border-color:rgba(255,121,121,.24);color:#ff9d9d}
.button.full{width:100%;margin-top:12px}
.button:disabled{opacity:.55;cursor:default}
.livebar{color:#aee8c7;background:rgba(80,216,144,.06);border-color:rgba(80,216,144,.18)}
.modalback{position:fixed;z-index:90;inset:0;background:rgba(0,0,0,.74);display:flex;align-items:flex-end;justify-content:center;padding-top:env(safe-area-inset-top)}
.modal{width:min(640px,100%);max-height:92vh;background:#111114;border:1px solid var(--line);border-radius:24px 24px 0 0;box-shadow:0 -18px 60px rgba(0,0,0,.45);display:flex;flex-direction:column}
.modalhead{display:flex;align-items:center;justify-content:space-between;padding:16px 17px 12px;border-bottom:1px solid var(--line)}
.modalhead h2{font-size:17px;margin:0}.modalclose{width:36px;height:36px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:22px}
.modalbody{padding:15px 17px;overflow:auto}.modalfoot{display:flex;gap:9px;justify-content:flex-end;padding:12px 17px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#111114}
.formfield{display:block;margin-bottom:13px}.formfield>span{display:block;color:var(--muted);font-size:11px;font-weight:750;margin-bottom:6px}
.formfield input,.formfield select,.formfield textarea{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:13px;color:var(--text);padding:11px 12px;outline:none}
.formfield textarea{resize:vertical}.formfield input:focus,.formfield select:focus,.formfield textarea:focus{border-color:var(--orange)}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.formgrid .formfield{margin-bottom:3px}
.formgrid [hidden]{display:none}
[data-collaborator-form] input,[data-collaborator-form] select{font-size:16px}
.collaborator-live-total{display:flex;justify-content:space-between;gap:12px;padding-top:18px;margin-top:16px;border-top:1px solid var(--line)}
.collaborator-live-total strong{color:var(--orange)}
.fielderror{font-size:10px;color:#ff9d9d;margin-top:5px;min-height:0}.modalerrors{font-size:11px;color:#ff9d9d;line-height:1.5}
.toast{position:fixed;z-index:120;left:50%;transform:translateX(-50%);bottom:calc(95px + env(safe-area-inset-bottom));width:min(560px,calc(100% - 28px));padding:12px 14px;border-radius:14px;background:#1a2a21;border:1px solid rgba(80,216,144,.25);color:#b7ebce;font-size:12px;box-shadow:var(--shadow)}
.toast.error{background:#2a1717;border-color:rgba(255,121,121,.25);color:#ffb0b0}
@media(max-width:420px){.formgrid{grid-template-columns:1fr}}

/* v1.5 Email / Insurance */
.moregrid{display:grid;grid-template-columns:1fr;gap:10px}
.morecard{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;text-align:left;gap:2px 12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:15px;color:var(--text)}
.morecard>span{grid-row:1/3;width:40px;height:40px;border-radius:12px;background:var(--panel2);display:grid;place-items:center;color:var(--orange);font-size:18px}
.morecard strong{font-size:14px}.morecard small{color:var(--muted)}
.mailtitle{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mailtitle h1{margin-top:4px}
.mailtoolbar,.threadactions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:11px}
.folderchips{display:flex;overflow-x:auto;gap:7px;margin:0 -16px 12px;padding:0 16px 3px;scrollbar-width:none}
.folderchips::-webkit-scrollbar{display:none}
.folderchips button{flex:0 0 auto;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:8px 11px;font-size:10px;font-weight:800}
.folderchips button.active{background:var(--orange);border-color:var(--orange);color:#111}.folderchips button span{opacity:.7;margin-left:3px}
.mailsearch button{border:0;background:var(--orange);color:#111;border-radius:10px;padding:7px 10px;font-size:10px;font-weight:850}
.maillist{display:grid;gap:8px}.mailcard{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:stretch;overflow:hidden}.mailcard.unread{border-left:3px solid var(--orange)}
.mailopen{flex:1;min-width:0;border:0;background:transparent;color:var(--text);text-align:left;padding:13px}
.mailtop{display:flex;justify-content:space-between;gap:12px;align-items:center}.mailtop strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mailtop time{font-size:9px;color:var(--muted);white-space:nowrap}
.mailcard h3{font-size:13px;margin:5px 0 4px}.mailcard p{font-size:11px;color:var(--muted);line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mailmeta{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.mailmeta span{font-size:9px;padding:3px 6px;border-radius:999px;background:var(--panel2);color:#b7b7be}.mailflag{color:#ffad75!important}
.triage{display:flex;flex-direction:column;border-left:1px solid var(--line)}.triage button{flex:1;min-width:42px;border:0;background:transparent;color:var(--green);font-size:18px}.triage button.x{color:var(--red);border-top:1px solid var(--line)}
.triage.inline{flex-direction:row;border:0;gap:7px;margin-top:12px}.triage.inline button{min-height:34px;border:1px solid rgba(80,216,144,.25);border-radius:10px;background:rgba(80,216,144,.06);font-size:10px}.triage.inline button.x{border:1px solid rgba(255,121,121,.25);background:rgba(255,121,121,.06)}
.selectbox{display:grid;place-items:center;padding-left:11px}.selectbox input{width:18px;height:18px;accent-color:var(--orange)}
.bulkbar{position:sticky;top:72px;z-index:12;display:flex;gap:7px;flex-wrap:wrap;align-items:center;background:#17171b;border:1px solid var(--line);border-radius:14px;padding:9px;margin-bottom:10px;box-shadow:var(--shadow);font-size:10px}.bulkbar select,.bulkbar button{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:7px;font-size:10px}.bulkbar .danger{color:#ff9d9d}
.folderform{margin-bottom:12px}.provider-note,.hint{font-size:9px;line-height:1.5;color:#73737d;margin:13px 2px}
.threadmessages{display:grid;gap:10px}.messagecard .emailbody{font-size:12px;line-height:1.6;color:#dedee2;white-space:normal}.attachments{display:flex;flex-direction:column;gap:5px;margin-top:10px}.attachments span{font-size:10px;color:var(--muted);padding:7px 9px;background:var(--panel2);border-radius:9px}
.candidate{margin-top:11px;padding:10px;border:1px solid rgba(255,106,0,.2);background:rgba(255,106,0,.06);border-radius:12px}.candidate>strong{font-size:11px}.candidate>div{display:flex;gap:7px;margin-top:8px;flex-wrap:wrap}
.insurance-category{padding:11px 0;border-top:1px solid rgba(255,255,255,.05)}.insurance-category:first-of-type{border-top:0}.insurance-category>h3{font-size:11px;color:var(--orange);margin:0 0 8px;text-transform:uppercase;letter-spacing:.06em}
.workerpick{display:flex;align-items:center;gap:9px;padding:8px 0}.workerpick input{width:18px;height:18px;accent-color:var(--orange)}.workerpick span{display:flex;flex-direction:column}.workerpick strong{font-size:12px}.workerpick small{color:var(--muted);font-size:9px;margin-top:2px}
.insurance-schedule{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:13px;margin-bottom:9px}.insurance-schedule h3{margin:0 0 3px;font-size:13px}
.docchecks{margin-top:9px;padding-top:9px;border-top:1px solid rgba(255,255,255,.05)}.docchecks>span{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.docchecks label{display:block;font-size:10px;padding:5px 0}.docchecks input{accent-color:var(--orange)}.docchecks small{color:var(--muted)}
.warning{margin-top:8px;color:#ffb0b0;font-size:10px;line-height:1.4}
.iconbtn.small{height:32px;min-width:32px;width:32px;border-radius:9px}
@media(min-width:520px){.moregrid{grid-template-columns:repeat(3,1fr)}.morecard{grid-template-columns:1fr;text-align:center}.morecard>span{grid-row:auto;margin:0 auto}}
\n/* v1.5.1 native-style mobile login */\n.topactions{display:flex;gap:7px}\n.login-shell{display:grid;align-items:center;min-height:100vh;padding-bottom:0}\n.loginpage{padding:calc(32px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));width:100%;max-width:480px;margin:0 auto}\n.loginbrand{text-align:center;margin-bottom:24px}.brandmark.large{width:68px;height:68px;border-radius:21px;margin:0 auto 14px;font-size:22px}.loginbrand h1{margin:0;font-size:30px}.loginbrand p{margin:8px 0 0;color:var(--muted);font-size:12px}\n.loginbox{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:17px;box-shadow:var(--shadow)}\n.loginbox>label:not(.remember){display:block;margin-bottom:13px}.loginbox>label>span{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:6px}.loginbox input[type=email],.loginbox input[type=password]{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:13px;padding:12px;color:var(--text);outline:none}.loginbox input:focus{border-color:var(--orange)}\n.remember{display:flex!important;align-items:center;gap:9px;margin:3px 0 15px}.remember input{width:18px;height:18px;accent-color:var(--orange)}.remember span{margin:0!important}\n.loginbutton{width:100%;border:0;border-radius:13px;padding:12px;background:var(--orange);color:#111;font-weight:900}.loginbutton:disabled{opacity:.6}.loginerror{padding:9px 10px;border-radius:11px;background:rgba(255,121,121,.08);border:1px solid rgba(255,121,121,.2);color:#ffaaaa;font-size:11px;margin-bottom:12px}.loginfoot{text-align:center;color:#5f5f68;font-size:10px;margin-top:15px}\n
/* v1.5.2 client payment controls */
.mobile-payment-row{align-items:flex-start!important}.mobile-payment-row>span small{display:block;margin-top:3px}.mobile-payment-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.mini-action{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:9px;padding:5px 7px;font-size:9px;font-weight:800}.mini-action.danger{color:#ff9d9d;border-color:rgba(255,121,121,.3)}

.page-actions{display:flex;align-items:center;gap:9px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.detail-actions.bottom{margin-top:16px}.checkfield{display:flex;align-items:center;gap:9px;padding:9px 0;font-size:12px;color:var(--text)}.checkfield input{accent-color:var(--orange)}.quote-builder-page{padding-bottom:30px}.quote-line{margin-bottom:10px}.builder-actions{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));z-index:12;padding:10px 0;background:linear-gradient(180deg,transparent,var(--bg) 28%)}.quote-builder-page .tag{text-decoration:none}.quote-builder-page select,.quote-builder-page input,.quote-builder-page textarea{font-size:16px}


/* v1.7.0 — mobile quote service picker */
.quote-family-note{margin-top:4px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.02em}
.selected-service{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 14px;padding:12px 13px;border:1px solid rgba(255,106,21,.42);background:rgba(255,106,21,.055);border-radius:14px}
.selected-service>div{min-width:0;display:flex;flex-direction:column;gap:3px}.selected-service strong{font-size:14px;line-height:1.25}.selected-service small{color:var(--muted);font-size:10px}.selected-service-kicker{color:var(--orange);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.selected-service.custom-selected{border-style:dashed;background:var(--panel2)}.selected-service.unavailable{border-color:rgba(255,121,121,.45);background:rgba(255,121,121,.06)}
.notice.compact{margin:-5px 0 13px;padding:9px 11px;font-size:10px;line-height:1.35}
.service-picker-overlay{position:fixed;inset:0;z-index:160;background:rgba(0,0,0,.68);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:flex-end}
.service-picker-sheet{width:100%;max-width:620px;height:100dvh;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;padding-top:env(safe-area-inset-top);box-shadow:0 -18px 60px rgba(0,0,0,.45)}
.service-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--line);background:rgba(14,14,17,.96)}.service-picker-head h2{margin:3px 0 0;font-size:25px}.service-picker-close{width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);font-size:25px;line-height:1}
.service-picker-search{margin:12px 18px 6px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:0 12px}.service-picker-search:focus-within{border-color:var(--orange)}.service-picker-search span{color:var(--orange);font-size:19px}.service-picker-search input{width:100%;height:46px;border:0!important;background:transparent!important;color:var(--text);outline:none;font-size:16px!important;padding:0!important}
.service-picker-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:10px 18px calc(28px + env(safe-area-inset-bottom))}
.service-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-category-card{min-height:105px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);padding:15px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.service-category-card span{font-size:13px;font-weight:900;line-height:1.25;letter-spacing:.015em}.service-category-card small{font-size:10px;color:var(--muted)}.service-category-card:active{transform:scale(.985);border-color:var(--orange)}.service-category-card.custom{border-color:rgba(255,106,21,.55);background:linear-gradient(145deg,rgba(255,106,21,.14),rgba(255,106,21,.035))}.service-category-card.custom span{color:var(--orange)}
.service-picker-back{border:0;background:transparent;color:var(--orange);padding:4px 0 10px;font-size:12px;font-weight:850}.service-picker-group-title{font-size:18px;font-weight:900;margin:0 0 12px}.service-subgroup-title{margin:18px 2px 7px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.service-subgroup-title:first-child{margin-top:2px}
.service-choice-card{position:relative;width:100%;min-height:68px;margin:0 0 8px;padding:13px 42px 13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);text-align:left;display:flex;flex-direction:column;justify-content:center;gap:4px}.service-choice-card:active{border-color:var(--orange);background:rgba(255,106,21,.06)}.service-choice-title{font-size:14px;font-weight:850;line-height:1.3}.service-choice-meta{font-size:10px;color:var(--muted);line-height:1.3}.service-choice-arrow{position:absolute;right:14px;top:50%;transform:translateY(-52%);color:var(--orange);font-size:26px;font-weight:300}.service-search-summary{color:var(--muted);font-size:10px;font-weight:800;margin:0 2px 9px}.service-picker-empty{padding:25px 10px;text-align:center;color:var(--muted);font-size:12px}
@media (min-width:640px){.service-picker-sheet{height:min(900px,94dvh);border-radius:24px 24px 0 0}.service-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* v1.7.1 — desktop-parity quote content + optional extras */
.pdf-template-preview{margin:12px 0 14px;padding:13px;border:1px solid rgba(255,106,21,.25);background:rgba(255,106,21,.045);border-radius:14px}
.pdf-template-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}.pdf-template-head strong{font-size:10px;color:var(--orange);letter-spacing:.09em}.pdf-template-head span{font-size:9px;color:var(--muted)}
.pdf-template-preview>p{margin:0 0 12px;color:#d7d7db;font-size:11px;line-height:1.55}
.pdf-template-section{padding:10px 0;border-top:1px solid rgba(255,255,255,.06)}.pdf-template-section h4,.pdf-template-links h4{margin:0 0 7px;color:var(--text);font-size:10px;letter-spacing:.055em}.pdf-template-section ul{margin:0;padding-left:18px;display:grid;gap:5px}.pdf-template-section li{color:#c9c9ce;font-size:10px;line-height:1.45}
.pdf-template-links{padding:10px 0 0;border-top:1px solid rgba(255,255,255,.06)}.pdf-template-links .tags{margin-top:0}.pdf-template-links .tag{display:inline-flex;text-decoration:none}
.quote-extras{margin:15px 0 2px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08)}
.quote-extras-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.quote-extras-head>div{display:flex;flex-direction:column;gap:3px}.quote-extras-head strong{font-size:10px;color:var(--orange);letter-spacing:.08em}.quote-extras-head span{font-size:9px;color:var(--muted)}.quote-extras-head b{font-size:9px;color:#ffad73;font-weight:850}
.quote-extra-item{border:1px solid var(--line);background:var(--panel2);border-radius:13px;margin:0 0 8px;overflow:hidden}.quote-extra-item.selected{border-color:rgba(255,106,21,.42);background:rgba(255,106,21,.045)}
.quote-extra-choice{display:flex;align-items:center;gap:10px;padding:11px 12px}.quote-extra-choice input{width:19px;height:19px;accent-color:var(--orange);flex:0 0 auto}.quote-extra-choice span{display:flex;flex-direction:column;gap:2px;min-width:0}.quote-extra-choice strong{font-size:12px}.quote-extra-choice small{font-size:9px;color:var(--muted)}
.quote-extra-settings{padding:0 11px 11px;border-top:1px solid rgba(255,255,255,.05);padding-top:10px}.quote-extra-settings .formfield{margin-bottom:8px}

/* v1.7.2 — explicit optional-extra pricing */
.quote-extra-pricebox{display:block;margin:0 11px 10px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.018)}
.quote-extra-pricebox>span{display:block;margin-bottom:6px;font-size:9px;font-weight:800;letter-spacing:.045em;color:var(--muted);text-transform:uppercase}
.quote-extra-pricebox>div{display:flex;align-items:center;gap:8px}
.quote-extra-pricebox input{min-width:0;width:100%;height:42px;border-radius:9px;font-size:16px;font-weight:800}
.quote-extra-pricebox b{font-size:16px;color:var(--orange)}
.quote-extra-pricebox.enabled{border-color:rgba(255,106,21,.68);background:rgba(255,106,21,.075);box-shadow:inset 0 0 0 1px rgba(255,106,21,.08)}
.quote-extra-pricebox.enabled>span{color:#ffad73}
.quote-extra-pricebox.disabled{opacity:.58}
.quote-extra-pricebox.disabled input{cursor:not-allowed}
.quote-extra-selected-note{margin-bottom:9px;padding:8px 9px;border-radius:8px;background:rgba(255,106,21,.07);color:#ffbd91;font-size:9px;line-height:1.45}
.quote-extra-settings>.formfield:last-child{margin-bottom:0}

/* Event collaborators: bounded inputs and compact lists at narrow widths. */
[data-collaborator-form], [data-mobile-assignment-form],
[data-collaborator-form] .formfield, [data-mobile-assignment-form] .formfield,
[data-collaborator-form] .formgrid > *, [data-mobile-assignment-form] .formgrid > * {min-width:0;max-width:100%}
[data-collaborator-form] .formgrid, [data-mobile-assignment-form] .formgrid {grid-template-columns:repeat(2,minmax(0,1fr))}
[data-collaborator-form] input, [data-collaborator-form] select,
[data-mobile-assignment-form] input:not([type="checkbox"]), [data-mobile-assignment-form] select, [data-mobile-assignment-form] textarea {min-width:0;max-width:100%;font-size:16px}
.collaborator-toolbar {margin-bottom:12px;min-width:0}
.collaborator-toolbar h2 {font-size:17px;margin:0 0 10px}
.collaborator-toolbar > div {display:flex;flex-wrap:wrap;gap:8px}
.collaborator-toolbar .button {max-width:100%;white-space:normal}
.collaborator-list {display:grid;gap:8px;min-width:0}
.collaborator-card {min-width:0;max-width:100%;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow-wrap:anywhere}
.collaborator-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.collaborator-name {min-width:0;flex:1 1 130px}
.collaborator-name h3 {margin:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.collaborator-name .meta {font-size:10px}
.collaborator-total {color:var(--orange);font-size:14px;max-width:100%;line-height:1.5}
.collaborator-amounts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin-top:10px}
.collaborator-amounts > div {min-width:0;display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;font-size:11px}
.collaborator-amounts span {color:var(--muted)}
.collaborator-actions {display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:8px}
.collaborator-actions .button {min-height:36px;padding:7px 10px;font-size:11px;white-space:normal;max-width:100%}
.collaborator-services {color:var(--muted);font-size:11px;margin-top:5px;line-height:1.5}
.assignment-payment-details {margin-top:8px;border-top:1px solid var(--line);padding-top:8px;font-size:11px}
.assignment-payment-details summary {color:var(--muted);cursor:pointer}
.collaborator-totals {margin-top:14px}
.mobile-assignment-services {min-width:0;margin:0 0 13px;padding:10px;border:1px solid var(--line);border-radius:12px}
.mobile-assignment-services legend {font-size:12px;color:var(--muted)}
.assignment-service-choice {display:flex;align-items:flex-start;gap:8px;padding:8px 0;font-size:13px;overflow-wrap:anywhere}
.assignment-service-choice input {flex-shrink:0;accent-color:var(--orange);width:18px;height:18px;margin:0}
.assignment-service-choice span {min-width:0}
.assignment-service-choice small {display:block;color:var(--muted);font-size:10px;margin-top:4px}

.supplier-progress {margin-top:10px;min-width:0}
.supplier-progress-labels {display:flex;justify-content:space-between;gap:4px 10px;flex-wrap:wrap;font-size:10px;line-height:1.5;color:var(--muted);margin-bottom:5px}
.supplier-progress-labels strong {color:var(--text);font-weight:750}
.supplier-progress-track {height:5px;background:var(--line);border-radius:8px;overflow:hidden}
.supplier-progress-track > span {display:block;height:100%;background:var(--orange);border-radius:8px}
.supplier-overpaid {display:block;margin-top:5px;font-size:10px;color:var(--orange)}
.supplier-editor-tabs {display:flex;gap:8px;margin:0 0 16px;border-bottom:1px solid var(--line);padding-bottom:10px}
.supplier-editor-tabs button {border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:10px;padding:9px 14px;font-size:12px}
.supplier-editor-tabs button.active {color:var(--orange);border-color:var(--orange);opacity:1}
.supplier-payment-name {font-size:15px;margin:0 0 5px;overflow-wrap:anywhere}
.supplier-payment-history {margin:14px 0;border-bottom:1px solid var(--line)}
.supplier-payment-record {display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;border-top:1px solid var(--line);padding:9px 0;overflow-wrap:anywhere}
.supplier-payment-record > div:first-child {flex:1;min-width:0}
.supplier-payment-record > div:last-child {display:flex;gap:10px;justify-content:flex-end;width:100%}
.supplier-payment-record small {display:block;color:var(--muted);margin-top:3px}
[data-supplier-payment-form] {min-width:0;max-width:100%}
[data-supplier-payment-form] h3 {font-size:13px;margin:16px 0 12px}
[data-supplier-payment-form] input, [data-supplier-payment-form] select {font-size:16px;min-width:0;max-width:100%;box-sizing:border-box}
.supplier-payment-summary {margin-top:0;grid-column:1 / -1}
.supplier-card-payments {min-width:0;margin-top:10px}
.supplier-card-payments > .button {min-height:36px;padding:7px 12px;margin-top:9px;font-size:12px;max-width:100%;white-space:normal}
.supplier-card-history {font-size:11px;margin-top:9px;min-width:0}
.supplier-card-history > summary {cursor:pointer;color:var(--muted);padding:4px 0}

.event-list-date {display:inline-block;vertical-align:middle;line-height:1.4;white-space:nowrap}
.event-list-date--attention {padding:5px 9px;margin:4px 0;border:2px solid #f06464;border-radius:8px;background:rgba(239,68,68,.15);color:#ffe0e0;font-weight:700;box-shadow:0 0 0 2px rgba(239,68,68,.08)}

/* Mobile 1.11: shared bilingual service content and arbitrary extras. */
.quote-context-note{color:var(--orange,#ed7025);font-size:.8rem;margin:12px 0 8px}
.quote-custom-extras{display:grid;gap:14px;margin-top:16px}
.quote-custom-extras .quote-extra-item{min-width:0}
.quote-line textarea{min-height:96px;resize:vertical;overflow-wrap:anywhere}
.quote-line .formfield,.quote-extra-item .formfield{min-width:0}
.quote-line .external{margin-top:12px}

/* Mobile event list scopes, same orange selection as other controls. */
.event-scopes{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}
.event-scopes .button{flex:1;min-width:120px}
.event-scopes span{font-size:.85em}

.quote-category-shortcuts{margin:16px 0}.quote-category-shortcuts .service-category-card{min-height:85px}.quote-photo-editor{--surface-raised:var(--panel);--surface:var(--bg);--surface-soft:var(--panel2);--accent:var(--orange);--accent-soft:rgba(255,106,0,.1)}

/* Per-proposal customer price visibility; internal prices remain editable. */
.quote-price-visibility{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);cursor:pointer}
.quote-price-visibility input[type="checkbox"]{width:19px;min-width:19px;height:19px;min-height:19px;margin:2px 0 0;accent-color:var(--orange)}
.quote-price-visibility span{display:block;font-size:14px;line-height:1.5}
.quote-price-visibility small{display:block;margin-top:5px;color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}

@media screen and (max-width:480px){.otp-signature>tbody>tr{display:block!important}.otp-signature-photo,.otp-signature-details{display:block!important;width:auto!important;padding:14px 16px!important}.otp-signature-photo img{width:96px!important;max-width:96px!important}.otp-signature-details{border-left:0!important;border-top:2px solid #ff851b!important}}

/* More workspace and insurance category menus */
.workspace-details{padding-top:16px}.workspace-copy{white-space:pre-wrap;overflow-wrap:anywhere}.report-amount{font-size:22px;font-weight:750;padding:8px 0}.report-amount small{font-size:12px;font-weight:400}.report-event{border-top:1px solid #333;padding:12px 0}details.detailbox{margin-bottom:12px}details.detailbox>summary{cursor:pointer}details.detailbox>summary .meta{margin-top:8px}[data-workspace-row][hidden],.insurance-category[hidden],.workerpick[hidden]{display:none!important}.insurance-category>summary{cursor:pointer;padding:14px 0;font-weight:700}.insurance-category>summary small{float:right;font-size:12px;color:var(--muted,#aaa)}.page-actions{flex-wrap:wrap;margin:12px 0}

.service-picker-submenu{border:1px solid var(--line);border-radius:14px;background:var(--panel);margin:10px 0;overflow:hidden}
.service-picker-submenu>summary{padding:16px;font-weight:700;cursor:pointer;color:var(--text)}
.service-picker-submenu>summary small{display:block;margin:6px 0 0 16px;font-size:12px;font-weight:400;color:var(--muted)}
.service-picker-submenu[open]>summary{color:var(--orange);border-bottom:1px solid var(--line)}
.service-picker-submenu-body{padding:10px}
.service-picker-submenu-body .service-choice-card{width:100%;margin:6px 0}
.service-picker-submenu-body .service-choice-card:disabled{opacity:.5}

/* Compact event finances and distinct assignment cards. */
.finance-disclosure > summary {cursor:pointer;font-weight:650;list-style-position:inside}
.finance-disclosure > summary > small {float:right;color:var(--muted);font-weight:400}
.finance-disclosure[open] > summary {padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--line,#38383d)}
.customer-payment-overview {display:flex;justify-content:space-between;gap:10px;margin:12px 0 8px;flex-wrap:wrap;font-size:.8rem;font-weight:400}
.tax-summary {border-block:1px solid var(--line,#38383d);padding-bottom:8px;margin:8px 0}
.collaborator-card {border-left:3px solid var(--accent,#ff832e);box-shadow:0 3px 12px #0002;margin-bottom:12px}
.collaborator-card .supplier-card-payments {border-top:1px solid var(--line,#38383d);margin-top:12px;padding-top:12px}

.kpi-link { text-align:left; color:inherit; font:inherit; cursor:pointer; width:100%; }
.kpi-link .value, .kpi-link .label { display:block; }
.kpi-link:focus-visible { outline:2px solid var(--accent,#f59e45); outline-offset:2px; }

/* Live collaborator results; same picker on desktop and mobile. */
.assignment-person-field{min-width:0;display:grid;gap:6px;align-content:start}
.assignment-search-results{max-height:245px;overflow:auto;border:1px solid var(--line,#36363c);border-radius:10px;background:var(--surface-raised,#1c1c20);box-shadow:0 8px 22px #0003;margin:6px 0}
.assignment-search-results[hidden],select[name="collaborator"][hidden]{display:none!important}
.assignment-search-results [role="option"]{padding:11px 14px;cursor:pointer;font-size:.9rem;line-height:1.45;overflow-wrap:anywhere;border-bottom:1px solid var(--line,#36363c)}
.assignment-search-results [role="option"]:last-child{border-bottom:0}
.assignment-search-results [role="option"]:hover,.assignment-search-results [aria-selected="true"]{background:rgba(255,106,0,.13);color:var(--accent,#ff832e)}
[data-assignment-form] input[readonly],[data-mobile-assignment-form] input[readonly]{color:var(--muted,#a6a6ad);background:var(--surface-soft,#161619)}

[data-mobile-assignment-form] .assignment-person-field>label{font-size:11px;font-weight:700;color:var(--muted,#a6a6ad);margin-bottom:0}

/* Independent invoice / deposit reminders. */
.reminder-badges,.reminder-actions{display:flex;gap:8px;flex-wrap:wrap}.reminder-badges{margin-top:10px}.reminder-badge{border:1px solid #45494f;background:#191c20;color:#e5e1da;border-radius:9px;padding:8px 10px;font:inherit;font-size:12px;text-align:left}.reminder-badge.is-due,.payment-reminder.is-due> .cardrow strong{color:#ff9995}.reminder-badge.is-due{border-color:#974c49;background:#2c1818}.payment-reminder{margin-bottom:14px;scroll-margin-top:90px}.payment-reminder:focus{outline:1px solid #ed9c48}.payment-reminder.is-done{opacity:.8}.reminder-note{padding:14px;margin:14px 0;border:1px solid #343940;border-radius:10px;background:#101316;overflow-wrap:anywhere}.reminder-note p{white-space:normal;margin:8px 0 14px}.reminder-actions .button{white-space:normal}.reminder-history summary{cursor:pointer;margin-bottom:12px}.payment-reminders{margin-bottom:28px}.tabaction{flex-wrap:wrap}.payment-reminder .cardrow{gap:12px}

.insurance-picker-row{display:flex;align-items:center;gap:8px;padding:4px 0}.insurance-picker-row[hidden]{display:none!important}.insurance-picker-row .workerpick{flex:1;min-width:0}
.insurance-pin{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--muted);cursor:pointer}.insurance-pin svg{width:19px;height:19px}.insurance-pin[aria-pressed="true"]{color:var(--accent,#f29a43);border-color:var(--accent,#f29a43)}.insurance-pin:focus-visible{outline:2px solid var(--accent,#f29a43);outline-offset:2px}.insurance-pin:disabled{opacity:.5}
.insurance-copy-schedule{margin:10px 0;white-space:normal;line-height:1.4}.insurance-schedule.is-schedule-source{border-color:var(--accent,#f29a43)}

.request-follow-up{display:grid;gap:3px;margin-top:8px}.request-follow-up strong{font-size:14px}
