:root{--ink:#0b2f39;--muted:#60727a;--bg:#f6f7f5;--panel:#fff;--line:#d9e0de;--line2:#edf0ef;--green:#2e8b2c;--green2:#236f22;--greenSoft:#e8f3e6;--blue:#2b6f98;--blueSoft:#eaf2f7;--amber:#a86108;--amberSoft:#fff2dd;--red:#b54141;--redSoft:#fbeaea;--side:72px;--top:64px;--shadow:0 2px 5px rgba(6,36,45,.05)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.side{position:fixed;inset:0 auto 0 0;width:var(--side);background:linear-gradient(180deg,#f6f7f3 0%,#efefea 100%);border-right:1px solid var(--line);box-shadow:4px 0 18px rgba(11,47,57,.06);z-index:30;overflow-y:auto;overflow-x:visible;display:flex;flex-direction:column;align-items:flex-start;padding:8px 7px 12px}.brand{border:0;background:transparent;padding:0;margin:0 0 8px 4px}.brandmark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d3dbd8;border-radius:12px;font-size:18px;font-weight:900;background:linear-gradient(180deg,#ffffff 0%,#eef2f1 100%);color:#173f49;box-shadow:0 4px 12px rgba(9,39,49,.08)}.nav{display:grid;gap:2px;width:48px;justify-items:center;margin-left:0}.sidebtn{width:48px;height:44px;border:0;border-radius:12px;background:transparent;color:#183e47;display:grid;place-items:center;position:relative;padding:0;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.sidebtn i{font-style:normal;font-size:18px;line-height:1;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(23,63,73,.08);font-weight:800}.sidebtn span{display:none}.sidebtn:hover{background:#fff;box-shadow:0 0 0 1px #d8dfdd inset,0 5px 14px rgba(11,47,57,.08);transform:translateY(-1px)}.sidebtn.active{background:#fff;box-shadow:0 0 0 1px #cfd8d6 inset,0 8px 18px rgba(11,47,57,.10)}.sidebtn.active:before{content:"";position:absolute;left:-6px;top:8px;bottom:8px;width:3px;border-radius:999px;background:#1f6784}.sidebtn.create{background:#173f49;color:#fff;margin:0 0 10px 0;border-radius:14px;font-size:20px;box-shadow:0 8px 18px rgba(23,63,73,.18)}.sidebtn.create:hover{background:#204a55;color:#fff}.sidebtn.create i{width:auto;height:auto;border-radius:0;background:none;box-shadow:none;font-size:22px;color:inherit}.sideTooltip{position:fixed;z-index:1000;left:0;top:0;max-width:240px;padding:9px 12px;border-radius:9px;background:#173f49;color:#fff;font-size:13px;font-weight:800;line-height:1.15;white-space:nowrap;box-shadow:0 12px 28px rgba(0,20,28,.22);opacity:0;visibility:hidden;transform:translateX(-3px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;pointer-events:none}.sideTooltip.show{opacity:1;visibility:visible;transform:translateX(0)}.sideTooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#173f49}.side{scrollbar-width:thin;scrollbar-color:#c4ccca transparent}.sidebtn[data-nav="home"] i{background:#e9f2ff;color:#2a6d9a}.sidebtn[data-nav="schedule"] i{background:#eef6ff;color:#3975ae}.sidebtn[data-nav="clients"] i{background:#ecfbf5;color:#1f8d67}.sidebtn[data-nav="requests"] i{background:#fff3e4;color:#ba6a16}.sidebtn[data-nav="quotes"] i{background:#fff0f2;color:#b44f64}.sidebtn[data-nav="jobs"] i{background:#eef9ee;color:#2e8b2c}.sidebtn[data-nav="invoices"] i{background:#edf5ff;color:#295f9b}.sidebtn[data-nav="payments"] i{background:#ebfaf8;color:#15736b}.sidebtn[data-nav="expenses"] i{background:#fff6e6;color:#98611a}.sidebtn[data-nav="team"] i{background:#f3edff;color:#6e57a5}.sidebtn[data-nav="timesheets"] i{background:#f0f2ff;color:#5d6fd3}.sidebtn[data-nav="messages"] i{background:#ecf9ff;color:#1f7a99}.sidebtn[data-nav="receptionist"] i{background:#fff1f7;color:#af4f85}.sidebtn[data-nav="clienthub"] i{background:#eefaf2;color:#2f8653}.sidebtn[data-nav="checklists"] i{background:#f1fbef;color:#4b8b2a}.sidebtn[data-nav="automations"] i{background:#fff4e8;color:#b26a20}.sidebtn[data-nav="insights"] i{background:#eaf7ef;color:#278052}.sidebtn[data-nav="reports"] i{background:#eef4ff;color:#4067a6}.sidebtn[data-nav="marketing"] i{background:#fff0eb;color:#b95d32}.sidebtn[data-nav="apps"] i{background:#ecf7ff;color:#236e9c}.sidebtn[data-nav="settings"] i{background:#eef1f0;color:#5e6f73}.top{position:fixed;top:0;left:var(--side);right:0;height:var(--top);background:#f4f3ee;border-bottom:1px solid var(--line);z-index:20;display:flex;align-items:center;padding:0 20px}.company{display:flex;flex-direction:column}.company b{font-size:15px}.company small{font-size:11px;color:var(--muted);margin-top:2px}.topright{margin-left:auto;display:flex;align-items:center;gap:8px}.globalsearch{width:275px;height:38px;background:#e8e7e2;border-radius:7px;display:flex;align-items:center;padding:0 12px;gap:8px;color:#415d65}.globalsearch input{border:0;outline:0;background:transparent;width:100%;color:var(--ink)}.circle{width:36px;height:36px;border:0;background:transparent;border-radius:50%;color:var(--ink);font-weight:800}.circle:hover{background:#e7e8e4}.avatar{width:36px;height:36px;border-radius:50%;background:#7c557d;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:850}.main{margin-left:var(--side);padding-top:var(--top);min-height:100vh}.content{max-width:1580px;margin:0 auto;padding:28px 28px 60px}.pagehead{display:flex;gap:18px;align-items:flex-start;margin-bottom:22px}.pagehead h1{margin:0;font-size:34px;line-height:1.05;letter-spacing:-.9px}.pagehead p{margin:7px 0 0;color:var(--muted);font-size:15px}.actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid #c7d0ce;border-radius:7px;min-height:40px;padding:9px 14px;font-weight:800;background:#fff;color:var(--ink);box-shadow:0 1px 1px rgba(5,32,40,.03)}.btn:hover{background:#f2f4f3}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:var(--green2)}.btn.secondary{background:#fff}.btn.danger{color:var(--red);border-color:#e4b7b7}.dashboardIntro{margin:42px auto 26px;max-width:1000px}.dashboardIntro span{font-size:18px;font-weight:700;color:#324f57}.dashboardIntro h1{font-size:34px;margin:5px 0 0;letter-spacing:-1px}.sectiontitle{font-size:22px;margin:26px 0 12px;letter-spacing:-.35px}.workflow{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:0 auto 24px}.wf{position:relative;min-height:184px;background:#fff;border:1px solid var(--line);border-right:0;padding:18px 20px;text-align:left;color:var(--ink)}.wf:first-child{border-radius:8px 0 0 8px}.wf:last-child{border-right:1px solid var(--line);border-radius:0 8px 8px 0}.wf:hover{background:#fbfcfb}.wfbar{position:absolute;left:-1px;right:-1px;top:-1px;height:4px}.wfbar.c0{background:#ca6500}.wfbar.c1{background:#a74d5d}.wfbar.c2{background:#2f8b2f}.wfbar.c3{background:#2a6d9a}.wf>span{display:block;font-size:13px;font-weight:800;color:#53686f}.wf strong{display:block;font-size:34px;margin:18px 0 5px}.wf b{display:block;font-size:15px}.wf small{display:block;margin-top:13px;color:#5c7078}.dashgrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.7fr);gap:26px;max-width:1000px;margin:0 auto}.card{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.pad{padding:20px}.summaryrow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;border-bottom:1px solid var(--line2);padding-bottom:18px}.summaryrow span,.metric span{display:block;color:var(--muted);font-size:12px;font-weight:750}.summaryrow b{display:block;font-size:25px;margin-top:3px}.visitlist{display:grid;margin-top:14px}.visitrow{width:100%;border:0;background:#fff;border-bottom:1px solid var(--line2);padding:13px 4px;display:grid;grid-template-columns:70px 1fr auto;align-items:center;text-align:left;color:var(--ink);gap:10px}.visitrow:hover{background:#fafcfb}.visitrow time{font-weight:850}.visitrow div{display:flex;flex-direction:column}.visitrow span{color:var(--muted);font-size:13px;margin-top:2px}.blank{background:#f7f8f7;border-radius:7px;padding:18px;color:var(--muted);font-weight:700}.stack>div{padding:18px;border-bottom:1px solid var(--line2);display:flex;justify-content:space-between}.stack>div:last-child{border-bottom:0}.stack span{color:var(--muted)}.stack b{font-size:20px}.activity>div{padding:13px 16px;border-bottom:1px solid var(--line2);display:grid;gap:4px}.activity>div:last-child{border-bottom:0}.activity b{font-size:11px;color:var(--muted)}.activity span{font-size:13px}.metrics3,.metrics4{display:grid;gap:12px;margin-bottom:22px}.metrics3{grid-template-columns:repeat(3,1fr)}.metrics4{grid-template-columns:repeat(4,1fr)}.metric{padding:18px}.metric strong{display:block;font-size:31px;margin-top:10px;letter-spacing:-.7px}.metric small{display:block;color:var(--muted);margin-top:6px}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px}.tablewrap table{width:100%;border-collapse:collapse;min-width:820px}.tablewrap th,.tablewrap td{padding:13px 14px;border-bottom:1px solid var(--line2);text-align:left;vertical-align:middle;font-size:14px}.tablewrap th{font-size:12px;color:#4c626a;background:#fbfcfb;font-weight:850}.tablewrap td small{display:block;color:var(--muted);margin-top:3px}.tablewrap tbody tr:hover{background:#fbfcfb}.emptycell{text-align:center!important;color:var(--muted);padding:30px!important}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eef1f0;padding:4px 8px;font-size:12px;font-weight:800;color:#52656c}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#8b979a}.badge.green{background:var(--greenSoft);color:#286527}.badge.green:before{background:var(--green)}.badge.red{background:var(--redSoft);color:var(--red)}.badge.red:before{background:var(--red)}.badge.amber{background:var(--amberSoft);color:var(--amber)}.badge.amber:before{background:#d48219}.badge.blue{background:var(--blueSoft);color:var(--blue)}.badge.blue:before{background:var(--blue)}.linkbtn,.textbtn{border:0;background:transparent;color:#115d7b;font-weight:800;padding:0}.linkbtn{text-align:left}.textbtn:hover,.linkbtn:hover{text-decoration:underline}.detailgrid,.split2,.cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:18px 0}.detailgrid h3,.split2 h3,.pad h3{margin-top:0}.detailgrid dl{display:grid;grid-template-columns:130px 1fr;gap:12px;margin:0}.detailgrid dt{color:var(--muted);font-size:13px;font-weight:700}.detailgrid dd{margin:0}.property{padding:12px 0;border-bottom:1px solid var(--line2);display:flex;flex-direction:column}.property span{color:var(--muted);font-size:13px;margin-top:3px}.tabsline{margin-top:28px;border-bottom:1px solid var(--line);padding-bottom:9px}.costing>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line2)}.costing .total{font-size:18px;font-weight:850}.tabs{display:flex;gap:0;margin:10px 0 16px}.tab{background:#fff;border:1px solid var(--line);padding:10px 18px;font-weight:800;color:var(--ink)}.tab:first-child{border-radius:7px 0 0 7px}.tab:last-child{border-radius:0 7px 7px 0}.tab.active{box-shadow:0 0 0 2px #2a738f inset;color:#1d617d}.weekgrid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:8px;overflow:auto}.weekgrid section{min-height:420px;background:#fff;border:1px solid var(--line);border-radius:8px}.weekgrid header{padding:12px;border-bottom:1px solid var(--line);display:flex;flex-direction:column}.weekgrid header small{color:var(--muted);margin-top:3px}.eventcard{width:calc(100% - 12px);margin:6px;padding:10px;border:0;border-left:4px solid var(--green);border-radius:6px;background:#eef7ed;color:var(--ink);text-align:left}.eventcard b,.eventcard span,.eventcard small{display:block}.eventcard span{font-weight:800;margin-top:3px}.eventcard small{color:var(--muted);margin-top:3px}.dayblank{padding:16px 10px;color:#879397;font-size:12px}.monthgrid{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.monthday{min-height:120px;padding:9px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2)}.monthday>b{display:block}.monthday span{display:block;background:#eef7ed;border-left:3px solid var(--green);font-size:11px;padding:5px;margin-top:6px;border-radius:4px}.maplayout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.7fr);gap:16px}.fakemap{min-height:500px;background:linear-gradient(135deg,#e8ece8,#dfe8e9);border:1px solid var(--line);border-radius:9px;display:grid;place-content:center;text-align:center;color:#50656c}.route{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px}.route h3{margin-top:0}.route>div{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line2)}.route>div>b{width:28px;height:28px;border-radius:50%;background:#173f49;color:#fff;display:grid;place-items:center}.route>div span{display:flex;flex-direction:column;font-weight:800}.route>div small{color:var(--muted);font-weight:400;margin-top:3px}.people{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.person{padding:16px;display:grid;grid-template-columns:48px 1fr auto;gap:13px;align-items:center}.personavatar{width:48px;height:48px;border-radius:50%;background:#e7ecea;display:grid;place-items:center;font-weight:900}.person>div:nth-child(2){display:flex;flex-direction:column}.person>div:nth-child(2) span,.person>div:nth-child(2) small,.person aside small{color:var(--muted);margin-top:3px}.person aside{display:flex;flex-direction:column;align-items:flex-end}.hub{max-width:1120px;margin:0 auto}.hubhead{padding:24px;background:#173f49;color:#fff;border-radius:10px 10px 0 0;display:flex;justify-content:space-between}.hubgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}.hubrow{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line2)}.hubrow:last-child{border-bottom:0}.fieldchips{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.fieldchips span{background:#eef1f0;border-radius:999px;padding:7px 9px;font-size:12px}.cardtitle{display:flex;justify-content:space-between;gap:14px}.cardtitle h3{margin:0}.cardtitle span{color:var(--muted);font-size:13px}.automationlist{display:grid;gap:10px}.auto{padding:16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.auto>div{display:flex;flex-direction:column}.auto span{color:var(--muted);margin-top:4px}.switch input{display:none}.switch span{display:block;width:44px;height:24px;border-radius:999px;background:#ccd4d2;position:relative}.switch span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translateX(20px)}.reportgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.report{text-align:left;padding:18px;color:var(--ink);min-height:150px}.report b,.report span,.report strong{display:block}.report span{color:var(--muted);margin-top:8px;line-height:1.4}.report strong{font-size:25px;margin-top:22px}.report:hover{border-color:#9aacab}.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.appgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.appcard{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.appcard>div{display:flex;flex-direction:column}.appcard span{color:var(--muted);font-size:13px;margin-top:3px}.settingsgrid{display:grid;grid-template-columns:240px 1fr;gap:18px}.settingsnav{padding:8px}.settingsnav button{width:100%;border:0;background:transparent;border-radius:6px;padding:11px 12px;text-align:left;font-weight:800;color:var(--ink)}.settingsnav button:hover,.settingsnav button.active{background:#eef1ef}.panelhead{display:flex;justify-content:space-between;align-items:flex-start}.panelhead h2{margin:0}.panelhead p{color:var(--muted);margin:5px 0 15px}.settingcards{display:grid;gap:10px}.settingcards>div{border:1px solid var(--line);border-radius:8px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:3px 16px;align-items:center}.settingcards span{color:var(--muted);font-size:13px}.settingcards input{grid-column:2;grid-row:1/3;width:20px;height:20px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.formgrid label{display:grid;gap:7px;font-size:13px;font-weight:800}.formgrid label.full{grid-column:1/-1}.formgrid input,.formgrid select,.formgrid textarea{width:100%;border:1px solid #cbd5d2;border-radius:7px;background:#fff;min-height:44px;padding:10px 11px;outline:none;color:var(--ink)}.formgrid textarea{min-height:110px;resize:vertical}.formgrid input:focus,.formgrid select:focus,.formgrid textarea:focus{border-color:#3983a0;box-shadow:0 0 0 3px #e4f0f5}.formactions{margin-top:18px}.modalback{position:fixed;inset:0;background:rgba(5,30,37,.35);z-index:100;display:grid;place-items:center;padding:20px}.modal{width:min(760px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 28px 80px rgba(0,20,28,.25)}.modal>header{display:flex;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.modal>header h2{margin:0}.modal>header button{margin-left:auto;border:0;background:transparent;font-size:25px}.modalbody{padding:20px}.modal>footer{padding:15px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.quickgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quickgrid button,.searchresults button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px;text-align:left;color:var(--ink);font-weight:800}.quickgrid button:hover,.searchresults button:hover{background:#f4f6f5}.searchresults{display:grid;gap:8px}.searchresults button{display:flex;justify-content:space-between}.searchresults span{color:var(--muted)}.toast{position:fixed;right:20px;bottom:20px;z-index:200;background:#102f38;color:#fff;padding:12px 15px;border-radius:7px;box-shadow:0 12px 30px rgba(0,20,28,.2);font-weight:800}.muted{color:var(--muted)}
@media(max-width:1150px){.workflow{grid-template-columns:repeat(2,1fr)}.wf{border-right:1px solid var(--line);border-radius:8px!important}.dashgrid,.maplayout{grid-template-columns:1fr}.metrics4{grid-template-columns:repeat(2,1fr)}.reportgrid,.appgrid,.cards3{grid-template-columns:repeat(2,1fr)}.weekgrid{grid-template-columns:repeat(7,180px)}}
@media(max-width:760px){:root{--side:62px;--top:58px}.content{padding:18px 12px 45px}.top{padding:0 9px}.company small,.globalsearch,.circle{display:none}.pagehead{align-items:center}.pagehead h1{font-size:29px}.pagehead p{display:none}.actions{gap:5px}.actions .btn.secondary{display:none}.metrics3,.metrics4,.workflow,.people,.hubgrid,.reportgrid,.cards3,.appgrid,.cards2,.split2,.detailgrid{grid-template-columns:1fr}.summaryrow{grid-template-columns:repeat(2,1fr)}.settingsgrid{grid-template-columns:1fr}.settingsnav{display:flex;overflow:auto}.settingsnav button{min-width:max-content}.formgrid{grid-template-columns:1fr}.formgrid label.full{grid-column:auto}.monthgrid{grid-template-columns:repeat(3,1fr)}.hubhead{flex-direction:column;gap:5px}.person{grid-template-columns:48px 1fr}.person aside{grid-column:1/-1;align-items:flex-start}.sidebtn{width:42px;height:38px}.sidebtn i{width:28px;height:28px;font-size:15px}.brandmark{width:34px;height:34px}}
.goalcard{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-bottom:18px}.goalcard>div:first-child{display:flex;flex-direction:column}.goalcard span{color:var(--muted);font-weight:750}.goalcard strong{font-size:34px;margin-top:4px}.goalcard small{color:var(--muted);margin-top:5px}.goalpct{font-size:32px;font-weight:900}.progress{grid-column:1/-1;height:12px;background:#e6ebe9;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:var(--green);border-radius:999px}
.langswitch{display:flex;align-items:center;background:#e8e7e2;border:1px solid #d8dcda;border-radius:9px;padding:2px;gap:2px;height:38px}.langswitch button{border:0;background:transparent;color:#53666d;border-radius:7px;min-width:34px;height:32px;font-size:11px;font-weight:900;letter-spacing:.2px}.langswitch button:hover{background:#f7f8f6;color:var(--ink)}.langswitch button.active{background:#173f49;color:#fff;box-shadow:0 2px 7px rgba(23,63,73,.18)}
@media(max-width:900px){.langswitch button{min-width:31px}.globalsearch{width:210px}}
@media(max-width:760px){.langswitch{height:34px}.langswitch button{height:28px;min-width:29px;font-size:10px}}

.avatarbtn{border:0;cursor:pointer}.avatarbtn:hover{filter:brightness(.96);box-shadow:0 0 0 3px rgba(124,85,125,.12)}
.accountmenu{display:grid;gap:8px}.accountmenu>b{font-size:18px}.accountmenu>span{color:var(--muted);font-size:13px}.accountmenu hr{border:0;border-top:1px solid var(--line);width:100%;margin:6px 0}.accountmenu .btn{text-decoration:none;text-align:center}

.sidebtn[data-nav="website"] i{background:#e9f6f4;color:#14786f}
.websiteHero{padding:24px 26px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#ffffff,#f1f7f4)}
.websiteHero h2{font-size:28px;margin:6px 0}.websiteHero p{max-width:720px;color:var(--muted);margin:0 0 13px}.websiteKicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#33745b}
.websiteUrl{display:flex;gap:10px;align-items:center;font-size:13px}.websiteUrl span{color:var(--muted)}.websiteUrl b{word-break:break-all}
.websiteStatus{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.websiteMetrics .metric{min-height:132px}
.websiteBuilder{display:grid;grid-template-columns:minmax(560px,1fr) minmax(420px,.8fr);gap:18px;align-items:start}.websiteForm{min-width:0}.websiteSectionHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.websiteSectionHead h3{margin:0}.websiteSectionHead p{max-width:600px;color:var(--muted);font-size:13px;margin:6px 0 0}.websiteSubhead{border-top:1px solid var(--line2);padding-top:20px;margin-top:24px!important}.websitePortfolioNote{margin-top:20px;padding:16px;background:#f7f9f8;border:1px dashed #cfd9d6;border-radius:9px}.websitePortfolioNote p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.websitePreviewCard{overflow:hidden;position:sticky;top:84px}.previewBar{height:42px;background:#eef1ef;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:0 12px}.previewBar span{width:8px;height:8px;border-radius:50%;background:#c3cdca}.previewBar b{font-size:11px;color:var(--muted);margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.websitePreviewCard iframe{display:block;width:100%;height:760px;border:0;background:#fff}
@media(max-width:1100px){.websiteBuilder{grid-template-columns:1fr}.websitePreviewCard{position:static}.websitePreviewCard iframe{height:650px}}@media(max-width:760px){.websiteHero{align-items:flex-start;flex-direction:column}.websiteStatus{justify-content:flex-start}.websiteSectionHead{flex-direction:column}.websiteBuilder{grid-template-columns:1fr}.websitePreviewCard iframe{height:540px}}

.sidebtn[data-nav="finance"] i{background:#fff4dc;color:#9b6a10}
.moduleTabs{display:flex;gap:7px;align-items:center;overflow:auto;padding:5px;margin:0 0 22px;background:#eef1ef;border:1px solid var(--line);border-radius:12px;scrollbar-width:thin}
.moduleTab{border:0;background:transparent;color:#53686f;font-weight:850;padding:10px 15px;border-radius:9px;white-space:nowrap;cursor:pointer}
.moduleTab:hover{background:#f8faf9;color:var(--ink)}
.moduleTab.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(7,38,47,.10),0 0 0 1px #d6dedb inset}
@media(max-width:760px){.moduleTabs{margin-bottom:16px}.moduleTab{padding:9px 12px}}

.customerContentNote{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:11px 14px;border:1px solid #d7e2df;border-radius:10px;background:#f6f9f7;font-size:13px}
.customerContentNote b{color:var(--ink)}.customerContentNote span{color:var(--muted)}

.backendPanel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;background:linear-gradient(135deg,#fff,#f3f8f5)}
.backendPanel h3{margin:0 0 5px}.backendPanel p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.backendPanel a{text-decoration:none}
@media(max-width:760px){.backendPanel{align-items:flex-start;flex-direction:column}}

.companyTopline{display:flex;align-items:center;gap:7px}.vipBadge{font-size:9px;font-weight:950;letter-spacing:.08em;padding:3px 6px;border-radius:999px;background:#fff0cc;color:#8a5a00;border:1px solid #f0d58f}
.companySwitcher{border:0;background:transparent;padding:2px 0;margin-top:2px;color:#2e6675;font-size:10px;font-weight:850;cursor:pointer;text-align:left}
.companySwitcher:hover{text-decoration:underline}.companyList{display:grid;gap:8px}
.companyChoice{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}
.companyChoice:hover,.companyChoice.active{border-color:#70a08d;background:#f5faf7}.companyChoice span{display:grid;gap:3px}.companyChoice small{color:var(--muted)}.companyChoice em{font-style:normal;font-size:10px;font-weight:950;padding:4px 7px;border-radius:999px;background:#f1f3f2;color:#53686f}


/* ================================================================
   v1.3 — Independent visual system
   Navigation-only left rail + right-side quick actions.
   ================================================================ */
:root{
  --ink:#142f36;
  --muted:#67767a;
  --bg:#f4f3ef;
  --panel:#ffffff;
  --line:#dcded8;
  --line2:#eff0ec;
  --brandDeep:#173b43;
  --brandMid:#246774;
  --brandAccent:#b88646;
  --side:82px;
  --top:72px;
  --shadow:0 10px 28px rgba(23,59,67,.055);
}
html,body{background:var(--bg)}
.side{
  width:var(--side);
  background:#183941;
  border-right:0;
  box-shadow:8px 0 28px rgba(19,49,56,.10);
  padding:13px 10px 16px;
  align-items:center;
}
.brand{
  width:54px;height:54px;margin:0 0 15px;padding:0;
  display:grid;place-items:center;border-radius:17px;
}
.brandmark{
  position:relative;width:48px;height:48px;border:1px solid rgba(255,255,255,.16);
  border-radius:16px;background:linear-gradient(145deg,#2b6d78,#15353c);
  color:#fff;box-shadow:0 9px 20px rgba(0,0,0,.18);
}
.brandmark b{font-size:18px;letter-spacing:-.04em}
.brandmark i{
  position:absolute;width:7px;height:7px;border-radius:50%;
  background:#d6a55d;right:8px;bottom:8px;box-shadow:0 0 0 3px rgba(214,165,93,.16)
}
.nav{width:100%;gap:4px;justify-items:center;margin:0}
.sidebtn{
  width:54px;height:46px;border-radius:15px;color:#dbe7e9;
  transition:background .18s ease,transform .18s ease,color .18s ease;
}
.sidebtn i{
  width:36px;height:36px;border-radius:12px;
  background:transparent!important;box-shadow:none!important;
  font-size:18px;filter:saturate(.8);
}
.sidebtn:hover{
  background:rgba(255,255,255,.09);color:#fff;box-shadow:none;transform:translateY(-1px)
}
.sidebtn.active{
  background:#fff;color:#173b43;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
}
.sidebtn.active:before{
  left:auto;right:-11px;top:14px;bottom:14px;width:4px;
  background:#d3a15c;
}
.sideTooltip{
  background:#102d34!important;color:#fff!important;border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.18)!important;
}
.top{
  height:var(--top);left:var(--side);
  background:rgba(250,249,246,.95);border-bottom:1px solid #dedfd9;
  padding:0 22px 0 26px;backdrop-filter:blur(15px);
}
.company{min-width:230px}
.companyTopline>b{font-size:14px;letter-spacing:-.01em}
.company>small{font-size:11px;color:#748184;margin-top:2px}
.topright{gap:9px}
.globalsearch{
  width:min(330px,27vw);height:42px;border:1px solid #d9ddd8;
  border-radius:14px;background:#fff;padding:0 13px;
  box-shadow:0 3px 10px rgba(23,59,67,.035)
}
.globalsearch input{font-size:12px}
.langswitch{
  background:#ebeae4;border-color:#ddddd6;height:40px;border-radius:12px
}
.langswitch button{height:34px;border-radius:9px}
.langswitch button.active{background:#183941}
.quickActionBtn{
  height:42px;border:0;border-radius:14px;padding:0 15px;
  display:flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,#b98345,#9d6c38);
  color:#fff;font-size:12px;font-weight:900;
  box-shadow:0 8px 18px rgba(157,108,56,.18)
}
.quickActionBtn span{font-size:14px}.quickActionBtn:hover{filter:brightness(1.04);transform:translateY(-1px)}
.circle{
  width:40px;height:40px;border-radius:13px;background:#fff!important;
  border:1px solid #d9ddd8!important;box-shadow:none!important;
}
.avatar{width:40px;height:40px;border-radius:13px;background:#183941!important;color:#fff!important}
.quickActionFab{display:none}
.main{margin-left:var(--side);padding-top:var(--top)}
.content{max-width:1560px;padding:28px 32px 70px}
.card,.tablewrap{
  border-color:#dedfd9!important;border-radius:15px!important;
  box-shadow:var(--shadow)!important;
}
.pagehead{margin-bottom:24px}
.pageTitleBlock{display:flex;align-items:stretch;gap:12px}
.pageAccent{width:4px;border-radius:999px;background:linear-gradient(180deg,#b88646,#236775)}
.pagehead h1{font-size:31px;letter-spacing:-.04em}
.pagehead p{margin-top:5px}
.btn{border-radius:11px}
.btn.primary{background:#183941;border-color:#183941}
.btn.primary:hover{background:#102e35}
.dashboardIntro{
  padding:6px 0 2px;margin-bottom:22px;
}
.dashboardIntro span{font-size:12px;color:#7d8889;font-weight:750}
.dashboardIntro h1{font-size:36px;letter-spacing:-.045em;margin-top:5px}
.sectionTitleRow{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:3px 0 12px}
.sectionTitleRow .sectiontitle{margin:2px 0 0}
.sectionTitleRow>small{color:var(--muted);font-size:12px;padding-bottom:4px}
.sectionEyebrow{
  color:#987044;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.12em
}
.workflow{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;background:transparent;border:0;margin-bottom:25px
}
.wf{
  min-height:126px;border:1px solid #dedfd9!important;border-radius:16px!important;
  background:#fff!important;padding:16px!important;
  display:grid!important;grid-template-columns:44px 1fr auto!important;
  align-items:start!important;gap:12px!important;text-align:left!important;
  box-shadow:0 8px 23px rgba(23,59,67,.045)!important;
}
.wf:hover{border-color:#c8cdc7!important;transform:translateY(-2px);box-shadow:0 12px 28px rgba(23,59,67,.08)!important}
.wfIcon{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
  font-size:18px;background:#edf4f2;color:#244f59
}
.wfIcon.c1{background:#f4efe8}.wfIcon.c2{background:#edf1f6}.wfIcon.c3{background:#f5efe2}
.wfCopy{display:flex;flex-direction:column;min-width:0}
.wfCopy>span{font-size:11px;font-weight:900;color:#6b797b;text-transform:uppercase;letter-spacing:.07em}
.wfCopy>strong{font-size:29px;line-height:1;margin:7px 0 6px;color:#183941}
.wfCopy>b{font-size:12px}.wfCopy>small{margin-top:4px;color:var(--muted)}
.wf>em{font-style:normal;color:#a9b1af;font-size:18px;margin-top:8px}
.wfbar{display:none!important}
.moduleTabs{
  border:0;background:#e9e8e2;padding:4px;border-radius:13px;width:max-content;max-width:100%
}
.moduleTab{border-radius:10px}
.moduleTab.active{box-shadow:none;background:#fff}
.metric strong{letter-spacing:-.03em}
.tablewrap{overflow:hidden}
table thead{background:#f3f2ee}
table th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#6d797a}
.modal{border-radius:18px}
.quickgrid{grid-template-columns:repeat(3,1fr)}
.quickgrid button{
  min-height:82px;border-radius:14px;padding:16px;
  background:#fafaf7;border-color:#dfe1dc;display:flex;align-items:flex-start
}
.quickgrid button:hover{background:#fff;border-color:#b9c5c1;box-shadow:0 8px 20px rgba(23,59,67,.06)}
.vipBadge{background:#f7eddc;color:#916326;border-color:#e6ca9c}

@media(max-width:1100px){
  .quickActionBtn b{display:none}.quickActionBtn{width:42px;padding:0;justify-content:center}
  .globalsearch{width:230px}
}
@media(max-width:760px){
  :root{--side:60px;--top:60px}
  .side{padding:8px 6px}.brand{width:44px;height:44px;margin-bottom:10px}.brandmark{width:38px;height:38px;border-radius:13px}
  .brandmark b{font-size:15px}.brandmark i{width:6px;height:6px;right:6px;bottom:6px}
  .sidebtn{width:44px;height:40px;border-radius:12px}.sidebtn i{width:32px;height:32px;font-size:16px}
  .top{padding:0 10px 0 12px}
  .company{min-width:0}.companyTopline>b{font-size:12px}
  .langswitch,.quickActionBtn,.circle{display:none!important}
  .avatar{width:36px;height:36px}
  .content{padding:18px 12px 80px}
  .workflow{grid-template-columns:1fr 1fr;gap:9px}
  .wf{min-height:114px;grid-template-columns:38px 1fr!important;padding:13px!important}
  .wfIcon{width:36px;height:36px;border-radius:12px}.wf>em{display:none}
  .quickActionFab{
    display:grid;place-items:center;position:fixed;right:18px;bottom:18px;z-index:80;
    width:54px;height:54px;border:0;border-radius:18px;
    background:linear-gradient(135deg,#b98345,#9d6c38);color:#fff;
    box-shadow:0 15px 30px rgba(94,64,31,.28);font-size:20px
  }
  .pagehead h1{font-size:27px}
  .pageAccent{width:3px}
  .sectionTitleRow>small{display:none}
  .quickgrid{grid-template-columns:1fr 1fr}
}


/* v1.5 — WORKS47 + floating quick actions + assistant mascot */
html[data-theme="light"] body{background:#f5f5f2;color:#142f36}
html[data-theme="light"] .side{background:#fff!important;border-right:1px solid #dedfd9!important;box-shadow:6px 0 22px rgba(23,59,67,.045)!important}
html[data-theme="light"] .brandmark{background:linear-gradient(145deg,#f6f8f7,#e8eeeb)!important;color:#173b43!important;border:1px solid #d5dfdb!important;box-shadow:none!important}
html[data-theme="light"] .sidebtn{color:#3e5c64!important}
html[data-theme="light"] .sidebtn:hover{background:#f3f5f3!important;color:#163b43!important}
html[data-theme="light"] .sidebtn.active{background:#edf3f0!important;color:#163b43!important;box-shadow:none!important}
html[data-theme="light"] .sidebtn.active:before{background:#a97840!important}
html[data-theme="light"] .sidebtn i{filter:none!important}
html[data-theme="light"] .top{background:rgba(250,249,246,.96)!important}
html[data-theme="light"] .main{background:#f5f5f2}
.quickActionBtn,.quickActionFab{display:none!important}

.floatingDock{position:fixed;right:24px;bottom:24px;z-index:88;display:flex;align-items:flex-end;gap:11px}
.floatingQuick{width:50px;height:50px;border:1px solid #d7dcd8;border-radius:17px;background:#fff;color:#173b43;font-size:29px;font-weight:300;line-height:1;box-shadow:0 12px 30px rgba(23,59,67,.14);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.floatingQuick:hover{transform:translateY(-3px);box-shadow:0 17px 34px rgba(23,59,67,.18)}
.liaLauncher{position:relative;width:62px;height:62px;border:0;border-radius:21px;background:linear-gradient(145deg,#f8f3ea,#ebe2d3);box-shadow:0 14px 34px rgba(72,54,31,.20);cursor:pointer;display:grid;place-items:center;overflow:visible;transition:transform .18s ease}
.liaLauncher:hover{transform:translateY(-3px)}
.liaPulse{position:absolute;inset:-4px;border-radius:24px;border:1px solid rgba(174,126,68,.27);animation:liaPulse 2.5s ease-out infinite;pointer-events:none}
@keyframes liaPulse{0%{transform:scale(.93);opacity:.8}70%{transform:scale(1.12);opacity:0}100%{opacity:0}}
.liaFace,.liaMini{position:relative;display:block;width:39px;height:39px;border-radius:50%;background:linear-gradient(145deg,#244d55,#16363d);box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}
.liaFace:before,.liaFace:after,.liaMini:before,.liaMini:after{content:"";position:absolute;top:14px;width:4px;height:5px;border-radius:50%;background:#f4e7d2}
.liaFace:before,.liaMini:before{left:11px}.liaFace:after,.liaMini:after{right:11px}
.liaFace i,.liaMini i{position:absolute;left:13px;right:13px;bottom:10px;height:5px;border-bottom:2px solid #d9b47e;border-radius:0 0 10px 10px}
.liaFace b,.liaMini b{position:absolute;width:8px;height:8px;border-radius:50%;background:#b98143;right:-2px;top:-2px;box-shadow:0 0 0 3px rgba(185,129,67,.15)}
.liaFace em,.liaMini em{display:none}

.liaPanel{position:fixed;left:14px;right:auto;bottom:28px;z-index:90;width:min(390px,calc(100vw - 28px));height:510px;background:#fff;border:1px solid #daddd8;border-radius:21px;box-shadow:0 25px 70px rgba(23,59,67,.22);overflow:hidden;display:flex;flex-direction:column;opacity:0;transform:translateY(15px) scale(.97);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.liaPanel.open{opacity:1;transform:none;pointer-events:auto}
.liaHead{min-height:72px;padding:13px 14px 13px 16px;border-bottom:1px solid #e3e4df;display:flex;align-items:center;justify-content:space-between;background:#fbfaf7}
.liaIdentity{display:flex;align-items:center;gap:10px}.liaMini{width:39px;height:39px}
.liaIdentity>div{display:grid;gap:2px}.liaIdentity strong{font-size:15px}.liaIdentity small{font-size:11px;color:#758083}
.liaClose{width:34px;height:34px;border:0;border-radius:11px;background:#eeeee9;color:#657174;font-size:22px;cursor:pointer}
.liaBody{flex:1;padding:16px;overflow:auto;background:#f7f7f4}
.liaBubble{width:max-content;max-width:86%;padding:11px 13px;border-radius:15px;margin:0 0 10px;font-size:13px;line-height:1.45;background:#fff;border:1px solid #e0e3df;color:#29454c}
.liaBubble.assistant{border-bottom-left-radius:5px}.liaBubble.user{margin-left:auto;background:#183f47;color:#fff;border-color:#183f47;border-bottom-right-radius:5px}
.liaSuggestions{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 15px}
.liaSuggestions button{border:1px solid #d8ddd8;border-radius:999px;background:#fff;color:#35565e;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer}
.liaComposer{padding:12px;border-top:1px solid #e1e3de;background:#fff;display:grid;grid-template-columns:1fr 42px;gap:8px}
.liaComposer input{height:42px;border:1px solid #d4dad6;border-radius:13px;padding:0 12px;background:#fafbf9;outline:none}
.liaComposer button{border:0;border-radius:13px;background:#183f47;color:#fff;font-size:17px;cursor:pointer}

.themeChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.themeChoice{border:1px solid #daddd8;border-radius:16px;background:#fff;padding:15px;text-align:left;cursor:pointer;display:grid;grid-template-columns:92px 1fr;grid-template-rows:auto auto;gap:4px 14px;align-items:center}
.themeChoice.active{border-color:#658f82;box-shadow:0 0 0 2px rgba(80,129,115,.10)}
.themeChoice strong{font-size:14px}.themeChoice small{color:#6e7a7c;font-size:11px}
.themePreview{grid-row:1/3;width:92px;height:62px;border-radius:10px;border:1px solid #d7dbd7;overflow:hidden;position:relative}
.themePreview i{position:absolute;left:0;top:0;bottom:0;width:18px}.themePreview b{position:absolute;left:26px;top:12px;width:50px;height:7px;border-radius:4px}.themePreview em{position:absolute;left:26px;right:8px;top:28px;height:23px;border-radius:6px}
.themePreview.light{background:#f5f5f2}.themePreview.light i{background:#fff;border-right:1px solid #ddd}.themePreview.light b,.themePreview.light em{background:#fff}
.themePreview.dark{background:#121b1f;border-color:#334349}.themePreview.dark i{background:#18252a}.themePreview.dark b,.themePreview.dark em{background:#26353a}

/* Full dark mode; never a mixed dark-left/light-main mode */
html[data-theme="dark"] body{background:#10181c;color:#e9eeee}
html[data-theme="dark"] .side{background:#152126!important;border-right:1px solid #2b393e!important;box-shadow:none!important}
html[data-theme="dark"] .brandmark{background:#22343a!important;color:#fff!important;border-color:#34484e!important;box-shadow:none!important}
html[data-theme="dark"] .sidebtn{color:#b7c7ca!important}
html[data-theme="dark"] .sidebtn:hover{background:#203036!important;color:#fff!important}
html[data-theme="dark"] .sidebtn.active{background:#294047!important;color:#fff!important;box-shadow:none!important}
html[data-theme="dark"] .top{background:rgba(17,26,30,.97)!important;border-bottom-color:#2a393e!important}
html[data-theme="dark"] .main{background:#10181c}
html[data-theme="dark"] .content{color:#e9eeee}
html[data-theme="dark"] .card,html[data-theme="dark"] .tablewrap,html[data-theme="dark"] .metric,html[data-theme="dark"] .wf,html[data-theme="dark"] .modal,html[data-theme="dark"] .settingsnav,html[data-theme="dark"] .websiteHero{background:#172328!important;border-color:#2b3a3f!important;color:#e8eeee!important;box-shadow:none!important}
html[data-theme="dark"] .globalsearch,html[data-theme="dark"] .circle,html[data-theme="dark"] .langswitch,html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select{background:#19272c!important;border-color:#304047!important;color:#e6eeee!important}
html[data-theme="dark"] .muted,html[data-theme="dark"] .pagehead p,html[data-theme="dark"] .company>small,html[data-theme="dark"] table td,html[data-theme="dark"] .metric span{color:#9caeb1!important}
html[data-theme="dark"] table thead{background:#1b292e!important}html[data-theme="dark"] table th{color:#aab9bc!important}html[data-theme="dark"] table td{border-color:#29383d!important}
html[data-theme="dark"] .moduleTabs{background:#1a282d!important;border-color:#2a393e!important}html[data-theme="dark"] .moduleTab{color:#adbec1!important}html[data-theme="dark"] .moduleTab.active{background:#2a3c42!important;color:#fff!important}
html[data-theme="dark"] .floatingQuick{background:#1c2a2f;color:#fff;border-color:#35464c}
html[data-theme="dark"] .liaPanel{background:#162328;border-color:#304047}
html[data-theme="dark"] .liaHead,html[data-theme="dark"] .liaComposer{background:#18262b;border-color:#2d3c42}
html[data-theme="dark"] .liaBody{background:#10191d}
html[data-theme="dark"] .liaBubble.assistant{background:#1d2c31;color:#e5eeee;border-color:#304047}
html[data-theme="dark"] .liaSuggestions button{background:#1c2a2f;color:#c9d7d9;border-color:#324349}
html[data-theme="dark"] .themeChoice{background:#1b292e;border-color:#304047;color:#e6eeee}
html[data-theme="dark"] .themeChoice small{color:#9caeb1}

@media(max-width:760px){
  .floatingDock{right:14px;bottom:14px;gap:8px}
  .floatingQuick{width:46px;height:46px;border-radius:15px}
  .liaLauncher{width:56px;height:56px;border-radius:19px}
  .liaPanel{left:14px!important;right:auto!important;bottom:82px;height:min(510px,calc(100vh - 105px))}
  .themeChoices{grid-template-columns:1fr}
}


/* v1.5 — WORKS47 identity */
.brandmark b{font-size:11px!important;letter-spacing:-.06em!important}
.liaFace,.liaMini{
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 0 0 1px rgba(23,59,67,.10),0 6px 16px rgba(23,59,67,.10)!important;
}
.liaFace:before,.liaFace:after,.liaMini:before,.liaMini:after,
.liaFace>i,.liaFace>b,.liaFace>em,.liaMini>i,.liaMini>b,.liaMini>em{display:none!important}
.liaFace img,.liaMini img{
  width:100%;height:100%;display:block;object-fit:cover;object-position:50% 18%;
  transform:scale(1.7);transform-origin:50% 22%;
}
.liaLauncher{background:linear-gradient(145deg,#fff,#f3f5f2)!important;border:1px solid #d8ded9!important}
html[data-theme="dark"] .liaLauncher{background:#1c2a2f!important;border-color:#35464c!important}

/* v1.7.1 contextual add actions */
.cardhead,.sectionaddhead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cardhead h3,.sectionaddhead h3{margin:0}
.cardadd{width:34px;height:34px;min-width:34px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:23px;line-height:1;display:grid;place-items:center;cursor:pointer;font-weight:500;box-shadow:0 3px 10px rgba(15,50,58,.06)}
.cardadd:hover{background:#eef6f1;border-color:#8ab89a;color:var(--green)}
.inlineadds{display:flex;gap:7px}
.inlineblank{margin-top:10px}
.sectionaddhead{margin-bottom:9px}
.messageshead{margin-top:18px}
html[data-theme="dark"] .cardadd{background:#172328;border-color:#3a4a50;color:#e8eeee}
html[data-theme="dark"] .cardadd:hover{background:#20342d;color:#8fd09d}

/* v1.7.2 — single-field service-location address autocomplete */
.addressfield{position:relative}.addressinputwrap{position:relative}.addressspinner{position:absolute;right:12px;top:50%;width:16px;height:16px;margin-top:-8px;border:2px solid #d7dfdd;border-top-color:#2c768f;border-radius:50%;opacity:0}.addressspinner.on{opacity:1;animation:addressspin .7s linear infinite}@keyframes addressspin{to{transform:rotate(360deg)}}
.addresssuggestions{position:absolute;z-index:130;left:0;right:0;top:calc(100% - 31px);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 32px rgba(7,37,45,.16);max-height:290px;overflow:auto;padding:5px}.addresssuggestions button{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:3px;border:0;background:#fff;color:var(--ink);padding:10px 11px;border-radius:6px;text-align:left}.addresssuggestions button:hover,.addresssuggestions button:focus{background:#f1f5f3;outline:none}.addresssuggestions button b{font-size:13px}.addresssuggestions button span,.addressnone{font-size:12px;color:var(--muted);font-weight:500}.addressnone{padding:12px}.addresshint{font-weight:500;color:var(--muted);font-size:11px;margin-top:-2px}


/* v1.7.3 — client detail width/alignment hotfix */
.main{min-width:0;width:calc(100% - var(--side))}
.content{width:100%;min-width:0;margin-left:auto;margin-right:auto}
.detailgrid,.split2{grid-template-columns:repeat(2,minmax(0,1fr))}
.detailgrid>section,.split2>section{min-width:0;width:100%}
.split2 .sectionaddhead{width:100%;min-height:34px}
.split2 .tablewrap{width:100%;min-width:0;overflow-x:auto;overflow-y:hidden}
.split2 .tablewrap table{width:100%;min-width:0;table-layout:auto}
.split2 .tablewrap th,.split2 .tablewrap td{white-space:normal}
.contextualCreate{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){
  .main{width:calc(100% - var(--side))}
  .detailgrid,.split2{grid-template-columns:1fr}
  .contextualCreate{grid-template-columns:1fr}
}

/* v1.8.1 — commercial quote/proposal builder */
.quoteModal{width:min(1120px,97vw)}
.quoteBuilder{display:grid;gap:16px}
.quoteBuildSection{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}
.quoteBuildHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.quoteBuildHead h3,.quoteBuildSection h3{margin:0}
.quoteBuildHead p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.btn.small{min-height:36px;padding:7px 11px}
.quoteLines{display:grid;gap:10px}
.quoteLine{display:grid;grid-template-columns:minmax(160px,1.1fr) minmax(180px,1.4fr) 82px 115px 115px 120px 34px;gap:9px;align-items:end;padding:12px;border:1px solid var(--line2);border-radius:10px;background:#fbfcfb}
.quoteLine label{display:grid;gap:6px;font-size:11px;font-weight:800;color:var(--muted)}
.quoteLine input{width:100%;border:1px solid #cbd5d2;border-radius:7px;background:#fff;min-height:40px;padding:8px 9px;color:var(--ink);outline:none}
.quoteLine input:focus{border-color:#3983a0;box-shadow:0 0 0 3px #e4f0f5}
.quoteLineTotal{display:grid;gap:7px;padding:0 3px 8px}.quoteLineTotal span{font-size:11px;color:var(--muted);font-weight:800}.quoteLineTotal b{font-size:14px}
.quoteRemove{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;color:#7a3b3b;font-size:20px;cursor:pointer;margin-bottom:4px}.quoteRemove:hover{background:#fff1f1;border-color:#e3b8b8}
.quotePricing{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:24px;align-items:start}.formgrid.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}
.quoteBuildTotals{border-left:1px solid var(--line);padding-left:22px}.quoteBuildTotals>div{display:flex;justify-content:space-between;gap:18px;padding:8px 0}.quoteBuildTotals span{color:var(--muted);font-size:13px}.quoteBuildTotals .grand{border-top:1px solid var(--line);margin-top:5px;padding-top:13px;font-size:18px}.quoteBuildTotals .grand span,.quoteBuildTotals .grand b{font-size:18px;color:var(--ink)}
.quoteInternalHint{grid-column:1/-1;color:var(--muted);margin-top:-10px}
.quoteStatusStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.quoteStatusStrip>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;display:flex;flex-direction:column;gap:7px}.quoteStatusStrip span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.quoteDeliveryNote{margin:0 0 14px;color:var(--muted);font-size:12px}
.quoteProposal{max-width:980px;margin:0 auto;padding:34px 38px;background:#fff}
.proposalBrand{display:flex;justify-content:space-between;gap:30px;padding-bottom:25px;border-bottom:2px solid #183f49}.proposalBrand h1{margin:4px 0 8px;font-size:27px}.proposalBrand p{margin:2px 0;color:var(--muted);font-size:12px}.proposalEyebrow{text-transform:uppercase;letter-spacing:.12em;color:#517078;font-size:11px;font-weight:900}.proposalMeta{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.proposalMeta>b{font-size:18px}
.proposalParties{display:grid;grid-template-columns:1.05fr 1.25fr .7fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.proposalParties>div{display:flex;flex-direction:column;gap:3px}.proposalParties span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.proposalParties strong{margin-top:5px}.proposalParties p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.proposalTitle{padding:24px 0 18px}.proposalTitle>span{font-size:11px;color:var(--muted);font-weight:800}.proposalTitle h2{font-size:25px;margin:6px 0 10px}.proposalTitle p{margin:0;color:#42555b;line-height:1.6}
.proposalItems{border:1px solid var(--line);border-radius:10px;overflow:hidden}.proposalItemHead,.proposalItem{display:grid;grid-template-columns:minmax(0,1fr) 70px 120px 120px;gap:12px;align-items:center}.proposalItemHead{background:#f2f5f4;padding:10px 13px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:var(--muted)}.proposalItem{padding:13px;border-top:1px solid var(--line2)}.proposalItem:first-of-type{border-top:0}.proposalItem>div{display:flex;flex-direction:column;gap:3px}.proposalItem small{color:var(--muted);line-height:1.35}.proposalItem>span,.proposalItem>strong{text-align:right}
.proposalBottom{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;margin-top:22px}.proposalNotes{display:grid;gap:16px}.proposalNotes section{border-top:1px solid var(--line);padding-top:12px}.proposalNotes h3{margin:0 0 6px;font-size:13px}.proposalNotes p{margin:0;color:#4e6167;font-size:12px;line-height:1.55}.proposalTotals>div{display:flex;justify-content:space-between;padding:8px 0}.proposalTotals span{color:var(--muted)}.proposalTotals .grand{border-top:2px solid #183f49;margin-top:5px;padding-top:13px}.proposalTotals .grand span,.proposalTotals .grand b{font-size:18px;color:var(--ink)}.proposalTotals .deposit{border-top:1px solid var(--line);margin-top:5px;font-weight:800}
html[data-theme="dark"] .quoteBuildSection,html[data-theme="dark"] .quoteLine,html[data-theme="dark"] .quoteStatusStrip>div{background:#172328;border-color:#2b3a3f;color:#e8eeee}html[data-theme="dark"] .quoteLine input,html[data-theme="dark"] .quoteRemove{background:#19272c;border-color:#304047;color:#e6eeee}html[data-theme="dark"] .quoteBuildTotals{border-color:#334348}html[data-theme="dark"] .quoteProposal{background:#fff!important;color:#17343d!important}html[data-theme="dark"] .quoteProposal .proposalTitle p,html[data-theme="dark"] .quoteProposal .proposalNotes p{color:#42555b!important}
@media(max-width:900px){.quoteLine{grid-template-columns:repeat(2,minmax(0,1fr))}.quoteItemName,.quoteItemDescription{grid-column:1/-1}.quotePricing,.proposalBottom{grid-template-columns:1fr}.quoteBuildTotals{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.quoteStatusStrip{grid-template-columns:repeat(2,1fr)}.proposalParties{grid-template-columns:1fr 1fr}.proposalParties>div:last-child{grid-column:1/-1}.proposalItemHead,.proposalItem{grid-template-columns:minmax(0,1fr) 55px 95px 100px}.quoteProposal{padding:24px 20px}}
@media(max-width:600px){.quoteLine{grid-template-columns:1fr 1fr}.quoteLine>label:nth-of-type(4),.quoteLine>label:nth-of-type(5){grid-column:auto}.quoteLineTotal{grid-column:1/-1}.quoteRemove{position:absolute;right:8px}.quoteLine{position:relative;padding-top:40px}.formgrid.compact{grid-template-columns:1fr}.quoteStatusStrip{grid-template-columns:1fr}.proposalBrand{flex-direction:column}.proposalMeta{align-items:flex-start}.proposalParties{grid-template-columns:1fr}.proposalParties>div:last-child{grid-column:auto}.proposalItemHead{display:none}.proposalItem{grid-template-columns:1fr 1fr}.proposalItem>div{grid-column:1/-1}.proposalItem>span,.proposalItem>strong{text-align:left}.proposalBottom{grid-template-columns:1fr}}
@media print{body *{visibility:hidden!important}.quoteProposal,.quoteProposal *{visibility:visible!important}.quoteProposal{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;border:0!important;box-shadow:none!important;margin:0!important;padding:22px 28px!important}.quoteProposal .badge{border:1px solid #bbb!important}.quoteProposal{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* WORKS47 v1.8.2 consolidated quote fixes */
.quoteModal>footer{position:sticky;bottom:0;z-index:8;background:#fff;box-shadow:0 -8px 22px rgba(16,47,56,.08)}
.quoteLine{grid-template-columns:minmax(145px,1.05fr) minmax(155px,1.15fr) 72px 104px 118px 106px 106px 92px 30px;position:relative}
.quoteLine .quoteSaveItem{min-height:40px;padding:7px 8px;white-space:normal;line-height:1.1}
.quoteLine.is-saved{background:#f5faf6;border-color:#b8d4bd}
.quoteLine.is-saved input:disabled{background:#eef4ef;color:var(--ink);opacity:1;-webkit-text-fill-color:var(--ink)}
.quoteItemState{position:absolute;right:44px;top:6px;color:var(--green);font-size:10px;font-weight:900}
.quoteLineTotal.internal b{color:#456068}
.quoteStatusStripWide{grid-template-columns:repeat(6,minmax(0,1fr))}
.quoteProposal{font-variant-numeric:tabular-nums}
.proposalItemHead,.proposalItem{grid-template-columns:minmax(0,1fr) 64px 132px 142px}
.proposalItemHead>span:nth-child(n+2),.proposalItem>span,.proposalItem>strong{white-space:nowrap;text-align:right}
.proposalTotals b{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.quoteLine{grid-template-columns:repeat(4,minmax(0,1fr))}.quoteItemName,.quoteItemDescription{grid-column:span 2}.quoteLineTotal{grid-column:auto}.quoteSaveItem{grid-column:auto}.quoteRemove{position:absolute;right:8px;top:8px}.quoteLine{padding-top:34px}.quoteStatusStripWide{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.quoteLine{grid-template-columns:1fr 1fr}.quoteItemName,.quoteItemDescription{grid-column:1/-1}.quoteLineTotal,.quoteSaveItem{grid-column:auto}.quoteStatusStripWide{grid-template-columns:1fr 1fr}.proposalItemHead{display:none}.proposalItem{grid-template-columns:1fr 1fr}.proposalItem>div{grid-column:1/-1}.proposalItem>span,.proposalItem>strong{text-align:left;white-space:normal}}
@media print{.quoteProposal{font-variant-numeric:tabular-nums}.proposalItemHead,.proposalItem{grid-template-columns:minmax(0,1fr) 58px 118px 132px}.proposalItemHead>span:nth-child(n+2),.proposalItem>span,.proposalItem>strong,.proposalTotals b{white-space:nowrap}}

/* v1.8.3 — proposal document language picker */
.proposalLanguageChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:4px 0}
.proposalLanguageChoices button{min-height:92px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:16px;text-align:left;cursor:pointer;color:var(--text);display:flex;flex-direction:column;gap:7px;justify-content:center}
.proposalLanguageChoices button:hover{border-color:var(--accent);background:var(--soft)}
.proposalLanguageChoices b{font-size:16px}.proposalLanguageChoices span{font-size:12px;color:var(--muted)}
@media(max-width:620px){.proposalLanguageChoices{grid-template-columns:1fr}.proposalLanguageChoices button{min-height:68px}}
@media print{
  .quoteProposal .proposalItemHead,.quoteProposal .proposalItem{grid-template-columns:minmax(0,1fr) 56px 122px 138px!important;gap:8px!important}
  .quoteProposal .proposalItemHead>span:nth-child(n+2),.quoteProposal .proposalItem>span,.quoteProposal .proposalItem>strong,.quoteProposal .proposalTotals b{white-space:nowrap!important;text-align:right!important}
  .quoteProposal{overflow:visible!important}
}

/* v1.9 — client contacts + proposal delivery */
.clientContactsCard{margin-top:16px}
.clientContactsCard .cardhead>div{min-width:0}.clientContactsCard .cardhead p{margin:4px 0 0}
.clientContactsList{display:grid;gap:8px;margin-top:12px}
.clientContactRow{width:100%;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) auto;gap:16px;align-items:center;text-align:left;color:inherit;cursor:pointer}
.clientContactRow:hover{border-color:#9eb2b5}.clientContactRow>span{display:flex;flex-direction:column;gap:3px;min-width:0}.clientContactRow small,.clientContactRow em{font-style:normal;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.clientContactRow>span:last-child{flex-direction:row;flex-wrap:wrap;justify-content:flex-end}
.contactPref{display:inline-flex;border-radius:999px;padding:4px 8px;background:#edf4f2;font-size:11px;font-weight:800;color:#315960}
.contactPrefs{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding-top:6px}.contactPrefs>b{width:100%}.checkline{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-weight:600}.checkline input{width:auto!important;margin:0}
.proposalSendModal{max-width:900px}.deliveryGrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px}.deliveryGrid section{min-width:0}.deliveryGrid h3{margin:0 0 10px}.deliveryRecipients{display:grid;gap:8px}.deliveryRecipient{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--line);border-radius:10px;padding:11px 12px;cursor:pointer}.deliveryRecipient input{width:auto!important;margin:4px 0 0}.deliveryRecipient span{display:flex;flex-direction:column;gap:2px;min-width:0}.deliveryRecipient small,.deliveryRecipient em{font-style:normal;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.deliveryGrid section:nth-child(2){display:grid;gap:12px}.deliveryInfo{padding:10px 12px;border-radius:9px;background:var(--panel);font-size:12px;color:var(--muted);line-height:1.45}.deliveryHistoryMini{margin:8px 0 14px;color:var(--muted);font-size:12px}
@media(max-width:760px){.clientContactRow{grid-template-columns:1fr}.clientContactRow>span:last-child{justify-content:flex-start}.deliveryGrid{grid-template-columns:1fr}}


/* v1.9.2 — proposal lifecycle + consolidated delivery polish */
.proposalSendModal{width:min(980px,96vw);max-width:980px}
.proposalSendModal .modalbody{padding:22px 24px}
.deliveryGrid{grid-template-columns:minmax(280px,.9fr) minmax(0,1.35fr);gap:26px;align-items:start}
.deliveryComposePane{display:grid;gap:14px;min-width:0}
.deliveryTopFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.deliveryComposePane label{display:grid;gap:6px;min-width:0;font-weight:700;color:var(--ink)}
.deliveryComposePane input,.deliveryComposePane select,.deliveryComposePane textarea{width:100%;min-width:0}
.deliveryComposePane textarea{min-height:92px;resize:vertical}
.deliveryFull{grid-column:1/-1}
.quoteRowActions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.quoteRowActions .textbtn{white-space:nowrap}
@media(max-width:820px){.deliveryGrid{grid-template-columns:1fr}.deliveryTopFields{grid-template-columns:1fr}.proposalSendModal{width:min(96vw,720px)}}

/* WORKS47 v1.9.4 — compact quote action selector */
.quoteRowActions{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.quoteActionSelect{width:170px;max-width:100%;height:38px;border:1px solid #c7d0ce;border-radius:8px;background:#fff;color:var(--ink);padding:0 34px 0 11px;font-weight:800;outline:none;cursor:pointer}
.quoteActionSelect:hover{background:#f7f9f8;border-color:#aebdb9}
.quoteActionSelect:focus{border-color:#3983a0;box-shadow:0 0 0 3px #e4f0f5}
@media(max-width:900px){.quoteActionSelect{width:100%;min-width:150px}}

/* WORKS47 v1.10.0 — electronic acceptance + audit certificate */
.signatureCertificate{margin:20px 0 0;border:1px solid #bfd3cb;border-radius:12px;background:#f7fbf9;padding:18px 20px;color:#18343c}
.signatureCertificateHead{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid #dce8e3}
.signatureCertificateHead>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dfeee7;font-weight:900;font-size:18px}
.signatureCertificateHead h3{margin:0;font-size:16px}.signatureCertificateHead p{margin:3px 0 0;color:#617278;font-size:12px}
.signatureCertificateGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding-top:14px}
.signatureCertificateGrid>div{display:grid;gap:3px;min-width:0}.signatureCertificateGrid span,.signatureConsent>span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6a7c81;font-weight:900}.signatureCertificateGrid b{overflow-wrap:anywhere;font-size:13px}
.signatureConsent{margin-top:14px;padding-top:12px;border-top:1px solid #dce8e3}.signatureConsent p{margin:5px 0 0;font-size:12px;line-height:1.5;color:#42565d}
@media(max-width:650px){.signatureCertificateGrid{grid-template-columns:1fr}}
@media print{.signatureCertificate{break-inside:avoid;page-break-inside:avoid;background:#fff!important;border:1px solid #aaa!important}}


/* v1.11.0 — approved quote -> controlled service creation */
.signatureCertificateGrid .signatureLong{grid-column:1/-1}
.signatureCertificateGrid .signatureLong b{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.quoteToJobSource,.jobSourceBanner{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #d7e1de;background:#f6faf8;border-radius:12px;padding:14px 16px;margin-bottom:14px}
.quoteToJobSource>div,.jobSourceBanner>div{display:grid;gap:3px;min-width:0}.quoteToJobSource span,.jobSourceBanner span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#667a80;font-weight:800}.quoteToJobSource small,.jobSourceBanner small{color:#667a80}.signedSourceBadge{white-space:nowrap;background:#e4f3e8;color:#236c38;border-radius:999px;padding:7px 10px;font-size:12px!important;text-transform:none!important;letter-spacing:0!important}
.quoteToJobItems{border-top:1px solid #e1e8e5;margin-top:18px;padding-top:14px}.quoteToJobItems h3{margin:0 0 10px}.quoteToJobItem{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1ef}.quoteToJobItem span:first-child{display:grid;gap:2px}.quoteToJobItem small{color:#667a80}.quoteToJobItem>span:nth-child(2),.quoteToJobItem>b{white-space:nowrap}.jobSourceBanner{margin:0 0 18px}.jobSourceBanner button{white-space:nowrap}.jobEvidence{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}
@media(max-width:720px){.quoteToJobSource,.jobSourceBanner{align-items:flex-start;flex-direction:column}.quoteToJobItem{grid-template-columns:1fr}.quoteToJobItem>span:nth-child(2),.quoteToJobItem>b{white-space:normal}}

/* v1.11.1 — operational job detail: contextual add/edit actions */
.jobSectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 10px;min-width:0}
.jobSectionHead h2,.jobSectionHead h3{margin:0;min-width:0}
.split2 .jobSectionHead{margin:0 0 10px}
.jobSectionHead .cardadd{flex:0 0 auto}
.detailgrid dd{white-space:pre-wrap}
@media(max-width:720px){.jobSectionHead{align-items:center}.jobSectionHead .cardadd{width:38px;height:38px}}

/* v1.11.2 — polished job operations layout */
.jobOps{margin-top:26px;display:grid;gap:16px}
.jobOpsIntro{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:0 2px 2px}
.jobOpsIntro span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:#5e747b;margin-bottom:5px}
.jobOpsIntro h2{margin:0;font-size:23px;letter-spacing:-.35px}
.jobOpsIntro p{margin:5px 0 0;color:var(--muted);font-size:13px}
.jobOpsGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.jobOpsCard{overflow:hidden;border-radius:12px;box-shadow:0 6px 18px rgba(15,50,58,.045)}
.jobOpsHeader{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px 15px;background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%)}
.jobOpsHeader>div{min-width:0}
.jobOpsHeader span{display:block;color:#71848a;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px}
.jobOpsHeader h3{margin:0;font-size:18px;letter-spacing:-.2px}
.jobOpsHeader p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.jobOpsAdd{flex:0 0 auto;white-space:nowrap;border-radius:9px!important}
.jobOpsBody{border-top:1px solid var(--line2);background:#fff}
.jobOpsCard .tablewrap{border:0;border-radius:0;box-shadow:none;overflow:auto}
.jobOpsCard .tablewrap table{min-width:0}
.jobOpsCard .tablewrap th{background:#f8faf9;padding:11px 13px;font-size:10px;letter-spacing:.04em}
.jobOpsCard .tablewrap td{padding:12px 13px;font-size:13px}
.jobOpsEmpty{min-height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px 18px;color:var(--muted);background:#fcfdfc}
.jobOpsEmpty b{color:var(--ink);font-size:14px;margin-bottom:4px}
.jobOpsEmpty span{font-size:12px;line-height:1.45;max-width:470px}
.jobInvoiceCard .jobOpsHeader{background:linear-gradient(180deg,#f7faf8 0%,#fff 100%)}
.jobInvoiceCard{margin-top:2px}
.jobOpsCompact .tablewrap table{font-size:12px}
.jobOpsCompact .badge{font-size:10px;padding:3px 6px}
@media(max-width:1050px){.jobOpsGrid{grid-template-columns:1fr}.jobOpsCard .tablewrap table{min-width:680px}}
@media(max-width:720px){.jobOps{gap:12px}.jobOpsHeader{align-items:flex-start;flex-direction:column;padding:15px}.jobOpsAdd{width:100%}.jobOpsIntro h2{font-size:20px}.jobOpsCard .tablewrap table{min-width:640px}.jobOpsEmpty{min-height:96px}}

/* v1.11.3 — richer labor entry workflow */
.timeEntryForm label[hidden]{display:none!important}
.timeEntryForm label small{display:block;color:var(--muted);font-size:11px;font-weight:600;line-height:1.35;margin-top:2px}
.timeEntryPreview{grid-column:1/-1;background:#f4f8f7;border:1px solid var(--line);border-radius:8px;padding:11px 12px;color:#35545d;font-size:13px}
.timeEntryPreview b{color:var(--ink)}
.jobOpsCompact td small{display:block;color:var(--muted);font-size:10px;margin-top:3px;white-space:nowrap}


/* v1.11.4 — professional time entry + clickable service rows */
.timeEntryModal{max-width:720px}
.timeEntryPro{display:grid;gap:14px}
.timeEntrySection{border:1px solid var(--line);border-radius:14px;padding:15px;background:var(--card)}
.timeEntrySectionHead{display:flex;align-items:flex-start;gap:10px;margin-bottom:13px}
.timeEntrySectionHead>span{display:grid;place-items:center;width:27px;height:27px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:800;flex:0 0 auto}
.timeEntrySectionHead div{display:grid;gap:2px}.timeEntrySectionHead b{font-size:14px}.timeEntrySectionHead small{color:var(--muted);font-size:12px}
.compactGrid{gap:12px}.timeEntryPro label small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.35}
.entryModeSwitch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 12px}
.entryModeSwitch label{position:relative;margin:0}.entryModeSwitch input{position:absolute;opacity:0;pointer-events:none}.entryModeSwitch span{display:block;border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-align:center;font-weight:750;background:var(--bg);cursor:pointer}.entryModeSwitch input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}
.timeEntrySummary{display:flex;align-items:center;gap:10px;margin-top:12px;padding:11px 13px;border-radius:10px;background:var(--soft);border:1px solid var(--line)}
.timeEntrySummary span{font-size:12px;color:var(--muted)}.timeEntrySummary strong{margin-left:auto;font-size:16px}.timeEntrySummary small{font-size:12px;color:var(--muted);margin:0}
.jobClickableRow{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.jobClickableRow:hover{background:var(--soft)}.jobClickableRow:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
@media(max-width:720px){.entryModeSwitch{grid-template-columns:1fr}.timeEntrySummary{align-items:flex-start;flex-wrap:wrap}.timeEntrySummary strong{margin-left:0;width:100%}}

/* v1.11.5 - searchable grouped worker picker + time method visibility */
.timeEntryPro [hidden]{display:none!important}
.workerPicker{position:relative;display:grid;grid-template-columns:1fr 42px;gap:0;margin-bottom:8px}
.workerPicker>input[type="text"]{grid-column:1/-1;padding-right:46px}
.workerPickerToggle{position:absolute;right:1px;top:1px;bottom:1px;width:42px;border:0;border-left:1px solid var(--line);background:transparent;border-radius:0 9px 9px 0;font-size:20px;color:var(--muted);cursor:pointer}
.workerPickerToggle:hover{background:var(--soft);color:var(--ink)}
.workerPickerMenu{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(19,52,61,.16);padding:7px}
.workerGroup+.workerGroup{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
.workerGroupHead{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:7px 8px 5px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.workerGroupHead b{color:var(--ink);font-size:11px}.workerGroupHead span{padding:2px 6px;border-radius:999px;background:var(--soft);text-transform:none;letter-spacing:0}
.workerOption{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;border:0;background:transparent;border-radius:9px;padding:8px;cursor:pointer;color:var(--ink)}
.workerOption:hover{background:var(--soft)}
.workerOptionAvatar{width:32px;height:32px;border-radius:999px;background:#e8f1ef;display:grid;place-items:center;font-weight:800;font-size:11px}.workerOption span:nth-child(2){display:grid;gap:2px}.workerOption small{color:var(--muted);font-size:11px}.workerOption em{font-style:normal;color:var(--muted);font-size:11px}
.workerCasualOption{margin-top:5px;border-top:1px solid var(--line);border-radius:0 0 9px 9px}.workerPickerEmpty{padding:12px;color:var(--muted);font-size:12px;text-align:center}
.workerSelectedMeta{min-height:0;margin:2px 0 10px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.workerSelectedMeta:empty{display:none}.workerSelectedMeta b{font-size:12px}.workerSelectedMeta small{font-size:11px;color:var(--muted)}
.workerStatusBadge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.workerStatusBadge.registered{background:#e7f4e7;color:#2d6b31}.workerStatusBadge.casual{background:#fff1d8;color:#8a5b00}
.workerCostRow{margin-top:0}

/* WORKS47 v1.11.6 — financial model + money formatting */
.moneyInput{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid #cbd5d2;border-radius:7px;background:#fff;min-height:40px;overflow:hidden}
.moneyInput>span{display:grid;place-items:center;align-self:stretch;padding:0 9px;background:#f5f7f6;border-right:1px solid #d9e0de;color:#53686f;font-weight:900;font-size:12px}
.moneyInput>input{border:0!important;border-radius:0!important;min-height:38px!important;box-shadow:none!important;padding-left:9px!important}
.moneyInput:focus-within{border-color:#3983a0;box-shadow:0 0 0 3px #e4f0f5}
.quoteLine select{width:100%;border:1px solid #cbd5d2;border-radius:7px;background:#fff;min-height:40px;padding:8px 9px;color:var(--ink);outline:none}
.quoteLine select:focus{border-color:#3983a0;box-shadow:0 0 0 3px #e4f0f5}
.quoteLine.is-saved select:disabled{background:#eef4ef;color:var(--ink);opacity:1;-webkit-text-fill-color:var(--ink)}
.quoteLine{grid-template-columns:minmax(135px,1.05fr) minmax(150px,1.15fr) 65px 92px 108px 116px 118px 104px 104px 90px 30px}
.jobCostingV2{display:grid;gap:14px}
.jobCostingV2>h3{margin:0}
.jobCostColumns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.jobCostGroup{border:1px solid var(--line2);border-radius:9px;overflow:hidden;background:#fbfcfb}
.jobCostGroup h4{margin:0;padding:11px 12px;background:#f5f7f6;border-bottom:1px solid var(--line2);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#60757b}
.jobCostGroup>div,.jobCostResult>div{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line2)}
.jobCostGroup>div:last-child,.jobCostResult>div:last-child{border-bottom:0}
.jobCostGroup span,.jobCostResult span{color:var(--muted);font-size:12px;font-weight:750}
.jobCostGroup b,.jobCostResult b{white-space:nowrap}
.jobCostGroup .total{background:#fff;font-weight:850}
.jobCostResult{border:1px solid #d7e1de;border-radius:9px;background:#f7faf8;overflow:hidden}
.jobCostResult>div:nth-child(2) b{font-size:17px}
html[data-theme="dark"] .moneyInput,html[data-theme="dark"] .quoteLine select{background:#19272c;border-color:#304047;color:#e6eeee}
html[data-theme="dark"] .moneyInput>span{background:#172328;border-color:#304047;color:#c9d4d5}
html[data-theme="dark"] .jobCostGroup,html[data-theme="dark"] .jobCostResult,html[data-theme="dark"] .jobCostGroup .total{background:#172328;border-color:#2b3a3f}
html[data-theme="dark"] .jobCostGroup h4{background:#19272c;border-color:#2b3a3f}
@media(max-width:1250px){.quoteLine{grid-template-columns:repeat(4,minmax(0,1fr))}.quoteItemName,.quoteItemDescription{grid-column:span 2}}
@media(max-width:800px){.jobCostColumns{grid-template-columns:1fr}.quoteLine{grid-template-columns:1fr 1fr}.quoteItemName,.quoteItemDescription{grid-column:1/-1}}

/* v1.11.7 — financial model + extras/change orders */
.jobCostSimple{display:grid;border:1px solid var(--line2);border-radius:10px;overflow:hidden;background:#fbfcfb}
.jobCostSimple>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 12px;border-bottom:1px solid var(--line2)}
.jobCostSimple>div:last-child{border-bottom:0}.jobCostSimple>div.total{background:#fff}
.jobCostSimple span{display:flex;flex-direction:column;gap:2px;color:var(--ink);font-size:13px;font-weight:780}
.jobCostSimple span small{color:var(--muted);font-size:10px;font-weight:650;line-height:1.35}
.jobCostSimple b{font-size:14px;white-space:nowrap}.jobCostSimple .total b{font-size:18px}
.jobExtrasCard .tablewrap table{min-width:900px}
.jobExtrasCard td:first-child b,.jobExtrasCard td:first-child small{display:block}.jobExtrasCard td:first-child small{color:var(--muted);font-size:10px;margin-top:3px}
.extraForm .formNote{display:block;color:var(--muted);font-size:11px;line-height:1.45;padding:2px 1px}
.extraForm .formNote.full{grid-column:1/-1}
html[data-theme="dark"] .jobCostSimple,html[data-theme="dark"] .jobCostSimple .total{background:#172328;border-color:#2b3a3f}
@media(max-width:720px){.jobCostSimple>div{align-items:flex-start}.jobExtrasCard .tablewrap table{min-width:840px}}


/* WORKS47 v1.11.9 — Extra / Change Order approval flow */
.extraForm [hidden]{display:none!important}
.extraApprovalSummary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;margin-bottom:16px;border:1px solid var(--line2);border-radius:10px;background:#f7faf8}
.extraApprovalSummary b{font-size:15px}.extraApprovalSummary span{font-size:16px;font-weight:900;white-space:nowrap}
.approvalDetail{display:grid;gap:8px}.approvalDetail h3{margin:0 0 5px}.approvalDetail p{margin:0;line-height:1.45}
@media(max-width:620px){.extraApprovalSummary{align-items:flex-start;flex-direction:column}.extraApprovalSummary span{white-space:normal}}

/* WORKS47 v1.11.10 — invoice review before creation */
.invoiceBuilderModal{width:min(1040px,94vw);max-width:1040px}
.invoiceBuilder{display:grid;gap:14px}
.invoiceBuilderSource{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 16px;border:1px solid var(--line2);border-radius:11px;background:#f7faf8}
.invoiceBuilderSource>div{display:grid;gap:3px}.invoiceBuilderSource span,.invoiceBuilderSource small{font-size:11px;color:var(--muted)}.invoiceBuilderSource b{font-size:15px}
.invoiceDraftBadge{display:inline-flex!important;align-items:center;padding:5px 9px;border-radius:999px;background:#fff1d6;color:#94600b!important;font-weight:850;white-space:nowrap}
.invoiceBuilderNote{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.invoiceMeta{margin-top:0}.invoiceMeta .full{grid-column:1/-1}.invoiceMeta textarea{min-height:68px}
.invoiceBuildLines{border:1px solid var(--line2);border-radius:11px;overflow:hidden;background:#fff}
.invoiceBuildHead,.invoiceBuildLine{display:grid;grid-template-columns:64px minmax(230px,1fr) 110px 150px 125px;gap:10px;align-items:center;padding:10px 12px}
.invoiceBuildHead{background:#f5f7f6;border-bottom:1px solid var(--line2);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--muted)}
.invoiceBuildLine{border-bottom:1px solid var(--line2)}.invoiceBuildLine:last-child{border-bottom:0}.invoiceBuildLine.excluded{opacity:.46;background:#fafafa}
.invoiceBuildCheck{display:flex;justify-content:center}.invoiceBuildCheck input{width:18px;height:18px}
.invoiceBuildDesc{display:grid;gap:3px;min-width:0}.invoiceBuildDesc b{font-size:13px}.invoiceBuildDesc small{font-size:10px;color:var(--muted);line-height:1.35}
.invoiceBuildLine>label:not(.invoiceBuildCheck){display:grid;gap:5px;margin:0}.invoiceBuildLine>label>span,.invoiceBuildTotal>span{font-size:10px;font-weight:800;color:var(--muted)}
.invoiceBuildLine input{width:100%;padding:9px 10px;border:1px solid var(--line2);border-radius:8px;font:inherit;background:var(--surface);color:var(--ink)}
.invoiceBuildLine .moneyInput{min-height:38px}.invoiceBuildLine .moneyInput input{border:0;border-radius:0;padding:8px 9px}
.invoiceBuildTotal{display:grid;gap:5px;text-align:right}.invoiceBuildTotal b{font-size:14px;white-space:nowrap}
.invoiceBuilderSummary{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:14px 16px;border:1px solid #d7e1de;border-radius:10px;background:#f7faf8}.invoiceBuilderSummary span{font-weight:800}.invoiceBuilderSummary b{font-size:20px}
.invoiceBuilderDanger{display:flex;justify-content:flex-start}.dangerText{color:#a33434!important}
.invoiceReadOnly{display:grid;gap:14px}
html[data-theme="dark"] .invoiceBuilderSource,html[data-theme="dark"] .invoiceBuilderSummary,html[data-theme="dark"] .invoiceBuildHead{background:#172328;border-color:#2b3a3f}
html[data-theme="dark"] .invoiceBuildLines,html[data-theme="dark"] .invoiceBuildLine input{background:#19272c;border-color:#304047;color:#e6eeee}
@media(max-width:820px){.invoiceBuildHead{display:none}.invoiceBuildLine{grid-template-columns:42px 1fr 1fr}.invoiceBuildDesc{grid-column:2/-1}.invoiceBuildTotal{grid-column:2/-1;text-align:left}.invoiceBuilderSource{align-items:flex-start;flex-direction:column}}

/* WORKS47 v1.11.11 — invoice preview + action menu + finance return */
.invoiceActionSelect{min-width:170px;max-width:210px;padding:9px 34px 9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit;font-weight:750;cursor:pointer}
.invoiceNumberLink{font-weight:850}.clickableInvoiceRow{cursor:pointer}.clickableInvoiceRow:hover td{background:color-mix(in srgb,var(--soft) 70%,transparent)}
.invoicePreviewModal{width:min(1040px,95vw);max-width:1040px}.invoicePreview{display:grid;gap:14px}.invoicePreviewToolbar{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.invoiceDocument{background:#fff;color:#17343d;border:1px solid #dbe3e1;border-radius:12px;padding:30px;box-shadow:0 12px 28px rgba(20,45,50,.06)}
.invoiceDocBrand{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid #173f49;padding-bottom:22px}.invoiceDocBrand>div:first-child>span,.invoiceDocMeta span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#60747a}.invoiceDocBrand h1{margin:5px 0 8px;font-size:26px}.invoiceDocBrand p,.invoiceDocMeta p{margin:3px 0;color:#56686d;font-size:12px}.invoiceDocNumber{text-align:right}.invoiceDocNumber>b{display:block;font-size:20px;margin-bottom:8px}.invoiceDocMeta{display:grid;grid-template-columns:1fr 1.35fr .7fr;gap:24px;padding:22px 0}.invoiceDocMeta>div{display:grid;gap:4px}.invoiceDocItems{border:1px solid #d9e1df;border-radius:9px;overflow:hidden}.invoiceDocHead,.invoiceDocRow{display:grid;grid-template-columns:minmax(0,1fr) 80px 120px 130px;gap:10px;align-items:center;padding:11px 13px}.invoiceDocHead{background:#f1f5f4;font-size:10px;text-transform:uppercase;font-weight:850;color:#60747a}.invoiceDocRow{border-top:1px solid #e7eceb}.invoiceDocRow span,.invoiceDocRow strong,.invoiceDocHead span:nth-child(n+2){text-align:right;white-space:nowrap}.invoiceDocBottom{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;margin-top:22px}.invoiceDocBottom section p{font-size:12px;line-height:1.5;color:#56686d}.invoiceDocTotals>div{display:flex;justify-content:space-between;padding:8px 0}.invoiceDocTotals .grand{border-top:2px solid #173f49;font-size:18px;padding-top:12px}
html[data-theme="dark"] .invoiceDocument{background:#fff!important;color:#17343d!important}.invoiceTable td{vertical-align:middle}
@media(max-width:760px){.invoiceDocMeta{grid-template-columns:1fr}.invoiceDocHead{display:none}.invoiceDocRow{grid-template-columns:1fr 1fr}.invoiceDocRow>div{grid-column:1/-1}.invoiceDocRow span,.invoiceDocRow strong{text-align:left}.invoiceDocBottom{grid-template-columns:1fr}.invoiceDocument{padding:20px}.invoiceActionSelect{min-width:145px}}

/* WORKS47 v1.11.12 — professional invoice actions + real invoice email */
.invoiceActionMenu{position:relative;display:inline-block;min-width:150px}
.invoiceActionMenu>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font-weight:750;cursor:pointer;user-select:none}
.invoiceActionMenu>summary::-webkit-details-marker{display:none}
.invoiceActionMenu>summary span{font-size:15px;color:var(--muted);line-height:1;transition:transform .15s ease}
.invoiceActionMenu[open]>summary span{transform:rotate(180deg)}
.invoiceActionPopover{position:absolute;z-index:90;right:0;top:calc(100% + 6px);min-width:205px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 36px rgba(19,52,61,.18)}
.invoiceActionPopover button{display:block;width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:10px 11px;border-radius:7px;font:inherit;font-weight:650;cursor:pointer}
.invoiceActionPopover button:hover{background:var(--soft)}
html[data-theme="dark"] .invoiceActionPopover{background:#19272c;border-color:#304047}
@media(max-width:760px){.invoiceActionMenu{min-width:132px}.invoiceActionPopover{min-width:190px;right:auto;left:0}}

/* v1.11.13 — invoice actions menu must escape the table viewport */
.invoiceTableWrap{overflow:visible!important;position:relative;z-index:6}
.invoiceTableWrap .invoiceTable{min-width:0!important}
.invoiceTableWrap td:last-child{position:relative;overflow:visible}
.invoiceTableWrap .invoiceActionMenu{z-index:40}
.invoiceTableWrap .invoiceActionMenu[open]{z-index:120}
.invoiceTableWrap .invoiceActionPopover{z-index:500;top:calc(100% + 8px)}
@media(max-width:900px){.invoiceTableWrap{overflow-x:auto!important;overflow-y:visible!important}.invoiceTableWrap .invoiceTable{min-width:820px!important}}


/* WORKS47 v1.11.15 — robust invoice actions + printable/PDF invoice */
.invoiceActionsButton{
  min-width:150px;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);
  font:inherit;font-weight:750;cursor:pointer;box-shadow:0 1px 1px rgba(5,32,40,.03)
}
.invoiceActionsButton:hover,.invoiceActionsButton[aria-expanded="true"]{background:var(--soft);border-color:#9fb0ac}
.invoiceActionsButton span{font-size:15px;color:var(--muted);line-height:1;transition:transform .15s ease}
.invoiceActionsButton[aria-expanded="true"] span{transform:rotate(180deg)}
.invoiceActionPortal{
  position:fixed;z-index:5000;min-width:215px;padding:6px;background:#fff;border:1px solid var(--line);
  border-radius:10px;box-shadow:0 18px 44px rgba(19,52,61,.24)
}
.invoiceActionPortal button{
  display:block;width:100%;border:0;background:transparent;color:#17343d;text-align:left;padding:10px 11px;
  border-radius:7px;font:inherit;font-weight:650;cursor:pointer
}
.invoiceActionPortal button:hover{background:#eef3f1}
html[data-theme="dark"] .invoiceActionPortal{background:#19272c;border-color:#304047}
html[data-theme="dark"] .invoiceActionPortal button{color:#e6eeee}
html[data-theme="dark"] .invoiceActionPortal button:hover{background:#24353b}
.jobInvoiceCard,.jobInvoiceCard .jobOpsBody{overflow:visible!important}
.jobInvoiceCard .invoiceTableWrap{overflow:visible!important}
.jobInvoiceCard .invoiceTable{min-width:0!important}
.invoicePrintFrame{position:fixed!important;left:-10000px!important;top:0!important;width:8.5in!important;height:11in!important;border:0!important;opacity:0!important;pointer-events:none!important}
@media(max-width:760px){.invoiceActionsButton{min-width:132px}}

/* v1.11.16 — histórico de pagamentos dentro da fatura */
.invoiceDocPayments{margin-top:18px;border:1px solid #d9e1df;border-radius:9px;overflow:hidden;break-inside:avoid}
.invoiceDocPaymentsTitle{padding:10px 13px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#60747a;background:#f7f9f8;border-bottom:1px solid #e7eceb}
.invoiceDocPaymentHead,.invoiceDocPaymentRow{display:grid;grid-template-columns:140px 140px minmax(0,1fr) 130px;gap:10px;align-items:center;padding:9px 13px}
.invoiceDocPaymentHead{font-size:10px;text-transform:uppercase;font-weight:850;color:#60747a;background:#fbfcfc}
.invoiceDocPaymentRow{border-top:1px solid #e7eceb;font-size:12px}
.invoiceDocPaymentRow strong,.invoiceDocPaymentHead span:last-child{text-align:right;white-space:nowrap}
@media(max-width:760px){.invoiceDocPaymentHead{display:none}.invoiceDocPaymentRow{grid-template-columns:1fr 1fr}.invoiceDocPaymentRow strong{text-align:left}}

/* WORKS47 v1.11.17 — finance charts + partial-payment status */
.financeChartsGrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px;margin:16px 0 24px}
.financeChartCard{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 18px 14px;box-shadow:0 7px 24px rgba(24,55,62,.035)}
.financeChartHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}
.financeChartHead span{display:block;font-size:10px;letter-spacing:.14em;font-weight:900;color:var(--muted);margin-bottom:4px}
.financeChartHead h3{margin:0;font-size:18px;letter-spacing:-.02em}
.financeChartHead p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.financeLegend{display:flex;align-items:center;gap:6px;white-space:nowrap;color:var(--muted);font-size:11px;font-weight:750;padding-top:4px}
.financeLegend i{width:9px;height:9px;border-radius:99px;display:inline-block;margin-left:6px}.financeLegend i:first-child{margin-left:0}
.financeLegend .received,.financeLine.received,.financeDot.received{stroke:#173f49;fill:#173f49}.financeLegend .spent,.financeLine.spent,.financeDot.spent{stroke:#bd7b2b;fill:#bd7b2b}
.financeSvgWrap{width:100%;overflow:hidden}.financeLineChart{display:block;width:100%;height:auto;min-height:220px}
.financeGridLine{stroke:#e3e8e6;stroke-width:1}.financeAxisText{font-size:10px;fill:#708185;font-weight:650}
.financeLine{fill:none!important;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.financeDot{stroke:#fff!important;stroke-width:2}
.financeJobChart{display:grid;gap:12px;margin-top:14px}.financeJobChartRow{display:grid;grid-template-columns:minmax(130px,.85fr) minmax(0,1.65fr);gap:14px;align-items:center;border-top:1px solid var(--line2);padding-top:11px}.financeJobChartRow:first-child{border-top:0;padding-top:2px}
.financeJobChartLabel{min-width:0}.financeJobChartLabel b,.financeJobChartLabel span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.financeJobChartLabel b{font-size:12px}.financeJobChartLabel span{font-size:10px;color:var(--muted);margin-top:3px}
.financeBars{display:grid;gap:7px}.financeBarLine{display:grid;grid-template-columns:72px minmax(0,1fr) 82px;gap:8px;align-items:center}.financeBarLine>span{font-size:9px;color:var(--muted);font-weight:800}.financeBarLine>div{height:18px;background:#f0f3f2;border-radius:6px;overflow:hidden;position:relative}.financeBarLine i{display:block;height:100%;min-width:0;border-radius:6px;font-style:normal}.financeBarLine i.revenue{background:#dceceb}.financeBarLine i.cost{background:#f5e7d5}.financeBarValue{font-size:9px;font-weight:850;color:#17333b;text-align:right;white-space:nowrap}.financeJobResult{display:grid;grid-template-columns:auto auto auto auto;justify-content:end;gap:4px 8px;align-items:center;padding-top:3px;font-size:9px}.financeJobResult span{color:var(--muted);font-weight:750}.financeJobResult b{font-size:9px}.financeChartEmpty{padding:30px 10px;text-align:center;color:var(--muted);font-size:12px}.financeOverviewTables{margin-top:4px}
html[data-theme="dark"] .financeChartCard{background:#172328;border-color:#2b3a3f}html[data-theme="dark"] .financeGridLine{stroke:#304047}html[data-theme="dark"] .financeAxisText{fill:#9caeb1}html[data-theme="dark"] .financeBarLine>div{background:#223238}html[data-theme="dark"] .financeBarLine i.revenue{background:#274a50}html[data-theme="dark"] .financeBarLine i.cost{background:#54432f}html[data-theme="dark"] .financeBarLine em{color:#e7eeee}
@media(max-width:1000px){.financeChartsGrid{grid-template-columns:1fr}}
@media(max-width:620px){.financeChartCard{padding:14px 12px}.financeChartHead{display:block}.financeLegend{margin-top:10px}.financeJobChartRow{grid-template-columns:1fr}.financeBarLine{grid-template-columns:64px minmax(0,1fr) 74px}.financeJobResult{grid-template-columns:auto auto;justify-content:start}}

/* v1.11.20 — detailed job-cost analysis */
.financeCostHead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:2px}.financeCostHead .sectiontitle{margin-bottom:3px}.financeCostHead p{margin:0 0 12px;color:var(--muted);font-size:12px}.financeCostTableWrap{overflow:auto}.financeCostTable{min-width:1480px!important}.financeCostTable th{white-space:nowrap}.financeCostTable td{vertical-align:top}.financeCostTable td>b{display:block;white-space:nowrap}.financeCostTable td>small{max-width:260px;line-height:1.35}.financeCostTable td:first-child{min-width:165px}.financeCostTable td:nth-child(2){min-width:190px}.financeCostTable td:nth-child(3),.financeCostTable td:nth-child(4),.financeCostTable td:nth-child(5){min-width:205px}.financeCostRow .badge{margin-top:7px}.costBudgetCell{min-width:170px;display:grid;gap:5px}.costBudgetTrack{height:8px;border-radius:999px;background:#edf1ef;overflow:hidden}.costBudgetTrack i{display:block;height:100%;border-radius:999px;background:#6f9f86}.costBudgetTrack i.over{background:#b86161}.costBudgetCell>b{font-size:12px;white-space:nowrap}.costBudgetCell>b.negative{color:var(--red)}.costBudgetCell>small{font-size:10px!important;margin-top:0!important}.financeCostMetrics .metric small{font-weight:750}
html[data-theme="dark"] .costBudgetTrack{background:#24343a}.financeCostRow:hover{background:var(--soft)!important}
@media(max-width:800px){.financeCostMetrics{grid-template-columns:1fr 1fr}.financeCostHead{align-items:flex-start}.financeCostTable{min-width:1380px!important}}
@media(max-width:520px){.financeCostMetrics{grid-template-columns:1fr}}


/* v1.11.21 — job costs compact desktop layout */
.financeCostTableCompact{width:100%!important;min-width:0!important;table-layout:fixed}
.financeCostTableCompact th,.financeCostTableCompact td{min-width:0!important;white-space:normal}
.financeCostTableCompact th:nth-child(1){width:23%}
.financeCostTableCompact th:nth-child(2){width:16%}
.financeCostTableCompact th:nth-child(3){width:20%}
.financeCostTableCompact th:nth-child(4){width:15%}
.financeCostTableCompact th:nth-child(5){width:13%}
.financeCostTableCompact th:nth-child(6){width:13%}
.financeCostTableCompact td>b{white-space:normal!important;line-height:1.25}
.financeCostTableCompact td>small{display:block;max-width:none!important;white-space:normal;overflow-wrap:anywhere}
.financeCostTableCompact .costBudgetCell.compact{min-width:0;margin-top:8px;gap:4px}
.financeCostTableCompact .costBudgetCell.compact small{display:block;font-size:10px!important;line-height:1.3}
.financeCostTableCompact .costBudgetCell.compact strong{font-size:10px}
.financeCostTableWrap{overflow-x:hidden}
@media(max-width:1100px){.financeCostTableWrap{overflow-x:auto}.financeCostTableCompact{min-width:980px!important}}
@media(max-width:800px){.financeCostTableCompact{min-width:920px!important}}

/* WORKS47 v1.11.22 — professional team / worker directory */
.teamMetrics{margin-bottom:16px}
.teamDirectory{overflow:hidden;padding:0;margin-top:6px}
.teamDirectoryToolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 18px 14px;border-bottom:1px solid var(--line2)}
.teamDirectoryToolbar h2{margin:0 0 4px;font-size:19px;letter-spacing:-.02em}
.teamDirectoryToolbar p{margin:0;color:var(--muted);font-size:12px;line-height:1.45;max-width:650px}
.teamDirectoryFilters{display:flex;align-items:center;gap:8px;min-width:min(480px,42vw)}
.teamDirectoryFilters input,.teamDirectoryFilters select{height:40px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;padding:0 11px}
.teamDirectoryFilters input{flex:1;min-width:220px}.teamDirectoryFilters select{min-width:150px}
.teamDirectoryTableWrap{overflow-x:auto}
.teamDirectoryTable{width:100%;border-collapse:collapse;min-width:1040px}
.teamDirectoryTable th{padding:11px 12px;text-align:left;background:var(--soft);color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line2);white-space:nowrap}
.teamDirectoryTable td{padding:12px;border-bottom:1px solid var(--line2);vertical-align:middle;font-size:12px}
.teamDirectoryTable tbody tr:last-child td{border-bottom:0}
.teamDirectoryTable td>b,.teamDirectoryTable td>small{display:block}.teamDirectoryTable td>small{margin-top:3px;color:var(--muted);line-height:1.3}
.teamDirectoryRow{cursor:pointer;transition:background .12s ease}.teamDirectoryRow:hover td,.teamDirectoryRow:focus td{background:color-mix(in srgb,var(--soft) 72%,transparent)}.teamDirectoryRow:focus{outline:none}
.teamIdentity{display:flex;align-items:center;gap:10px}.teamIdentity>span:last-child{min-width:0}.teamIdentity b,.teamIdentity small{display:block}.teamIdentity small{margin-top:3px;color:var(--muted)}
.teamAvatar,.teamProfileAvatar{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#e8f0ee;color:#173f49;font-weight:900;border:1px solid #d7e1de}.teamAvatar{width:34px;height:34px;font-size:11px}.teamProfileAvatar{width:58px;height:58px;font-size:17px}
.teamDirectoryEmpty{text-align:center;padding:30px;color:var(--muted);font-size:13px}
.teamMemberFormPro{display:grid;gap:12px}.teamFormSection{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--card)}
.teamFormSectionHead{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.teamFormSectionHead>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#173f49;color:#fff;font-size:11px;font-weight:900;flex:0 0 auto}.teamFormSectionHead b,.teamFormSectionHead small{display:block}.teamFormSectionHead small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.35}
.teamMemberFormPro .moneyInput{min-height:40px}.teamMemberFormPro .moneyInput input{border:0!important;border-radius:0!important}
.teamProfileModal{width:min(760px,94vw)}.teamProfileHero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:4px 0 16px}.teamProfileHero h3{margin:0;font-size:22px}.teamProfileHero p{margin:4px 0 0;color:var(--muted);line-height:1.4}
.teamProfileStats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.teamProfileStats>div,.teamProfileDetails>div{border:1px solid var(--line2);border-radius:10px;background:var(--soft);padding:12px}.teamProfileStats span,.teamProfileDetails span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.teamProfileStats b{font-size:17px}.teamProfileDetails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teamProfileDetails b{font-size:12px;overflow-wrap:anywhere}
html[data-theme="dark"] .teamAvatar,html[data-theme="dark"] .teamProfileAvatar{background:#22383e;color:#dceceb;border-color:#304047}
@media(max-width:900px){.teamDirectoryToolbar{align-items:stretch;flex-direction:column}.teamDirectoryFilters{min-width:0;width:100%}.teamDirectoryTable{min-width:940px}}
@media(max-width:620px){.teamDirectoryFilters{flex-direction:column}.teamDirectoryFilters input,.teamDirectoryFilters select{width:100%;min-width:0}.teamProfileStats{grid-template-columns:1fr}.teamProfileDetails{grid-template-columns:1fr}.teamProfileHero{grid-template-columns:auto 1fr}.teamProfileHero>.badge{grid-column:1/-1;width:max-content}}

/* v1.11.23 — Equipe: linha inteira + lembretes de horas */
.teamReminderValue{display:block;font-size:12px}.teamReminderValue.is-on{color:var(--ink)}.teamReminderValue.is-off{color:var(--muted);font-weight:700}
.teamReminderSection{background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--soft) 48%,var(--card)))}
.teamReminderNote{margin:10px 2px 0;color:var(--muted);font-size:11px;line-height:1.45}
.teamProfileDetails small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}
.reminderPreview{display:grid;gap:16px}.reminderPreviewMeta{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.reminderPreviewMeta span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.reminderPreviewMeta b{font-size:13px}
.reminderBubble{max-width:560px;padding:14px 16px;border-radius:16px 16px 16px 5px;background:#eaf1ef;border:1px solid #d9e4e1;color:#17343b;font-size:14px;line-height:1.5}
html[data-theme="dark"] .reminderBubble{background:#22363b;border-color:#30464c;color:#e7f0ef}
@media(max-width:900px){.teamDirectoryTable{min-width:1120px}}

/* ================================================================
   WORKS47 v1.20.0 — operations, permissions, worker portal & automation
   ================================================================ */
.roleBadge{display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;border-radius:999px;background:var(--soft);border:1px solid var(--line2);font-size:9px;font-weight:900;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.roleBadge.large{font-size:11px;padding:6px 10px}.permissionsHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.permissionsHeader h2{margin:0 0 5px}

.scheduleCommand{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-bottom:12px}.scheduleNav,.scheduleFilters{display:flex;align-items:center;gap:8px}.scheduleNav>b{font-size:13px;margin-left:4px}.scheduleCommand select{height:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:0 10px;font:inherit;font-size:12px}.iconbtn{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-size:20px;cursor:pointer}.btn.compact{min-height:34px;padding:7px 10px}.scheduleMetrics{margin-bottom:14px}.scheduleWeekV2 section.today,.scheduleMonthV2 .today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brandMid) 38%,transparent)}.scheduleWeekV2 section{min-width:0}.eventcard{width:100%;text-align:left}.eventcard.wide{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px}.eventTime{display:grid;gap:3px}.eventTime>b{font-size:13px}.eventTime>small{color:var(--muted);font-size:10px}.eventMain{min-width:0;display:grid;gap:3px}.eventMain>b{font-size:12px}.eventMain>span,.eventMain>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px}.scheduleMonthV2 .monthday button{display:grid;width:100%;border:0;background:transparent;text-align:left;padding:3px 0;color:var(--ink);font:inherit;font-size:9px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scheduleMonthV2 .monthday button span{color:var(--muted);font-weight:800;margin-right:4px}.scheduleMonthV2 .monthday>small{display:block;margin-top:3px;color:var(--muted);font-size:9px}

.timeMetrics{margin-bottom:16px}.timesheetPanel{overflow:hidden;padding:0}.timesheetToolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid var(--line2)}.timesheetToolbar h2{margin:0 0 4px}.timesheetToolbar p{margin:0;color:var(--muted);font-size:11px}.timesheetToolbar>div:last-child{display:flex;gap:8px}.timesheetToolbar select{height:38px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:0 9px}.timesheetTable{width:100%;min-width:980px}.timesheetTable td>b,.timesheetTable td>small{display:block}.timesheetTable td>small{margin-top:3px;color:var(--muted);font-size:10px}.timeRow{cursor:pointer}.timeRow:hover td{background:var(--soft)}

.workerPortalHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;margin-bottom:14px;background:linear-gradient(135deg,var(--panel),var(--soft))}.workerPortalHero>div:first-child>span{display:block;color:var(--muted);font-size:10px;letter-spacing:.14em;font-weight:900}.workerPortalHero h2{margin:5px 0 3px;font-size:24px}.workerPortalHero p{margin:0;color:var(--muted)}.workerPortalStats{display:flex;gap:10px}.workerPortalStats>div{min-width:116px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);padding:12px}.workerPortalStats span,.workerPortalStats b{display:block}.workerPortalStats span{font-size:10px;color:var(--muted);font-weight:800}.workerPortalStats b{font-size:19px;margin-top:5px}.workerPortalList{display:grid;gap:10px}.workerVisitCard{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:14px;align-items:flex-start;padding:16px}.workerVisitTime{display:grid;place-items:center;align-content:center;min-height:84px;border-radius:11px;background:var(--soft);border:1px solid var(--line2)}.workerVisitTime b{font-size:18px}.workerVisitTime span{font-size:10px;color:var(--muted);margin-top:3px}.workerVisitMain{display:grid;gap:11px;min-width:0}.workerVisitMain>div:first-child>span{font-size:9px;color:var(--muted);font-weight:850}.workerVisitMain h3{margin:2px 0 4px;font-size:17px}.workerVisitMain p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.workerVisitNotes{padding:9px 11px;background:var(--soft);border-radius:8px}.workerVisitNotes b{font-size:10px;text-transform:uppercase;letter-spacing:.06em}.workerVisitNotes p{margin:4px 0 0}.workerVisitActions{display:flex;gap:8px}.workerPortalGuard{padding:14px 16px;margin-top:14px;border-style:dashed}.workerPortalGuard b{display:block;font-size:12px}.workerPortalGuard p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}

.automationMetrics{margin-bottom:14px}.automationBuilderIntro{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;padding:14px 16px;margin-bottom:14px}.automationBuilderIntro>div{display:grid;gap:3px}.automationBuilderIntro span{font-size:9px;letter-spacing:.12em;color:var(--muted);font-weight:900}.automationBuilderIntro b{font-size:12px}.automationBuilderIntro>i{font-style:normal;color:var(--muted);font-weight:900}.automationV2{display:grid;gap:9px}.automationCardV2{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px}.automationIcon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--soft);font-size:18px;font-weight:900}.automationContent{min-width:0}.automationTitle{display:flex;gap:8px;align-items:center;margin-bottom:7px}.automationTitle>b{font-size:13px}.automationFlow{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.automationFlow span,.automationFlow strong{font-size:10px;border:1px solid var(--line2);background:var(--soft);padding:5px 7px;border-radius:7px}.automationFlow i{font-style:normal;color:var(--muted);font-size:10px}

html[data-theme="dark"] .roleBadge,html[data-theme="dark"] .workerVisitTime,html[data-theme="dark"] .automationIcon{background:#223238;border-color:#304047}html[data-theme="dark"] .scheduleCommand select,html[data-theme="dark"] .timesheetToolbar select,html[data-theme="dark"] .iconbtn{background:#172328;border-color:#304047}html[data-theme="dark"] .workerPortalHero{background:linear-gradient(135deg,#172328,#1d2d33)}

@media(max-width:900px){.scheduleCommand,.timesheetToolbar{align-items:flex-start;flex-direction:column}.scheduleFilters,.timesheetToolbar>div:last-child{width:100%}.scheduleFilters select,.timesheetToolbar select{flex:1}.workerVisitCard{grid-template-columns:70px minmax(0,1fr)}.workerVisitCard>.badge{grid-column:2}.automationBuilderIntro{grid-template-columns:1fr}.automationBuilderIntro>i{transform:rotate(90deg);justify-self:center}}
@media(max-width:620px){.scheduleNav{flex-wrap:wrap}.scheduleFilters{flex-direction:column}.scheduleFilters select{width:100%}.workerPortalHero{align-items:flex-start;flex-direction:column}.workerPortalStats{width:100%}.workerPortalStats>div{flex:1;min-width:0}.workerVisitCard{grid-template-columns:1fr}.workerVisitTime{min-height:60px;grid-template-columns:auto auto;gap:8px;justify-content:start;padding:10px 12px}.workerVisitCard>.badge{grid-column:1}.workerVisitActions{flex-direction:column}.workerVisitActions .btn{width:100%}.permissionsHeader{flex-direction:column}}

/* v1.20 — Worker self-service time entry */
.workerTimeForm{display:grid;gap:18px}.workerTimeContext{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.workerTimeContext b{font-size:15px}.workerTimeContext span{color:var(--muted);font-size:13px}.workerTimeNotice{margin:0;padding:12px 14px;border-radius:12px;background:var(--soft);color:var(--muted);font-size:12px;line-height:1.5}.workerTimeForm .entryModeSwitch{margin:0}
@media(max-width:640px){.workerTimeContext{align-items:flex-start;flex-direction:column;gap:4px}}

/* v1.21.0 — Field documentation / Worker Portal */
.fieldDocsHeaderActions{display:flex;gap:8px;flex-wrap:wrap}.fieldDocsMetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 16px 16px}.fieldDocsMetrics>div{border:1px solid var(--line2);background:var(--soft);border-radius:9px;padding:11px 12px}.fieldDocsMetrics span,.fieldDocsMetrics b{display:block}.fieldDocsMetrics span{font-size:10px;color:var(--muted);font-weight:800}.fieldDocsMetrics b{font-size:20px;margin-top:4px}.fieldGallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 16px 16px}.fieldPhotoThumb{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:var(--soft);border:1px solid var(--line2);cursor:pointer}.fieldPhotoThumb img{width:100%;height:100%;object-fit:cover;display:block;background:linear-gradient(135deg,var(--soft),var(--panel))}.fieldPhotoTag{position:absolute;left:7px;bottom:7px;padding:4px 7px;background:rgba(12,38,47,.82);color:#fff;border-radius:999px;font-size:9px;font-weight:850}.fieldClientEye{position:absolute;right:7px;top:7px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#173f49;font-size:11px}.fieldEmpty{margin:0 16px 16px;padding:16px;border:1px dashed var(--line);border-radius:9px;color:var(--muted)}.fieldEmpty b,.fieldEmpty span{display:block}.fieldEmpty span{font-size:12px;margin-top:4px}.fieldFeed{display:grid;border-top:1px solid var(--line2)}.fieldFeedRow{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:flex-start;padding:12px 16px;border-bottom:1px solid var(--line2)}.fieldFeedRow:last-child{border-bottom:0}.fieldFeedIcon{width:30px;height:30px;border-radius:8px;background:var(--soft);display:grid;place-items:center}.fieldFeedRow>div>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.fieldFeedRow em{font-style:normal;font-size:9px;border-radius:999px;padding:3px 6px;background:var(--soft);color:var(--muted);font-weight:800}.fieldFeedRow p{margin:4px 0 2px;font-size:12px;line-height:1.45}.fieldFeedRow small{color:var(--muted);font-size:10px}.fieldUploadBox{border:1px dashed #9fb1ad;border-radius:10px;padding:16px;background:var(--soft)}.fieldUploadBox input{background:var(--panel)!important}.fieldUploadBox span{font-size:11px;color:var(--muted);font-weight:600}.fieldCheck,.fieldChecklistCheck{display:flex!important;grid-template-columns:18px 1fr!important;align-items:center;gap:9px!important;border:1px solid var(--line2);border-radius:8px;padding:10px 12px;background:var(--soft)}.fieldCheck input,.fieldChecklistCheck input{width:18px!important;height:18px!important;min-height:0!important}.fieldChecklistPhotoHint{padding:12px;border:1px dashed var(--line);border-radius:8px}.fieldChecklistPhotoHint b,.fieldChecklistPhotoHint span{display:block}.fieldChecklistPhotoHint span{margin-top:4px;color:var(--muted);font-size:11px}.fieldChecklistPicker{display:grid;gap:9px}.fieldChecklistPicker button{padding:14px;text-align:left;color:var(--ink)}.fieldChecklistPicker b,.fieldChecklistPicker span{display:block}.fieldChecklistPicker span{margin-top:4px;color:var(--muted);font-size:11px}.fieldPhotoViewer{display:grid;gap:14px}.fieldPhotoViewer img{max-width:100%;max-height:62vh;justify-self:center;border-radius:10px;background:var(--soft)}.fieldPhotoViewer p{margin:6px 0}.fieldPhotoViewer small{color:var(--muted)}
.workerFieldSummary{display:flex;gap:7px;flex-wrap:wrap}.workerFieldSummary span{border:1px solid var(--line2);border-radius:999px;padding:5px 8px;background:var(--soft);font-size:10px;font-weight:850}.workerFieldPreview{display:grid;grid-template-columns:repeat(4,64px);gap:6px}.workerFieldPreview .fieldPhotoThumb{width:64px;height:52px;aspect-ratio:auto}.workerFieldPreview .fieldPhotoTag,.workerFieldPreview .fieldClientEye{display:none}.workerFieldActions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.fieldAction{border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);padding:9px 8px;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:5px}.fieldAction:hover{background:var(--soft)}.fieldAction span{font-size:14px}.workerPortalStats{flex-wrap:wrap}
html[data-theme="dark"] .fieldClientEye{background:#dfe8e5;color:#173f49}html[data-theme="dark"] .fieldPhotoThumb img{background:#223238}
@media(max-width:900px){.fieldGallery{grid-template-columns:repeat(3,minmax(0,1fr))}.fieldDocsMetrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.fieldGallery{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:12px;padding-right:12px}.fieldDocsMetrics{padding-left:12px;padding-right:12px}.fieldDocsHeaderActions{width:100%}.fieldDocsHeaderActions .btn{flex:1}.fieldFeedRow{grid-template-columns:28px minmax(0,1fr)}.fieldFeedRow>.textbtn{grid-column:2;justify-self:start}.workerFieldActions{grid-template-columns:repeat(2,1fr)}.workerFieldPreview{grid-template-columns:repeat(4,1fr)}.workerFieldPreview .fieldPhotoThumb{width:100%;height:auto;aspect-ratio:4/3}.workerPortalStats>div{min-width:calc(33.333% - 8px)}}

/* ================================================================
   v1.23 — Simplified primary navigation
   Six clear areas, larger icons, contextual secondary navigation.
   ================================================================ */
:root{--side:112px}
.side{
  width:var(--side);
  padding:14px 10px 18px;
  overflow-x:hidden;
}
.brand{
  width:70px;height:62px;margin:0 auto 18px;
}
.brandmark{
  width:56px;height:56px;border-radius:18px;
}
.brandmark b{font-size:20px}
.nav{
  width:100%;display:grid;gap:9px;justify-items:stretch;margin:0;
}
.sidebtn{
  width:100%;height:72px;border-radius:18px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;padding:6px 5px;
}
.sidebtn i{
  width:46px;height:42px;border-radius:14px;
  font-size:25px;line-height:1;display:grid;place-items:center;
}
.sidebtn span{
  display:block;max-width:90px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;font-size:10px;font-weight:900;letter-spacing:.01em;
  line-height:1.1;text-align:center;
}
.sidebtn.active:before{
  left:auto;right:-10px;top:17px;bottom:17px;width:4px;
}
.top{left:var(--side)}
.main{margin-left:var(--side)}

.workspaceNav{
  display:flex;align-items:center;gap:14px;margin:-2px 0 24px;
  padding:8px 10px;background:#fff;border:1px solid var(--line);
  border-radius:15px;box-shadow:0 5px 18px rgba(23,59,67,.045);
}
.workspaceNavTitle{
  display:flex;align-items:center;gap:7px;min-width:max-content;
  padding:5px 9px 5px 5px;border-right:1px solid var(--line2);
  font-size:12px;font-weight:950;color:#53686f;
}
.workspaceNavTitle i{
  width:30px;height:30px;display:grid;place-items:center;
  border-radius:10px;background:#f2f5f3;font-style:normal;font-size:17px;
}
.workspaceNavItems{
  display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;
  padding:1px;scrollbar-width:thin;
}
.workspaceNavItem{
  border:0;background:transparent;color:#5c6d72;border-radius:10px;
  padding:9px 13px;font-size:12px;font-weight:850;white-space:nowrap;
}
.workspaceNavItem:hover{background:#f3f5f3;color:var(--ink)}
.workspaceNavItem.active{
  background:#173f49;color:#fff;box-shadow:0 4px 10px rgba(23,63,73,.15);
}

/* Give each of the six primary areas a restrained visual identity. */
.sidebtn:nth-child(1) i{background:#eef5ff!important}
.sidebtn:nth-child(2) i{background:#edf7ef!important}
.sidebtn:nth-child(3) i{background:#f3efff!important}
.sidebtn:nth-child(4) i{background:#fff5df!important}
.sidebtn:nth-child(5) i{background:#eef3ff!important}
.sidebtn:nth-child(6) i{background:#f2f3f2!important}

@media(max-width:760px){
  :root{--side:72px;--top:58px}
  .side{padding:9px 6px 14px}
  .brand{width:54px;height:50px;margin-bottom:12px}
  .brandmark{width:42px;height:42px;border-radius:14px}.brandmark b{font-size:16px}
  .nav{gap:6px}
  .sidebtn{height:54px;border-radius:15px;gap:0}
  .sidebtn i{width:40px;height:40px;font-size:22px;border-radius:12px}
  .sidebtn span{display:none}
  .workspaceNav{margin:-2px 0 16px;padding:6px 7px;gap:7px;border-radius:12px}
  .workspaceNavTitle{display:none}
  .workspaceNavItem{padding:8px 11px;font-size:11px}
}

/* ================================================================
   WORKS47 v1.24 — Desktop workspace + supplemental tools header
   ================================================================ */
:root{--tools:54px}
.utilityNav{
  position:fixed;top:var(--top);left:var(--side);right:0;height:var(--tools);
  z-index:19;background:#f8f8f5;border-bottom:1px solid #dedfd9;
  display:flex;align-items:center;padding:0 26px;
  box-shadow:0 3px 12px rgba(23,59,67,.025);
}
.utilityNavInner{width:100%;max-width:1600px;margin:0 auto;display:flex;align-items:center;justify-content:center;min-width:0}
.utilityNavLabel{
  display:flex;align-items:center;gap:7px;flex:0 0 auto;padding-right:14px;
  border-right:1px solid var(--line);color:#7b8585;font-size:10px;font-weight:950;
  text-transform:uppercase;letter-spacing:.09em
}
.utilityNavLabel i{font-style:normal;color:#b27f43;font-size:13px}
.utilityNavItems{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;min-width:0;overflow-x:auto;scrollbar-width:thin;padding:0 18px}
.utilityNavItem{
  border:0;background:transparent;color:#667579;border-radius:11px;padding:8px 14px;
  font-size:11px;font-weight:800;white-space:nowrap;transition:.15s ease
}
.utilityNavItem:hover{background:#efefeb;color:var(--ink)}
.utilityNavItem.active{background:#e8ece9;color:#173f49;box-shadow:inset 0 0 0 1px #d5dcda}
.main{padding-top:calc(var(--top) + var(--tools))}
.content{max-width:1720px;width:100%;padding:28px clamp(24px,2.7vw,48px) 72px}

/* Dashboard: desktop-first use of available horizontal space. */
.dashboardPage{width:100%;max-width:none;margin:0}
.dashboardPage .dashboardIntro{
  max-width:none;width:100%;margin:18px 0 24px;padding:0;
}
.dashboardPage .sectionTitleRow{width:100%;margin-top:0}
.dashboardPage .workflow{
  max-width:none;width:100%;margin:0 0 26px;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:14px
}
.dashboardPage .dashgrid{
  max-width:none;width:100%;margin:0;
  grid-template-columns:minmax(0,2.35fr) minmax(330px,.85fr);gap:28px
}
.dashboardPage .wf{min-height:132px}
.dashboardPage .card{width:100%}
.dashboardPage .sectiontitle{margin-top:22px}

/* With fewer primary destinations, make their icons easier to identify. */
.sidebtn i{width:50px;height:46px;font-size:28px}
.sidebtn{height:78px}
.sidebtn span{font-size:11px}
.sidebtn.active:before{top:19px;bottom:19px}

@media(max-width:1180px){
  .utilityNav{padding-inline:18px}
  .dashboardPage .dashgrid{grid-template-columns:minmax(0,1.75fr) minmax(290px,.8fr);gap:18px}
  .dashboardPage .workflow{gap:10px}
}
@media(max-width:900px){
  .dashboardPage .dashgrid{grid-template-columns:1fr}
  .dashboardPage .workflow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  :root{--tools:46px}
  .utilityNav{left:var(--side);padding:0 10px;height:var(--tools)}
  .utilityNavItems{justify-content:flex-start;gap:2px}
  .utilityNavItem{padding:7px 9px;font-size:10px}
  .sidebtn{height:56px}.sidebtn i{width:42px;height:42px;font-size:23px}.sidebtn span{display:none}
  .dashboardPage .dashboardIntro{margin-top:6px}
  .dashboardPage .workflow{grid-template-columns:1fr 1fr;gap:9px}
  .dashboardPage .dashgrid{grid-template-columns:1fr;gap:14px}
}


/* ================================================================
   WORKS47 v1.27 — Beaver brand welcome animation + interactive mascot
   ================================================================ */
.beaverWelcome{
  position:fixed;left:var(--side);right:0;bottom:0;height:292px;display:none;pointer-events:none;z-index:47;overflow:visible
}
.beaverWelcome.play,.beaverWelcome.parked{display:block}
.beaverWelcome.hidden{display:none!important}
.beaverWorksite{
  position:absolute;left:18px;bottom:10px;width:142px;height:92px;opacity:0;transform:translateY(12px) scale(.96);transition:opacity .38s ease,transform .38s ease;pointer-events:none
}
.beaverWorksite.visible{opacity:1;transform:translateY(0) scale(1)}
.beaverBoards{
  position:absolute;left:7px;bottom:7px;width:106px;height:16px;border-radius:4px;background:linear-gradient(90deg,#b57b43,#d7a36a 48%,#9c6536 49%,#c8935a);box-shadow:0 -18px 0 -3px #bc8551,0 -34px 0 -5px #d0a06e;transform:rotate(-2deg)
}
.beaverToolbox{
  position:absolute;right:1px;bottom:4px;width:58px;height:38px;border-radius:8px;background:#173f49;color:#fff;font-weight:900;font-size:10px;display:grid;place-items:center;box-shadow:0 7px 15px rgba(23,63,73,.2)
}
.beaverToolbox:before{content:'';position:absolute;left:15px;right:15px;top:-8px;height:10px;border:4px solid #173f49;border-bottom:0;border-radius:8px 8px 0 0}
.beaverWalker{
  --foot-left:0px;--foot-right:0px;--shadow-scale:1;
  position:absolute;left:0;bottom:12px;width:236px;height:272px;opacity:1;will-change:transform;transform:translate3d(28px,0,0);
  background:transparent;border:0;padding:0;cursor:pointer;pointer-events:auto
}
.beaverBob{position:absolute;left:5px;bottom:12px;width:220px;height:252px;display:flex;align-items:flex-end;justify-content:center;transform-origin:50% 96%;will-change:transform}
.beaverBob img{display:block;width:218px;height:auto;max-height:252px;object-fit:contain;image-rendering:auto;filter:brightness(1.055) contrast(1.075) saturate(1.075) drop-shadow(0 14px 12px rgba(20,40,44,.24));transform:translateZ(0)}
.beaverGroundShadow{position:absolute;left:58px;bottom:6px;width:112px;height:18px;border-radius:50%;background:rgba(28,43,46,.17);filter:blur(2px);transform:scaleX(var(--shadow-scale));transform-origin:center}
.beaverFoot{position:absolute;bottom:8px;width:29px;height:9px;border-radius:58% 58% 44% 44%;background:#754429;box-shadow:0 2px 2px rgba(52,28,16,.14);will-change:transform;z-index:2}
.beaverFootLeft{left:67px;transform:translateX(var(--foot-left)) rotate(-4deg)}
.beaverFootRight{left:111px;transform:translateX(var(--foot-right)) rotate(4deg)}
.beaverWelcome.parked .beaverWorksite{opacity:0}
.beaverWelcome.parked .beaverWalker{opacity:1}
.beaverWelcome.parked .beaverBob{animation:beaverParkedV127 6s ease-in-out 1.2s infinite}
@media(max-width:899px){
  .beaverWelcome{height:92px}
  .beaverWelcome.play{display:none}
  .beaverWelcome.parked .beaverWalker{left:auto!important;right:92px;bottom:2px;width:82px;height:96px;transform:none!important;opacity:1}
  .beaverWelcome.parked .beaverBob{left:5px;width:74px;height:92px;animation:none}
  .beaverWelcome.parked .beaverBob img{width:74px;max-height:90px}
  .beaverMenu{right:18px;bottom:108px;min-width:168px}
}
@media(prefers-reduced-motion:reduce){
  .beaverWelcome.play{display:none!important}
}

.utilityNavLabel{display:none!important}

/* v1.28 assistant launcher consolidation */
.floatingDock{display:none!important}
.beaverMini img{width:100%!important;height:100%!important;object-fit:contain!important}
.beaverWalker:hover .beaverBob{filter:brightness(1.03)}
@media(max-width:899px){.liaPanel{left:14px!important;right:auto!important;bottom:105px}.beaverWelcome.parked .beaverWalker{left:0!important;right:auto!important;transform:translate3d(calc(100vw - var(--side) - 112px),0,0)!important}}

/* v1.29 — assistant anchored to mascot */
.liaPanel:after{content:'';position:absolute;bottom:28px;width:16px;height:16px;background:#fff;border-bottom:1px solid #daddd8;border-right:1px solid #daddd8;transform:rotate(45deg);z-index:2}
.liaPanel.anchorFromLeft:after{left:-9px;transform:rotate(135deg)}
.liaPanel.anchorFromRight:after{right:-9px;transform:rotate(-45deg)}
html[data-theme="dark"] .liaPanel:after{background:#162328;border-color:#304047}

/* ================================================================
   WORKS47 v1.31 — Static HQ mascot + unified assistant launcher
   ================================================================ */
.beaverWelcome.staticMascot{
  display:block!important;
  position:fixed;
  left:calc(var(--side) + 22px);
  right:auto;
  bottom:10px;
  width:220px;
  height:276px;
  z-index:47;
  pointer-events:none;
  overflow:visible;
}
.beaverWelcome.staticMascot .beaverWorksite,
.beaverWelcome.staticMascot .beaverGroundShadow,
.beaverWelcome.staticMascot .beaverFoot{display:none!important}
.beaverWelcome.staticMascot .beaverWalker,
.beaverWelcome.staticMascot.parked .beaverWalker{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  bottom:0!important;
  width:220px!important;
  height:276px!important;
  transform:none!important;
  opacity:1!important;
  padding:0;
  border:0;
  background:transparent;
  pointer-events:auto;
  cursor:pointer;
}
.beaverWelcome.staticMascot .beaverBob,
.beaverWelcome.staticMascot.parked .beaverBob{
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:220px!important;
  height:276px!important;
  animation:none!important;
  transform:none!important;
  filter:none!important;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.beaverWelcome.staticMascot .beaverBob img,
.beaverWelcome.staticMascot.parked .beaverBob img{
  display:block;
  width:214px!important;
  height:auto!important;
  max-height:274px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
  filter:drop-shadow(0 12px 14px rgba(15,43,49,.18))!important;
  transform:none!important;
  opacity:1!important;
}
.beaverWelcome.staticMascot .beaverWalker:hover .beaverBob{transform:translateY(-2px)!important}
.beaverWelcome.staticMascot .beaverWalker:focus-visible{outline:3px solid rgba(33,105,123,.28);outline-offset:3px;border-radius:24px}

/* Assistant opens from the mascot on the left, not from a separate launcher. */
.liaPanel{z-index:91}
.liaPanel.anchorFromLeft:after{left:-9px;right:auto;bottom:30px;transform:rotate(135deg)}
.floatingDock{display:none!important}

@media(max-width:1050px){
  .beaverWelcome.staticMascot{left:calc(var(--side) + 12px);width:184px;height:230px}
  .beaverWelcome.staticMascot .beaverWalker,
  .beaverWelcome.staticMascot.parked .beaverWalker,
  .beaverWelcome.staticMascot .beaverBob,
  .beaverWelcome.staticMascot.parked .beaverBob{width:184px!important;height:230px!important}
  .beaverWelcome.staticMascot .beaverBob img,
  .beaverWelcome.staticMascot.parked .beaverBob img{width:178px!important;max-height:228px!important}
}
@media(max-width:760px){
  .beaverWelcome.staticMascot{left:calc(var(--side) + 8px);bottom:8px;width:94px;height:118px}
  .beaverWelcome.staticMascot .beaverWalker,
  .beaverWelcome.staticMascot.parked .beaverWalker,
  .beaverWelcome.staticMascot .beaverBob,
  .beaverWelcome.staticMascot.parked .beaverBob{width:94px!important;height:118px!important}
  .beaverWelcome.staticMascot .beaverBob img,
  .beaverWelcome.staticMascot.parked .beaverBob img{width:90px!important;max-height:116px!important}
  .liaPanel{left:14px!important;right:auto!important;width:calc(100vw - 28px)!important;bottom:132px!important;height:min(510px,calc(100vh - 155px))!important}
  .liaPanel:after{display:none!important}
}

/* ================================================================
   WORKS47 v1.40 — Client Hub experience
   ================================================================ */
.clientHubAdminBar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:10px 14px;border:1px dashed #d4dcda;border-radius:14px;background:#fafbf9;color:#68787b;font-size:11px}
.clientHubAdminBar label{display:flex;align-items:center;gap:10px;font-weight:800;color:#425b61}.clientHubAdminBar select{min-width:230px}
.clientHubShell{border:1px solid #d9e1df;border-radius:20px;overflow:hidden;background:#f7f9f8;box-shadow:0 16px 38px rgba(25,55,61,.07)}
.clientHubBrand{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;background:#fff;border-bottom:1px solid #dde4e2}
.clientHubBrand>div{display:flex;align-items:center;gap:10px}.clientHubBrand>div:last-child{display:grid;text-align:right;gap:2px}.clientHubBrand b{font-size:14px}.clientHubBrand small{font-size:10px;color:#718085}
.clientHubLogo{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#173f49;color:#fff;font-weight:950;font-size:12px}
.clientHubTabs{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#fff;border-bottom:1px solid #dde4e2;overflow-x:auto}
.clientHubTabs button{border:0;background:transparent;border-radius:10px;padding:9px 13px;color:#66777b;font-size:11px;font-weight:850;white-space:nowrap;cursor:pointer}.clientHubTabs button:hover{background:#f1f4f3;color:#173f49}.clientHubTabs button.active{background:#173f49;color:#fff}
.clientHubBody{padding:22px;min-height:470px}
.clientHubOverviewGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.clientHubWelcome,.clientHubNext{padding:24px}.clientHubWelcome>span,.clientHubNext>span,.clientHubSectionHead span{font-size:9px;font-weight:950;letter-spacing:.12em;color:#8a6b3c}.clientHubWelcome h2{font-size:28px;margin:8px 0}.clientHubWelcome p,.clientHubNext p{color:#68787b;max-width:620px;line-height:1.55}.clientHubNext h3{margin:10px 0 5px;font-size:18px}.clientHubNext>b{display:block;margin-bottom:6px}.clientHubMetrics{margin:16px 0}
.clientHubOverviewSections{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.clientHubSectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.clientHubSectionHead h3{margin:5px 0 0;font-size:17px}.clientHubSectionHead>p{margin:0;color:#718085;font-size:11px;max-width:440px;text-align:right}
.clientHubRow{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #e7eceb;background:transparent;border-left:0;border-right:0;border-bottom:0;color:inherit;text-align:left}.clientHubRow:first-of-type{border-top:0}.clientHubRow>div{display:grid;gap:3px}.clientHubRow small{color:#7a888c}.clientHubRow strong{font-size:13px}.clientHubRow.clickable{cursor:pointer}.clientHubRow.clickable:hover{background:#f7f9f8}
.clientHubPhotoSection{margin-top:16px}.clientHubPhotoStrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.clientHubPhotoStrip .fieldPhotoThumb{aspect-ratio:4/3;height:auto}
.clientHubListSection{min-height:380px}.clientHubDocCard{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:16px;padding:16px 0;border-top:1px solid #e3e9e7}.clientHubDocCard:first-of-type{border-top:0}.clientHubDocCard>div:first-child{display:grid;gap:2px}.clientHubDocCard h3{margin:0;font-size:14px}.clientHubDocCard p,.clientHubDocCard span{margin:0;color:#758488;font-size:10px}.clientHubDocCard>strong{font-size:15px}.clientHubDocActions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.clientHubVisit{display:grid;grid-template-columns:135px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 0;border-top:1px solid #e3e9e7}.clientHubVisit:first-of-type{border-top:0}.clientHubVisitDate{display:grid;gap:3px}.clientHubVisitDate span,.clientHubVisit p,.clientHubVisit small{color:#748387}.clientHubVisit h3{margin:0 0 4px;font-size:14px}.clientHubVisit p{margin:0 0 4px}
.clientHubInvoiceCard{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border:0;border-top:1px solid #e3e9e7;background:transparent;text-align:left;color:inherit;cursor:pointer}.clientHubInvoiceCard:first-of-type{border-top:0}.clientHubInvoiceCard:hover{background:#f8faf9}.clientHubInvoiceCard>div{display:grid;gap:4px}.clientHubInvoiceCard>div:last-child{text-align:right}.clientHubInvoiceCard h3{margin:0;font-size:18px}.clientHubInvoiceCard p,.clientHubInvoiceCard small,.clientHubInvoiceCard span{margin:0;color:#748387}.clientHubInvoiceCard b{font-size:13px}
.clientHubPhotoGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.clientHubPhotoGrid .fieldPhotoThumb{height:auto;aspect-ratio:4/3}
.clientHubMessage{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:start;padding:14px 0;border-top:1px solid #e3e9e7}.clientHubMessage:first-of-type{border-top:0}.clientHubMessage>div{display:grid;gap:4px}.clientHubMessage p{margin:0;line-height:1.5}.clientHubMessage small{color:#78868a}.clientHubMessage.inbound p{font-weight:650}
@media(max-width:1050px){.clientHubOverviewGrid,.clientHubOverviewSections{grid-template-columns:1fr}.clientHubPhotoStrip{grid-template-columns:repeat(3,minmax(0,1fr))}.clientHubPhotoGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.clientHubDocCard{grid-template-columns:minmax(0,1fr) auto auto}.clientHubDocActions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:760px){.clientHubAdminBar{align-items:flex-start;flex-direction:column}.clientHubAdminBar label{width:100%;flex-direction:column;align-items:flex-start}.clientHubAdminBar select{width:100%;min-width:0}.clientHubBrand{padding:14px}.clientHubBrand>div:last-child{display:none}.clientHubBody{padding:13px}.clientHubOverviewGrid,.clientHubOverviewSections{grid-template-columns:1fr}.clientHubPhotoStrip,.clientHubPhotoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.clientHubDocCard{grid-template-columns:1fr auto;gap:10px}.clientHubDocCard>.badge{grid-column:2}.clientHubVisit{grid-template-columns:1fr}.clientHubVisitDate{grid-template-columns:auto auto;justify-content:flex-start;gap:8px}.clientHubMessage{grid-template-columns:1fr}.clientHubSectionHead{align-items:flex-start;flex-direction:column}.clientHubSectionHead>p{text-align:left}}


/* ================================================================
   WORKS47 v1.40.1 — Contextual mascot + larger Client Hub selector
   ================================================================ */
/* Keep the large mascot only on the dashboard. */
.beaverWelcome.staticMascot.compactMascot{
  left:calc(var(--side) + 16px)!important;
  bottom:12px!important;
  width:108px!important;
  height:136px!important;
}
.beaverWelcome.staticMascot.compactMascot .beaverWalker,
.beaverWelcome.staticMascot.compactMascot.parked .beaverWalker,
.beaverWelcome.staticMascot.compactMascot .beaverBob,
.beaverWelcome.staticMascot.compactMascot.parked .beaverBob{
  width:108px!important;
  height:136px!important;
}
.beaverWelcome.staticMascot.compactMascot .beaverBob img,
.beaverWelcome.staticMascot.compactMascot.parked .beaverBob img{
  width:104px!important;
  max-height:134px!important;
}

/* More prominent selector in the Client Hub preview. */
.clientHubAdminBar{
  padding:14px 18px!important;
  min-height:58px;
  font-size:13px!important;
}
.clientHubAdminBar label{
  gap:14px!important;
  font-size:13px!important;
}
.clientHubAdminBar select{
  min-width:340px!important;
  height:40px!important;
  padding:0 38px 0 12px!important;
  border:1px solid #bcc9c6!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#173f49!important;
  font-size:13px!important;
  font-weight:800!important;
  box-shadow:0 2px 6px rgba(23,63,73,.04);
}
.clientHubAdminBar>span{font-size:12px;font-weight:700}

@media(max-width:1050px){
  .beaverWelcome.staticMascot.compactMascot{
    left:calc(var(--side) + 12px)!important;
    width:94px!important;height:118px!important;
  }
  .beaverWelcome.staticMascot.compactMascot .beaverWalker,
  .beaverWelcome.staticMascot.compactMascot.parked .beaverWalker,
  .beaverWelcome.staticMascot.compactMascot .beaverBob,
  .beaverWelcome.staticMascot.compactMascot.parked .beaverBob{width:94px!important;height:118px!important}
  .beaverWelcome.staticMascot.compactMascot .beaverBob img,
  .beaverWelcome.staticMascot.compactMascot.parked .beaverBob img{width:90px!important;max-height:116px!important}
}
@media(max-width:760px){
  .clientHubAdminBar select{width:100%!important;min-width:0!important;height:44px!important;font-size:14px!important}
  .beaverWelcome.staticMascot.compactMascot{width:78px!important;height:98px!important;left:calc(var(--side) + 6px)!important}
  .beaverWelcome.staticMascot.compactMascot .beaverWalker,
  .beaverWelcome.staticMascot.compactMascot.parked .beaverWalker,
  .beaverWelcome.staticMascot.compactMascot .beaverBob,
  .beaverWelcome.staticMascot.compactMascot.parked .beaverBob{width:78px!important;height:98px!important}
  .beaverWelcome.staticMascot.compactMascot .beaverBob img,
  .beaverWelcome.staticMascot.compactMascot.parked .beaverBob img{width:75px!important;max-height:96px!important}
}


/* ================================================================
   WORKS47 v1.41 — Standalone Client Portal experience
   ================================================================ */
.clientHubAdminActions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.clientHubAdminActions>span{margin-right:4px}
.clientPortalMode{margin:0;background:#f3f6f5;min-height:100vh;color:#17343d}
.clientPortalMode #app{min-height:100vh}
.clientPortalStandalone{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 18% 0%,rgba(226,239,234,.72),transparent 32%),#f5f7f6}
.clientPortalTopbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 clamp(20px,4vw,64px);background:rgba(255,255,255,.96);border-bottom:1px solid #dce4e1;position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}
.clientPortalTopBrand{display:flex;align-items:center;gap:12px}.clientPortalTopLogo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#173f49;color:#fff;font-size:12px;font-weight:950;box-shadow:0 7px 18px rgba(23,63,73,.12)}.clientPortalTopBrand div{display:grid;gap:2px}.clientPortalTopBrand b{font-size:15px}.clientPortalTopBrand small{color:#718085;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.clientPortalTopRight{display:flex;align-items:center;gap:18px;color:#63757a;font-size:11px}.clientPortalLang{display:flex;align-items:center;padding:3px;border-radius:11px;background:#eef2f1;border:1px solid #dae2df}.clientPortalLang button{border:0;background:transparent;border-radius:8px;padding:7px 9px;color:#66777b;font-size:10px;font-weight:900;cursor:pointer}.clientPortalLang button.active{background:#173f49;color:#fff;box-shadow:0 2px 7px rgba(23,63,73,.16)}
.clientPortalCanvas{width:min(1320px,calc(100% - 40px));margin:34px auto 42px}.clientPortalCanvas .clientHubShell{border-radius:24px;box-shadow:0 26px 68px rgba(25,55,61,.11);background:#f7f9f8}.clientPortalCanvas .clientHubBrand{padding:20px 24px}.clientPortalCanvas .clientHubBody{padding:24px}.clientPortalCanvas .clientHubTabs{padding:11px 18px;justify-content:center}.clientPortalCanvas .clientHubTabs button{padding:10px 15px;font-size:11px}
.clientPortalFooter{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px clamp(20px,4vw,64px);border-top:1px solid #dde5e2;background:#fff;color:#7a888c;font-size:10px}.clientPortalFooter span{font-weight:800;color:#5d7075}.clientPortalFooter small{font-size:10px}
.clientQuotePreviewModal{width:min(1040px,calc(100vw - 32px));max-width:none}.clientQuotePreview{display:grid;gap:18px}.clientQuotePreview .quoteProposal{box-shadow:none;border:1px solid #dbe3e0}.clientQuotePreviewActions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.copyLinkBox input{width:100%;height:46px;border:1px solid #c9d5d2;border-radius:10px;padding:0 12px;font-size:12px;color:#173f49}
@media(max-width:900px){.clientPortalTopRight>span{display:none}.clientPortalCanvas{width:min(100% - 22px,1320px);margin-top:18px}.clientPortalCanvas .clientHubTabs{justify-content:flex-start}.clientHubAdminActions{width:100%;justify-content:flex-start}}
@media(max-width:640px){.clientPortalTopbar{height:auto;min-height:68px;padding:10px 13px}.clientPortalTopBrand small{display:none}.clientPortalTopRight{gap:7px}.clientPortalCanvas{width:100%;margin:0}.clientPortalCanvas .clientHubShell{border-radius:0;border-left:0;border-right:0;box-shadow:none}.clientPortalCanvas .clientHubBrand{padding:13px}.clientPortalCanvas .clientHubBody{padding:12px}.clientPortalFooter{padding:18px 14px;flex-direction:column;align-items:flex-start}.clientHubAdminActions .btn{flex:1}}


/* WORKS47 v1.50.0 — Online payments + Client Hub billing */
.clientHubWelcomeActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.clientHubWelcomeActions .btn{margin:0}
.clientHubBillingRow{display:flex;align-items:center;gap:10px;padding:8px 10px}.clientHubRowMain{border:0;background:transparent;padding:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;flex:1;min-width:0;text-align:left;color:inherit;cursor:pointer}.clientHubBillingRow>.btn{flex:0 0 auto}
.clientHubInvoiceCardV2{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:0!important;overflow:hidden}.clientHubInvoiceOpen{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:18px 20px;cursor:pointer}.clientHubInvoicePay{padding:14px 18px;border-left:1px solid var(--line,#dfe7e5);display:flex;align-items:center}.clientHubInvoicePaid{padding:14px 20px;font-weight:900;color:#2e7d32;border-left:1px solid var(--line,#dfe7e5)}
.clientHubPaymentRow{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:18px;align-items:center;border:1px solid var(--line,#dfe7e5);background:#fff;border-radius:14px;padding:15px 16px;text-align:left;color:inherit;cursor:pointer;margin:8px 0}.clientHubPaymentRow:hover{border-color:#b8cbc6;box-shadow:0 8px 24px rgba(20,52,59,.07)}.clientHubPaymentRow div{display:grid;gap:3px}.clientHubPaymentRow div:nth-child(2){text-align:right}.clientHubPaymentRow small{color:#68797d}
.onlinePaymentsAdmin{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;margin:18px 0 24px;border-left:4px solid #c59a52}.onlinePaymentsAdmin.connected{border-left-color:#2e8b57}.onlinePaymentsAdmin span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#8d6a30}.onlinePaymentsAdmin h3{margin:5px 0 6px}.onlinePaymentsAdmin p{margin:0;color:#627478;max-width:760px}
.paymentSettingsPanel{display:grid;gap:18px}.paymentProviderStatus{border:1px solid #dbe5e2;border-radius:16px;padding:18px;background:#f8faf9}.paymentProviderStatus>span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#7a6a4a}.paymentProviderStatus>b{display:block;font-size:20px;margin:4px 0}.paymentProviderStatus p{margin:0;color:#657579}.paymentProviderStatus.connected{border-color:#b8d8c4;background:#f4fbf6}.paymentProviderFoot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e1e8e6;padding-top:14px}.paymentProviderFoot span{font-weight:900}.paymentProviderFoot small{color:#6a797d;text-align:right}
.clientPaySheet{display:grid;gap:18px}.clientPaySummary{text-align:center;padding:8px 0}.clientPaySummary>span{font-size:11px;font-weight:900;letter-spacing:.1em;color:#6d7c80}.clientPaySummary h2{font-size:36px;margin:4px 0}.clientPaySummary p{margin:0;color:#6d7c80}.paymentPreviewBanner{border:1px solid #ead8aa;background:#fffaf0;border-radius:14px;padding:12px 14px;display:grid;gap:3px}.paymentPreviewBanner b{color:#7c5d20}.paymentPreviewBanner span{font-size:12px;color:#756849}.clientPayAmount{display:flex;align-items:end;gap:14px}.clientPayAmount label{flex:1;font-weight:800}.clientPayAmount input{width:100%;margin-top:7px;font-size:18px;font-weight:900}.clientPayMethods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.clientPayMethods button{border:1px solid #d9e3e1;background:#fff;border-radius:14px;padding:13px 14px;text-align:left;display:grid;gap:3px;cursor:pointer;color:#153740}.clientPayMethods button.active{border-color:#164a55;box-shadow:0 0 0 2px rgba(22,74,85,.11)}.clientPayMethods small{color:#6b7b7f}.clientPaySecurity{display:flex;gap:8px;align-items:flex-start;border-top:1px solid #e3e9e8;padding-top:13px;color:#66787c;font-size:12px}.clientPaySheet .full{width:100%}.clientPayDisabled{opacity:.55;cursor:not-allowed}
.paymentReceipt{text-align:center;display:grid;gap:8px}.paymentReceiptCheck{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e8f6ed;color:#257044;font-size:32px;font-weight:900;margin:0 auto 4px}.paymentReceipt>span{font-size:10px;letter-spacing:.12em;font-weight:900;color:#60806b}.paymentReceipt h2{font-size:36px;margin:0}.paymentReceipt p{margin:0 0 10px;color:#68777b}.paymentReceiptGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;margin-top:6px}.paymentReceiptGrid>div{border:1px solid #e0e7e5;border-radius:12px;padding:10px 12px;display:grid;gap:4px}.paymentReceiptGrid .full{grid-column:1/-1}.paymentReceiptGrid span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7a898c}.paymentReceipt>small{margin-top:10px;color:#839093}
@media(max-width:800px){.clientHubInvoiceCardV2{grid-template-columns:1fr}.clientHubInvoicePay,.clientHubInvoicePaid{border-left:0;border-top:1px solid var(--line,#dfe7e5)}.clientHubInvoicePay .btn{width:100%}.clientPayMethods{grid-template-columns:1fr}.onlinePaymentsAdmin{align-items:flex-start;flex-direction:column}.paymentProviderFoot{flex-direction:column}.paymentProviderFoot small{text-align:left}}


/* WORKS47 v1.50.1 — Client Hub visual polish */
.clientHubBrand>div:first-child>div{display:grid!important;gap:2px!important;align-items:start!important}
.clientHubBrand>div:first-child>div b,.clientHubBrand>div:first-child>div small{display:block}
.clientHubInvoiceCardV2{border-top:1px solid #e3e9e7!important;min-height:96px}
.clientHubInvoiceCardV2:first-of-type{border-top:0!important}
.clientHubInvoiceOpen{grid-template-columns:minmax(260px,1fr) minmax(300px,.72fr)!important;align-items:center!important;gap:28px!important;padding:20px 22px!important}
.clientHubInvoiceIdentity{display:grid;gap:3px;min-width:0}
.clientHubInvoiceIdentity>span{font-size:13px;color:#718085;font-weight:750}
.clientHubInvoiceIdentity h3{margin:0;font-size:20px;line-height:1.1;color:#17343d}
.clientHubInvoiceIdentity p{margin:0;color:#718085;font-size:12px}
.clientHubInvoiceNumbers{display:grid;grid-template-columns:repeat(2,minmax(105px,1fr));gap:12px;justify-content:end;align-items:center}
.clientHubInvoiceNumbers>div{display:grid;gap:2px;padding:8px 12px;border-radius:10px;background:#f7f9f8;text-align:right}
.clientHubInvoiceNumbers small{font-size:10px;color:#748387;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.clientHubInvoiceNumbers strong{font-size:14px;color:#17343d;white-space:nowrap}
.clientHubInvoicePaid{min-width:108px;display:flex!important;align-items:center;justify-content:center;gap:6px;padding:18px 20px!important;background:#f6fbf7;font-size:13px}
.clientHubInvoicePaid span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#dff1e4;color:#24713f;font-weight:950}
.clientHubInvoicePay{min-width:190px;justify-content:center}
@media(max-width:900px){
  .clientHubInvoiceOpen{grid-template-columns:1fr!important;gap:12px!important}
  .clientHubInvoiceNumbers{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}
  .clientHubInvoiceNumbers>div{text-align:left}
}


/* WORKS47 v1.51 — manual collections */
.manualPaymentsAdmin{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;margin:14px 0 22px;border:1px solid #d9e2df;background:linear-gradient(135deg,#fbfdfc,#f3f7f5)}
.manualPaymentsAdmin>div{min-width:0}.manualPaymentsAdmin span,.paymentProviderStatus.manual>span{display:block;font-size:10px;font-weight:900;letter-spacing:.14em;color:#9a6a2d;margin-bottom:5px}.manualPaymentsAdmin h3{margin:0 0 6px;font-size:17px;color:#173f49}.manualPaymentsAdmin p{margin:0;max-width:820px;color:#647579;line-height:1.45}
.paymentProviderStatus.manual{background:#f4f8f6;border-color:#d9e4e0}.manualPaymentSettings textarea{resize:vertical;min-height:82px}
.manualPaySheet{display:grid;gap:16px}.manualPayNotice{display:grid;gap:5px;padding:14px 15px;border-radius:14px;background:#eef5f2;border:1px solid #d9e7e1;color:#28474e}.manualPayNotice b{font-size:13px}.manualPayNotice span{font-size:12px;line-height:1.45;color:#5d7378}
.manualPayMethods{display:grid;gap:10px}.manualPayMethod{padding:14px 15px;border:1px solid #dce4e2;border-radius:14px;background:#fff}.manualPayMethod b{display:block;font-size:14px;color:#173f49;margin-bottom:4px}.manualPayMethod p{margin:0;color:#65767a;font-size:12px;line-height:1.45;white-space:pre-wrap}.manualPayNote{padding:13px 15px;background:#faf7f1;border:1px solid #eadfcd;border-radius:14px}.manualPayNote b{font-size:12px}.manualPayNote p{margin:5px 0 0;font-size:12px;line-height:1.45;color:#665d52}.manualPayActions{display:flex;justify-content:flex-end}
html[data-theme="dark"] .manualPaymentsAdmin,html[data-theme="dark"] .manualPayMethod{background:#172429;border-color:#314147}html[data-theme="dark"] .manualPayNotice{background:#1d3030;border-color:#36504b}html[data-theme="dark"] .manualPayNote{background:#29251e;border-color:#4a4032}
@media(max-width:760px){.manualPaymentsAdmin{align-items:flex-start;flex-direction:column}.manualPaymentsAdmin .btn{width:100%}.manualPayActions .btn{width:100%}}

/* ================================================================
   WORKS47 v1.60 — Worker Portal / Field Operations
   ================================================================ */
.workerPreviewPicker{display:flex;align-items:center;gap:10px;min-width:330px;padding:7px 9px 7px 12px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}
.workerPreviewPicker span{font-size:10px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.workerPreviewPicker select{min-width:210px;border:0;background:transparent;color:var(--ink);font-weight:800;outline:none}
.workerPortalHeroV2{padding:24px 26px;background:linear-gradient(135deg,#f9fbfa,#eef5f2);border-color:#d7e1dd!important}
.workerPortalHeroV2>div:first-child small{display:block;margin-top:11px;color:#476269;font-weight:800;font-size:12px}
.workerPortalHeroV2 .workerPortalStats{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:9px}
.workerPortalHeroV2 .workerPortalStats>div{min-width:0;padding:13px 14px;border-radius:13px;background:#fff}
.workerPortalSectionHead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:22px 2px 12px}
.workerPortalSectionHead span,.workerHoursCard header span,.workerFieldDayCard header span{display:block;color:#987044;font-size:9px;font-weight:950;letter-spacing:.13em}
.workerPortalSectionHead h2{margin:4px 0 0;font-size:22px;letter-spacing:-.025em}
.workerPortalSectionHead>b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eaf1ee;border:1px solid #d6e0dc;font-size:17px}
.workerVisitCardV2{grid-template-columns:88px minmax(0,1fr);padding:18px 20px;gap:18px;border-radius:17px!important}
.workerVisitCardV2 .workerVisitTime{min-height:94px;border-radius:15px;background:#eef4f1}
.workerVisitHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.workerVisitHeading>div>span{font-size:9px;color:var(--muted);font-weight:900;letter-spacing:.06em}
.workerVisitHeading h3{font-size:20px;margin:3px 0 4px}
.workerVisitHeading p{font-size:13px;color:#466068;font-weight:750}
.workerAddress{display:flex;align-items:flex-start;gap:8px;padding:11px 13px;border-radius:11px;background:#f6f8f7;border:1px solid var(--line2)}
.workerAddress b{font-size:12px;line-height:1.45}
.workerContactActions{display:flex;gap:8px;flex-wrap:wrap}
.workerContactBtn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:8px 11px;border:1px solid #ccd8d4;border-radius:10px;background:#fff;color:#173f49;font-size:11px;font-weight:850;text-decoration:none}
.workerContactBtn:hover{background:#f2f7f5}
.workerVisitNotes{padding:12px 14px;border-left:4px solid #b88646;border-radius:10px;background:#fbf8f2}
.workerVisitNotes b{color:#7c5b32;font-size:9px;letter-spacing:.09em}
.workerVisitNotes p{font-size:13px;line-height:1.5;color:#344f57}
.workerFieldActions{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.workerFieldActions .fieldAction{min-height:48px;border-radius:12px;background:#fff;font-size:11px;box-shadow:0 2px 8px rgba(23,59,67,.035)}
.workerFieldActions .fieldAction span{font-size:17px}
.workerLogTimeBtn{min-height:46px;padding-left:18px;padding-right:18px}
.workerVisitActions{justify-content:flex-end}
.workerPortalBottomGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;margin-top:16px}
.workerHoursCard,.workerFieldDayCard{padding:18px 20px;border-radius:16px!important}
.workerHoursCard header,.workerFieldDayCard header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.workerHoursCard h3,.workerFieldDayCard h3{margin:4px 0 0;font-size:17px}
.workerHoursCard header>strong{font-size:22px}
.workerHourRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line2)}
.workerHourRow>div{display:grid;gap:3px}.workerHourRow b{font-size:12px}.workerHourRow span{font-size:10px;color:var(--muted)}.workerHourRow>strong{font-size:14px}
.workerMiniEmpty{padding:14px;border-radius:10px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:750}
.workerDayMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.workerDayMetrics>div{padding:12px;border-radius:11px;background:var(--soft);border:1px solid var(--line2)}.workerDayMetrics b,.workerDayMetrics span{display:block}.workerDayMetrics b{font-size:22px}.workerDayMetrics span{font-size:10px;color:var(--muted);font-weight:800;margin-top:3px}.workerFieldDayCard>p{font-size:11px;color:var(--muted);line-height:1.5;margin:12px 0 0}
.workerNoJobs{text-align:center;padding:38px!important}

/* Worker login becomes a focused field interface instead of an admin shell. */
.workerMode .side{display:none}
.workerMode .top{left:0;padding-left:18px;background:#fbfaf7}
.workerMode .main{margin-left:0}
.workerMode .content{max-width:980px;padding-top:24px}
.workerMode .globalsearch,.workerMode .circle{display:none}
.workerMode .company>small{display:none}
.workerMode .companyTopline .roleBadge{background:#e8f3ee;color:#24604a}
.workerMode .pagehead{align-items:center}
.workerMode .pagehead .actions{display:none}
.workerMode .workerPortalGuard{display:none}

@media(max-width:900px){
  .workerPortalHeroV2 .workerPortalStats{grid-template-columns:repeat(2,1fr)}
  .workerPortalBottomGrid{grid-template-columns:1fr}
  .workerVisitCardV2{grid-template-columns:76px minmax(0,1fr)}
}
@media(max-width:620px){
  .workerMode .top{height:58px;padding:0 12px}.workerMode .main{padding-top:58px}.workerMode .topright{gap:5px}.workerMode .langswitch{display:none}
  .workerMode .content{padding:16px 12px 92px}
  .workerMode .pagehead{margin-bottom:14px}.workerMode .pagehead h1{font-size:24px}.workerMode .pagehead p{font-size:12px}
  .workerPreviewPicker{width:100%;min-width:0}.workerPreviewPicker select{min-width:0;flex:1}
  .workerPortalHeroV2{padding:18px}.workerPortalHeroV2 h2{font-size:22px}.workerPortalHeroV2 .workerPortalStats{width:100%;grid-template-columns:repeat(2,1fr)}
  .workerPortalSectionHead{margin-top:18px}.workerPortalSectionHead h2{font-size:19px}
  .workerVisitCardV2{grid-template-columns:1fr;padding:14px}.workerVisitCardV2 .workerVisitTime{min-height:48px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:9px 12px}.workerVisitTime b{font-size:17px}.workerVisitTime span{margin:0}
  .workerVisitHeading{gap:9px}.workerVisitHeading h3{font-size:18px}
  .workerFieldActions{grid-template-columns:repeat(2,1fr)}.workerFieldActions .fieldAction{min-height:54px;flex-direction:column;gap:3px}
  .workerVisitActions{flex-direction:column}.workerVisitActions .btn{width:100%;min-height:48px}
  .workerPortalBottomGrid{margin-top:12px}.workerHoursCard,.workerFieldDayCard{padding:15px}
  .workerHourRow{grid-template-columns:minmax(0,1fr) auto}.workerHourRow>.badge{grid-column:1 / -1;justify-self:start}
}


/* WORKS47 v1.70.0 — Advanced schedule + booking intake */
.bookingCard{padding:20px;margin:0 0 22px;box-shadow:none;background:linear-gradient(135deg,#fff 0%,#f8fbfa 100%)}
.bookingCardHead{display:flex;gap:22px;align-items:flex-start;justify-content:space-between}.bookingCardHead h3{margin:4px 0 6px;font-size:21px}.bookingCardHead p{margin:0;max-width:840px;color:var(--muted);line-height:1.45}.bookingState{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#eef1f0;color:#667579;font-size:12px;font-weight:850}.bookingState.on{background:#e8f5ea;color:#2c7136}.bookingGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.bookingGrid label{display:grid;gap:7px}.bookingGrid label span{font-size:11px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.04em}.bookingGrid select{height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px}.bookingActions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:16px}.bookingActions>span{margin-left:auto;color:var(--muted);font-size:12px}.bookingPreviewBrand{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:11px;background:#eef5f2;margin-bottom:16px}.bookingPreviewBrand b{font-size:18px}.bookingPreviewBrand span{color:var(--muted);font-size:12px}.bookingPhotoPlaceholder{border:1px dashed #b9c7c4;border-radius:10px;padding:16px;display:grid;gap:5px;background:#fafcfa}.bookingPhotoPlaceholder span,.bookingPreviewNote{color:var(--muted);font-size:12px;line-height:1.45}.bookingPreviewNote{margin-top:14px;padding:10px 12px;border-radius:8px;background:#fff8e8;border:1px solid #ead8ab}
.scheduleQueue{padding:16px 18px;margin-bottom:16px;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr);gap:18px;align-items:center;box-shadow:none;border-color:#e6d9b7;background:#fffdf7}.scheduleQueue h3{margin:3px 0 5px}.scheduleQueue p{margin:0;color:var(--muted);font-size:13px}.scheduleQueueItems{display:flex;gap:8px;overflow:auto}.scheduleQueueItems button{flex:0 0 230px;border:1px solid #eadfbe;background:#fff;border-radius:10px;padding:10px 12px;text-align:left;display:grid;gap:4px;color:var(--ink)}.scheduleQueueItems span{font-size:11px;color:var(--muted)}
.scheduleTabs{margin-top:16px}.teamSchedule{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:auto}.teamScheduleHead,.teamScheduleRow{display:grid;grid-template-columns:190px repeat(7,minmax(130px,1fr));min-width:1120px}.teamScheduleHead{background:#f7f9f8;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1}.teamScheduleHead>span{padding:11px 10px;font-size:11px;font-weight:850;color:#5c7078;border-right:1px solid var(--line2);text-transform:capitalize}.teamScheduleHead>span.today{background:#eef7f4;color:#1f665d}.teamScheduleRow{border-bottom:1px solid var(--line2)}.teamScheduleRow:last-child{border-bottom:0}.teamSchedulePerson{padding:12px;display:grid;align-content:start;gap:3px;border-right:1px solid var(--line2);background:#fbfcfb}.teamSchedulePerson small{color:var(--muted)}.teamScheduleCell{min-height:94px;padding:7px;border-right:1px solid var(--line2);display:grid;align-content:start;gap:6px}.teamScheduleCell.today{background:#fbfffd}.teamScheduleCell button{border:0;border-left:3px solid #2b7e73;border-radius:7px;background:#eef7f4;padding:7px;text-align:left;color:var(--ink);display:grid;gap:2px}.teamScheduleCell button b{font-size:11px}.teamScheduleCell button span{font-size:11px;line-height:1.25}.teamScheduleCell i{color:#a4afac;font-style:normal}.mapMiniPins{position:relative;height:260px;margin-top:14px;border-radius:12px;background:radial-gradient(circle at 20% 30%,#d7e9e4 0 8%,transparent 9%),radial-gradient(circle at 66% 52%,#e7ded0 0 10%,transparent 11%),linear-gradient(135deg,#edf4f1,#f7f5ee);overflow:hidden}.mapMiniPins:before,.mapMiniPins:after{content:"";position:absolute;inset:40% -10% auto;height:7px;background:#fff;transform:rotate(-13deg);box-shadow:0 0 0 1px #dde5e2}.mapMiniPins:after{inset:12% auto -20% 48%;width:7px;height:auto;transform:rotate(8deg)}.mapMiniPins span{position:absolute;z-index:2;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#173f49;color:#fff;font-size:11px;font-weight:900;box-shadow:0 6px 14px rgba(23,63,73,.22)}
@media(max-width:980px){.bookingGrid{grid-template-columns:1fr 1fr}.bookingCardHead{flex-direction:column}.bookingActions>span{margin-left:0}.scheduleQueue{grid-template-columns:1fr}}
@media(max-width:620px){.bookingGrid{grid-template-columns:1fr}.bookingActions .btn{width:100%}}


/* ================================================================
   WORKS47 v1.80 — Automation Center + Job Costing Intelligence
   ================================================================ */
.costIntelligence{padding:20px 22px;margin:18px 0 24px;border-radius:18px;background:linear-gradient(135deg,#fbfcfa,#f2f6f4);border:1px solid #dce5e1}
.costIntelligenceHead{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.costIntelligenceHead>div:first-child>span{font-size:10px;font-weight:950;letter-spacing:.12em;color:#7b8d89}
.costIntelligenceHead h3{margin:5px 0 6px;font-size:20px;color:#173f49}
.costIntelligenceHead p{margin:0;max-width:760px;color:#66787a;font-size:12px;line-height:1.5}
.costHealthSummary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.costHealthSummary b,.costHealthBadge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;white-space:nowrap}
.costHealthSummary .healthy,.costHealthBadge.healthy{background:#e5f4ed;color:#1f7558}
.costHealthSummary .attention,.costHealthBadge.attention{background:#fff3d6;color:#9a6512}
.costHealthBadge.critical{background:#fde8d7;color:#ac5718}
.costHealthSummary .over,.costHealthBadge.over{background:#fde3e1;color:#a13d38}
.costRiskGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:18px}
.costRiskCard{border:1px solid #dfe5e2;background:#fff;border-radius:14px;padding:13px;text-align:left;display:grid;gap:4px;cursor:pointer;transition:.16s ease}
.costRiskCard:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(23,59,67,.08)}
.costRiskCard>span{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.costRiskCard>b{font-size:12px;color:#173f49}
.costRiskCard small{font-size:10px;color:#748385}
.costRiskCard strong{font-size:11px}
.costRiskCard.over>span,.costRiskCard.over>strong{color:#a13d38}.costRiskCard.critical>span{color:#ac5718}.costRiskCard.attention>span{color:#9a6512}
.costAllGood{margin-top:16px;padding:12px 14px;border-radius:12px;background:#eaf6f0;color:#267255;font-weight:800;font-size:12px}
.financeCostHead{align-items:end;gap:16px}
.costFilters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.costFilters button{border:1px solid #dce3e0;background:#fff;color:#607477;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:850;cursor:pointer}
.costFilters button.active{background:#173f49;border-color:#173f49;color:#fff}
.costIntelTable td:nth-child(2){min-width:125px}.costIntelTable td:nth-child(6){min-width:110px}
.costIntelTable td small{display:block;margin-top:4px}.costScopeOver{display:block;margin-top:5px;color:#a13d38;font-size:10px}.positive{color:#22725a}.negative{color:#a13d38}

.automationSectionHead{display:flex;justify-content:space-between;gap:18px;align-items:end;margin:26px 0 10px}
.automationSectionHead h2{margin:0;color:#173f49;font-size:18px}.automationSectionHead p{margin:4px 0 0;color:#748385;font-size:11px}
.automationTemplateGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.automationTemplate{border:1px solid #dce4e1;background:#fff;border-radius:16px;padding:15px;display:grid;gap:12px;min-height:176px}
.automationTemplate.installed{background:#f7faf8}
.automationTemplate>div:first-child{display:grid;grid-template-columns:28px 1fr;gap:3px 9px;align-items:center}
.automationTemplate>div:first-child>span{grid-row:1/3;width:28px;height:28px;border-radius:9px;background:#edf4f1;color:#173f49;display:grid;place-items:center;font-weight:900}
.automationTemplate>div:first-child>b{font-size:13px;color:#173f49}
.automationTemplate>div:first-child>p{grid-column:2;margin:0;font-size:10px;line-height:1.45;color:#718184}
.automationTemplateFlow{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.automationTemplateFlow small{padding:5px 7px;border-radius:8px;background:#f1f4f3;font-size:9px;font-weight:800;color:#607477}.automationTemplateFlow i{font-style:normal;color:#9aa7a5}
.automationTemplate button{justify-self:start}.automationTemplate button:disabled{opacity:.65;cursor:default}
.automationHistoryGrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:22px;margin-top:24px}

@media(max-width:1100px){.automationTemplateGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.automationHistoryGrid{grid-template-columns:1fr}.costIntelligenceHead{flex-direction:column}.costHealthSummary{justify-content:flex-start}}
@media(max-width:720px){.automationTemplateGrid{grid-template-columns:1fr}.costFilters{justify-content:flex-start}.financeCostHead{align-items:flex-start;flex-direction:column}.costRiskGrid{grid-template-columns:1fr}.costIntelligence{padding:16px}.costIntelTable{min-width:980px}}

/* ================================================================
   WORKS47 v1.90 — Access Control + Role Preview
   ================================================================ */
.rolePreviewBanner{position:relative;z-index:18;margin-left:var(--side);padding:9px 22px;background:#173f49;color:#fff;display:flex;align-items:center;justify-content:center;gap:22px;box-shadow:0 4px 14px rgba(11,47,57,.12)}
.rolePreviewBanner>div{display:flex;align-items:center;gap:10px;font-size:12px}.rolePreviewBanner b{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#bfe5d1}.rolePreviewBanner strong{color:#fff}.rolePreviewBanner button{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;border-radius:8px;padding:7px 11px;font-weight:850;font-size:11px}
.rolePreviewBanner button:hover{background:rgba(255,255,255,.16)}
.permissionsHeaderV2{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.permissionsHeaderV2 .eyebrow{display:block;font-size:9px;font-weight:950;letter-spacing:.11em;color:#668080;margin-bottom:6px}.permissionsHeaderV2 h2{margin:0;color:#173f49;font-size:23px}.permissionsHeaderV2 p{margin:6px 0 0;max-width:720px;line-height:1.5}
.permissionRoleGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px}.permissionRoleCard{border:1px solid #dfe5e2;background:#fff;border-radius:16px;padding:15px;display:grid;gap:14px;box-shadow:0 4px 16px rgba(23,63,73,.035)}.permissionRoleCard.current{border-color:#8ab5a1;box-shadow:0 0 0 2px rgba(81,148,116,.10),0 8px 22px rgba(23,63,73,.06)}
.permissionRoleTop{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.permissionRoleTop h3{margin:0;color:#173f49;font-size:14px}.permissionRoleTop p{margin:2px 0 0;color:#748385;font-size:10px;line-height:1.35}.roleGlyph{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:950;font-size:13px}.role-owner{background:#fff4d8;color:#8b6405}.role-admin{background:#e8f2ff;color:#2b6595}.role-manager{background:#eaf6f0;color:#287054}.role-office{background:#f0edff;color:#6253a3}.role-worker{background:#fff0e7;color:#a85f24}.role-viewer{background:#eef1f0;color:#5a6d70}.permissionCurrent{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;padding:5px 8px;border-radius:999px;background:#e8f5ee;color:#247153}
.permissionMiniGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.permissionMiniGrid>div{border:1px solid #e8edeb;background:#f8faf9;border-radius:10px;padding:8px 9px}.permissionMiniGrid span{display:block;color:#7a8a8c;font-size:9px;text-transform:uppercase;font-weight:850;letter-spacing:.04em}.permissionMiniGrid b{display:block;color:#274850;font-size:11px;margin-top:3px}.permissionPreviewBtn{justify-self:start;min-height:34px;padding:7px 10px;font-size:10px}
.permissionAccessList{margin:4px 0 18px;border:1px solid #dfe5e2;border-radius:16px;background:#fff;padding:16px}.permissionSectionHead{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:12px}.permissionSectionHead h3{margin:0;color:#173f49;font-size:16px}.permissionSectionHead p{margin:4px 0 0;color:#748385;font-size:10px}.permissionAccessList table{min-width:760px}.permissionAccessList td{vertical-align:middle}.accessLinked{color:#257354;font-size:10px;font-weight:850}.accessPending{color:#9a6c28;font-size:10px;font-weight:850}
.permissionSecurityNote{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:start;padding:14px;border-radius:13px;background:#f0f6f3;border:1px solid #dce9e3}.permissionSecurityNote>span{width:40px;height:40px;border-radius:11px;background:#fff;display:grid;place-items:center;font-size:18px}.permissionSecurityNote b{color:#173f49;font-size:12px}.permissionSecurityNote p{margin:4px 0 0;color:#607477;font-size:10px;line-height:1.5}
@media(max-width:1100px){.permissionRoleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.rolePreviewBanner{margin-left:0;padding:9px 12px;justify-content:space-between}.rolePreviewBanner>div{display:grid;gap:2px}.permissionRoleGrid{grid-template-columns:1fr}.permissionsHeaderV2,.permissionSectionHead{flex-direction:column;align-items:flex-start}.permissionAccessList{padding:12px}}
.rolePreviewBanner{position:fixed;top:calc(var(--top) + var(--tools));left:var(--side);right:0;margin-left:0;min-height:44px}
.rolePreviewMode .main{padding-top:calc(var(--top) + var(--tools) + 44px)}
.workerMode.rolePreviewMode .rolePreviewBanner{top:var(--top);left:0}
.workerMode.rolePreviewMode .main{padding-top:calc(var(--top) + 44px)}
@media(max-width:720px){.rolePreviewBanner{left:var(--side)}.workerMode.rolePreviewMode .rolePreviewBanner{left:0}}

/* WORKS47 v2.00.0 — Communication Hub */
.commLanguageNote{margin-bottom:16px}.commMetrics{margin-bottom:18px}.communicationHub{display:grid;grid-template-columns:minmax(260px,320px) minmax(420px,1fr) minmax(230px,290px);gap:14px;min-height:620px}.commInbox,.commConversation,.commContext{overflow:hidden}.commInbox{display:flex;flex-direction:column}.commInboxTools{padding:14px;border-bottom:1px solid var(--line,#e7e9ee)}.commInboxTools input{width:100%;box-sizing:border-box;border:1px solid var(--line,#d9dde5);border-radius:11px;padding:11px 12px;background:var(--card,#fff);color:inherit}.commFilterChips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.commFilterChips button{border:1px solid var(--line,#d9dde5);background:transparent;color:inherit;border-radius:999px;padding:6px 9px;font-size:12px;cursor:pointer}.commFilterChips button.active{background:#0f766e;color:#fff;border-color:#0f766e}.commThreadList{overflow:auto;flex:1}.commThreadItem{width:100%;border:0;border-bottom:1px solid var(--line,#edf0f3);background:transparent;color:inherit;display:grid;grid-template-columns:42px 1fr auto;gap:10px;padding:14px;text-align:left;cursor:pointer}.commThreadItem:hover,.commThreadItem.active{background:rgba(15,118,110,.07)}.commThreadItem.needsReply{box-shadow:inset 3px 0 0 #f59e0b}.commAvatar{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(15,118,110,.13);font-weight:800;color:#0f766e;flex:0 0 auto}.commAvatar.large{width:48px;height:48px}.commThreadMain{min-width:0}.commThreadMain b,.commThreadMain small{display:block}.commThreadMain small{margin-top:4px;color:var(--muted,#667085);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commThreadMeta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:11px;color:var(--muted,#667085)}.commThreadMeta i{font-style:normal;background:#fff4d6;color:#9a6700;padding:3px 6px;border-radius:999px;font-weight:700}.commConversation{display:flex;flex-direction:column;min-height:620px}.commConversationHead{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line,#e7e9ee)}.commConversationHead>div:first-child{display:flex;align-items:center;gap:10px}.commConversationHead h2{font-size:18px;margin:0}.commConversationHead p{margin:3px 0 0;color:var(--muted,#667085);font-size:12px}.commConversationActions{display:flex;gap:8px;align-items:center}.commConversationActions select{border:1px solid var(--line,#d9dde5);border-radius:9px;padding:8px;background:var(--card,#fff);color:inherit}.commMessageStream{flex:1;overflow:auto;padding:22px;background:rgba(148,163,184,.045);display:flex;flex-direction:column;gap:12px}.commBubble{max-width:76%;border-radius:16px;padding:12px 14px;box-shadow:0 1px 2px rgba(16,24,40,.06)}.commBubble.inbound{align-self:flex-start;background:var(--card,#fff);border:1px solid var(--line,#e6e9ee)}.commBubble.outbound{align-self:flex-end;background:#0f766e;color:#fff}.commBubble>div{display:flex;justify-content:space-between;gap:18px;font-size:10px;opacity:.78}.commBubble p{margin:8px 0;white-space:pre-wrap;line-height:1.45}.commBubble small{font-size:10px;opacity:.75}.commQuickBar{padding:12px 16px;border-top:1px solid var(--line,#e7e9ee);display:flex;justify-content:space-between;align-items:center;gap:12px}.commQuickBar span{font-size:12px;color:var(--muted,#667085)}.commContext{padding:16px}.commContext>h3{margin:0 0 14px}.commClientIdentity{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line,#e7e9ee)}.commClientIdentity h3{margin:0}.commClientIdentity small{color:var(--muted,#667085)}.commClientCard dl{margin:0}.commClientCard dl>div{padding:13px 0;border-bottom:1px solid var(--line,#edf0f3)}.commClientCard dt{font-size:11px;color:var(--muted,#667085);text-transform:uppercase;letter-spacing:.04em}.commClientCard dd{margin:5px 0 0;font-weight:700;line-height:1.4}.commClientCard .full{width:100%;margin-top:14px}.commEmpty{padding:28px;color:var(--muted,#667085);text-align:center}.commComposer textarea{min-height:120px}.commTemplates{display:flex;flex-wrap:wrap;gap:7px}.commTemplates>span{width:100%;font-size:12px;color:var(--muted,#667085);font-weight:700}.commTemplates button{border:1px solid var(--line,#d9dde5);background:transparent;color:inherit;border-radius:10px;padding:8px 10px;text-align:left;cursor:pointer;font-size:12px}.commTemplates button:hover{border-color:#0f766e;background:rgba(15,118,110,.05)}
@media(max-width:1200px){.communicationHub{grid-template-columns:280px 1fr}.commContext{display:none}}
@media(max-width:820px){.communicationHub{grid-template-columns:1fr;min-height:0}.commInbox{max-height:320px}.commConversation{min-height:560px}.commConversationHead{align-items:flex-start;flex-direction:column}.commConversationActions{width:100%;flex-wrap:wrap}.commBubble{max-width:90%}.commQuickBar{flex-direction:column;align-items:stretch}.commQuickBar .btn{width:100%}}

/* v2.10 — Checklists, Field Reports & Closeout */
.checklistMetrics{margin-bottom:16px}.checklistIntro{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:26px;background:linear-gradient(135deg,#f8fbfa,#eef6f2)}.checklistIntro>div:first-child{max-width:650px}.checklistIntro span,.sectionTitleRow span,.checklistTemplateTop span,.checklistRunTemplate span{font-size:11px;font-weight:900;letter-spacing:.08em;color:#5d7378}.checklistIntro h2,.sectionTitleRow h2{margin:5px 0 6px}.checklistIntro p{margin:0;color:var(--muted);line-height:1.5}.checklistFlow{display:flex;align-items:center;gap:8px;white-space:nowrap}.checklistFlow span{min-width:70px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;color:#173f49}.checklistFlow span b{font-size:12px;letter-spacing:0}.checklistFlow i{font-style:normal;color:#829398}.sectionTitleRow{display:flex;justify-content:space-between;align-items:end;margin:22px 0 12px}.sectionTitleRow h2{font-size:22px}.sectionTitleRow>b{min-width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#173f49;color:#fff}.checklistTemplateGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.checklistTemplateCard{padding:18px}.checklistTemplateTop{display:flex;justify-content:space-between;gap:16px}.checklistTemplateTop h3{margin:5px 0 4px;font-size:18px}.checklistTemplateTop p{margin:0;color:var(--muted);font-size:13px}.checklistTemplateIcon{width:40px;height:40px;border-radius:10px;background:#e9f5e7;color:#2d7a35;display:grid;place-items:center;font-weight:950;font-size:20px}.checklistFieldPreview{display:grid;gap:0;margin:16px 0;border-top:1px solid var(--line2)}.checklistFieldPreview span{padding:8px 0;border-bottom:1px solid var(--line2);font-size:13px;color:#4e6267}.checklistFieldPreview span:before{content:'✓';display:inline-grid;place-items:center;width:19px;height:19px;border-radius:50%;margin-right:8px;background:#eff4f1;color:#46755a;font-size:10px}.checklistTemplateActions{display:flex;gap:8px;flex-wrap:wrap}.fieldReportsTitle{margin-top:32px}.fieldReportsTable table{min-width:850px}.checklistRunPicker{display:grid;gap:16px}.checklistRunTemplate{padding:16px;border-radius:10px;background:#eef5f1;display:grid;gap:4px}.checklistRunTemplate>b{font-size:18px}.checklistRunTemplate small{color:var(--muted)}.checklistRunJobs{display:grid;gap:9px}.checklistRunJobs button{width:100%;padding:14px;text-align:left;display:grid;grid-template-columns:70px 1fr;gap:3px 12px;border:1px solid var(--line);background:#fff}.checklistRunJobs button span{grid-row:1/3;font-size:11px;font-weight:900;color:#5b7278}.checklistRunJobs button b{font-size:14px}.checklistRunJobs button small{color:var(--muted)}.checklistRunJobs button:hover{border-color:#7d9f98;background:#fbfdfc}.fieldReportSheet{padding:4px}.fieldReportTop{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}.fieldReportTop>div:first-child>span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#5d7378}.fieldReportTop h2{margin:6px 0 4px;font-size:23px}.fieldReportTop p{margin:0;color:var(--muted)}.fieldReportStatus{border-radius:999px;background:#eaf5e8;color:#2d6b2e;padding:7px 10px;font-size:12px;font-weight:900}.fieldReportMeta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.fieldReportMeta>div{border:1px solid var(--line);border-radius:8px;padding:11px;display:grid;gap:4px}.fieldReportMeta span,.fieldReportAnswer span{font-size:11px;color:var(--muted);font-weight:800}.fieldReportMeta b{font-size:13px}.fieldReportSection{margin-top:20px}.fieldReportSection h3{margin:0 0 10px}.fieldReportSectionHead{display:flex;justify-content:space-between;align-items:center}.fieldReportSectionHead span{font-size:12px;color:var(--muted)}.fieldReportAnswers{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.fieldReportAnswer{border:1px solid var(--line2);border-radius:8px;padding:10px;display:grid;gap:4px}.fieldReportAnswer b{font-size:13px}.fieldReportPhotos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fieldReportPhotos .fieldPhotoThumb{height:115px}.fieldReportEmpty{border:1px dashed var(--line);border-radius:8px;padding:18px;color:var(--muted);text-align:center}.fieldReportFoot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px;margin-top:20px;color:var(--muted);font-size:11px}.fieldReportActions{display:flex;justify-content:flex-end;margin-top:16px}
@media(max-width:900px){.checklistIntro{align-items:flex-start;flex-direction:column}.checklistFlow{width:100%;overflow:auto}.checklistTemplateGrid{grid-template-columns:1fr}.fieldReportMeta,.fieldReportAnswers{grid-template-columns:1fr}.fieldReportPhotos{grid-template-columns:repeat(2,1fr)}}


/* v2.20 — Reviews & Marketing CRM */
.marketingMetrics{margin-bottom:16px}.marketingReviewHero{padding:22px 24px;margin-bottom:26px;display:flex;justify-content:space-between;align-items:center;gap:26px;background:linear-gradient(135deg,#f8fbfa,#eef7f3)}.marketingReviewHero>div:first-child{max-width:720px}.marketingReviewHero>div:first-child>span{font-size:11px;font-weight:900;letter-spacing:.08em;color:#5d7378}.marketingReviewHero h2{margin:5px 0 7px;font-size:23px}.marketingReviewHero p{margin:0;color:var(--muted);line-height:1.55}.marketingReviewHeroActions{min-width:300px;display:flex;gap:12px;align-items:center;justify-content:flex-end}.marketingReviewHeroActions>div{min-width:0;display:grid;gap:4px}.marketingReviewHeroActions small{color:var(--muted);font-weight:800}.marketingReviewHeroActions b{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.marketingGrid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.marketingBottomGrid{margin-top:22px}.marketingEligibleList{overflow:hidden}.marketingEligibleRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid var(--line2)}.marketingEligibleRow:last-child{border-bottom:0}.marketingEligibleRow>div{min-width:0}.marketingEligibleRow b,.marketingEligibleRow span{display:block}.marketingEligibleRow>div span{margin-top:3px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.marketingRequestState{font-size:11px!important;font-weight:900!important;color:#8b6914;background:#fff6d8;padding:5px 8px;border-radius:999px}.marketingRequestState.done{color:#2e6f42;background:#eaf6ed}.marketingReviewList{display:grid;gap:10px}.marketingReviewCard{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:14px}.marketingReviewTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.marketingReviewTop b,.marketingReviewTop span{display:block}.marketingReviewTop span{margin-top:3px;color:var(--muted);font-size:11px}.marketingStars{margin:10px 0 5px;color:#d79b16;font-size:17px;letter-spacing:1px}.marketingReviewCard p{margin:0;color:#44575d;line-height:1.45;font-size:13px}.marketingReviewActions{display:flex;justify-content:flex-end;margin-top:8px}.marketingReferralList{overflow:hidden}.marketingReferralRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid var(--line2)}.marketingReferralRow:last-child{border-bottom:0}.marketingReferralRow>div b,.marketingReferralRow>div span{display:block}.marketingReferralRow>div span{margin-top:3px;color:var(--muted);font-size:12px}.marketingReferralRow strong{font-size:13px}.marketingCampaignList{display:grid;gap:10px}.marketingCampaignCard{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:15px}.marketingCampaignCard>div:first-child>span{font-size:10px;font-weight:900;letter-spacing:.07em;color:var(--muted)}.marketingCampaignCard h3{margin:4px 0 12px;font-size:16px}.marketingCampaignStats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.marketingCampaignStats span{border:1px solid var(--line2);border-radius:8px;padding:8px;font-size:10px;color:var(--muted);display:grid;gap:3px}.marketingCampaignStats b{font-size:12px;color:inherit}.marketingCampaignFoot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.marketingFormNote{border:1px solid var(--line);background:#f7faf9;border-radius:9px;padding:12px;color:var(--muted);font-size:12px;line-height:1.5}.marketingRequestForm textarea{min-height:130px}
@media(max-width:1050px){.marketingGrid2{grid-template-columns:1fr}.marketingReviewHero{align-items:flex-start;flex-direction:column}.marketingReviewHeroActions{min-width:0;width:100%;justify-content:space-between}.marketingReviewHeroActions>div{max-width:70%}}
@media(max-width:680px){.marketingEligibleRow{grid-template-columns:1fr auto}.marketingEligibleRow .btn{grid-column:1/-1;width:100%}.marketingReferralRow{grid-template-columns:1fr auto}.marketingReferralRow>strong{grid-column:2}.marketingCampaignStats{grid-template-columns:repeat(2,1fr)}}

/* v2.30 Website + lead capture */
.websiteMetrics{margin-bottom:16px}.websiteFunnel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;margin-bottom:18px}.websiteFunnel>div:first-child span{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.websiteFunnel h3{margin:5px 0 0}.websiteFunnelSteps{display:flex;align-items:center;gap:13px}.websiteFunnelSteps>div{min-width:94px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft,#f7faf9);text-align:center}.websiteFunnelSteps b{display:block;font-size:24px}.websiteFunnelSteps span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.websiteFunnelSteps i{font-style:normal;color:var(--muted);font-weight:900}.websiteLeadGrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px;margin-bottom:18px}.websiteLeadList{display:grid;gap:0}.websiteLeadRow{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.websiteLeadRow:last-child{border-bottom:0}.websiteLeadAvatar{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--surface-soft,#edf4f1);font-weight:900}.websiteLeadRow b,.websiteLeadRow span,.websiteLeadRow small{display:block}.websiteLeadRow span{font-size:12px;color:var(--muted);margin-top:2px}.websiteLeadRow small{font-size:11px;color:var(--muted);margin-top:3px}.websiteLeadRow>div:last-child{text-align:right;display:grid;justify-items:end;gap:4px}.websiteSettingSummary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:8px}.websiteSettingSummary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft,#f8faf9)}.websiteSettingSummary span{font-size:12px;color:var(--muted)}.websiteSettingSummary b{font-size:16px}.websiteResponseNote{display:grid;gap:4px;margin:13px 0 0;padding:13px;border-radius:12px;background:rgba(41,130,103,.08)}.websiteResponseNote b{font-size:12px}.websiteResponseNote span{font-size:12px;color:var(--muted)}.websitePrototypeNote{margin-top:16px;padding:13px 15px;border:1px solid #e8d9a9;background:#fff8df;border-radius:12px;font-size:12px;line-height:1.45;color:#6e5d25}.websiteLeadModal label.full{grid-column:1/-1}.websiteLeadModal label input[type=checkbox]{width:20px;height:20px}.websiteLeadModal label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 12px}.websiteLeadModal label span{grid-column:1;line-height:1.35}.websiteLeadModal label input:not([type=checkbox]){grid-column:1/-1}
@media(max-width:1050px){.websiteFunnel{align-items:flex-start;flex-direction:column}.websiteLeadGrid{grid-template-columns:1fr}.websiteFunnelSteps{width:100%;overflow:auto}.websiteFunnelSteps>div{min-width:100px}}
@media(max-width:700px){.websiteFunnelSteps i{display:none}.websiteFunnelSteps{display:grid;grid-template-columns:1fr 1fr}.websiteLeadRow{grid-template-columns:38px minmax(0,1fr)}.websiteLeadRow>div:last-child{grid-column:2;text-align:left;justify-items:start}.websiteSettingSummary{grid-template-columns:1fr}}

/* v2.40.0 — Recurring services */
.recurringMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 20px}.recurringMetrics article{background:var(--card,#fff);border:1px solid var(--border,#dfe7e5);border-radius:16px;padding:18px;display:grid;gap:5px;box-shadow:0 8px 22px rgba(21,52,61,.04)}.recurringMetrics span{font-size:12px;color:var(--muted,#6b7d82);font-weight:700;text-transform:uppercase;letter-spacing:.045em}.recurringMetrics b{font-size:24px;line-height:1.1}.recurringMetrics small{color:var(--muted,#6b7d82)}.recurringLayout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:18px;align-items:start}.recurringSectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.recurringSectionHead h2{margin:0 0 4px;font-size:18px}.recurringSectionHead p{margin:0;color:var(--muted,#6b7d82);font-size:13px}.recurringPlanList{display:grid;gap:12px}.recurringPlanCard{background:var(--card,#fff);border:1px solid var(--border,#dfe7e5);border-radius:17px;padding:17px;box-shadow:0 7px 20px rgba(21,52,61,.035)}.recurringPlanTop{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.recurringPlanTop h3{margin:2px 0 5px;font-size:17px}.recurringPlanTop p{margin:0;color:var(--muted,#6b7d82);font-size:13px}.recurringKicker{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--accent,#167d78)}.recurringPlanGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.recurringPlanGrid>div{background:var(--soft,#f6f9f8);border-radius:11px;padding:10px 11px;min-width:0}.recurringPlanGrid span{display:block;color:var(--muted,#6b7d82);font-size:11px;margin-bottom:4px}.recurringPlanGrid b{font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis}.recurringPlanActions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--border,#e4eae9);padding-top:13px}.recurringUpcoming{padding:16px;position:sticky;top:92px}.recurringUpcomingRow{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border,#e7eceb)}.recurringUpcomingRow>div:nth-child(2){min-width:0}.recurringUpcomingRow>div:nth-child(2) b,.recurringUpcomingRow>div:nth-child(2) span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recurringUpcomingRow>div:nth-child(2) span{font-size:12px;color:var(--muted,#6b7d82);margin-top:2px}.recurringUpcomingRow em{font-style:normal;font-size:11px;color:var(--muted,#6b7d82);text-align:right}.recurringDateTile{height:46px;border-radius:11px;background:var(--soft,#f1f6f5);display:grid;place-content:center;text-align:center}.recurringDateTile b{font-size:16px;line-height:1}.recurringDateTile span{font-size:10px;text-transform:uppercase;color:var(--muted,#6b7d82);margin-top:3px}.recurringInfo{margin-top:14px;border-radius:12px;background:rgba(22,125,120,.07);padding:12px}.recurringInfo b{font-size:12px}.recurringInfo p{font-size:12px;line-height:1.45;margin:5px 0 0;color:var(--muted,#587076)}.recurringFormNote{margin-top:12px;padding:11px 12px;border-radius:10px;background:var(--soft,#f5f8f7);color:var(--muted,#60757b);font-size:12px}
@media(max-width:1050px){.recurringMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.recurringLayout{grid-template-columns:1fr}.recurringUpcoming{position:static}.recurringPlanGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.recurringMetrics{grid-template-columns:1fr 1fr}.recurringPlanGrid{grid-template-columns:1fr}.recurringSectionHead{align-items:stretch;flex-direction:column}.recurringPlanActions .btn{flex:1}.recurringUpcomingRow{grid-template-columns:44px minmax(0,1fr)}.recurringUpcomingRow em{grid-column:2;text-align:left}.recurringMetrics article{padding:14px}.recurringMetrics b{font-size:20px}}

/* v2.50 — Routes & dispatch */
.routePlanner{display:grid;gap:16px}.routeDayStrip{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:8px}.routeDay{border:1px solid var(--line,#dfe5ea);background:var(--card,#fff);border-radius:14px;padding:10px 8px;display:grid;justify-items:center;gap:2px;cursor:pointer;color:inherit}.routeDay b{text-transform:uppercase;font-size:11px;letter-spacing:.06em;color:var(--muted,#667085)}.routeDay span{font-size:20px;font-weight:800}.routeDay small{min-width:22px;height:22px;border-radius:99px;display:grid;place-items:center;background:#f1f5f4;font-weight:700}.routeDay.active{border-color:#0f766e;box-shadow:0 0 0 2px rgba(15,118,110,.10);background:#f5fffd}.routeDay.today span{color:#0f766e}.routePlannerGrid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.75fr);gap:16px;align-items:start}.routeStops,.routeControl{padding:18px}.routeSectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.routeSectionHead span,.routeControl>.eyebrow{font-size:11px;font-weight:800;letter-spacing:.09em;color:#0f766e}.routeSectionHead h3,.routeControl h3{margin:3px 0 4px;font-size:20px}.routeSectionHead p,.routeHint p{margin:0;color:var(--muted,#667085);font-size:13px}.routeStop{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line,#e7ebee)}.routeStop:first-of-type{border-top:0}.routeStopOrder{display:flex;align-items:center;gap:7px}.routeStopOrder>b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#0f766e;color:white;font-size:14px}.routeStopOrder>div{display:grid;gap:3px}.routeMove{border:1px solid var(--line,#dfe5ea);background:white;border-radius:7px;width:24px;height:22px;line-height:18px;cursor:pointer}.routeMove:disabled{opacity:.3;cursor:default}.routeStopTop{display:flex;align-items:center;gap:8px}.routeStopTop>span:first-child{font-weight:800;font-size:13px}.routeStopMain h4{margin:4px 0 1px;font-size:15px}.routeStopMain>p{margin:0 0 5px;color:var(--muted,#667085);font-size:13px}.routeStopAddress{display:flex;gap:6px;align-items:flex-start;font-size:12px}.routeStopAddress b{font-weight:600}.routeStopMain>small{display:block;margin-top:5px;color:var(--muted,#667085)}.routeStop.missingAddress .routeStopAddress b{color:#b54708}.routeStopActions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.routeControl{position:sticky;top:116px;display:grid;gap:12px}.routeControl label{display:grid;gap:6px;font-size:12px;font-weight:700}.routeControl input[type=text],.routeControl input:not([type]),.routeControl textarea,.routeControl [data-route-base]{width:100%;border:1px solid var(--line,#dfe5ea);border-radius:10px;padding:10px 11px;background:var(--card,#fff);color:inherit;font:inherit}.routeCheck{grid-template-columns:auto 1fr!important;align-items:center!important;font-weight:600!important}.routeCheck input{width:17px;height:17px}.routeControlButtons{display:grid;gap:8px}.routeControlButtons .btn{justify-content:center}.routeHint{padding:12px;border-radius:12px;background:#f6f8f8;border:1px solid #e4ecea}.routeHint b{font-size:12px}.routeHint p{margin-top:4px;line-height:1.45}.routeCopyText{width:100%;min-height:320px;border:1px solid var(--line,#dfe5ea);border-radius:12px;padding:12px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.workerRouteBanner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin:12px 0 18px}.workerRouteBanner>div{display:flex;gap:10px;align-items:center}.workerRouteBanner>div>span{font-size:26px}.workerRouteBanner b,.workerRouteBanner small{display:block}.workerRouteBanner small{color:var(--muted,#667085);margin-top:2px}.routeBlank{padding:28px 8px}
@media(max-width:900px){.routePlannerGrid{grid-template-columns:1fr}.routeControl{position:static}.routeDayStrip{overflow-x:auto;grid-template-columns:repeat(7,72px);padding-bottom:4px}.routeStop{grid-template-columns:48px minmax(0,1fr)}.routeStopActions{grid-column:2;justify-content:flex-start}.routeSectionHead{display:grid}.workerRouteBanner{align-items:stretch;flex-direction:column}.workerRouteBanner .btn{justify-content:center}}

/* v2.60 — Materials & Purchasing */
.inventoryMetrics{margin-bottom:18px}
.inventoryTabs{display:flex;gap:8px;align-items:center;margin:0 0 16px;padding:5px;background:#f5f8f8;border:1px solid #e5eeee;border-radius:14px;width:max-content;max-width:100%;overflow:auto}
.inventoryTabs button{appearance:none;border:0;background:transparent;padding:9px 14px;border-radius:10px;font:inherit;font-weight:800;color:#647575;white-space:nowrap;cursor:pointer}
.inventoryTabs button.active{background:#fff;color:#0d6d66;box-shadow:0 1px 5px rgba(18,54,51,.12)}
.inventoryPanel{background:#fff;border:1px solid #e3eceb;border-radius:18px;overflow:hidden;box-shadow:0 8px 26px rgba(35,76,72,.05)}
.inventoryPanelHead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;border-bottom:1px solid #edf2f2}
.inventoryPanelHead h2{margin:0 0 5px;font-size:19px}.inventoryPanelHead p{margin:0;color:#718080;font-size:13px}
.inventoryTable td:first-child small{display:block;color:#849292;margin-top:4px}.inventoryRowActions{display:flex;gap:10px;justify-content:flex-end}
.stockPill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}
.stockPill.ok{background:#e9f8f3;color:#17725e}.stockPill.low{background:#fff4d8;color:#8c6111}.stockPill.out{background:#fee9e7;color:#a33a31}
.vendorGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}.vendorCard{border:1px solid #e4eceb;border-radius:16px;padding:17px;background:#fff}.vendorCardTop{display:flex;gap:11px;align-items:center;margin-bottom:14px}.vendorAvatar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e8f4f2;color:#0c7168;font-weight:900}.vendorCard h3{margin:0;font-size:16px}.vendorCardTop p{margin:3px 0 0;color:#7a8888;font-size:12px}.vendorCard dl{margin:0;display:grid;gap:8px}.vendorCard dl div{display:flex;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px dashed #edf1f1}.vendorCard dt{color:#7b8888;font-size:12px}.vendorCard dd{margin:0;font-size:12px;font-weight:800;text-align:right}.vendorNote{margin:12px 0 0;padding:10px;border-radius:10px;background:#f7f9f9;color:#657474;font-size:12px}
.poList{display:grid;gap:12px;padding:18px}.poCard{border:1px solid #e2ebea;border-radius:16px;padding:17px;background:#fff}.poCardMain{display:flex;justify-content:space-between;gap:20px}.poId{font-size:11px;color:#738080;font-weight:900;letter-spacing:.06em}.poCard h3{margin:4px 0 3px;font-size:17px}.poCard p{margin:0;color:#7c8989;font-size:12px}.poStatusArea{text-align:right;display:flex;align-items:flex-end;flex-direction:column;gap:7px}.poStatus{padding:5px 9px;border-radius:999px;background:#f2f5f5;color:#657575;font-size:11px;font-weight:900}.poStatus.sent{background:#e9f2ff;color:#2d61a8}.poStatus.received{background:#e9f8f3;color:#17725e}.poStatus.draft{background:#f3f0fb;color:#684aa4}.poMeta{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0 10px;padding:10px 0;border-top:1px solid #edf2f2;border-bottom:1px solid #edf2f2;color:#718080;font-size:12px}.poLines{display:grid;gap:5px}.poLines>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.poActions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.inventoryFormHint{margin:12px 0 0;color:#718080;font-size:12px;line-height:1.5}
@media(max-width:1000px){.vendorGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.inventoryPanelHead,.poCardMain{flex-direction:column}.vendorGrid{grid-template-columns:1fr}.poStatusArea{align-items:flex-start;text-align:left}.inventoryRowActions{justify-content:flex-start}.inventoryTable{min-width:900px}.inventoryTabs{width:100%}}

/* v2.70 — Integrations & accounting export center */
.integrationHero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:26px 28px;margin-bottom:18px;border-radius:24px;background:linear-gradient(135deg,rgba(13,148,136,.10),rgba(37,99,235,.07));border:1px solid var(--line,#e5e7eb)}
.integrationHero>div:first-child{max-width:760px}.integrationHero span{font-size:11px;font-weight:900;letter-spacing:.14em;color:#0f766e}.integrationHero h2{margin:7px 0 8px;font-size:25px;line-height:1.15}.integrationHero p{margin:0;color:var(--muted,#667085);line-height:1.55}.integrationRange{display:flex;gap:10px;flex:0 0 auto}.integrationRange label{display:grid;gap:5px;font-size:11px;font-weight:800;color:var(--muted,#667085)}.integrationRange input{min-width:145px;padding:10px 12px;border:1px solid var(--line,#d0d5dd);border-radius:12px;background:var(--card,#fff);color:inherit}.integrationMetrics{margin-bottom:18px}.integrationGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.integrationCard{display:flex;gap:16px;padding:22px;border:1px solid var(--line,#e5e7eb);border-radius:22px;background:var(--card,#fff);box-shadow:0 8px 26px rgba(15,23,42,.04)}.integrationCardIcon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(15,118,110,.08);font-size:24px;flex:0 0 auto}.integrationCardBody{min-width:0;flex:1}.integrationCardTop{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.integrationCardTop span:first-child{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--muted,#667085);margin-bottom:5px}.integrationCard h3{margin:0;font-size:18px}.integrationCard p{color:var(--muted,#667085);line-height:1.5;margin:12px 0 16px}.integrationState{display:inline-flex!important;align-items:center;white-space:nowrap;padding:6px 9px;border-radius:999px;font-size:10px!important;letter-spacing:0!important;font-weight:900!important;margin:0!important}.integrationState.ready{background:rgba(16,185,129,.12);color:#047857}.integrationState.later{background:rgba(100,116,139,.12);color:#475569}.integrationActions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.integrationApiList{display:flex;flex-wrap:wrap;gap:7px}.integrationApiList span{padding:7px 9px;border:1px solid var(--line,#e5e7eb);border-radius:10px;font-size:11px!important;letter-spacing:0!important;color:var(--muted,#667085)!important}.integrationTruth{display:flex;gap:13px;align-items:flex-start;margin-top:16px;padding:18px 20px}.integrationTruth>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(16,185,129,.12);color:#047857;font-weight:900}.integrationTruth b{display:block;margin-bottom:4px}.integrationTruth p{margin:0;color:var(--muted,#667085);line-height:1.45}.integrationHint{margin-top:12px;color:var(--muted,#667085);font-size:13px;line-height:1.5}
@media(max-width:900px){.integrationGrid{grid-template-columns:1fr}.integrationHero{align-items:stretch;flex-direction:column}.integrationRange{width:100%}.integrationRange label{flex:1}.integrationRange input{width:100%;min-width:0}}
@media(max-width:560px){.integrationHero{padding:20px}.integrationRange{flex-direction:column}.integrationCard{padding:18px}.integrationCardTop{flex-direction:column}.integrationActions .btn{width:100%}}

/* v2.80 — Receptionist / front-desk workspace */
.receptionHero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 26px;margin-bottom:18px;background:linear-gradient(135deg,rgba(15,118,110,.11),rgba(37,99,235,.06));border-radius:22px}.receptionEyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:.16em;color:#0f766e}.receptionHero h2{margin:5px 0 6px;font-size:25px}.receptionHero p{margin:0;color:var(--muted,#667085);max-width:740px}.receptionHeroActions{display:flex;align-items:center;gap:12px}.receptionStatus{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.receptionStatus i{width:8px;height:8px;border-radius:50%}.receptionStatus.live{background:#e8f7f1;color:#13745e}.receptionStatus.live i{background:#16a36f;box-shadow:0 0 0 4px rgba(22,163,111,.12)}.receptionStatus.off{background:#f1f3f5;color:#68727d}.receptionStatus.off i{background:#98a2b3}.receptionMetrics{margin-bottom:18px}.receptionGrid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.75fr);gap:16px;align-items:start}.receptionQueue{overflow:hidden}.receptionSectionHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line,#e5e7eb)}.receptionSectionHead.compact{padding:0 0 12px;margin-bottom:10px}.receptionSectionHead h3{margin:0 0 4px}.receptionSectionHead p{margin:0;color:var(--muted,#667085);font-size:12px}.receptionTableHead,.receptionRow{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(240px,1.6fr) minmax(130px,.7fr) minmax(120px,.65fr);gap:14px;align-items:center;padding:12px 18px}.receptionTableHead{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted,#667085);background:#f8faf9}.receptionRow{border-top:1px solid #edf1f1;min-height:68px}.receptionRow:hover{background:#fbfcfc}.receptionContact{display:flex;align-items:center;gap:10px}.receptionContact>span{width:32px;height:32px;display:grid;place-items:center;background:#edf6f4;border-radius:10px}.receptionContact b,.receptionContact small{display:block}.receptionContact small{margin-top:3px;color:var(--muted,#667085);font-size:11px}.receptionSummary{font-size:12px;line-height:1.45;color:#43515a}.receptionAction{text-align:right}.receptionDone{font-size:11px;font-weight:800;color:#21745f}.receptionSidebar{display:grid;gap:16px}.receptionDl{display:grid;gap:0;margin:0}.receptionDl>div{display:grid;grid-template-columns:112px 1fr;gap:12px;padding:10px 0;border-top:1px dashed #e8eded}.receptionDl>div:first-child{border-top:0}.receptionDl dt{font-size:11px;color:var(--muted,#667085)}.receptionDl dd{margin:0;font-size:12px;font-weight:700;text-align:right}.receptionToggles{display:grid;gap:12px;margin-top:10px}.receptionToggles label{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:12px;border:1px solid #e7ecec;border-radius:13px}.receptionToggles b,.receptionToggles small{display:block}.receptionToggles small{color:var(--muted,#667085);font-size:11px;line-height:1.4;margin-top:4px}.receptionToggles input{margin-top:3px;width:18px;height:18px}.receptionScript{counter-reset:receptionStep;display:grid;gap:9px;margin:12px 0 0;padding:0;list-style:none}.receptionScript li{counter-increment:receptionStep;display:flex;gap:10px;align-items:center;font-size:12px}.receptionScript li:before{content:counter(receptionStep);width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e8f4f2;color:#0f766e;font-size:10px;font-weight:900;flex:0 0 auto}.receptionBottomGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.receptionKnowledge{display:grid;gap:10px;margin:12px 0 0}.receptionKnowledge>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:10px 0;border-top:1px dashed #e8eded}.receptionKnowledge dt{font-size:11px;color:var(--muted,#667085)}.receptionKnowledge dd{margin:0;font-size:12px;font-weight:700}.receptionPhone{display:flex;align-items:flex-start;gap:15px}.receptionPhoneIcon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#f0f3f5;font-size:22px}.receptionPhone h3{margin:0 0 5px}.receptionPhone b{display:block;color:#8a5b14;margin-bottom:5px}.receptionPhone p{margin:0;color:var(--muted,#667085);line-height:1.5}
@media(max-width:1050px){.receptionGrid{grid-template-columns:1fr}.receptionSidebar{grid-template-columns:repeat(3,minmax(0,1fr))}.receptionBottomGrid{grid-template-columns:1fr}.receptionTableHead,.receptionRow{grid-template-columns:minmax(150px,.9fr) minmax(220px,1.4fr) minmax(120px,.7fr) minmax(110px,.6fr)}}
@media(max-width:760px){.receptionHero{align-items:flex-start;flex-direction:column}.receptionHeroActions{width:100%;justify-content:space-between}.receptionSidebar{grid-template-columns:1fr}.receptionTableHead{display:none}.receptionRow{grid-template-columns:1fr;gap:8px;padding:15px}.receptionAction{text-align:left}.receptionBottomGrid{grid-template-columns:1fr}.receptionKnowledge>div,.receptionDl>div{grid-template-columns:1fr}.receptionDl dd{text-align:left}}

/* v2.90 — Executive reports */
.reportControlBar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 16px;margin:0 0 18px;border:1px solid var(--line,#dbe3df);border-radius:16px;background:rgba(255,255,255,.76)}
.reportPresets{display:flex;gap:6px;flex-wrap:wrap}.reportPresets button{border:1px solid var(--line,#dbe3df);background:#fff;border-radius:999px;padding:8px 12px;font:inherit;font-weight:750;color:#53656a;cursor:pointer}.reportPresets button.active{background:#103d45;color:#fff;border-color:#103d45}
.reportDates{display:flex;gap:8px;align-items:center}.reportDates label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:#607075}.reportDates input{border:1px solid var(--line,#dbe3df);border-radius:10px;padding:7px 9px;background:#fff;color:#18353c}
.reportRangeBadge{margin-left:auto;padding:8px 11px;border-radius:10px;background:#eef5f3;color:#31565d;font-size:12px;font-weight:800}
.reportExecutiveGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.reportKpi{padding:18px;border:1px solid var(--line,#dbe3df);border-radius:16px;background:#fff}.reportKpi span{display:block;font-size:12px;font-weight:800;color:#68797e}.reportKpi strong{display:block;margin-top:7px;font-size:27px;line-height:1.05;color:#14363d}.reportKpi strong.negative{color:#a43e3e}.reportKpi small{display:block;margin-top:7px;color:#7a898d;font-weight:650}
.reportDashboardGrid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:14px;margin-bottom:22px}.reportPanel{padding:18px}.reportPanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.reportPanelHead span,.reportSectionHead span{display:block;font-size:10px;letter-spacing:.16em;font-weight:900;color:#9a7231}.reportPanelHead h2,.reportSectionHead h2{margin:4px 0 0;color:#17373e;font-size:19px}
.reportBarRow{display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,2fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #edf0ef}.reportBarRow:first-of-type{border-top:0}.reportBarRow>div:first-child b{display:block;color:#1b3940;font-size:13px}.reportBarRow>div:first-child span{display:block;color:#7b898c;font-size:11px;margin-top:2px}.reportBarTrack{height:8px;border-radius:999px;background:#edf2f1;overflow:hidden}.reportBarTrack i{display:block;height:100%;border-radius:999px;background:#174b55}.reportBarRow strong{font-size:13px;color:#17373e}
.reportAlertList{display:grid;gap:9px}.reportAlert{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;text-align:left;border:1px solid #e3e9e7;border-radius:13px;padding:12px;background:#fafcfb;cursor:pointer;color:#17373e}.reportAlert>b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf4f2;font-size:20px}.reportAlert span strong,.reportAlert span small{display:block}.reportAlert span small{margin-top:3px;color:#7d8a8e;font-size:11px}.reportAlert i{font-style:normal;font-weight:900}.reportAlert.warning>b{background:#fff4d9;color:#8a5e05}.reportAlert.danger>b{background:#fde9e7;color:#9d3731}.reportAlert.good>b{background:#e7f5ea;color:#2f743e}
.reportSectionHead{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:10px 0 12px}.reportSectionHead p{margin:0;color:#7b898d;font-size:12px;font-weight:700}.reportLibrary .report{min-height:126px}.reportModalRange{display:inline-flex;padding:6px 9px;margin-bottom:12px;border-radius:8px;background:#eef5f3;color:#365960;font-weight:800;font-size:11px}
@media(max-width:1050px){.reportExecutiveGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.reportDashboardGrid{grid-template-columns:1fr}.reportRangeBadge{margin-left:0}}
@media(max-width:700px){.reportExecutiveGrid{grid-template-columns:1fr}.reportDates{width:100%;flex-wrap:wrap}.reportBarRow{grid-template-columns:1fr auto}.reportBarTrack{grid-column:1/-1}.reportControlBar{align-items:stretch}.reportRangeBadge{width:max-content}}

/* v3.00 — Follow-up center / notifications */
.notificationBell{position:relative}
.notificationCount{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#b44935;color:#fff;border:2px solid #fff;font-size:10px;font-weight:800;display:grid;place-items:center;line-height:1}
.attentionHome{margin:18px 0 26px;padding:18px 20px;border-color:#e1ded3;background:linear-gradient(180deg,#fffefb,#fff)}
.attentionHomeHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.attentionHomeHead span{display:block;font-size:10px;font-weight:800;letter-spacing:.13em;color:#9a6c29}.attentionHomeHead h2{margin:3px 0 0;font-size:20px}.attentionHomeSummary{display:flex;align-items:baseline;gap:7px;margin-bottom:12px}.attentionHomeSummary>b{font-size:28px}.attentionHomeSummary>span{color:#66777c;font-weight:700}.attentionHomeSummary>em{margin-left:auto;font-style:normal;background:#fff0ec;color:#a83e2d;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.attentionHomeList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.attentionMini{appearance:none;border:1px solid #e0e6e4;background:#fff;border-radius:12px;padding:11px 12px;text-align:left;display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:9px;cursor:pointer;color:inherit}.attentionMini:hover{border-color:#9fb5b8;box-shadow:0 4px 14px rgba(21,56,64,.07)}.attentionMini>i{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#eef4f3;font-style:normal;font-weight:900}.attentionMini.urgent>i{background:#fff0ec;color:#a83e2d}.attentionMini.today>i{background:#fff8e8;color:#8c641c}.attentionMini span{min-width:0;display:grid;gap:2px}.attentionMini b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attentionMini small{font-size:11px;color:#697a7f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attentionMini>em{font-style:normal;color:#8aa0a4}
.taskCenter{min-width:min(880px,82vw)}.taskCenterTop{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.taskCenterMetrics{display:flex;gap:28px}.taskCenterMetrics>div{display:grid;gap:1px}.taskCenterMetrics b{font-size:26px;line-height:1}.taskCenterMetrics span{font-size:11px;color:#687b80;font-weight:700}.taskCenterFilters{display:flex;gap:7px;border-bottom:1px solid #e2e7e5;padding-bottom:11px;margin-bottom:11px}.taskCenterFilters button{border:0;background:#f1f5f4;color:#53676c;border-radius:999px;padding:7px 11px;font-weight:800;font-size:11px;cursor:pointer}.taskCenterFilters button.active{background:#173f49;color:white}.taskCenterFilters b{margin-left:4px}.taskCenterList{display:grid;gap:8px;max-height:58vh;overflow:auto;padding-right:3px}.taskCenterRow{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid #e0e6e4;border-radius:12px;padding:12px;background:#fff}.taskCenterRow.urgent{border-left:4px solid #bd533e}.taskCenterRow.today{border-left:4px solid #c8993d}.taskCenterIcon{width:38px;height:38px;border-radius:10px;background:#eef4f3;display:grid;place-items:center;font-weight:900;color:#173f49}.taskCenterCopy{min-width:0}.taskCenterCopy>div{display:flex;align-items:center;gap:8px;min-width:0}.taskCenterCopy b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskCenterCopy p{margin:4px 0 0;color:#66777c;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskSeverity{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:4px 6px;border-radius:999px;background:#edf4f3;color:#456066;flex:none}.taskSeverity.urgent{background:#fff0ec;color:#a83e2d}.taskSeverity.today{background:#fff7e3;color:#8c641c}.taskCenterActions{display:flex;gap:6px}.taskCenterActions .btn{padding:7px 10px;font-size:11px}.taskCenterEmpty{display:grid;place-items:center;gap:7px;padding:38px;color:#6f8084}.taskCenterEmpty b{font-size:30px;color:#4b846a}
@media(max-width:850px){.attentionHomeList{grid-template-columns:1fr}.taskCenter{min-width:0}.taskCenterTop{align-items:flex-start;flex-direction:column}.taskCenterMetrics{width:100%;justify-content:space-between}.taskCenterRow{grid-template-columns:36px minmax(0,1fr)}.taskCenterActions{grid-column:2;justify-content:flex-start}.attentionHomeSummary>em{display:none}}


/* ================================================================
   WORKS47 v4.0 FINAL — release-candidate corrections
   ================================================================ */
.quoteModal .modal{width:min(1180px,96vw)!important;max-width:1180px!important}
.quoteLine{grid-template-columns:minmax(210px,1.5fr) minmax(220px,1.7fr) 88px 120px 145px 150px 150px minmax(115px,.8fr) minmax(115px,.8fr) auto auto!important;gap:12px!important;align-items:end!important}
.quoteLine label{min-width:0}.quoteLine input,.quoteLine select{min-width:0;width:100%;height:42px!important}
.quoteLine .moneyInput{min-width:130px}.quoteLineTotal{min-width:110px}
.inlineLocation{margin:6px 0 2px;padding:14px;border:1px dashed #cbd8d5;border-radius:12px;background:#f8fbfa}
.inlineLocationHead{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px}.inlineLocationHead small{color:#667b7f}
.clientAddressCreate{margin-top:8px;padding-top:12px;border-top:1px solid #e2e8e6}.clientAddressCreate h4{margin:0 0 10px}
.visitEditContext{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:14px;border-radius:10px;background:#f3f7f6}.visitEditContext span{color:#60747a}
.beaverWelcome.staticMascot.compactMascot{left:calc(var(--side) + 4px)!important;bottom:8px!important;width:76px!important;height:96px!important;z-index:35!important}
.beaverWelcome.staticMascot.compactMascot .beaverWalker,.beaverWelcome.staticMascot.compactMascot.parked .beaverWalker,.beaverWelcome.staticMascot.compactMascot .beaverBob,.beaverWelcome.staticMascot.compactMascot.parked .beaverBob{width:76px!important;height:96px!important}
.beaverWelcome.staticMascot.compactMascot .beaverBob img,.beaverWelcome.staticMascot.compactMascot.parked .beaverBob img{width:72px!important;max-height:94px!important}
@media(max-width:900px){.quoteLine{grid-template-columns:1fr 1fr!important}.quoteItemName,.quoteItemDescription{grid-column:1/-1}.quoteLineTotal{min-width:0}.inlineLocationHead{display:block}.inlineLocationHead small{display:block;margin-top:4px}}
@media(max-width:600px){.quoteModal .modal{width:100vw!important;max-width:none!important;height:100vh!important;border-radius:0!important}.quoteLine{grid-template-columns:1fr!important}.quoteItemName,.quoteItemDescription{grid-column:auto}.beaverWelcome.staticMascot.compactMascot{width:60px!important;height:76px!important;left:calc(var(--side) + 2px)!important}.beaverWelcome.staticMascot.compactMascot .beaverWalker,.beaverWelcome.staticMascot.compactMascot.parked .beaverWalker,.beaverWelcome.staticMascot.compactMascot .beaverBob,.beaverWelcome.staticMascot.compactMascot.parked .beaverBob{width:60px!important;height:76px!important}.beaverWelcome.staticMascot.compactMascot .beaverBob img,.beaverWelcome.staticMascot.compactMascot.parked .beaverBob img{width:57px!important;max-height:74px!important}}


/* ================================================================
   WORKS47 v4.0 FINAL — dashboard mascot final placement
   Keep the beaver present but out of operational content.
   ================================================================ */
.beaverWelcome.staticMascot.dashboardMascot{
  left:4px!important;
  right:auto!important;
  bottom:6px!important;
  width:118px!important;
  height:148px!important;
  z-index:31!important;
}
.beaverWelcome.staticMascot.dashboardMascot .beaverWalker,
.beaverWelcome.staticMascot.dashboardMascot.parked .beaverWalker,
.beaverWelcome.staticMascot.dashboardMascot .beaverBob,
.beaverWelcome.staticMascot.dashboardMascot.parked .beaverBob{
  width:118px!important;
  height:148px!important;
}
.beaverWelcome.staticMascot.dashboardMascot .beaverBob img,
.beaverWelcome.staticMascot.dashboardMascot.parked .beaverBob img{
  width:114px!important;
  max-height:146px!important;
}
/* Other screens: small and tucked into the left edge. */
.beaverWelcome.staticMascot.compactMascot{left:5px!important;bottom:6px!important}
@media(max-width:760px){
  .beaverWelcome.staticMascot.dashboardMascot{width:82px!important;height:104px!important;left:2px!important;bottom:4px!important}
  .beaverWelcome.staticMascot.dashboardMascot .beaverWalker,
  .beaverWelcome.staticMascot.dashboardMascot.parked .beaverWalker,
  .beaverWelcome.staticMascot.dashboardMascot .beaverBob,
  .beaverWelcome.staticMascot.dashboardMascot.parked .beaverBob{width:82px!important;height:104px!important}
  .beaverWelcome.staticMascot.dashboardMascot .beaverBob img,
  .beaverWelcome.staticMascot.dashboardMascot.parked .beaverBob img{width:79px!important;max-height:102px!important}
}

/* v4.0 production usability: managed service locations + invoice recipients */
.propertyManageRow{display:flex;align-items:center;justify-content:space-between;gap:14px}
.propertyCopy{display:flex;flex-direction:column;gap:3px;min-width:0}
.propertyCopy>span{color:var(--muted,#607078);font-size:.9rem}
.propertyActions{display:flex;gap:10px;align-items:center;flex:0 0 auto}
.dangerText{color:#b42318!important}
.deliveryExtraRecipient{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:.85rem;font-weight:700;color:#29464e}
.deliveryExtraRecipient input{width:100%;padding:10px 11px;border:1px solid #cfdad7;border-radius:9px;background:#fff;color:#17343d;font:inherit}
.deliveryExtraRecipient small{font-weight:400;color:#6b7b80;line-height:1.35}
@media(max-width:700px){.propertyManageRow{align-items:flex-start;flex-direction:column}.propertyActions{width:100%;justify-content:flex-end}}

/* v4.0 — worker rate exceptions by client/company */
.workerClientRatesSection{grid-column:1/-1}
.workerClientRateList{display:grid;gap:10px;margin-top:8px}
.workerClientRateRow{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:14px;align-items:center;padding:11px 12px;border:1px solid var(--line,#dde5e1);border-radius:12px;background:rgba(255,255,255,.55)}
.workerClientRateRow>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.workerClientRateRow>span b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workerClientRateRow>span small{color:var(--muted,#64736f);font-weight:500}
.workerClientRateRow .moneyInput{width:100%}
.teamProfileClientRates{grid-column:1/-1}
@media (max-width:720px){.workerClientRateRow{grid-template-columns:1fr}.workerClientRateRow .moneyInput{max-width:180px}}


/* ================================================================
   WORKS47 v4.0 — professional full-screen Invoice Builder
   ================================================================ */
body.invoiceBuilderOpen{overflow:hidden}
.invoiceWorkspaceBack{position:fixed;inset:0;background:#f3f6f4;z-index:10000;display:flex;align-items:stretch;justify-content:center}
.invoiceWorkspace{width:100%;height:100%;display:flex;flex-direction:column;color:#17343d;background:#f5f7f5}
.invoiceWorkspaceHeader{height:92px;flex:0 0 92px;background:#fff;border-bottom:1px solid #dfe6e3;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.invoiceWorkspaceHeader>div>span,.invoicePreviewLabel>span{font-size:10px;letter-spacing:.13em;font-weight:900;color:#55716f}
.invoiceWorkspaceHeader h1{font-size:25px;margin:3px 0 2px}.invoiceWorkspaceHeader small{color:#6d7c7c}
.invoiceWorkspaceClose{border:1px solid #d6dfdc;background:#fff;width:40px;height:40px;border-radius:11px;font-size:25px;cursor:pointer;color:#17343d}
.invoiceWorkspaceBody{flex:1;min-height:0;display:grid;grid-template-columns:minmax(600px,1.08fr) minmax(520px,.92fr);gap:0}
.invoiceEditorPane{overflow:auto;padding:24px 28px 110px;background:#f7f9f7;border-right:1px solid #dde4e1}
.invoicePreviewPane{overflow:auto;padding:24px 28px 110px;background:#e9efec}
.invoicePreviewSticky{position:sticky;top:0}.invoicePreviewLabel{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px}.invoicePreviewLabel>b{font-size:20px}
.invoicePreviewPane .invoiceDocument{background:#fff;border-radius:14px;padding:30px;box-shadow:0 10px 30px rgba(24,54,57,.08);min-height:680px}
.invoiceEditorSection{background:#fff;border:1px solid #dce4e1;border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 3px 14px rgba(31,58,61,.03)}
.invoiceSectionTitle{display:flex;gap:12px;align-items:flex-start;margin-bottom:17px}.invoiceSectionTitle>span{width:28px;height:28px;border-radius:9px;background:#173f49;color:#fff;display:grid;place-items:center;font-weight:900;font-size:12px;flex:0 0 auto}.invoiceSectionTitle h3{margin:0;font-size:17px}.invoiceSectionTitle p{margin:3px 0 0;color:#6a797c;font-size:12px}
.invoiceEditorGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.invoiceEditorGrid label,.invoiceAdjustGrid label,.invoiceWideField,.invoiceExtraEmails{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:#40575c}.invoiceEditorGrid input,.invoiceEditorGrid select,.invoiceAdjustGrid input,.invoiceWideField textarea,.invoiceExtraEmails input{width:100%;border:1px solid #cad7d3;border-radius:10px;background:#fff;padding:10px 11px;min-height:40px;font:inherit;color:#17343d}
.invoiceRecipientsBlock{margin-top:16px;border-top:1px solid #e4e9e7;padding-top:15px}.invoiceSubhead{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:9px}.invoiceSubhead small{color:#718084;font-weight:500}.invoiceRecipientChoice{display:flex;align-items:center;gap:10px;border:1px solid #dce4e1;border-radius:10px;padding:10px 11px;margin:7px 0;cursor:pointer}.invoiceRecipientChoice>span{display:flex;flex-direction:column;gap:2px}.invoiceRecipientChoice small{color:#6b7a7e;font-weight:500}.invoiceExtraEmails{margin-top:10px}
.invoiceImportBar{display:flex;gap:8px;margin-bottom:12px}.invoiceEditorItems{display:grid;gap:10px}.invoiceEditorItem{display:grid;grid-template-columns:24px minmax(220px,1.8fr) 78px 92px 122px 105px 34px;gap:8px;align-items:end;border:1px solid #dce4e1;border-radius:12px;padding:11px;background:#fbfcfb}.invoiceEditorItem label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800;color:#607176}.invoiceEditorItem input,.invoiceEditorItem select{width:100%;border:1px solid #cad7d3;border-radius:8px;padding:8px;min-height:36px;background:#fff;color:#17343d}.invoiceItemDrag{align-self:center;border:0;background:transparent;color:#9aa8a5;cursor:grab}.invoiceItemRemove{align-self:center;border:0;background:#fff1ee;color:#a33f2f;width:30px;height:30px;border-radius:8px;font-size:18px;cursor:pointer}.invoiceItemAmount{display:flex;flex-direction:column;gap:4px;padding-bottom:6px}.invoiceItemAmount span{font-size:10px;font-weight:800;color:#607176}.invoiceItemAmount b{font-size:13px}.invoiceEditorItem .moneyInput{min-width:0}.invoiceEditorItem .moneyInput input{border:0;padding:0 5px;min-height:32px}
.invoiceAdjustGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:13px}.invoiceWideField{margin-top:10px}.invoiceInternalNote textarea{background:#fffdf4;border-color:#e6dba8}
.invoiceWorkspaceFooter{height:78px;flex:0 0 78px;border-top:1px solid #d8e0dd;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:13px 28px;box-shadow:0 -8px 24px rgba(32,58,60,.05);z-index:3}.invoiceWorkspaceFooter>div{display:flex;gap:9px}
.invoiceBuilderEmpty{padding:12px;border:1px dashed #d6dfdc;border-radius:10px;color:#718084;background:#fafcfa}
.invoicePreviewPane .invoiceDocMeta{grid-template-columns:1fr 1.2fr .8fr}.invoicePreviewPane .invoiceDocBrand h1{font-size:24px}
@media(max-width:1180px){.invoiceWorkspaceBody{grid-template-columns:1fr}.invoicePreviewPane{display:none}.invoiceEditorPane{border-right:0}.invoiceWorkspace{max-width:900px;margin:auto}.invoiceWorkspaceBack{background:#edf2ef}.invoiceEditorItem{grid-template-columns:22px minmax(180px,1fr) 72px 82px 110px 90px 32px}}
@media(max-width:760px){.invoiceWorkspaceHeader{height:auto;min-height:84px;padding:14px 16px}.invoiceWorkspaceHeader h1{font-size:20px}.invoiceEditorPane{padding:14px 12px 105px}.invoiceEditorSection{padding:14px}.invoiceEditorGrid,.invoiceAdjustGrid{grid-template-columns:1fr}.invoiceEditorItem{grid-template-columns:1fr 1fr}.invoiceItemDrag{display:none}.invoiceItemDesc{grid-column:1/-1}.invoiceItemAmount{align-self:center}.invoiceItemRemove{justify-self:end}.invoiceWorkspaceFooter{padding:10px 12px}.invoiceWorkspaceFooter>div:last-child{flex:1;justify-content:flex-end}.invoiceWorkspaceFooter .btn{padding:10px 12px;font-size:11px}}

/* v4.0 Invoice Premium — approved corporate layout */
.invoiceDocument.invoicePremium{background:#fff;color:#102b35;border:0;border-radius:0;padding:34px 36px 24px;box-shadow:0 16px 40px rgba(14,36,45,.10);font-family:Arial,Helvetica,sans-serif}
.invoicePremiumTop{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:28px;align-items:start;padding-bottom:18px;border-bottom:1px solid #0b2f43}
.invoicePremiumBrand{display:flex;gap:10px;align-items:flex-start;flex-direction:column}.invoicePremiumLogo{display:block;width:250px;max-width:100%;height:auto;object-fit:contain;object-position:left center}.invoicePremiumContact{padding-left:0}.invoicePremiumBrand p{margin:3px 0;color:#5b6f79;font-size:10px;line-height:1.35}.invoicePremiumTitle h2{margin:0 0 10px;text-align:right;font-size:28px;letter-spacing:.02em;color:#082d47}.invoicePremiumSummary{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d8e1e5;overflow:hidden}.invoicePremiumSummary span,.invoicePremiumSummary b{padding:6px 8px;border-bottom:1px solid #d8e1e5;font-size:9px}.invoicePremiumSummary span{background:#f3f6f8;color:#5b6f79;font-weight:800}.invoicePremiumSummary b{color:#102b35}.invoicePremiumSummary>*:nth-last-child(-n+2){border-bottom:0}
.invoicePremiumParties{display:grid;grid-template-columns:1fr 1.05fr;gap:14px;margin:18px 0}.invoicePremiumParties section{background:#f3f6f8;border:0;border-radius:6px;padding:12px 14px;min-height:82px}.invoicePremiumParties span{display:block;font-size:8.5px;font-weight:900;letter-spacing:.07em;color:#082d47;margin-bottom:6px}.invoicePremiumParties h3{font-size:14px;margin:0 0 5px;color:#102b35}.invoicePremiumParties p{margin:2px 0;font-size:9.5px;color:#5b6f79}
.invoicePremiumItems{border:1px solid #d8e1e5;border-radius:0;overflow:hidden}.invoicePremiumItems .invoiceDocHead,.invoicePremiumItems .invoiceDocRow{display:grid;grid-template-columns:40px minmax(0,1fr) 72px 66px 90px 98px;gap:0;align-items:center;padding:0}.invoicePremiumItems .invoiceDocHead{background:#082d47;color:#fff;font-size:8.5px;letter-spacing:.025em}.invoicePremiumItems .invoiceDocHead span{padding:9px 8px;border-right:0;text-align:left}.invoicePremiumItems .invoiceDocHead span:nth-child(n+3){text-align:right}.invoicePremiumItems .invoiceDocRow{min-height:30px;border-top:1px solid #d8e1e5}.invoicePremiumItems .invoiceDocRow>*{padding:7px 8px;border-right:1px solid #d8e1e5;font-size:9.5px}.invoicePremiumItems .invoiceDocRow>*:last-child{border-right:0}.invoicePremiumItems .invoiceDocRow>span:nth-child(n+3),.invoicePremiumItems .invoiceDocRow>strong{text-align:right}.invoicePremiumItems .invoiceDocRow>div b{font-size:9.5px}.invoicePremiumItems .invoiceDocEmpty{height:30px;background:#fff}.invoicePremiumItems .invoiceDocRow:nth-child(even){background:#fff}
.invoicePremiumBottom{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;margin-top:18px;align-items:start}.invoicePremiumNotes section{background:#f3f6f8;border:0;border-radius:6px;padding:12px 14px;min-height:86px;margin-bottom:0}.invoicePremiumNotes section>b{font-size:8.5px;letter-spacing:.06em;color:#082d47}.invoicePremiumNotes p{font-size:9.5px;color:#5b6f79;line-height:1.4;margin:8px 0 0}.invoicePremiumTotals{border:1px solid #d8e1e5;border-radius:0;overflow:hidden}.invoicePremiumTotals>div{display:flex;justify-content:space-between;padding:7px 10px;border-bottom:1px solid #d8e1e5;font-size:10px}.invoicePremiumTotals>div:last-child{border-bottom:0}.invoicePremiumTotals .grand{background:#e8f0f4;border-top:0!important;padding:10px!important;font-size:14px!important;color:#082d47}.invoicePremiumTotals .grand b{font-size:17px}.invoicePremiumPayment{margin-top:14px;color:#5b6f79}.invoicePremiumPayment b{display:block;color:#082d47;font-size:8.5px;letter-spacing:.06em;margin-bottom:5px}.invoicePremiumPayment p{font-size:9.5px;margin:0;line-height:1.4}.invoicePremiumFooter{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:10px;border-top:1px solid #aebcc3;font-size:8px;letter-spacing:.08em;color:#082d47}.invoicePremiumFooter b{font-size:8px}.invoicePreviewPane .invoiceDocument.invoicePremium{min-height:720px;padding:28px 30px}.invoicePreviewPane .invoicePremiumLogo{width:220px}.invoicePreviewPane .invoicePremiumTitle h2{font-size:24px}
@media(max-width:900px){.invoicePremiumTop{grid-template-columns:1fr}.invoicePremiumTitle h2{text-align:left}.invoicePremiumParties,.invoicePremiumBottom{grid-template-columns:1fr}.invoicePremiumItems .invoiceDocHead,.invoicePremiumItems .invoiceDocRow{grid-template-columns:36px minmax(0,1fr) 58px 62px 82px 92px}}

/* v9 — Fast time entry + weekly time calendar */
.weeklyTimeCard{margin:0 0 24px;overflow:hidden}.weeklyTimeHead{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;padding:20px 22px 14px;border-bottom:1px solid var(--line2)}.weeklyTimeHead>div:first-child>span{display:block;font-size:11px;font-weight:900;letter-spacing:.09em;color:var(--muted);margin-bottom:4px}.weeklyTimeHead h2{margin:0;font-size:22px;letter-spacing:-.35px}.weeklyTimeHead p{margin:6px 0 0;color:var(--muted);font-size:13px}.weeklyTimeControls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.weeklyTimeControls>label{display:grid;gap:5px;font-size:11px;font-weight:850;color:var(--muted)}.weeklyTimeControls select{min-width:210px;height:40px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 10px;color:var(--ink)}.weekNav{display:flex;gap:6px}.weekNav .btn{min-width:42px;padding-left:11px;padding-right:11px}.weekRange{display:flex;align-items:center;gap:8px;padding:10px 22px;background:#fbfcfb;border-bottom:1px solid var(--line2);font-size:13px}.weekRange small{margin-left:auto;color:var(--muted)}.weeklyTimeScroll{overflow:auto}.weeklyTimeTable{width:100%;border-collapse:collapse;min-width:1060px}.weeklyTimeTable th,.weeklyTimeTable td{border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:0;text-align:center;vertical-align:middle}.weeklyTimeTable th:first-child{position:sticky;left:0;z-index:2;background:#fff;text-align:left;min-width:260px}.weeklyTimeTable thead th{background:#f7f8f7;padding:10px 8px;font-size:11px;color:var(--muted);font-weight:850}.weeklyTimeTable thead th:first-child{background:#f7f8f7}.weeklyTimeTable thead th span{display:block}.weeklyTimeTable thead th b{display:block;color:var(--ink);font-size:14px;margin-top:2px}.weeklyTimeTable tbody th{padding:11px 12px}.weeklyTimeTable tbody th b{display:block;font-size:13px;color:var(--ink)}.weeklyTimeTable tbody th small{display:block;color:var(--muted);font-weight:600;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.weekTimeCell{width:92px;background:#fff}.weekTimeCell label{display:block;min-height:58px;padding:8px}.weekTimeCell label>span{display:none}.weekTimeCell input{width:100%;height:39px;text-align:center;border:1px solid transparent;border-radius:7px;background:#f7f8f7;color:var(--ink);font-weight:850;outline:none}.weekTimeCell input:hover{border-color:#cbd5d2;background:#fff}.weekTimeCell input:focus{border-color:#5d7890;background:#fff;box-shadow:0 0 0 3px rgba(61,105,132,.11)}.weekTimeTotal{width:88px;background:#fafbf9}.weekTimeTotal b{font-size:14px}.weekTimeTotal span{font-size:11px;color:var(--muted);margin-left:2px}.weeklyTimeTable tfoot th,.weeklyTimeTable tfoot td{background:#f4f6f5;padding:10px 8px;font-size:12px}.weeklyTimeTable tfoot th:first-child{background:#f4f6f5;z-index:3}.quickTimeModal{max-width:620px}.quickTimeForm{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quickTimeForm label{display:grid;gap:6px;font-size:12px;font-weight:850;color:var(--muted)}.quickTimeForm .full{grid-column:1/-1}.quickTimeForm input,.quickTimeForm select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px 10px;color:var(--ink)}.quickTimeForm input:focus,.quickTimeForm select:focus{outline:none;border-color:#5d7890;box-shadow:0 0 0 3px rgba(61,105,132,.11)}
@media(max-width:900px){.weeklyTimeHead{flex-direction:column}.weeklyTimeControls{width:100%;justify-content:flex-start}.weekRange{align-items:flex-start;flex-wrap:wrap}.weekRange small{width:100%;margin-left:0}.quickTimeForm{grid-template-columns:1fr}.quickTimeForm .full{grid-column:auto}}

/* v10 — one-tap daily actions */
.homeQuickActions{margin:18px 0 28px}.homeQuickActionsHead{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:10px}.homeQuickActionsHead span{display:block;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.homeQuickActionsHead h2{margin:3px 0 0;font-size:15px;font-weight:650;color:var(--muted)}.homeQuickActionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.homeQuickAction{min-height:92px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px 18px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;text-align:left;color:var(--ink);cursor:pointer;box-shadow:0 1px 2px rgba(18,40,45,.03)}.homeQuickAction:hover{border-color:#9cafb1;transform:translateY(-1px)}.homeQuickAction:focus-visible{outline:3px solid rgba(61,105,132,.18);outline-offset:2px}.homeQuickAction.primaryAction{background:#153f49;color:#fff;border-color:#153f49}.homeQuickAction.primaryAction small{color:#dbe8ea}.homeQuickAction.invoiceQuickAction{background:#f8fbfa}.homeQuickIcon{width:48px;height:48px;border-radius:11px;display:grid;place-items:center;background:#edf3f1;font-size:24px}.primaryAction .homeQuickIcon{background:rgba(255,255,255,.14)}.homeQuickAction b{display:block;font-size:17px;line-height:1.15}.homeQuickAction small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.25}.homeQuickAction em{font-style:normal;font-size:22px;opacity:.72}.weeklyTimeCard{border:2px solid #d6e1df}.weeklyTimeHead{background:#fbfcfc}.weeklyTimeHead h2{font-size:25px}.weeklyTimeTable tbody tr:nth-child(even) .weekTimeCell{background:#fcfdfd}.weekTimeCell input{font-size:16px;min-width:68px}.weekTimeCell input:not(:placeholder-shown){background:#eef5f3;border-color:#bfd0cc}.weekTimeTable tbody th{background:#fff}.weekRange{font-size:14px}
@media(max-width:980px){.homeQuickActionGrid{grid-template-columns:1fr}.homeQuickAction{min-height:78px}.weeklyTimeHead{flex-direction:column}.weeklyTimeControls{justify-content:flex-start;width:100%}.weeklyTimeControls>label{width:100%}.weeklyTimeControls select{width:100%}}


/* v11 — Time Planner */
.timePlannerCard{margin:0 0 24px;overflow:hidden;border:2px solid #c8d9d5}.plannerToolbar{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:20px 22px 16px;background:#fbfcfc;border-bottom:1px solid var(--line2)}.plannerToolbar>div:first-child>span{display:block;font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--muted);margin-bottom:4px}.plannerToolbar h2{margin:0;font-size:25px;letter-spacing:-.4px}.plannerToolbar p{margin:6px 0 0;color:var(--muted);font-size:13px;max-width:650px}.plannerToolbarActions{display:grid;gap:10px;justify-items:end}.plannerModes{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.plannerModes button{border:0;border-right:1px solid var(--line);background:#fff;color:var(--ink);font-weight:800;padding:10px 14px;cursor:pointer}.plannerModes button:last-child{border-right:0}.plannerModes button.active{background:#173f49;color:#fff}.plannerNav{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.plannerRangeLabel{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 22px;background:#f7f9f8;border-bottom:1px solid var(--line2);font-size:13px}.plannerRangeLabel span{color:var(--muted)}.plannerRangeLabel strong{color:var(--ink)}.plannerWeekHeader{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f4f6f5;border-bottom:1px solid var(--line2)}.plannerWeekHeader span{text-align:center;padding:9px 4px;font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase}.plannerGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--line2);gap:1px}.plannerDay{min-height:166px;background:#fff;display:flex;flex-direction:column;min-width:0}.plannerDay.isToday{box-shadow:inset 0 0 0 2px #6d8f87}.plannerDay header{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:9px 10px;border-bottom:1px solid #eef1f0}.plannerDay header span{font-size:10px;font-weight:850;color:var(--muted);text-transform:uppercase}.plannerDay header b{font-size:16px}.plannerDay header em{font-style:normal;font-size:10px;font-weight:850;color:#315f56}.plannerDayBody{display:grid;gap:5px;padding:7px;align-content:start;min-height:78px;flex:1}.plannerEntry{width:100%;border:1px solid #d8e2df;background:#f7faf9;border-radius:7px;padding:6px 7px;text-align:left;cursor:pointer;min-width:0}.plannerEntry b,.plannerEntry span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plannerEntry b{font-size:11px;color:var(--ink)}.plannerEntry span{margin-top:2px;font-size:10px;color:var(--muted)}.plannerEmpty{color:#9aa8a5;padding:6px}.plannerMore{font-size:10px;color:var(--muted);padding:0 4px}.plannerAdd{margin:0 7px 8px;min-height:34px;border:1px dashed #9bb2ad;border-radius:7px;background:#fff;color:#244c46;font-weight:850;font-size:11px;cursor:pointer}.plannerAdd:hover{background:#f2f7f5}.plannerEntryModal{max-width:650px}.plannerEntryForm{display:grid;grid-template-columns:1fr 1fr;gap:14px}.plannerEntryForm label{display:grid;gap:6px;font-size:12px;font-weight:850;color:var(--muted)}.plannerEntryForm .full{grid-column:1/-1}.plannerEntryForm input,.plannerEntryForm select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px 10px;color:var(--ink)}
@media(max-width:1100px){.plannerToolbar{flex-direction:column}.plannerToolbarActions{justify-items:start;width:100%}.plannerNav{justify-content:flex-start}.plannerDay{min-height:150px}.plannerEntry span{display:none}}
@media(max-width:760px){.plannerWeekHeader{display:none}.plannerGrid{grid-template-columns:1fr}.plannerDay{min-height:auto}.plannerDay header{grid-template-columns:auto auto 1fr}.plannerDay header em{text-align:right}.plannerDayBody{min-height:0}.plannerEntry span{display:block}.plannerRangeLabel{align-items:flex-start;flex-direction:column}.plannerEntryForm{grid-template-columns:1fr}.plannerEntryForm .full{grid-column:auto}.plannerModes{width:100%}.plannerModes button{flex:1}}

/* WORKS47 v12 — automatic labor billing */
.invoiceLaborBilling{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:center;padding:16px;border:1px solid #bdd8d0;border-radius:12px;background:#f2faf7}
.invoiceLaborBilling>div{display:grid;gap:4px}.invoiceLaborBilling>div>span{font-size:10px;letter-spacing:.08em;font-weight:900;color:#54706a}.invoiceLaborBilling>div>b{font-size:19px;color:var(--ink)}.invoiceLaborBilling>div>small,.invoiceLaborBilling label small{font-size:11px;line-height:1.4;color:var(--muted)}
.invoiceLaborBilling label{display:grid;gap:6px;font-size:12px;font-weight:850}.invoiceLaborBilling .moneyInput{background:#fff}
.invoiceLaborLine{background:#fbfefd}.invoiceLaborLine .invoiceBuildDesc b{color:#0e5360}.invoiceLaborLine .invoiceBuildDesc small{font-weight:650;color:#526b70}.invoiceLaborLine input[readonly]{background:#f3f6f5;color:#43565a;font-weight:800}
.invoicePremiumItems .invoiceDocRow>div{display:grid;gap:2px;min-width:0}.invoicePremiumItems .invoiceDocRow>div small{font-size:7.8px;color:#60747a;font-weight:500;line-height:1.2}.invoicePremiumItems .invoiceLaborDocRow>div b{font-size:9.2px}
@media(max-width:820px){.invoiceLaborBilling{grid-template-columns:1fr}}

/* v13 automatic worker pay/bill rates */
.workerDualRateRow{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.55fr) minmax(150px,.55fr);gap:14px;align-items:end}
.workerDualRateRow>label{margin:0}
.invoiceLaborAutoBilling{align-items:stretch;gap:16px}
.invoiceRateWarning,.invoiceRateReady{border:1px solid var(--border,#d7dfdf);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:250px}
.invoiceRateWarning{background:#fff7ed;border-color:#fed7aa}
.invoiceRateReady{background:#f0fdf4;border-color:#bbf7d0}
.invoiceRateWarning b,.invoiceRateReady b{font-size:13px}
.invoiceRateWarning small,.invoiceRateReady small,.invoiceRateWarning span{font-size:12px}
.invoiceBuildLine input[readonly]{background:#f4f7f7;cursor:default}
@media(max-width:760px){.workerDualRateRow{grid-template-columns:1fr}}


/* v14 — Client account / A/R ledger */
.clientAccountCard{margin-top:18px}
.clientAccountHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.clientAccountHead h3{margin:3px 0 4px;font-size:22px}
.clientAccountActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.clientAccountMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.clientAccountMetrics>div{border:1px solid var(--line,#dbe3e5);border-radius:12px;padding:13px 15px;background:#fff}
.clientAccountMetrics span{display:block;font-size:12px;font-weight:800;letter-spacing:.03em;color:#68777a;margin-bottom:4px}
.clientAccountMetrics b{font-size:22px;color:#17383f}
.clientAccountMetrics .accountDue{background:#fff8f3;border-color:#efd6c7}.clientAccountMetrics .accountDue b,.accountAmountDue{color:#a64b22}
.clientAccountMetrics .accountCredit{background:#f2fbf7;border-color:#cce9db}.clientAccountMetrics .accountCredit b,.accountAmountCredit{color:#19724c}
.clientAccountMetrics .accountClear{background:#f5fafb}
.clientLedgerTableWrap{overflow:auto;border:1px solid #dfe6e8;border-radius:12px}
.clientLedgerTable{width:100%;border-collapse:collapse;min-width:760px}
.clientLedgerTable th{background:#f4f7f7;text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#667579;padding:11px}
.clientLedgerTable td{padding:11px;border-top:1px solid #e7ecee;vertical-align:top}
.clientLedgerTable td:nth-child(n+3),.clientLedgerTable th:nth-child(n+3){text-align:right;white-space:nowrap}
.clientLedgerTable small{display:block;color:#738184;margin-top:2px}
.clientAccountFoot{display:flex;justify-content:flex-end;padding-top:10px}
.accountFormHint{padding:10px 12px;background:#f5f8f8;border:1px solid #dde6e7;border-radius:10px;color:#5d6d70;font-size:13px}
.accountStatement{padding:4px}.accountStatementHead{display:flex;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:2px solid #17383f;margin-bottom:16px}.accountStatementHead h2{margin:2px 0}.accountStatementHead small{display:block;color:#6a777a}.accountStatement table{width:100%;border-collapse:collapse}.accountStatement th,.accountStatement td{padding:10px;border-bottom:1px solid #e2e8e9;text-align:left}.accountStatement th:nth-child(n+3),.accountStatement td:nth-child(n+3){text-align:right}.accountStatement td small{display:block;color:#778588}.accountStatementBalance{display:flex;justify-content:flex-end;align-items:baseline;gap:18px;padding-top:16px;font-size:18px}.accountStatementBalance b{font-size:26px}
@media(max-width:800px){.clientAccountHead{flex-direction:column}.clientAccountActions{justify-content:flex-start}.clientAccountMetrics{grid-template-columns:1fr}}

/* v15 client account ledger */
.clientAccountActions{display:flex;gap:10px;flex-wrap:wrap}.clientAccountMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.clientAccountMetrics>div{border:1px solid var(--line,#dfe5e7);border-radius:12px;padding:14px;background:#fafcfc}.clientAccountMetrics span{display:block;font-size:12px;color:#66767b;margin-bottom:5px}.clientAccountMetrics b{font-size:20px}.accountBalanceMetric{background:#f3f8f8!important}.accountAmountDue{color:#9f3d2b}.accountAmountCredit{color:#24764f}.accountLedgerTable{overflow:auto;border:1px solid var(--line,#dfe5e7);border-radius:12px}.accountLedgerTable table{width:100%;border-collapse:collapse}.accountLedgerTable th,.accountLedgerTable td{padding:11px 12px;border-bottom:1px solid var(--line,#e6ecee);text-align:left;vertical-align:top}.accountLedgerTable th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;background:#f7f9f9}.accountLedgerTable td small{display:block;color:#6d7b80;margin-top:3px}.accountLedgerTable .num{text-align:right;white-space:nowrap}.creditAmt{color:#24764f}.debitAmt{color:#7d3d2d}.accountPanelFoot{display:flex;justify-content:flex-end;padding-top:12px}.statementHead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}.statementHead>div:first-child span,.statementHead>div:last-child span{display:block;color:#6d7b80;font-size:12px}.statementHead strong{font-size:24px}@media(max-width:760px){.clientAccountMetrics{grid-template-columns:1fr}.statementHead{flex-direction:column}}

/* v17 — previous balance / account flow */
.invoicePreviousBalancePanel{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:16px;border:1px solid #cddfda;border-radius:12px;background:#f4faf8;margin:12px 0}.invoicePreviousBalancePanel>div>span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#54716b}.invoicePreviousBalancePanel>div>b{display:block;font-size:22px;margin:3px 0}.invoicePreviousBalancePanel>div>small{display:block;max-width:620px;color:#65777a;line-height:1.35}.invoicePreviousBalanceChoice{display:flex;align-items:center;gap:9px;font-weight:800;font-size:12px;white-space:nowrap}.invoicePreviousBalanceChoice input{width:18px;height:18px}.invoicePremiumTotals .previousBalanceRow{background:#f4f7f7;font-weight:800;padding-left:8px;padding-right:8px}.clientAccountActions .btn{white-space:nowrap}@media(max-width:900px){.invoicePreviousBalancePanel{grid-template-columns:1fr}.invoicePreviousBalanceChoice{white-space:normal}}

/* v18 detailed balance statement */
.invoicePremiumItems.invoiceBalanceStatement .invoiceDocHead,.invoicePremiumItems.invoiceBalanceStatement .invoiceDocRow{grid-template-columns:40px 92px minmax(0,1fr) 92px 92px 104px}.invoicePremiumItems.invoiceBalanceStatement .invoiceDocHead span:nth-child(2){text-align:left}.invoicePremiumItems.invoiceBalanceStatement .invoiceDocRow>span:nth-child(2){text-align:left}.invoicePremiumItems.invoiceBalanceStatement .invoiceBalanceDetailRow>div{display:grid;gap:2px;min-width:0}.invoicePremiumItems.invoiceBalanceStatement .invoiceBalanceDetailRow>div small{font-size:7.8px;color:#60747a;line-height:1.2}@media(max-width:900px){.invoicePremiumItems.invoiceBalanceStatement .invoiceDocHead,.invoicePremiumItems.invoiceBalanceStatement .invoiceDocRow{grid-template-columns:34px 78px minmax(150px,1fr) 82px 82px 92px}}

/* v22 — crew time entry */
.crewTimeModal{max-width:760px}.crewTimeForm{display:grid;grid-template-columns:1fr 1fr;gap:14px}.crewTimeForm>label{display:grid;gap:6px;font-size:12px;font-weight:850;color:var(--muted)}.crewTimeForm .full{grid-column:1/-1}.crewTimeForm input,.crewTimeForm select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px 10px;color:var(--ink)}.crewPicker{border:1px solid var(--line2);border-radius:10px;padding:12px;background:#fafcfb}.crewPickerHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.crewWorkerGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;overflow:auto}.crewWorker{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important;border:1px solid var(--line2);border-radius:8px;background:#fff;padding:10px!important;color:var(--ink)!important;cursor:pointer}.crewWorker input{width:18px!important;min-height:18px!important;height:18px;margin:0}.crewWorker span{min-width:0}.crewWorker b,.crewWorker small{display:block}.crewWorker small{margin-top:2px;color:var(--muted);font-size:11px}.crewPicker>small{display:block;margin-top:10px;color:var(--muted);line-height:1.35}.plannerDayActions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 7px 8px}.plannerDayActions .plannerAdd{margin:0}.plannerAdd.crew{border-style:solid;background:#f5f9f8}
@media(max-width:760px){.crewTimeForm{grid-template-columns:1fr}.crewTimeForm .full{grid-column:auto}.crewWorkerGrid{grid-template-columns:1fr}}

/* v23 time report */
.timesheetFilters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.timeReportForm{padding:2px}.timeReportActions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.timeReportForm .form-check{display:flex;align-items:center;gap:9px}.timeReportForm .form-check input{width:auto}

/* v24 — multi-worker time report */
.timeReportWorkers{border:1px solid var(--line,#d9e0df);border-radius:12px;padding:12px;background:rgba(248,250,249,.75)}
.timeReportWorkersHead{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}.timeReportWorkersHead span{font-size:12px;color:var(--muted,#667)}.timeReportWorkersHead>div{display:flex;gap:10px}
.timeReportWorkers{display:grid;gap:8px}.timeReportWorkersHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.timeReportWorkersHead>div:first-child{display:grid;gap:2px}.timeReportWorkersHead span{font-size:11px;color:var(--muted)}.timeReportWorkerSearchWrap{display:flex;align-items:center;gap:10px}.timeReportWorkerSearchWrap input{min-width:0;flex:1;height:38px}.timeReportWorkerSearchWrap span{white-space:nowrap;font-size:11px;font-weight:800;color:var(--muted)}.timeReportWorkerList{display:grid;grid-template-columns:1fr;gap:3px;max-height:190px;overflow:auto;padding:4px;border:1px solid var(--line,#d9e0df);border-radius:10px;background:var(--panel,#fff)}.timeReportWorkerOption{display:flex;align-items:center;gap:9px;padding:7px 9px;border:0;border-radius:7px;background:transparent;cursor:pointer;min-width:0}.timeReportWorkerOption:hover{background:var(--soft,#f4f7f6)}.timeReportWorkerOption input{width:17px;height:17px;flex:0 0 auto}.timeReportWorkerOption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750}.timeReportWorkerOption[hidden]{display:none!important}
@media(max-width:640px){.timeReportWorkersHead{align-items:flex-start;flex-direction:column}.timeReportWorkerSearchWrap{align-items:stretch;flex-direction:column}.timeReportWorkerSearchWrap span{white-space:normal}}
/* v27 - compact multi-worker time report */
.timeReportModal .modal{width:min(1180px,97vw);max-width:1180px}
.timeReportModal .modalbody{padding:16px 18px 10px}
.timeReportModal .modal>footer{display:none}
.compactReportForm{display:grid;gap:12px}
.timeReportTopGrid{display:grid;grid-template-columns:180px 180px minmax(260px,1fr) 150px;gap:10px;align-items:end}
.timeReportTopGrid label{display:grid;gap:5px;font-size:12px;font-weight:800}
.timeReportTopGrid input,.timeReportTopGrid select{width:100%;height:38px;min-height:38px;border:1px solid #cbd5d2;border-radius:7px;background:#fff;padding:7px 9px;color:var(--ink)}
.compactWorkers{padding:10px 12px}
.timeReportWorkersToolbar{display:grid;grid-template-columns:auto minmax(180px,280px) auto auto auto;gap:10px;align-items:center}
.timeReportWorkersToolbar b{font-size:14px}
.timeReportWorkersToolbar input{height:36px;border:1px solid #cbd5d2;border-radius:7px;padding:6px 9px;min-width:0}
.timeReportWorkersToolbar span{font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap}
.compactWorkerGrid{grid-template-columns:repeat(7,minmax(0,1fr));max-height:230px;gap:5px;padding:6px}
.compactWorkerGrid .timeReportWorkerOption{min-height:42px;padding:6px 7px;border:1px solid var(--line,#d9e0df);background:#fff}
.compactWorkerGrid .timeReportWorkerOption:hover{background:var(--soft,#f4f7f6)}
.compactWorkerGrid .timeReportWorkerOption input{width:16px;height:16px}
.compactWorkerGrid .timeReportWorkerOption span{font-size:11px;font-weight:800;line-height:1.15;white-space:normal;overflow:visible;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.timeReportBottomRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2px}
.timeReportBottomRow small{color:var(--muted);font-size:11px}
.compactCostCheck{display:flex!important;align-items:center;gap:8px;font-size:12px;font-weight:800;margin:0}.compactCostCheck input{width:16px!important;height:16px!important}
.timeReportModal .timeReportActions{margin-top:2px}
@media(max-width:1000px){.compactWorkerGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.timeReportTopGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeReportWorkersToolbar{grid-template-columns:auto 1fr auto auto auto}}
@media(max-width:720px){.timeReportModal .modal{width:98vw}.compactWorkerGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeReportWorkersToolbar{grid-template-columns:1fr 1fr}.timeReportWorkersToolbar b{grid-column:1/-1}.timeReportTopGrid{grid-template-columns:1fr 1fr}.timeReportBottomRow{align-items:flex-start;flex-direction:column}}
