
/* ===== styles.css ===== */
:root{--navy:#09233d;--navy2:#123b60;--orange:#ff5a1f;--red:#ef3030;--amber:#f59e0b;--green:#12a957;--blue:#3478e5;--ink:#10243b;--muted:#66768a;--bg:#f5f7fa;--card:#fff;--line:#e2e8f0;--shadow:0 5px 18px #10243b12}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:238px;background:linear-gradient(180deg,var(--navy),#071a2e);color:#fff;z-index:30;display:flex;flex-direction:column}.brand{padding:18px 18px 16px;border-bottom:1px solid #ffffff14;display:flex;gap:12px;align-items:center;background:transparent}.bricklogo{width:34px;height:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.bricklogo i{background:var(--orange);border-radius:2px}.brand b{font-size:24px;line-height:1}.brand small{display:block;color:#b7c6d8;margin-top:4px}.profile{padding:15px 18px;border-bottom:1px solid #ffffff14}.profile .avatar{width:40px;height:40px;border-radius:50%;background:#fff2e9;color:var(--orange);display:grid;place-items:center;font-weight:800}.nav{padding:12px 10px;overflow:auto}.nav button{width:100%;background:transparent;color:#e6edf5;border:0;text-align:left;padding:12px 14px;border-radius:11px;margin:2px 0;font-weight:700;display:flex;align-items:center;gap:12px}.nav button:hover,.nav button.active{background:var(--orange);color:#fff}.nav .count{margin-left:auto;background:var(--red);border-radius:99px;padding:2px 7px;font-size:12px}.adminlabel{font-size:12px;color:#8da2b8;margin:18px 10px 5px}.company{margin-top:auto;padding:16px 18px;border-top:1px solid #ffffff14;color:#dce6f0}.online{font-size:12px;color:#58d68d}.main{margin-left:238px;padding:20px 24px 45px;max-width:1700px}.topbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.topbar h1{font-size:31px;margin:0}.sub{color:var(--muted);margin-top:3px}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:10px;padding:10px 15px;background:var(--navy);color:#fff;font-weight:800}.btn.orange{background:var(--orange)}.btn.red{background:var(--red)}.btn.green{background:var(--green)}.btn.blue{background:var(--blue)}.btn.light{background:#fff;color:var(--ink);border:1px solid var(--line)}.select,.input,.textarea{background:#fff;border:1px solid #d6dee8;border-radius:10px;padding:10px 12px;color:var(--ink)}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.toolbar>*{min-height:42px}.metrics{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:13px;margin:15px 0}.metric{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px;padding:15px;position:relative}.metric .micon{position:absolute;right:13px;top:13px;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:21px}.metric.red .label{color:var(--red)}.metric.red .micon{background:#ffe2e2;color:var(--red)}.metric.amber .label{color:var(--amber)}.metric.amber .micon{background:#fff0ce;color:#d47b00}.metric.grey .label{color:#75849a}.metric.grey .micon{background:#e8edf4;color:#68778c}.metric.green .label{color:var(--green)}.metric.green .micon{background:#d9f7e6;color:var(--green)}.metric.signedmetric .label{color:#b77a00}.metric.signedmetric .micon{background:#fff1c9;color:#d99100}.metric .label{font-size:12px;font-weight:900;text-transform:uppercase}.metric .num{font-size:28px;font-weight:900;margin-top:5px}.metric .hint{font-size:12px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:15px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.filterbar{padding:12px;display:grid;grid-template-columns:1.5fr repeat(4,1fr) auto;gap:8px;border-bottom:1px solid var(--line)}.section{padding:14px 14px 0}.section:last-child{padding-bottom:14px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.sectionhead h2{font-size:15px;margin:0;display:flex;align-items:center;gap:8px}.sectionhead .pill{border-radius:99px;padding:3px 8px;background:#edf1f5;color:#617087;font-size:12px}.sectionhead.open h2{color:var(--red)}.sectionhead.progress h2{color:#df8400}.sectionhead.complete h2{color:var(--green)}.sectionhead.signed h2{color:#e0a000}.cards{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:10px}.workcard{border:1px solid var(--line);border-left:4px solid #aab7c7;background:#fff;border-radius:10px;padding:11px;box-shadow:0 3px 12px #10243b0a;min-height:142px;cursor:pointer;position:relative;display:flex;flex-direction:column}.workcard:hover{box-shadow:0 6px 20px #10243b16;transform:translateY(-1px)}.workcard.red{border-left-color:var(--red)}.workcard.amber{border-left-color:var(--amber)}.workcard.green{border-left-color:var(--green)}.workcard.blue{border-left-color:var(--blue)}.workcard.signed{border:2px solid #e9ad00;border-left:7px solid #e9ad00;background:linear-gradient(145deg,#fff7cf 0%,#fffdf3 58%,#ffffff 100%);box-shadow:0 8px 22px #c98c0026;overflow:hidden}.workcard.signed:hover{box-shadow:0 10px 28px #c98c0038}.signed-ribbon{position:absolute;right:-35px;top:15px;transform:rotate(38deg);background:#e9ad00;color:#fff;width:130px;text-align:center;padding:4px 0;font-size:12px;font-weight:1000;letter-spacing:.08em}.signed-stamp{display:inline-flex;align-items:center;gap:4px;margin-top:7px;background:#fff1b8;color:#8a5b00;border:1px solid #efc54c;border-radius:7px;padding:4px 7px;font-size:12px;font-weight:1000}.workcard h3{margin:0;font-size:15px}.workcard .type{font-size:12px;color:var(--muted);margin-top:2px}.workcard .meta{font-size:12px;margin-top:8px;color:#526174;display:grid;gap:3px}.workcard .pct{position:static;flex:0 0 38px;text-align:right;font-weight:900;font-size:12px;line-height:1}.progressrow{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:9px}.progressrow .bar{flex:1;margin:0}.bar{height:6px;background:#e9eef3;border-radius:99px;overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;border-radius:99px}.red .bar i{background:var(--red)}.amber .bar i{background:var(--amber)}.green .bar i{background:var(--green)}.blue .bar i{background:var(--blue)}.signed-star{position:absolute;right:9px;top:8px;color:#efb000;font-size:18px}.sidecol{display:grid;align-content:start;gap:12px}.sidepanel{padding:15px}.sidepanel h3{margin:0 0 12px;font-size:14px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--red) 0 12%,var(--amber) 12% 39%,#8b98aa 39% 53%,var(--green) 53% 70%,#f2b900 70% 100%);margin:14px auto 16px;position:relative}.donut:after{content:"";position:absolute;inset:34px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #edf1f5}.legend{display:grid;gap:7px;font-size:12px}.legend span{display:flex;align-items:center;gap:7px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.list{display:grid;gap:0}.listrow{padding:9px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;font-size:12px}.listrow:last-child{border-bottom:0}.badge{display:inline-block;padding:3px 7px;border-radius:99px;font-size:12px;font-weight:900}.b-red{background:#ffe0e0;color:#b21f1f}.b-amber{background:#fff0cf;color:#9b6500}.b-green{background:#dff8e8;color:#16733e}.b-grey{background:#edf1f5;color:#64748b}.b-blue{background:#dceaff;color:#2457a4}.detailwrap{max-width:1100px}.back{margin-bottom:13px}.detailhead{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.detailhead h1{margin:0;font-size:29px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.summary .card{padding:14px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:15px}.lift{border:1px solid var(--line);border-radius:11px;margin:8px 0;overflow:hidden}.lifthead{padding:12px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:#fbfcfd}.liftbody{padding:14px;border-top:1px solid var(--line)}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:grid;gap:5px;margin:8px 0}.field label{font-size:12px;font-weight:900;color:#58677a}.issue{border-left:4px solid var(--red);margin:8px 0}.issue.resolved{border-left-color:var(--green)}.modal{position:fixed;inset:0;background:#071a2dcc;display:grid;place-items:center;padding:15px;z-index:80}.modalbox{background:#fff;border-radius:15px;padding:20px;width:min(620px,100%);max-height:90vh;overflow:auto}.mobilebar{display:none}.empty{text-align:center;padding:30px;color:var(--muted)}.toast{position:fixed;right:18px;bottom:18px;background:var(--navy);color:#fff;padding:12px 15px;border-radius:10px;z-index:100}

.colour-guide{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:10px 13px;margin:0 0 14px;background:linear-gradient(90deg,#ffffff,#f8fafc);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.colour-guide b{font-size:12px;margin-right:4px}.guideitem{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#5d6b7d;background:#fff;border:1px solid #e6ebf1;padding:6px 8px;border-radius:999px}.guide-dot{width:9px;height:9px;border-radius:3px}
.quick-custom{background:linear-gradient(135deg,#6d4aff,#4d7dff)!important}.quick-add{border:1px dashed #98a7b9!important;background:#f8fafc!important;color:#4c5d70!important}
.gangcard{cursor:pointer;transition:.15s ease}.gangcard:hover{transform:translateY(-2px);box-shadow:0 10px 26px #10243b1a;border-color:#b9c8da}.ganghero{background:linear-gradient(135deg,#0b2c4c,#174c78);color:#fff;border-radius:14px;padding:18px;box-shadow:0 10px 25px #09233d26}.ganghero .sub{color:#c9d8e7}.gangmetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:13px 0}.gangmetrics .card{box-shadow:none}.gangsection{margin-top:16px}.gangsection h2{font-size:16px}
.lift-savebar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.unsaved-note{font-size:12px;color:#7a5a12;background:#fff7dd;border:1px solid #f2df9d;padding:7px 9px;border-radius:8px}

@media(max-width:1100px){.sidebar{width:205px}.main{margin-left:205px}.workspace{grid-template-columns:1fr}.sidecol{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(3,1fr)}.metrics{grid-template-columns:repeat(3,1fr)}.filterbar{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:720px){.sidebar{display:none}.main{margin-left:0;padding:14px 10px 75px}.topbar{align-items:flex-start}.topbar h1{font-size:24px}.metrics{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.sidecol{grid-template-columns:1fr}.filterbar{grid-template-columns:1fr 1fr}.filterbar .search{grid-column:1/-1}.summary{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.mobilebar{position:fixed;display:flex;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:40;overflow:auto}.mobilebar button{min-width:85px;flex:1;border:0;background:#fff;padding:9px 4px;font-size:12px;font-weight:800;color:var(--ink)}.mobilebar button.active{color:var(--orange)}}

.calendarbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:14px;background:linear-gradient(135deg,#fff7ef,#fff);border:1px solid #f0e0d2;border-radius:14px;margin-bottom:14px}.calendarbar .quick{display:flex;gap:6px}.quickchip{border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;color:#536174}.quickchip.active,.quickchip:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.datebox{display:flex;gap:7px;align-items:center}.datebox label{font-size:12px;font-weight:900;color:#627287}.timeline{display:grid;gap:12px}.daygroup{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:var(--shadow)}.dayhead{padding:12px 15px;background:#f8fafc;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.timelineitems{padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.photo-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px;border:1px solid var(--line);cursor:pointer}.photo-empty{padding:15px;border:1px dashed #cbd5e1;border-radius:10px;color:var(--muted);text-align:center}.site-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.site-card{min-height:170px}.archived{opacity:.72}.reportbox{background:#f8fafc;border-radius:11px;padding:12px;margin-top:10px}.calendarstat{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.calendarstat .card{padding:12px}.smallbtn{padding:7px 10px;font-size:12px}.payment-history{display:grid;gap:7px;margin-top:10px}.payment-entry{display:grid;grid-template-columns:80px 110px 1fr 1fr auto;gap:7px;align-items:center;background:#f8fafc;border:1px solid var(--line);padding:8px;border-radius:9px;font-size:12px}.payment-entry strong{font-size:12px}.mini{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.timelineitems{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.timelineitems{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.calendarstat{grid-template-columns:1fr 1fr}.payment-entry{grid-template-columns:70px 100px 1fr;}.payment-entry button{grid-column:1/-1}}

.loginpage{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 25% 15%,#173f65 0,#09233d 35%,#06182a 100%)}
.loginbox{width:min(430px,100%);background:#fff;border-radius:20px;padding:28px;box-shadow:0 30px 80px #0007}
.loginbrand{display:flex;gap:12px;align-items:center;margin-bottom:20px}.loginbrand h1{margin:0;font-size:28px}.loginbrand p{margin:3px 0 0;color:var(--muted)}
.loginhelp{margin-top:16px;background:#f4f7fa;border:1px solid var(--line);padding:12px;border-radius:10px;font-size:12px;color:#536275}
.userbar{display:flex;align-items:center;gap:9px}.logoutbtn{background:#ffffff12!important;border:1px solid #ffffff22!important;color:#fff!important;padding:7px 9px!important}
.permgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.permcheck{display:flex;gap:8px;align-items:center;border:1px solid var(--line);padding:8px;border-radius:9px;background:#fafbfd;font-size:12px}
.usercard{border:1px solid var(--line);border-radius:10px;padding:10px;margin:8px 0}.usercard .row{display:flex;justify-content:space-between;gap:8px;align-items:center}
.drawingcard{display:flex;justify-content:space-between;gap:10px;align-items:center}.reporthint{font-size:12px;color:#65758a;margin-top:6px}
@media(max-width:720px){.permgrid{grid-template-columns:1fr}}

.siteprogress{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;box-shadow:var(--shadow)}
.siteprogress b{font-size:13px}.siteprogress .bar{width:150px;margin:0;height:8px}.siteprogress .pctlabel{font-size:13px;font-weight:900;color:var(--navy)}
.passwordbox{background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:12px}

.forgotlink{display:block;text-align:right;margin:8px 0 14px;border:0;background:none;color:var(--blue);font-weight:800;padding:0}
.resetnotice{background:#fff7d8;border:1px solid #efd178;color:#755500;border-radius:10px;padding:11px;font-size:12px;margin:12px 0}
.emailtag{font-size:12px;color:#617087;margin-top:3px}

.metric.clickable{cursor:pointer;transition:.16s ease}.metric.clickable:hover{transform:translateY(-2px);box-shadow:0 10px 28px #10243b20;border-color:#cbd7e5}.metric.clickable:active{transform:translateY(0)}
.viewall{border:0;background:transparent;color:var(--blue);font-weight:800;font-size:12px;padding:4px 0;cursor:pointer}.viewall:hover{text-decoration:underline}

.settingswrap{position:relative}
.settingsmenu{position:absolute;right:0;top:calc(100% + 8px);width:180px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 14px 35px #0003;padding:6px;z-index:9999}
.settingsmenu button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#1c2d40;padding:10px;border-radius:8px;text-align:left;font-weight:800;cursor:pointer}
.settingsmenu button:hover{background:#f2f5f8}
.settingsmenu .logoutitem{color:#a32626}

.summarylegend{display:flex;flex-wrap:wrap;gap:7px 10px;justify-content:center;margin-top:2px}
.summarylegend span{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#4f5f72;white-space:nowrap}
.summarylegend .dot{width:9px;height:9px;border-radius:3px}

.todayitems{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
.todayitems h4{margin:0 0 7px;font-size:12px;color:var(--ink)}
.todayitem{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 2px;border-bottom:1px solid #edf1f5;cursor:pointer}
.todayitem:last-child{border-bottom:0}.todayitem:hover{background:#f7f9fb}
.todayitemmain{min-width:0}.todayitemmain b{display:block;font-size:12px}.todayitemmain span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.todaystatus{font-size:12px;font-weight:900;white-space:nowrap}

.sitesight-logo{display:block;max-width:174px;width:100%;height:auto;object-fit:contain}
.brand-logo-wrap{background:transparent;border-radius:0;padding:0;display:flex;align-items:center;justify-content:flex-start;min-width:145px}
.login-logo-wrap{display:flex;justify-content:center;margin-bottom:16px}.login-logo-wrap img{width:min(280px,90%);height:auto}
@media(max-width:720px){.brand-logo-wrap{min-width:125px}.sitesight-logo{max-width:145px}}

.login-logo-wrap img.login-logo{width:min(280px,90%);height:auto}
.issue-overview{display:grid;gap:7px}
.issue-overview-row{display:grid;grid-template-columns:minmax(100px,130px) minmax(180px,1.5fr) minmax(120px,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;transition:.15s ease}
.issue-overview-row:hover{background:#f8fafc;border-color:#cbd7e5;transform:translateY(-1px)}
.issue-overview-row.open{border-left:4px solid var(--red)}
.issue-overview-row.resolved{border-left:4px solid var(--green)}
.issue-overview-row .iref{font-weight:900}
.issue-overview-row .ititle{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.issue-overview-row .imeta{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.issue-section-title{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px}
.issue-section-title h2{margin:0;font-size:16px}
.notes-editor{min-height:180px;border:1px solid #d6dee8;border-radius:10px;padding:12px;background:#fff;outline:none;line-height:1.5}
.notes-editor:focus{border-color:#9db7d3;box-shadow:0 0 0 3px #dbeafe66}
.note-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.note-toolbar button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 11px;font-weight:900}
.note-toolbar input[type=color]{width:42px;height:36px;border:1px solid var(--line);border-radius:8px;padding:3px;background:#fff}
.note-display{line-height:1.55;word-break:break-word}
.timeline{gap:18px}
.daygroup{margin-bottom:3px}
.timelineitems{padding:14px;gap:13px}
.calendarbar{gap:12px;padding:16px;margin-bottom:18px}
.site-context{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#e8f1fb;color:#1e4d77;font-size:12px;font-weight:900}
.delete-site-warning{background:#fff3f1;border:1px solid #ffc9c3;border-radius:10px;padding:11px;color:#8d281e;margin:10px 0}
@media(max-width:900px){.issue-overview-row{grid-template-columns:100px 1fr auto}.issue-overview-row .imeta{display:none}}


.colour-palette{display:flex;gap:5px;align-items:center;flex-wrap:wrap;padding:4px 6px;border:1px solid var(--line);border-radius:9px;background:#fff}
.colour-swatch{width:25px!important;height:25px!important;min-width:25px;border:2px solid #fff!important;box-shadow:0 0 0 1px #cbd5e1;border-radius:6px!important;padding:0!important}
.formatbtn{min-width:38px}
.summary-click{cursor:pointer;border-radius:10px;padding:5px;margin:-5px;transition:.15s ease}
.summary-click:hover{background:#f4f7fb}
.weeksummary{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(135deg,#f8fbff,#fff);cursor:pointer;margin-top:12px}
.weeksummary:hover{border-color:#b9cce0;box-shadow:0 5px 16px #10243b12}
.weeksummary b{font-size:23px}.weeksummary span{font-size:12px;color:var(--muted);font-weight:800}
.activityrow{display:grid;grid-template-columns:110px minmax(130px,1fr) minmax(160px,1.3fr) 120px auto;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line);cursor:pointer}
.activityrow:hover{background:#f8fafc}.activityrow:last-child{border-bottom:0}
.analytics-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.analytics-value{font-size:25px;font-weight:900;margin-top:5px}
.analytics-table{width:100%;border-collapse:collapse}.analytics-table th,.analytics-table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);font-size:12px}.analytics-table th{color:var(--muted);font-size:12px;text-transform:uppercase}
.analytics-bar{height:7px;background:#e9eef3;border-radius:99px;overflow:hidden;min-width:90px}.analytics-bar i{display:block;height:100%;background:var(--green)}
.site-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.site-access-item{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:8px;background:#fafbfd;font-size:12px}
.drawing-actions{display:flex;gap:7px;align-items:center}
@media(max-width:900px){.analytics-grid{grid-template-columns:1fr 1fr}.activityrow{grid-template-columns:90px 1fr auto}.activityrow .activity-hide{display:none}.site-access-grid{grid-template-columns:1fr}}

.note-toolbar button.format-active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 0 0 2px #dbeafe}
.colour-swatch.colour-active{transform:scale(1.12);box-shadow:0 0 0 3px #bfd7f2!important}
.notification-list{display:grid;gap:8px;max-height:320px;overflow:auto}
.notification-item{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:9px;padding:9px 10px;background:#fff}
.notification-item.unread{background:#f4f9ff}.notification-item b{font-size:12px}.notification-item .muted{font-size:12px}
.notify-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fafbfd}
.switch{position:relative;width:46px;height:26px;display:inline-block}.switch input{display:none}.switch span{position:absolute;inset:0;border-radius:99px;background:#cbd5e1;cursor:pointer;transition:.2s}.switch span:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 4px #0002}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translateX(20px)}
.extra-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#f3e8ff;color:#7e22ce;font-size:12px;font-weight:900}

.team-members{display:grid;gap:6px;margin-top:10px}
.team-member{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#fafbfd}
.team-member b{font-size:12px}.team-member span{font-size:12px;color:var(--muted)}
.team-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.member-editor-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin:8px 0}
@media(max-width:720px){.member-editor-row{grid-template-columns:1fr}}

.team-member.clickable{cursor:pointer;transition:.15s ease}
.team-member.clickable:hover{background:#f3f7fb;border-color:#b9c9da;transform:translateY(-1px)}
.member-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:9px;margin-top:10px}
.member-photo{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.member-photo img{display:block;width:100%;height:105px;object-fit:cover;background:#eef2f6}
.member-photo .caption{padding:6px;font-size:12px;color:var(--muted);word-break:break-word}
.member-record-note{white-space:pre-wrap;line-height:1.5;background:#f8fafc;border:1px solid var(--line);border-radius:9px;padding:10px}

.calendar-notes-panel{margin-top:16px}
.calendar-note-list{display:grid;gap:8px}
.calendar-note{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:10px;background:#fff;cursor:pointer}
.calendar-note:hover{background:#f8fafc}
.calendar-note.future{border-left-color:var(--orange)}
.calendar-note-date{font-weight:900;font-size:12px}
.calendar-note-title{font-weight:800}
.calendar-note-text{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.note-date-badge{font-size:12px;font-weight:900;color:#8a4d00;background:#fff1dc;border-radius:999px;padding:4px 7px}

.custom-type-wrap{margin-top:8px;padding:9px;border:1px dashed #b9c7d6;border-radius:9px;background:#f8fafc}
.quick-manage-list{display:grid;gap:8px;margin:12px 0}
.quick-manage-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fafbfd}
.quick-manage-row b{font-size:12px}.quick-manage-row span{font-size:12px;color:var(--muted)}

.audit-list{display:grid;gap:7px}
.audit-row{display:grid;grid-template-columns:145px 130px 1fr 160px;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px}
.audit-row:hover{background:#f8fafc}
.diary-entry{border-left:4px solid var(--blue);margin:9px 0}
.diary-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-top:8px}
.diary-photo-grid img{width:100%;height:90px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.analytics-trend{display:flex;align-items:flex-end;gap:8px;height:130px;padding:12px 4px}
.analytics-trend .weekbar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px}
.analytics-trend .weekbar i{display:block;width:70%;background:var(--blue);border-radius:6px 6px 0 0;min-height:3px}
.analytics-trend .weekbar span{font-size:12px;color:var(--muted)}
.drill-card{cursor:pointer}
.drill-card:hover{border-color:#b7c9dc;box-shadow:0 7px 20px #10243b14}
@media(max-width:720px){.audit-row{grid-template-columns:1fr}.audit-row span:nth-child(2){display:none}}

.site-drawings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.site-drawing-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:.15s}
.site-drawing-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #10243b18;border-color:#b8c8d8}
.site-drawing-preview{height:150px;background:#f2f5f8;display:flex;align-items:center;justify-content:center;overflow:hidden}
.site-drawing-preview img{width:100%;height:100%;object-fit:cover}.site-drawing-preview .pdf-icon{font-size:42px}
.site-drawing-body{padding:11px}.site-drawing-body h3{margin:0 0 5px;font-size:13px}.site-drawing-body .muted{font-size:12px}
.site-drawing-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.drawing-filterbar{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;margin-bottom:14px}
.drawing-fullscreen{position:fixed;inset:0;background:#07182bee;z-index:99999;display:flex;align-items:center;justify-content:center;padding:28px}
.drawing-fullscreen-inner{position:relative;width:min(1200px,96vw);height:min(860px,92vh);background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.drawing-fullscreen-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}
.drawing-fullscreen-body{flex:1;display:flex;align-items:center;justify-content:center;background:#eef2f6;overflow:auto}
.drawing-fullscreen-body img{max-width:100%;max-height:100%;object-fit:contain}
.drawing-fullscreen-body iframe{width:100%;height:100%;border:0;background:#fff}
.role-template-note{background:#eef6ff;border:1px solid #cfe2f7;padding:9px;border-radius:9px;font-size:12px;color:#3e5f7d;margin:8px 0}
@media(max-width:900px){.drawing-filterbar{grid-template-columns:1fr 1fr}.site-drawings-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.drawing-filterbar{grid-template-columns:1fr}.site-drawings-grid{grid-template-columns:1fr}}

.drawing-search{grid-column:1/-1;display:flex;gap:8px;align-items:center}
.drawing-search .input{flex:1}

.backbtn{display:inline-flex;align-items:center;gap:6px}
.saved-toast{position:fixed;right:18px;bottom:18px;background:#dcfce7;color:#166534;border:1px solid #86efac;padding:11px 14px;border-radius:10px;font-weight:900;box-shadow:0 8px 24px #0002;z-index:99999}
.empty-help{background:#f8fafc;border:1px dashed #c8d4e0;border-radius:10px;padding:14px;color:#64748b;font-size:12px}
.search-suggestions{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:0 0 10px 10px;box-shadow:0 10px 26px #10243b1f;z-index:1000;max-height:260px;overflow:auto}
.search-suggestion{padding:9px 11px;cursor:pointer;border-bottom:1px solid #eef2f6;font-size:12px}.search-suggestion:hover{background:#f6f9fc}
.searchwrap{position:relative}.training-tip{margin-top:7px;padding:8px 10px;background:#eef6ff;border:1px solid #d7e7f7;border-radius:8px;color:#45637f;font-size:12px}
.last-updated{font-size:12px;color:var(--muted);margin-top:5px}.attention-banner{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:9px;background:#fff7e6;border:1px solid #f7d59c;color:#8a5b00;font-size:12px;font-weight:900;margin:10px 0}
.filter-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.filter-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;background:#eef3f8;border-radius:999px;font-size:12px;font-weight:800;color:#53677b}
.show-everything{border:0;background:#eaf2fb;color:#245c8d;border-radius:999px;padding:6px 9px;font-weight:900;cursor:pointer}
@media(max-width:720px){.saved-toast{left:12px;right:12px;bottom:74px;text-align:center}}

.work-drawing-fullscreen{position:fixed;inset:0;background:#07182bee;z-index:99999;display:flex;align-items:center;justify-content:center;padding:28px}
.work-drawing-fullscreen-inner{position:relative;width:min(1200px,96vw);height:min(860px,92vh);background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.work-drawing-fullscreen-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}
.work-drawing-fullscreen-body{flex:1;display:flex;align-items:center;justify-content:center;background:#eef2f6;overflow:auto}
.work-drawing-fullscreen-body img{max-width:100%;max-height:100%;object-fit:contain}
.work-drawing-fullscreen-body iframe,.work-drawing-fullscreen-body embed{width:100%;height:100%;border:0;background:#fff}

/* V1.34 simplicity additions */
.simple-back{margin-bottom:10px}
.empty-help{background:#f8fafc;border:1px dashed #c8d4e0;border-radius:10px;padding:14px;color:#64748b;font-size:12px}
.saved-toast{position:fixed;right:18px;bottom:18px;background:#dcfce7;color:#166534;border:1px solid #86efac;padding:11px 14px;border-radius:10px;font-weight:900;box-shadow:0 8px 24px #0002;z-index:99999}
.training-tip{margin-top:7px;padding:8px 10px;background:#eef6ff;border:1px solid #d7e7f7;border-radius:8px;color:#45637f;font-size:12px}
.last-updated{font-size:12px;color:var(--muted);margin-top:5px}
.attention-compact{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#fff7e6;border:1px solid #f4d392;color:#8a5b00;font-size:12px;font-weight:900;margin-top:7px}
.finance-zone{border:1px solid #dce6ef;border-radius:10px;padding:11px;background:#f8fbfd;margin-top:10px}
.finance-zone h4,.progress-zone h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#66798c}
.progress-zone{border:1px solid #e5e9ee;border-radius:10px;padding:11px;background:#fff;margin-bottom:10px}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.admin-tab{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:9px;font-weight:900;cursor:pointer}
.admin-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.more-card{cursor:pointer;transition:.15s}.more-card:hover{transform:translateY(-2px);box-shadow:0 9px 22px #10243b17}
.advanced-delete{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.filter-summary{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:9px 0 13px}
.filter-chip{background:#eef3f8;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800;color:#556a7e}
.showall-btn{border:0;background:#e4effa;color:#245c8d;border-radius:999px;padding:6px 10px;font-weight:900;cursor:pointer}
.calendar-prompt{padding:24px;text-align:center;background:#f8fafc;border:1px dashed #cbd6e1;border-radius:12px;color:#64748b;margin:12px 0}
.drawing-section-actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:720px){
 .desktop-secondary{display:none!important}
 .mobilebar{grid-template-columns:repeat(5,1fr)!important}
 .mobilebar button{font-size:12px!important;padding:8px 3px!important}
 .saved-toast{left:12px;right:12px;bottom:72px;text-align:center}
}

/* ============================================================
   V1.74 — working hours, overtime and flexible record periods
   ============================================================ */
.v174-period-bar,.v174-record-range{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;margin:12px 0 16px;background:linear-gradient(135deg,#f5faff,#fff);border:1px solid #cfe0ec;border-radius:13px}
.v174-period-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.v174-period-presets>span{font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#587082;margin-right:4px}.v174-period-presets button,.v174-agenda-tabs button{border:1px solid #cad8e2;background:#fff;color:#24465a;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;cursor:pointer}.v174-period-presets button.active,.v174-period-presets button:hover,.v174-agenda-tabs button.active,.v174-agenda-tabs button:hover{background:var(--blue);border-color:var(--blue);color:#fff}.v174-period-dates,.v174-agenda-dates{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.v174-period-dates label,.v174-agenda-dates label,.v174-record-range label{display:grid;gap:4px;font-size:12px;font-weight:900;text-transform:uppercase;color:#5e7180}.v174-period-dates .input,.v174-agenda-dates .input,.v174-record-range .input{min-width:145px}.v174-period-dates>b{font-size:12px;color:#294c60;padding:9px 0}.v174-record-range>div{display:grid;gap:2px;margin-right:auto}.v174-record-range>div b{font-size:12px}.v174-record-range>div span{font-size:12px;color:var(--muted)}.v174-range-error{color:var(--red)}
.v174-pay-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0}.v174-pay-metrics>div{display:grid;gap:4px;background:#f5f9fc;border:1px solid #dce6ed;border-radius:11px;padding:12px}.v174-pay-metrics span{font-size:12px;font-weight:900;color:#637786;text-transform:uppercase}.v174-pay-metrics b{font-size:20px;color:#163b51}.v174-pay-metrics .warn{background:#fff8e8;border-color:#f1d58f}.v174-individual-breakdown,.v174-recorded-payments{background:#fff;border:1px solid #dbe5eb;border-radius:13px;padding:14px;margin:14px 0}.v174-pay-person{display:grid;grid-template-columns:minmax(190px,1fr) minmax(110px,.4fr) 120px;gap:12px;align-items:center;padding:10px 3px;border-top:1px solid #edf1f4}.v174-pay-person:first-of-type{border-top:0}.v174-pay-person>span{display:grid;gap:2px}.v174-pay-person b{font-size:12px}.v174-pay-person small{font-size:12px;color:var(--muted)}.v174-pay-person>strong{text-align:right;color:#123e55;font-size:14px}.v174-timesheet-table small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.v174-unpaid{background:#fff6df!important;color:#8a5a00;font-weight:900}
.v174-hours-manager{padding:15px;margin-bottom:14px;border-left:5px solid var(--blue)}.v174-hours-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v174-hours-list button{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #d9e3e9;background:#fff;border-radius:10px;padding:11px 12px;text-align:left;cursor:pointer}.v174-hours-list button:hover{border-color:#80a9bf;background:#f7fbfd}.v174-hours-list span{display:grid;gap:2px}.v174-hours-list b{font-size:12px}.v174-hours-list small{font-size:12px;color:var(--muted)}.v174-hours-list strong{font-size:12px;color:#1b566f;text-align:right}.v174-hours-modal{max-width:760px}.v174-workweek{display:grid;gap:7px;margin:14px 0}.v174-workday-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;padding:9px 11px;background:#f8fafc;border:1px solid #dfe7ec;border-radius:10px}.v174-day-toggle{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:900}.v174-day-toggle input{width:19px;height:19px}.v174-day-times{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v174-day-times label{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center;font-size:12px;font-weight:900;text-transform:uppercase;color:#657885}.v174-day-times.disabled{opacity:.45}
.v174-pending-overtime{padding:15px;margin-bottom:14px;border-left:5px solid var(--orange)}.v174-overtime-row{display:grid;grid-template-columns:1fr 90px auto;gap:12px;align-items:center;padding:10px 2px;border-top:1px solid #edf1f4}.v174-overtime-row>span{display:grid;gap:2px}.v174-overtime-row b{font-size:12px}.v174-overtime-row small{font-size:12px;color:var(--muted)}.v174-overtime-row>strong{color:#905d00}.v174-overtime-warning,.v174-worker-notice{display:grid;gap:4px;padding:12px 14px;background:#fff7df;border:1px solid #efd38a;border-radius:11px;margin:12px 0}.v174-overtime-warning b,.v174-worker-notice b{font-size:13px;color:#704a00}.v174-overtime-warning span,.v174-worker-notice span{font-size:12px;color:#6e624b}.v174-ot{display:block;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900;text-align:center}.v174-ot.none{background:#eef5f7;color:#526a76}.v174-ot.approved{background:#e7f8ed;color:#176037}.v174-ot.pending{background:#fff2cd;color:#7b5100}.v174-ot+small{display:block;text-align:center;margin-top:4px;color:#a14c24;font-size:12px}.v174-my-hours{display:flex;gap:8px;flex-wrap:wrap}.v174-my-hours span{background:#eef5f8;border-radius:999px;padding:7px 10px;font-size:12px;color:#48616f}
.v174-calendar-agenda{padding:16px;margin-top:14px}.v174-agenda-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.v174-agenda-tabs button b{margin-left:5px}.v174-agenda-dates{margin:10px 0 14px}.v174-agenda-list{display:grid;gap:6px}.v174-agenda-row{display:grid;grid-template-columns:76px 34px 1fr auto;gap:10px;align-items:center;width:100%;border:1px solid #dfe7ec;border-left:4px solid #8fa5b2;background:#fff;border-radius:10px;padding:9px 11px;text-align:left;cursor:pointer}.v174-agenda-row:hover{background:#f8fbfc;border-color:#a7c2d0}.v174-agenda-row time{display:grid;gap:1px}.v174-agenda-row time b{font-size:12px}.v174-agenda-row time span{font-size:12px;color:var(--muted)}.v174-agenda-row>i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#edf3f6;font-style:normal;font-weight:900}.v174-agenda-row>span{display:grid;gap:3px}.v174-agenda-row>span b{font-size:12px}.v174-agenda-row>span small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v174-agenda-row.event-issue{border-left-color:var(--red)}.v174-agenda-row.event-complete{border-left-color:var(--green)}.v174-agenda-row.event-holiday{border-left-color:#8b5cf6}.v174-agenda-row.event-sick{border-left-color:#ef4444}.v174-agenda-row.event-programme{border-left-color:#0e7490}.v174-agenda-row.event-daywork{border-left-color:#b7791f}.month-chip.chip-programme{background:#dff3f8;color:#155e75}.month-chip.chip-daywork{background:#fff0c7;color:#7a4b00}
@media(max-width:850px){.v174-pay-metrics{grid-template-columns:1fr 1fr}.v174-hours-list{grid-template-columns:1fr}.v174-pay-person{grid-template-columns:1fr auto}.v174-pay-person>span:nth-child(2){display:none}.v174-workday-row{grid-template-columns:1fr}.v174-day-times{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.v174-period-bar,.v174-record-range{align-items:stretch}.v174-period-dates,.v174-agenda-dates{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;width:100%}.v174-period-dates label,.v174-agenda-dates label{min-width:0}.v174-period-dates .input,.v174-agenda-dates .input{min-width:0;width:100%}.v174-pay-metrics{grid-template-columns:1fr 1fr}.v174-workday-row{padding:10px}.v174-day-times{grid-template-columns:1fr}.v174-overtime-row{grid-template-columns:1fr auto}.v174-overtime-row button{grid-column:1/-1}.v174-agenda-row{grid-template-columns:62px 30px 1fr}.v174-agenda-row>strong{display:none}}

.work-payment-summary{margin-top:14px}
.payment-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-bottom:12px}
.payment-summary-card{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff}
.payment-summary-card b{display:block;font-size:20px;margin-top:4px}
.payment-history-table{width:100%;border-collapse:collapse}
.payment-history-table th,.payment-history-table td{padding:9px;border-bottom:1px solid var(--line);font-size:12px;text-align:left;vertical-align:top}
.payment-history-table th{font-size:12px;text-transform:uppercase;color:var(--muted)}
.payment-total-row{font-weight:900;background:#f8fafc}
.payment-history-page .panel{padding:15px}
.remaining-pay{font-size:12px;color:var(--muted);margin-top:5px}
@media(max-width:800px){.payment-summary-grid{grid-template-columns:1fr 1fr}.payment-history-table{min-width:720px}}

/* V1.36 UX refinements */
.work-card-click{cursor:pointer}
.more-actions-wrap{position:relative;display:inline-block}
.more-actions-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px #10243b24;z-index:2500;overflow:hidden}
.more-actions-menu button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 12px;font-weight:800;cursor:pointer}
.more-actions-menu button:hover{background:#f6f9fc}
.site-view-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#eef4fb;color:#365f83;font-size:12px;font-weight:900}
.site-view-pill button{border:0;background:transparent;color:#365f83;font-weight:900;cursor:pointer;padding:0}
.simple-filter-toggle{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;font-weight:900;cursor:pointer}
.simple-filter-extra{display:none}
.simple-filter-extra.show{display:contents}
.payment-entry-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
.payment-entry-summary .card{padding:10px}
.payment-entry-summary b{display:block;font-size:17px;margin-top:3px}
.danger-btn{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}
.payment-row-click{cursor:pointer}.payment-row-click:hover{background:#f8fafc}
@media(max-width:720px){.payment-entry-summary{grid-template-columns:1fr}.more-actions-menu{right:auto;left:0}}

/* V1.37 Variations / Extra Work */
.variation-panel{margin-top:14px}
.variation-card{border:1px solid var(--line);border-left:4px solid #7c3aed;border-radius:11px;padding:12px;background:#fff;margin-top:9px}
.variation-card h4{margin:0 0 4px}
.variation-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:6px 0}
.variation-summary{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;margin:10px 0}
.variation-summary .card{padding:9px}
.variation-summary b{display:block;font-size:17px;margin-top:3px}
.variation-payments{margin-top:10px}
.variation-type{display:inline-block;padding:3px 7px;border-radius:999px;background:#f3e8ff;color:#7e22ce;font-size:12px;font-weight:900}
@media(max-width:760px){.variation-summary{grid-template-columns:1fr 1fr}}

/* =========================================================
   V1.43 — Needs Attention controls
   ========================================================= */

.needs-title-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--c-ink);
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  font:inherit;
  font-weight:800;
  text-align:left;
}
.needs-title-btn span{
  font-size:12px;
}
.needs-title-btn b{
  min-width:19px;
  height:19px;
  padding:0 5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fff3df;
  color:#9c651b;
  font-size:12px;
  border:1px solid #efd8b6;
}
.needs-title-btn:hover span{
  text-decoration:underline;
}
.needs-expand-btn{
  width:100%;
  min-height:29px;
  margin-top:5px;
  border:0;
  border-top:1px solid #ece3d5;
  background:transparent;
  color:#8c642b;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.needs-expand-btn:hover{
  background:#fff9ef;
}

/* Full Needs Attention screen */
.needs-attention-page{
  padding:13px!important;
}
.needs-attention-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.needs-attention-full-card{
  border:1px solid var(--c-line);
  border-left:3px solid var(--c-amber);
  border-radius:9px;
  padding:10px;
  background:#fff;
  cursor:pointer;
  transition:border-color .12s ease,background .12s ease;
}
.needs-attention-full-card:hover{
  background:#fffdf9;
  border-color:#ddc8a9;
}
.needs-attention-card-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.needs-attention-card-main>div{
  min-width:0;
}
.needs-attention-card-main b{
  display:block;
  font-size:13px;
  color:var(--c-navy);
}
.needs-attention-card-main div span{
  display:block;
  margin-top:1px;
  font-size:12px;
  color:var(--c-muted);
}
.needs-attention-reason{
  margin-top:7px;
  padding:6px 7px;
  border-radius:6px;
  background:#fff7e9;
  color:#7d5725;
  font-size:12px;
  line-height:1.3;
}
.needs-attention-card-meta{
  margin-top:7px;
  padding-top:6px;
  border-top:1px solid var(--c-line);
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--c-muted);
  font-size:12px;
}
.needs-attention-card-meta b{
  margin-left:auto;
  color:var(--c-blue);
  font-size:12px;
}
@media(max-width:1100px){
  .needs-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .needs-expand-btn{min-height:42px;font-size:12px}
  .needs-title-btn{min-height:36px}
  .needs-attention-grid{grid-template-columns:1fr}
  .needs-attention-full-card{padding:11px}
}


/* =========================================================
   V1.44 — Admin search
   ========================================================= */
.admin-section{
  padding:12px!important;
}
.admin-searchbar{
  display:flex;
  align-items:center;
  gap:8px;
  margin:7px 0 10px;
}
.admin-search-input{
  position:relative;
  flex:1 1 420px;
  max-width:620px;
}
.admin-search-input>span{
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  color:#718593;
  font-size:13px;
  pointer-events:none;
}
.admin-search-input .input{
  width:100%;
  padding-left:29px!important;
  padding-right:30px!important;
}
.admin-search-clear{
  position:absolute;
  right:5px;
  top:50%;
  transform:translateY(-50%);
  width:26px;
  height:26px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#6d7e8b;
  cursor:pointer;
  font-size:16px;
}
.admin-search-clear:hover{
  background:#edf2f5;
}
.admin-search-count{
  flex:0 0 auto;
  min-width:28px;
  text-align:center;
  padding:4px 7px;
  border-radius:999px;
  background:#edf3f7;
  color:#607686;
  font-size:12px;
  font-weight:800;
}
.admin-search-row{
  transition:background .1s ease;
}
.admin-search-row:hover{
  background:#fafcfd;
}
.admin-no-results{
  grid-column:1/-1;
  padding:18px 10px;
  text-align:center;
  border:1px dashed var(--c-line-2);
  border-radius:8px;
  color:var(--c-muted);
}
.admin-no-results b{
  display:block;
  color:var(--c-ink);
  font-size:12px;
}
.admin-no-results span{
  display:block;
  margin-top:3px;
  font-size:12px;
}
.admin-work-list{
  border:1px solid var(--c-line);
  border-radius:8px;
  overflow:hidden;
}
.admin-work-row{
  display:grid;
  grid-template-columns:minmax(150px,1.4fr) minmax(150px,1.2fr) auto 16px;
  gap:10px;
  align-items:center;
  min-height:45px;
  padding:7px 9px;
  border-bottom:1px solid var(--c-line);
  cursor:pointer;
}
.admin-work-row:last-child{border-bottom:0}
.admin-work-row:hover{background:#f8fafb}
.admin-work-row>div:first-child b{
  display:block;
  font-size:12px;
  color:var(--c-navy);
}
.admin-work-row>div span{
  display:block;
  font-size:12px;
  color:var(--c-muted);
}
@media(max-width:720px){
  .admin-searchbar{align-items:stretch}
  .admin-search-input{max-width:none}
  .admin-search-count{display:flex;align-items:center}
  .admin-work-row{
    grid-template-columns:1fr auto;
    gap:5px 8px;
    padding:9px;
  }
  .admin-work-row>div:nth-child(2){grid-column:1/2}
  .admin-work-row>div:nth-child(3){grid-column:2/3;grid-row:1/3}
  .admin-work-row>b{display:none}
}


/* =========================================================
   V1.45 — Admin archives & friction reduction
   ========================================================= */

.admin-clickable{cursor:pointer}
.admin-clickable:hover{background:#fafcfd!important;border-color:#cbd8e1!important}

/* Archives entry/list */
.archive-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.archive-card{
  padding:11px;
  border:1px solid var(--c-line);
  border-left:3px solid #73889a;
  border-radius:9px;
  background:#fff;
  cursor:pointer;
}
.archive-card:hover{
  background:#f8fafb;
  border-color:#c9d5de;
}
.archive-card h3{
  margin:4px 0 0!important;
  font-size:13px!important;
}
.archive-card-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:7px 0 5px;
  font-size:12px;
  color:var(--c-muted);
}
.archive-toolbar{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  margin-bottom:9px;
}
.archive-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  border-radius:10px;
  border:1px solid var(--c-line);
  background:linear-gradient(110deg,#fff,#f5f8fa);
}
.archive-hero h2{
  margin:5px 0 2px!important;
  font-size:19px!important;
}
.archive-hero-count{
  text-align:center;
  min-width:76px;
  padding:8px 10px;
  border-radius:8px;
  background:#edf2f5;
}
.archive-hero-count b{
  display:block;
  font-size:19px;
}
.archive-hero-count span{
  font-size:12px;
  color:var(--c-muted);
}
.archive-summary-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
  margin:8px 0;
}
.archive-summary-grid .card{
  padding:8px;
}
.archive-summary-grid span{
  display:block;
  font-size:12px;
  color:var(--c-muted);
}
.archive-summary-grid b{
  display:block;
  margin-top:3px;
  font-size:14px;
}
.archive-finance{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  margin-bottom:8px;
}
.archive-finance .fbox{
  padding:8px;
  border:1px solid var(--c-line);
  border-radius:8px;
  background:#f8fafb;
}
.archive-finance .purple{background:#faf7ff;border-color:#e5ddf2}
.archive-finance .green{background:#f1faf5;border-color:#d6ebdf}
.archive-finance span{
  font-size:12px;
  color:var(--c-muted);
}
.archive-finance b{
  display:block;
  margin-top:3px;
  font-size:14px;
}
.archive-section{
  margin-top:9px;
  padding:10px;
  border:1px solid var(--c-line);
  border-radius:9px;
  background:#fff;
}
.archive-list{
  border:1px solid var(--c-line);
  border-radius:7px;
  overflow:hidden;
}
.archive-row{
  display:grid;
  grid-template-columns:minmax(130px,1.1fr) minmax(120px,1fr) minmax(130px,1fr) 14px;
  gap:8px;
  align-items:center;
  min-height:40px;
  padding:6px 8px;
  border-bottom:1px solid var(--c-line);
}
.archive-row:last-child{border-bottom:0}
.archive-row.clickable{cursor:pointer}
.archive-row.clickable:hover{background:#f8fafb}
.archive-row b{font-size:12px}
.archive-row span{display:block;font-size:12px;color:var(--c-muted)}
.archive-wide{
  font-size:12px;
  color:var(--c-muted);
}
.archive-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.archive-two h4{
  margin:0 0 5px!important;
  font-size:12px!important;
}
.archive-mini-row{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:5px 0;
  border-bottom:1px solid var(--c-line);
}
.archive-mini-row:last-child{border-bottom:0}
.archive-mini-row b{font-size:12px}
.archive-mini-row span{font-size:12px;color:var(--c-muted)}
.archive-diary{
  padding:7px 0;
  border-bottom:1px solid var(--c-line);
}
.archive-diary:last-child{border-bottom:0}
.archive-diary>span{margin-left:8px;font-size:12px;color:var(--c-muted)}
.archive-diary p{margin:4px 0;font-size:12px}

/* Recently used drawings */
.recent-drawings{
  margin-bottom:12px;
  padding-bottom:11px;
  border-bottom:1px solid var(--c-line);
}
.recent-drawing-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:7px;
}
.recent-drawing-grid .site-drawing-preview{
  height:92px!important;
}
.recent-drawing-grid .site-drawing-body{
  padding:7px 8px!important;
}
.recent-drawing-grid .site-drawing-body h3{
  font-size:12px!important;
}
.recent-drawing-grid .site-drawing-actions{
  margin-top:5px!important;
}
.recent-drawing-grid .site-drawing-actions .btn{
  min-height:28px!important;
  padding:4px 6px!important;
  font-size:12px!important;
}
.drawing-all-head{
  margin-top:4px!important;
}

/* Responsive */
@media(max-width:1100px){
  .archive-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .archive-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .archive-finance{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .archive-cards{grid-template-columns:1fr}
  .archive-toolbar{align-items:stretch;flex-direction:column}
  .archive-toolbar .actions{display:flex;gap:6px}
  .archive-toolbar .actions .btn{flex:1}
  .archive-summary-grid{grid-template-columns:1fr 1fr}
  .archive-finance{grid-template-columns:1fr 1fr}
  .archive-row{grid-template-columns:1fr auto}
  .archive-row>div:nth-child(2),.archive-row>div:nth-child(3){grid-column:1/2}
  .archive-row>b{grid-column:2/3;grid-row:1/4}
  .archive-two{grid-template-columns:1fr}
  .recent-drawing-grid{grid-template-columns:1fr 1fr}
  .recent-drawing-grid .site-drawing-preview{height:120px!important}
}


/* =========================================================
   V1.46 — Interactive Today Summary
   ========================================================= */

/* Old static .donut remains harmless in earlier CSS, but today's summary now uses SVG. */
.today-donut-wrap{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:10px;
  align-items:center;
  margin:8px 0 7px;
}
.today-donut-chart{
  position:relative;
  width:112px;
  height:112px;
  margin:auto;
}
.today-donut-svg{
  display:block;
  width:112px;
  height:112px;
  overflow:visible;
}
.today-donut-segment{
  cursor:default;
  transition:stroke-width .12s ease,filter .12s ease,opacity .12s ease;
}
.today-donut-svg:hover .today-donut-segment{
  opacity:.72;
}
.today-donut-svg .today-donut-segment:hover{
  opacity:1;
  stroke-width:20;
  filter:drop-shadow(0 1px 2px rgba(12,37,58,.16));
}
.today-donut-centre{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.today-donut-centre b{
  font-size:18px;
  line-height:1;
  color:var(--c-navy);
}
.today-donut-centre span{
  margin-top:2px;
  font-size:12px;
  color:var(--c-muted);
  font-weight:700;
}
.today-donut-detail{
  min-height:84px;
  padding:7px 8px;
  border:1px solid var(--c-line);
  border-radius:8px;
  background:#f8fafb;
  overflow:hidden;
}
.today-donut-default{
  height:100%;
  min-height:68px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.today-donut-default b{
  font-size:12px;
  color:var(--c-ink);
}
.today-donut-default span{
  display:block;
  margin-top:3px;
  font-size:12px;
  color:var(--c-muted);
  line-height:1.3;
}
.today-donut-hover-head{
  display:grid;
  grid-template-columns:8px 1fr auto;
  gap:5px;
  align-items:center;
  margin-bottom:5px;
}
.today-donut-hover-head b{
  font-size:12px;
}
.today-donut-hover-head strong{
  font-size:12px;
  color:var(--c-navy);
}
.today-donut-hover-dot{
  width:7px;
  height:7px;
  border-radius:2px;
}
.today-donut-hover-dot.open-issues{background:var(--red)}
.today-donut-hover-dot.in-progress{background:var(--amber)}
.today-donut-hover-dot.not-started{background:#8b98aa}
.today-donut-hover-dot.complete{background:var(--green)}
.today-donut-hover-dot.signed-off{background:#f2b900}
.today-donut-hover-list{
  display:grid;
  gap:2px;
}
.today-donut-hover-list>span{
  display:flex;
  justify-content:space-between;
  gap:5px;
  min-width:0;
  font-size:12px;
}
.today-donut-hover-list b{
  flex:0 0 auto;
  color:var(--c-ink);
}
.today-donut-hover-list em{
  min-width:0;
  color:var(--c-muted);
  font-style:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.today-donut-hover-list small{
  margin-top:2px;
  font-size:12px;
  color:var(--c-muted);
}
.today-donut-hover-empty{
  font-size:12px;
  color:var(--c-muted);
  padding-top:5px;
}



@media(max-width:1100px){
  .today-donut-wrap{
    grid-template-columns:1fr;
  }
  .today-donut-detail{
    min-height:58px;
  }
  .today-donut-default{min-height:42px}
}
@media(max-width:900px){
  .today-donut-wrap{
    grid-template-columns:112px minmax(0,1fr);
  }
}
@media(max-width:720px){
  .today-donut-chart,.today-donut-svg{
    width:122px;
    height:122px;
  }
  .today-donut-wrap{
    grid-template-columns:122px minmax(0,1fr);
  }
}


/* =========================================================
   V1.47 — Team performance date range
   ========================================================= */
.team-workload-panel .sectionhead{
  align-items:flex-start!important;
}
.team-date-range{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-end;
  padding:9px 10px;
  margin:7px 0 10px;
  border:1px solid var(--c-line);
  border-radius:8px;
  background:#f8fafb;
}
.team-date-range-label{
  min-width:170px;
}
.team-date-range-label b{
  display:block;
  font-size:12px;
  color:var(--c-ink);
}
.team-date-range-label span{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:var(--c-muted);
}
.team-date-fields{
  display:flex;
  gap:6px;
  align-items:flex-end;
}
.team-date-fields label{
  display:grid;
  gap:2px;
  font-size:12px;
  font-weight:800;
  color:var(--c-muted);
}
.team-date-fields .input{
  min-width:128px;
}
.team-performance-note{
  display:flex;
  gap:8px;
  align-items:center;
  margin:0 0 7px;
  padding:6px 8px;
  border-radius:7px;
  background:#edf5fa;
  border:1px solid #d7e6ef;
}
.team-performance-note b{
  flex:0 0 auto;
  font-size:12px;
  color:var(--c-blue);
}
.team-performance-note span{
  font-size:12px;
  color:var(--c-muted);
}
.team-rank-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:#edf2f5;
  color:var(--c-navy);
  font-size:12px;
  font-weight:900;
}
.team-rank-label{
  display:inline-block;
  margin-left:6px;
  padding:2px 5px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  vertical-align:middle;
}
.team-rank-label.best{
  color:#1f754f;
  background:#edf9f2;
}
.team-rank-label.lowest{
  color:#8b5e24;
  background:#fff5e8;
}
.team-ranking-table .team-rank-best td{
  background:#fbfefc;
}
.team-ranking-table .team-rank-lowest td{
  background:#fffdf9;
}
.analytics-range-prompt{
  display:flex;
  gap:6px;
  align-items:center;
  padding:9px 10px;
  border:1px solid var(--c-line);
  border-radius:8px;
  background:#f8fafb;
}
.analytics-range-prompt b{
  font-size:12px;
}
.analytics-range-prompt span{
  font-size:12px;
  color:var(--c-muted);
}
.analytics-range-prompt.error{
  background:#fff3f3;
  border-color:#efd4d4;
}
.analytics-range-prompt.error b{
  color:#aa3e3e;
}
@media(max-width:800px){
  .team-date-range{
    align-items:stretch;
    flex-direction:column;
  }
  .team-date-fields{
    flex-wrap:wrap;
  }
  .team-date-fields label{
    flex:1 1 140px;
  }
  .team-date-fields .input{
    min-width:0;
    width:100%;
  }
}
@media(max-width:520px){
  .team-date-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .team-date-fields .btn{
    grid-column:1/-1;
  }
  .team-performance-note{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   V1.48 — Permission setup
   ========================================================= */
.permission-customizer{
  margin-top:8px;
  border:1px solid var(--c-line);
  border-radius:9px;
  background:#f8fafb;
  overflow:hidden;
}
.permission-customizer>summary{
  list-style:none;
  min-height:44px;
  padding:9px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  cursor:pointer;
  user-select:none;
}
.permission-customizer>summary::-webkit-details-marker{display:none}
.permission-customizer>summary span>b{
  display:block;
  font-size:12px;
  color:var(--c-ink);
}
.permission-customizer>summary small{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:var(--c-muted);
}
.permission-customizer[open]>summary{
  border-bottom:1px solid var(--c-line);
  background:#f1f5f8;
}
.permission-customizer[open]>summary>b{transform:rotate(180deg)}
.permission-groups{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:9px;
}
.permission-group{
  border:1px solid var(--c-line);
  border-radius:8px;
  background:#fff;
  padding:8px;
}
.permission-group h4{
  margin:0 0 6px!important;
  font-size:12px!important;
  color:var(--c-navy);
}
.permission-group .permgrid{
  display:grid;
  grid-template-columns:1fr;
  gap:3px;
}
.permission-group .permcheck{
  min-height:28px;
  padding:4px 5px;
  display:flex;
  align-items:center;
  gap:6px;
  border-radius:5px;
  font-size:12px;
}
.permission-group .permcheck:hover{
  background:#f7fafc;
}
.permission-group .permcheck input{
  flex:0 0 auto;
}
.variation-pending-note{
  display:flex;
  gap:8px;
  align-items:center;
  padding:7px 8px;
  margin-bottom:7px;
  border:1px solid #eed8ad;
  border-radius:7px;
  background:#fff8e9;
}
.variation-pending-note b{
  font-size:12px;
  color:#936313;
}
.variation-pending-note span{
  font-size:12px;
  color:var(--c-muted);
}
.variation-awaiting{
  border-left-color:#d39a32!important;
  background:#fffdf8!important;
}
.variation-approval{
  display:inline-block;
  margin-left:4px;
  padding:2px 5px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.variation-approval.approved{
  background:#edf9f2;
  color:#1e7a50;
}
.variation-approval.pending{
  background:#fff3df;
  color:#95631d;
}
@media(max-width:720px){
  .permission-groups{grid-template-columns:1fr}
  .permission-customizer>summary{min-height:46px}
}


/* =========================================================
   V1.49 — Main nav drawings/calendar + field camera
   ========================================================= */

/* Extra main-sidebar destinations remain compact and scroll safely. */
.sidebar .nav{
  overflow-y:auto!important;
  min-height:0!important;
}

/* Camera controls */
.camera-picker{
  display:flex;
  align-items:center;
  gap:8px;
  margin:6px 0 10px;
}
.camera-btn{
  background:#edf6fb!important;
  color:#15597d!important;
  border:1px solid #cfe5f1!important;
  box-shadow:none!important;
}
.camera-btn:hover{
  background:#e2f1f8!important;
}
.camera-status{
  font-size:12px;
  color:var(--c-green);
  font-weight:800;
}

/* Work photo gallery */
.work-photo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:7px;
}
.work-photo-card{
  border:1px solid var(--c-line);
  border-radius:8px;
  overflow:hidden;
  background:#fff;
}
.work-photo-card img{
  display:block;
  width:100%;
  height:112px;
  object-fit:cover;
  cursor:pointer;
  background:#e8edf1;
}
.work-photo-caption{
  position:relative;
  padding:7px;
}
.work-photo-caption b{
  display:block;
  padding-right:38px;
  font-size:12px;
  color:var(--c-ink);
}
.work-photo-caption span{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:var(--c-muted);
}
.photo-remove{
  position:absolute;
  right:5px;
  top:5px;
  border:0;
  background:transparent;
  color:#a44b4b;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
}
@media(max-width:1000px){
  .work-photo-grid{grid-template-columns:repeat(3,minmax(110px,1fr))}
}
@media(max-width:720px){
  .camera-picker{
    align-items:stretch;
    flex-direction:column;
  }
  .camera-picker .camera-btn{
    width:100%;
    min-height:48px!important;
    font-size:13px!important;
  }
  .camera-status{
    text-align:center;
    min-height:13px;
  }
  .work-photo-grid{
    grid-template-columns:1fr 1fr;
  }
  .work-photo-card img{
    height:145px;
  }
}


/* =========================================================
   V1.50 — Final polished authentication experience
   ========================================================= */

/* Legacy login styles remain available but are no longer used by the main auth UI. */
.auth-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(380px,46%) 1fr;
  background:#f4f7f9;
  color:var(--c-ink);
}
.auth-brand-panel{
  position:relative;
  min-height:100vh;
  padding:48px clamp(38px,5vw,76px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 78% 18%,rgba(77,160,204,.30),transparent 27%),
    radial-gradient(circle at 25% 75%,rgba(217,131,24,.13),transparent 26%),
    linear-gradient(145deg,#0b2235 0%,#103550 52%,#0b2940 100%);
}
.auth-brand-panel::before{
  content:"";
  position:absolute;
  width:440px;
  height:440px;
  right:-250px;
  top:12%;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:
    0 0 0 70px rgba(255,255,255,.018),
    0 0 0 140px rgba(255,255,255,.014),
    0 0 0 210px rgba(255,255,255,.01);
}
.auth-brand-panel::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:115px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
}
.auth-brand-content,
.auth-brand-footer{
  position:relative;
  z-index:1;
}
.auth-brand-logo{
  width:min(260px,75%);
  height:auto;
  filter:brightness(0) invert(1);
  opacity:.98;
}
.auth-brand-copy{
  max-width:520px;
  margin-top:clamp(54px,10vh,110px);
}
.auth-eyebrow{
  display:block;
  margin-bottom:8px;
  color:#7fc3e4;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
}
.auth-brand-copy h1{
  margin:0!important;
  max-width:480px;
  color:#fff;
  font-size:clamp(38px,4.2vw,62px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
}
.auth-brand-copy p{
  max-width:500px;
  margin:19px 0 0;
  color:#c8d8e3;
  font-size:15px;
  line-height:1.6;
}
.auth-feature-list{
  max-width:500px;
  margin-top:45px;
  display:grid;
  gap:15px;
}
.auth-feature-list>div{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:11px;
  align-items:start;
}
.auth-feature-list i{
  width:27px;
  height:27px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:rgba(91,174,216,.14);
  border:1px solid rgba(122,197,233,.2);
  color:#91d1ef;
  font-style:normal;
  font-size:12px;
  font-weight:900;
}
.auth-feature-list b{
  display:block;
  color:#f4f8fa;
  font-size:12px;
}
.auth-feature-list small{
  display:block;
  margin-top:2px;
  color:#9eb4c4;
  font-size:12px;
  line-height:1.45;
}
.auth-brand-footer{
  padding-top:28px;
  color:#7993a6;
  font-size:12px;
  letter-spacing:.04em;
}

.auth-login-panel{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:46px clamp(28px,6vw,90px);
  background:
    radial-gradient(circle at 85% 15%,rgba(63,128,168,.055),transparent 23%),
    #f5f7f8;
}
.auth-login-inner{
  width:min(430px,100%);
}
.auth-mobile-brand{
  display:none;
}
.auth-welcome{
  margin-bottom:28px;
}
.auth-welcome h2{
  margin:0!important;
  color:#102a3d;
  font-size:30px!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
}
.auth-welcome p{
  margin:8px 0 0;
  color:#71818d;
  font-size:12px;
  line-height:1.5;
}
.auth-form{
  display:grid;
  gap:3px;
}
.auth-form .field,
.auth-reset-card .field{
  margin-bottom:13px!important;
}
.auth-form label,
.auth-reset-card label{
  color:#314655;
  font-size:12px!important;
  font-weight:900;
  letter-spacing:.02em;
}
.auth-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:3px;
}
.auth-label-row label{
  margin:0!important;
}
.auth-text-link,
.auth-back-link{
  border:0;
  background:transparent;
  color:#347bad;
  padding:0;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
}
.auth-text-link:hover,
.auth-back-link:hover{
  color:#175b86;
  text-decoration:underline;
}
.auth-input-wrap{
  position:relative;
}
.auth-input-icon{
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  width:16px;
  text-align:center;
  color:#8294a1;
  font-size:12px;
  font-weight:900;
  pointer-events:none;
}
.auth-input{
  width:100%;
  min-height:48px!important;
  padding:10px 42px 10px 40px!important;
  border:1px solid #d9e1e6!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#173143!important;
  font-size:12px!important;
  box-shadow:0 1px 2px rgba(15,41,61,.025)!important;
}
.auth-input::placeholder{
  color:#a6b1b9;
}
.auth-input:focus{
  border-color:#6ba2c5!important;
  box-shadow:0 0 0 3px rgba(70,137,180,.11)!important;
}
.auth-password-toggle{
  position:absolute;
  right:7px;
  top:50%;
  transform:translateY(-50%);
  min-width:40px;
  height:31px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#587080;
  cursor:pointer;
  font-size:12px;
  font-weight:900;
}
.auth-password-toggle:hover{
  background:#eef3f6;
}
.auth-login-btn{
  width:100%;
  min-height:49px!important;
  margin-top:4px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid #143d59!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#153b56,#245d80)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(25,74,106,.16)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.01em;
}
.auth-login-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 11px 23px rgba(25,74,106,.20)!important;
}
.auth-login-btn span{
  font-size:15px;
  line-height:1;
}
.auth-security-note{
  margin-top:23px;
  padding:11px 12px;
  display:grid;
  grid-template-columns:22px 1fr;
  gap:8px;
  align-items:start;
  border:1px solid #e1e7eb;
  border-radius:9px;
  background:rgba(255,255,255,.62);
}
.auth-security-note>span{
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:#edf5f9;
  color:#377da6;
  font-size:12px;
}
.auth-security-note p{
  margin:0;
  color:#73838e;
  font-size:12px;
  line-height:1.5;
}
.auth-security-note p b{
  color:#425865;
  font-size:12px;
}
.auth-security-note.compact{
  margin-top:17px;
}
.auth-copyright{
  margin-top:24px;
  text-align:center;
  color:#9ca9b1;
  font-size:12px;
}

/* Password recovery */
.auth-reset-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    radial-gradient(circle at 20% 10%,rgba(65,137,181,.10),transparent 24%),
    linear-gradient(145deg,#eff3f5,#f8fafb);
}
.auth-reset-card{
  width:min(440px,100%);
  padding:28px;
  border:1px solid #dce4e9;
  border-radius:16px;
  background:#fff;
  box-shadow:0 22px 58px rgba(13,46,69,.10);
}
.auth-reset-logo{
  display:block;
  width:min(210px,62%);
  margin:0 auto 25px;
}
.auth-back-link{
  display:inline-block;
  margin-bottom:24px;
}
.auth-recovery-code{
  margin:-4px 0 17px;
  padding:12px;
  text-align:center;
  border:1px solid #d6e6ef;
  border-radius:10px;
  background:#f4f9fc;
}
.auth-recovery-code span{
  display:block;
  color:#718592;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.auth-recovery-code b{
  display:block;
  margin-top:4px;
  color:#173e59;
  font-size:22px;
  letter-spacing:.16em;
}

/* Tablet / mobile */
@media(max-width:900px){
  .auth-shell{
    grid-template-columns:minmax(315px,40%) 1fr;
  }
  .auth-brand-panel{
    padding:38px 30px;
  }
  .auth-brand-copy h1{
    font-size:40px!important;
  }
  .auth-feature-list{
    margin-top:35px;
  }
}
@media(max-width:720px){
  .auth-shell{
    display:block;
    min-height:100vh;
    background:
      radial-gradient(circle at 80% 4%,rgba(67,137,180,.10),transparent 26%),
      #f5f7f8;
  }
  .auth-brand-panel{
    display:none;
  }
  .auth-login-panel{
    min-height:100vh;
    padding:27px 19px;
    background:transparent;
  }
  .auth-login-inner{
    width:min(440px,100%);
  }
  .auth-mobile-brand{
    display:block;
    margin:0 0 52px;
    text-align:center;
  }
  .auth-mobile-brand img{
    width:min(220px,65vw);
    height:auto;
  }
  .auth-welcome{
    margin-bottom:25px;
  }
  .auth-welcome h2{
    font-size:28px!important;
  }
  .auth-welcome p{
    font-size:12px;
  }
  .auth-form label,
  .auth-reset-card label{
    font-size:12px!important;
  }
  .auth-input{
    min-height:52px!important;
    font-size:14px!important;
    border-radius:11px!important;
  }
  .auth-login-btn{
    min-height:52px!important;
    font-size:13px!important;
    border-radius:11px!important;
  }
  .auth-text-link{
    min-height:30px;
    display:inline-flex;
    align-items:center;
    font-size:12px;
  }
  .auth-security-note{
    margin-top:20px;
  }
  .auth-reset-page{
    align-items:start;
    padding:18px 12px;
  }
  .auth-reset-card{
    margin-top:12px;
    padding:21px 17px;
    border-radius:13px;
    box-shadow:0 12px 34px rgba(13,46,69,.08);
  }
  .auth-reset-logo{
    width:min(200px,60vw);
  }
}


/* =========================================================
   V1.51 — Permission-aware New User Guide
   ========================================================= */
.guide-topbar{
  align-items:flex-start!important;
}
.guide-welcome{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);
  gap:22px;
  align-items:stretch;
  margin-bottom:11px;
  padding:24px 26px;
  border:1px solid #dbe5eb;
  border-radius:16px;
  background:
    radial-gradient(circle at 92% 16%,rgba(65,143,185,.13),transparent 25%),
    linear-gradient(118deg,#fff 0,#f8fbfd 72%,#eef6fa 100%);
  box-shadow:0 8px 24px rgba(12,37,58,.065);
  overflow:hidden;
}
.guide-welcome.first-run{
  border-color:#cfe1eb;
}
.guide-kicker{
  display:block;
  margin-bottom:6px;
  color:#347ba5;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.guide-welcome h2{
  margin:0!important;
  max-width:650px;
  color:var(--c-navy);
  font-size:28px!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
}
.guide-welcome-main>p{
  max-width:690px;
  margin:10px 0 0;
  color:var(--c-muted);
  font-size:12px;
  line-height:1.55;
}
.guide-role-facts{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:15px;
}
.guide-role-facts span{
  padding:6px 8px;
  border:1px solid #dfe9ee;
  border-radius:7px;
  background:rgba(255,255,255,.75);
  color:var(--c-muted);
  font-size:12px;
}
.guide-role-facts b{
  color:var(--c-navy);
}
.guide-welcome-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:17px;
}
.guide-return-note{
  margin-top:10px;
  color:#81909a;
  font-size:12px;
}
.guide-welcome-art{
  display:grid;
  place-items:center;
  min-height:180px;
}
.guide-art-ring{
  position:relative;
  width:174px;
  height:174px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(145deg,#143a55,#1f5d80);
  color:#fff;
  text-align:center;
  box-shadow:
    0 0 0 13px rgba(54,128,170,.08),
    0 0 0 26px rgba(54,128,170,.045),
    0 15px 35px rgba(18,65,94,.18);
}
.guide-art-ring b{
  font-size:20px;
  letter-spacing:-.03em;
}
.guide-art-ring span{
  margin-top:6px;
  color:#c9e0ec;
  font-size:12px;
  line-height:1.45;
}
.guide-layout{
  display:grid;
  grid-template-columns:minmax(250px,.75fr) minmax(360px,1.25fr);
  gap:9px;
}
.guide-section-panel{
  padding:12px!important;
}
.guide-access{
  display:grid;
  gap:5px;
}
.guide-access-group{
  padding:7px 8px;
  border:1px solid var(--c-line);
  border-radius:7px;
  background:#f9fbfc;
}
.guide-access-group b{
  display:block;
  margin-bottom:2px;
  color:var(--c-navy);
  font-size:12px;
}
.guide-access-group span{
  color:var(--c-muted);
  font-size:12px;
  line-height:1.45;
}
.guide-step-list{
  display:grid;
  border:1px solid var(--c-line);
  border-radius:8px;
  overflow:hidden;
}
.guide-step-row{
  appearance:none;
  width:100%;
  min-height:50px;
  display:grid;
  grid-template-columns:30px 1fr 14px;
  gap:8px;
  align-items:center;
  padding:7px 9px;
  border:0;
  border-bottom:1px solid var(--c-line);
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.guide-step-row:last-child{border-bottom:0}
.guide-step-row:hover{background:#f7fafc}
.guide-step-row>i{
  width:29px;
  height:29px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#edf5f9;
  color:#2e769e;
  font-style:normal;
  font-size:12px;
  font-weight:900;
}
.guide-step-row span{
  min-width:0;
}
.guide-step-row b{
  display:block;
  color:var(--c-ink);
  font-size:12px;
}
.guide-step-row small{
  display:block;
  margin-top:2px;
  color:var(--c-muted);
  font-size:12px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.guide-step-row strong{
  color:#6d8494;
  font-size:13px;
}
.guide-field-tip{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.guide-field-tip>div{
  padding:9px 10px;
  border-radius:8px;
  background:#f8fafb;
}
.guide-field-tip span{
  display:inline-block;
  margin-bottom:4px;
  font-size:14px;
}
.guide-field-tip h3{
  margin:0!important;
  font-size:12px!important;
}
.guide-field-tip p{
  margin:4px 0 0;
  color:var(--c-muted);
  font-size:12px;
  line-height:1.45;
}

/* Live guided walkthrough coach card */
.guide-coach{
  position:fixed;
  z-index:9998;
  right:18px;
  bottom:18px;
  width:min(410px,calc(100vw - 36px));
  padding:13px;
  border:1px solid #cfdde6;
  border-radius:13px;
  background:#fff;
  box-shadow:0 20px 60px rgba(7,34,54,.23);
}
.guide-coach::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:13px 0 0 13px;
  background:linear-gradient(#3c86b0,#68b1d3);
}
.guide-coach-progress{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-left:4px;
  color:#7a8d99;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
}
.guide-coach-title{
  display:grid;
  grid-template-columns:35px 1fr;
  gap:9px;
  align-items:start;
  margin-top:9px;
}
.guide-coach-title i{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#edf5f9;
  color:#28759e;
  font-style:normal;
  font-size:13px;
}
.guide-coach-title h3{
  margin:0!important;
  font-size:13px!important;
}
.guide-coach-title p{
  margin:3px 0 0;
  color:var(--c-muted);
  font-size:12px;
  line-height:1.45;
}
.guide-coach ul{
  margin:9px 0 10px 19px;
  padding:0;
}
.guide-coach li{
  margin:4px 0;
  color:#536875;
  font-size:12px;
  line-height:1.45;
}
.guide-coach-actions{
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  gap:5px;
  align-items:center;
  padding-top:8px;
  border-top:1px solid var(--c-line);
}

@media(max-width:1000px){
  .guide-welcome{grid-template-columns:1fr 190px}
  .guide-art-ring{width:150px;height:150px}
}
@media(max-width:800px){
  .guide-welcome{grid-template-columns:1fr}
  .guide-welcome-art{display:none}
  .guide-layout{grid-template-columns:1fr}
  .guide-field-tip{grid-column:auto}
}
@media(max-width:720px){
  .guide-welcome{
    margin:0 0 8px;
    padding:16px 14px;
    border-radius:12px;
  }
  .guide-welcome h2{font-size:23px!important}
  .guide-welcome-main>p{font-size:12px}
  .guide-welcome-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .guide-welcome-actions .btn{width:100%}
  .guide-field-tip{grid-template-columns:1fr}
  .guide-step-row{min-height:58px}
  .guide-step-row b{font-size:12px}
  .guide-step-row small{
    font-size:12px;
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
  .guide-coach{
    right:8px;
    bottom:68px;
    width:calc(100vw - 16px);
    max-height:58vh;
    overflow:auto;
    border-radius:12px;
  }
  .guide-coach-title p{font-size:12px}
  .guide-coach li{font-size:12px}
  .guide-coach-actions{
    grid-template-columns:1fr 1fr;
  }
  .guide-coach-actions>span{display:none}
  .guide-coach-actions .btn{
    min-height:42px!important;
  }
}


/* =========================================================
   V1.52 — Ownership and legal notice
   ========================================================= */
.auth-copyright{
  display:grid!important;
  gap:3px;
  text-align:center;
  color:#9ca9b1;
  font-size:12px;
  line-height:1.4;
}
.auth-copyright b{
  color:#72838e;
  font-size:12px;
  font-weight:900;
}
.auth-copyright span{
  max-width:360px;
  margin:0 auto;
}

.about-legal-wrap{
  display:grid;
  gap:9px;
  max-width:980px;
}
.about-hero{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:13px;
  align-items:center;
  padding:16px!important;
  background:
    radial-gradient(circle at 88% 15%,rgba(67,137,180,.10),transparent 26%),
    linear-gradient(115deg,#fff,#f6fafc);
}
.about-mark{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:linear-gradient(145deg,#143a55,#246486);
  color:#fff;
  font-size:22px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(20,58,85,.16);
}
.about-kicker{
  display:block;
  margin-bottom:3px;
  color:#347ba5;
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
}
.about-hero h2{
  margin:0!important;
  font-size:19px!important;
}
.about-hero p{
  margin:5px 0 0;
  color:var(--c-muted);
  font-size:12px;
}
.about-legal-card{
  padding:13px!important;
}
.about-legal-card p{
  margin:7px 0;
  color:#526875;
  font-size:12px;
  line-height:1.55;
}
.about-legal-card p b{
  color:var(--c-ink);
}
.about-legal-note{
  padding:8px 9px;
  border:1px solid #dce7ed;
  border-radius:7px;
  background:#f7fafc;
}
.about-owner{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:5px 10px;
  align-items:center;
}
.about-owner span{
  color:var(--c-muted);
  font-size:12px;
}
.about-owner b{
  color:var(--c-ink);
  font-size:12px;
}
@media(max-width:720px){
  .about-hero{
    grid-template-columns:48px 1fr;
    padding:13px!important;
  }
  .about-mark{
    width:46px;
    height:46px;
    border-radius:11px;
    font-size:18px;
  }
  .about-owner{
    grid-template-columns:95px 1fr;
  }
  .about-legal-card p{
    font-size:12px;
  }
}


/* =========================================================
   V1.53 — Reduced friction & first-use clarity
   ========================================================= */

/* Global search */
.sidebar-global-search{
  width:calc(100% - 16px);
  min-height:35px;
  margin:4px 8px 2px;
  padding:6px 8px;
  display:grid;
  grid-template-columns:18px 1fr auto;
  gap:6px;
  align-items:center;
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  background:rgba(255,255,255,.055);
  color:#dce9f1;
  cursor:pointer;
  text-align:left;
}
.sidebar-global-search:hover{background:rgba(255,255,255,.095)}
.sidebar-global-search span{font-size:14px;color:#89c8e6}
.sidebar-global-search b{font-size:12px;font-weight:800}
.sidebar-global-search kbd{
  padding:2px 4px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:4px;
  color:#8fa8b8;
  font-size:12px;
  font-family:inherit;
}
.mobile-global-search{display:none}
.global-search-modal{
  align-items:flex-start!important;
  padding-top:min(12vh,100px)!important;
  backdrop-filter:blur(5px);
}
.global-search-box{
  width:min(650px,calc(100vw - 28px));
  max-height:min(680px,78vh);
  margin:auto;
  overflow:hidden;
  border:1px solid #cfdae2;
  border-radius:14px;
  background:#fff;
  box-shadow:0 24px 80px rgba(8,35,55,.27);
}
.global-search-head{
  display:grid;
  grid-template-columns:28px 1fr 34px;
  align-items:center;
  gap:6px;
  padding:9px 10px;
  border-bottom:1px solid var(--c-line);
}
.global-search-head>span{font-size:18px;color:#4684a8;text-align:center}
.global-search-head input{
  width:100%;
  min-height:40px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--c-ink);
  font-size:16px;
  font-weight:650;
}
.global-search-head input::placeholder{color:#9aa8b2}
.global-search-head button{
  width:32px;height:32px;border:0;border-radius:7px;background:#eef3f6;color:#687d8b;cursor:pointer;font-size:18px
}
.global-search-results{max-height:520px;overflow:auto;padding:7px}
.global-result-group{
  padding:7px 7px 4px;
  color:#8999a4;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.global-result-row{
  width:100%;
  min-height:48px;
  display:grid;
  grid-template-columns:31px 1fr 15px;
  gap:8px;
  align-items:center;
  padding:7px 8px;
  border:0;
  border-radius:8px;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.global-result-row:hover{background:#f3f7f9}
.global-result-row i{
  width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#edf5f9;color:#30789f;font-style:normal
}
.global-result-row b{display:block;font-size:12px;color:var(--c-ink)}
.global-result-row small{display:block;margin-top:2px;font-size:12px;color:var(--c-muted)}
.global-result-row strong{color:#77909f}
.global-search-start{padding:20px 15px;color:var(--c-muted)}
.global-search-start>b{display:block;color:var(--c-ink);font-size:12px}
.global-search-start>p{max-width:470px;margin:5px 0 13px;font-size:12px;line-height:1.5}
.global-search-recent{display:grid;gap:4px}
.global-search-recent>span{font-size:12px;font-weight:900;letter-spacing:.1em}
.global-search-recent button{
  display:flex;justify-content:space-between;gap:10px;padding:7px;border:1px solid var(--c-line);border-radius:7px;background:#fff;text-align:left;cursor:pointer
}
.global-search-recent button:hover{background:#f8fafb}
.global-search-recent b{font-size:12px}
.global-search-recent small{font-size:12px;color:var(--c-muted)}
.global-search-foot{
  min-height:31px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:5px 10px;border-top:1px solid var(--c-line);background:#fafcfd;color:#8899a4;font-size:12px
}
.global-search-foot kbd{padding:2px 5px;border:1px solid #d9e1e6;border-radius:4px;background:#fff;font-family:inherit}

/* Strong site context */
.site-context-title{
  margin-top:5px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  padding:5px 8px!important;
  border:1px solid #cfe2ed!important;
  border-radius:7px!important;
  background:#edf6fb!important;
  color:#527082!important;
  font-size:12px!important;
}
.site-context-title b{color:#175b80}
.site-view-pill b{color:#175b80}

/* Role-aware dashboard */
.dashboard-role-note{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  padding:7px 9px;
  border:1px solid #dce7ed;
  border-radius:8px;
  background:#f9fbfc;
}
.dashboard-role-note span{
  flex:0 0 auto;
  padding:3px 6px;
  border-radius:5px;
  background:#e9f3f8;
  color:#2d7399;
  font-size:12px;
  font-weight:900;
}
.dashboard-role-note p{
  margin:0;
  color:var(--c-muted);
  font-size:12px;
}
.dashboard-recent{
  padding:10px 11px!important;
  margin-bottom:9px;
}
.recent-work-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
}
.recent-work-card{
  min-width:0;
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
  padding:8px;
  border:1px solid var(--c-line);
  border-radius:8px;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.recent-work-card:hover{background:#f8fafb;border-color:#c8d7e0}
.recent-work-card b{display:block;font-size:12px;color:var(--c-navy)}
.recent-work-card small{display:block;margin-top:1px;font-size:12px;color:var(--c-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recent-work-card .status-text{justify-self:start}
.recent-work-card strong{display:none}

/* Teaching empty states */
.smart-empty{
  grid-column:1/-1;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px;
  border:1px dashed #ced9e0;
  border-radius:9px;
  background:#fafcfd;
  text-align:left;
}
.smart-empty-icon{
  flex:0 0 auto;
  width:34px;height:34px;display:grid;place-items:center;
  border-radius:9px;background:#edf4f7;color:#5d8195;font-size:14px;font-weight:900
}
.smart-empty b{display:block;font-size:12px;color:var(--c-ink)}
.smart-empty p{margin:3px 0 7px;color:var(--c-muted);font-size:12px;line-height:1.45}

/* Undo */
.undo-snackbar{
  position:fixed;
  z-index:10020;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  min-width:250px;
  max-width:calc(100vw - 28px);
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:8px 9px 8px 13px;
  border:1px solid #cdd9e0;
  border-radius:10px;
  background:#17384f;
  color:#fff;
  box-shadow:0 14px 40px rgba(7,30,45,.25);
  font-size:12px;
  font-weight:800;
}
.undo-snackbar button{
  min-height:29px;
  padding:4px 9px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:7px;
  background:rgba(255,255,255,.10);
  color:#fff;
  cursor:pointer;
  font-size:12px;
  font-weight:900;
}
.undo-snackbar button:hover{background:rgba(255,255,255,.18)}

@media(max-width:1180px){
  .recent-work-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .mobile-global-search{
    display:grid;
    place-items:center;
    position:fixed;
    z-index:120;
    right:12px;
    bottom:67px;
    width:44px;height:44px;
    border:1px solid #c9dbe5;
    border-radius:50%;
    background:#fff;
    color:#286d94;
    box-shadow:0 7px 18px rgba(12,37,58,.15);
    font-size:19px;
  }
  .global-search-modal{padding:8px!important;align-items:flex-start!important}
  .global-search-box{
    width:100%;
    max-height:calc(100vh - 90px);
    margin-top:8px;
    border-radius:12px;
  }
  .global-search-results{max-height:calc(100vh - 190px)}
  .global-result-row{min-height:56px}
  .global-result-row b{font-size:12px}
  .global-result-row small{font-size:12px}
  .recent-work-strip{grid-template-columns:1fr 1fr}
  .recent-work-card{min-height:72px}
  .dashboard-role-note{align-items:flex-start}
  .smart-empty{min-height:100px}
  .undo-snackbar{bottom:72px}
}
@media(max-width:430px){
  .recent-work-strip{grid-template-columns:1fr}
}


/* =========================================================
   V1.54 — Quick Update, Photo Annotation, Daily Brief
   ========================================================= */
.workcard-quick-update{
  width:100%;min-height:28px;margin-top:7px;border:1px solid #d9e5eb;border-radius:6px;
  background:#f7fafc;color:#2e6f93;cursor:pointer;font-size:12px;font-weight:900
}
.workcard-quick-update:hover{background:#edf6fb;border-color:#bdd7e5}
.quick-update-modal{max-width:470px!important}
.quick-update-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.quick-update-title h2{margin:1px 0!important;font-size:22px!important}
.quick-update-title p{margin:2px 0 0;color:var(--c-muted);font-size:12px}
.quick-kicker,.brief-kicker{display:block;color:#3d82a8;font-size:12px;font-weight:900;letter-spacing:.13em}
.quick-update-actions{display:grid;gap:6px;margin:9px 0 12px}
.quick-update-action{
  width:100%;min-height:58px;display:grid;grid-template-columns:38px 1fr 16px;gap:9px;align-items:center;
  padding:8px 9px;border:1px solid var(--c-line);border-radius:9px;background:#fff;text-align:left;cursor:pointer
}
.quick-update-action:hover{background:#f8fbfc;border-color:#c8d9e3}
.quick-update-action i{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;font-style:normal;font-size:15px}
.progress-action i{background:#fff4e3;color:#b56a0b}.photo-action i{background:#edf6fb;color:#2b789e}.issue-action i{background:#fff0f0;color:#b94747}
.quick-update-action b{display:block;color:var(--c-ink);font-size:12px}
.quick-update-action small{display:block;margin-top:2px;color:var(--c-muted);font-size:12px}
.quick-update-action strong{color:#728a99;font-size:15px}
.quick-open-full{margin-right:4px}.quick-progress-modal{max-width:430px!important}.quick-progress-buttons{display:flex;gap:6px;margin-top:11px}

.annotation-open-btn{width:100%;margin:0 0 10px;min-height:38px!important;border-style:dashed!important}
.photo-annotator-overlay{
  position:fixed;z-index:10050;inset:0;display:grid;place-items:center;padding:14px;
  background:rgba(5,22,34,.86);backdrop-filter:blur(4px)
}
.photo-annotator-shell{
  width:min(1020px,100%);max-height:calc(100vh - 28px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;
  overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#152c3b;box-shadow:0 28px 90px rgba(0,0,0,.38)
}
.photo-annotator-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;color:#fff;border-bottom:1px solid rgba(255,255,255,.09)}
.photo-annotator-head b{display:block;font-size:13px}.photo-annotator-head span{display:block;margin-top:2px;color:#aabecb;font-size:12px}
.photo-annotator-head button{width:32px;height:32px;border:0;border-radius:8px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-size:18px}
.photo-annotator-tools{display:grid;grid-template-columns:auto auto auto 1fr auto auto;gap:5px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.09)}
.photo-annotator-tools button{
  min-height:32px;padding:5px 9px;border:1px solid rgba(255,255,255,.10);border-radius:7px;background:rgba(255,255,255,.06);
  color:#d7e5ed;cursor:pointer;font-size:12px;font-weight:850
}
.photo-annotator-tools button:hover,.photo-annotator-tools .active{border-color:#72b6d9;background:#245a77;color:#fff}
.photo-annotator-stage{min-height:0;display:grid;place-items:center;overflow:auto;padding:10px;background:#0b1b25}
#photo-annotator-canvas{display:block;max-width:100%;max-height:calc(100vh - 190px);width:auto;height:auto;cursor:crosshair;touch-action:none;box-shadow:0 4px 20px rgba(0,0,0,.3)}
.photo-annotator-foot{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:8px 10px;border-top:1px solid rgba(255,255,255,.09)}
.photo-annotator-foot>span{margin-right:auto;color:#93aab8;font-size:12px}

.director-brief{
  margin-bottom:9px;padding:11px 12px!important;border-color:#ccdfe9!important;
  background:radial-gradient(circle at 92% 10%,rgba(70,143,183,.10),transparent 24%),linear-gradient(112deg,#fff,#f8fbfd)!important
}
.director-brief-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}
.director-brief-head h3{margin:2px 0 0!important;font-size:13px!important}.director-brief-head p{margin:3px 0 0;color:var(--c-muted);font-size:12px}
.director-brief-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.director-brief-metrics button{min-width:0;min-height:54px;padding:7px;border:1px solid #dce7ed;border-radius:8px;background:rgba(255,255,255,.78);text-align:left;cursor:pointer}
.director-brief-metrics button:hover{background:#fff;border-color:#bdd4e0}
.director-brief-metrics b{display:block;color:var(--c-navy);font-size:17px;line-height:1}
.director-brief-metrics span{display:block;margin-top:5px;color:var(--c-muted);font-size:12px;line-height:1.3}
.daily-brief-modal{align-items:flex-start!important;padding-top:4vh!important}
.daily-brief-box{width:min(860px,calc(100vw - 30px))!important;max-width:860px!important;max-height:90vh;overflow:auto}
.daily-brief-summary{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 12px}
.daily-brief-summary span{padding:5px 7px;border:1px solid #dce7ed;border-radius:6px;background:#f7fafc;color:var(--c-muted);font-size:12px}
.daily-brief-summary b{color:var(--c-navy)}.daily-brief-section{margin-top:11px}
.daily-brief-list{display:grid;border:1px solid var(--c-line);border-radius:8px;overflow:hidden}
.daily-brief-list button{
  min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;
  border:0;border-bottom:1px solid var(--c-line);background:#fff;text-align:left;cursor:pointer
}
.daily-brief-list button:last-child{border-bottom:0}.daily-brief-list button:hover{background:#f8fafb}
.daily-brief-list b{display:block;font-size:12px;color:var(--c-ink)}.daily-brief-list small{display:block;margin-top:2px;font-size:12px;color:var(--c-muted)}
.daily-brief-list strong{font-size:12px;color:#55788d;white-space:nowrap}

@media(max-width:1000px){.director-brief-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){
  .workcard-quick-update{min-height:42px;font-size:12px}
  .quick-update-action{min-height:66px}.quick-update-action b{font-size:12px}.quick-update-action small{font-size:12px}
  .photo-annotator-overlay{padding:0}
  .photo-annotator-shell{width:100%;height:100%;max-height:none;border:0;border-radius:0}
  .photo-annotator-tools{grid-template-columns:repeat(3,1fr);padding:7px}
  .photo-annotator-tools>span{display:none}
  .photo-annotator-tools button{min-height:42px;font-size:12px}
  #photo-annotator-canvas{max-height:calc(100vh - 220px)}
  .photo-annotator-foot{display:grid;grid-template-columns:1fr 1fr;padding:8px}
  .photo-annotator-foot>span{grid-column:1/-1}
  .photo-annotator-foot .btn{min-height:44px!important}
  .director-brief-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .director-brief-metrics button{min-height:64px}.director-brief-metrics b{font-size:20px}.director-brief-metrics span{font-size:12px}
  .daily-brief-modal{padding:7px!important}.daily-brief-box{width:100%!important;max-height:calc(100vh - 14px)}
}


/* V1.55 shared single-site trial */
.sync-indicator{border:0!important;background:transparent!important;padding:0!important;cursor:pointer!important;text-align:left!important}.sync-synced{color:#80c99a!important}.sync-saving,.sync-connecting{color:#f2c36b!important}.sync-offline,.sync-error{color:#ff9f8f!important}.sync-local{color:#aebfca!important}
.sync-detail-status{padding:9px 10px;border:1px solid var(--c-line);border-radius:8px;background:#f8fafb;margin:8px 0}.sync-detail-status .sync-indicator{font-size:12px!important;color:var(--c-navy)!important}.sync-warning{padding:9px;border:1px solid #f1c8c8;border-radius:7px;background:#fff4f4;color:#9f3434;font-size:12px}
.boot-screen{min-height:100vh;display:grid;place-items:center;align-content:center;gap:10px;background:#f4f7f9;color:#405967}.boot-screen img{width:min(230px,60vw)}.boot-screen b{font-size:12px}.boot-screen span{font-size:12px;color:#80919b}.boot-spinner{width:24px;height:24px;border:3px solid #dbe5eb;border-top-color:#397da3;border-radius:50%;animation:ssspin .9s linear infinite}@keyframes ssspin{to{transform:rotate(360deg)}}
.first-setup-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 15% 10%,rgba(62,137,180,.12),transparent 24%),linear-gradient(145deg,#eef3f6,#f9fbfc)}.first-setup-card{width:min(680px,100%);padding:28px;border:1px solid #d7e2e8;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(11,42,62,.11)}.first-setup-card>img{width:min(230px,55%);margin-bottom:28px}.setup-kicker{display:block;color:#397da4;font-size:12px;font-weight:900;letter-spacing:.13em}.first-setup-card h1{margin:5px 0!important;font-size:28px!important}.first-setup-card>p{margin:0 0 20px;color:var(--c-muted);font-size:12px;line-height:1.55}.setup-button{width:100%;min-height:48px!important;margin-top:5px}.setup-network-note{display:grid;gap:2px;margin-top:15px;padding:9px;border:1px solid #dfe8ed;border-radius:8px;background:#f8fafb}.setup-network-note b{font-size:12px}.setup-network-note span{font-size:12px;color:var(--c-muted);line-height:1.45}
.issue-control-panel{padding:9px 10px!important;margin-bottom:9px}.issue-controls{display:flex;align-items:center;gap:8px;justify-content:space-between}.issue-controls .searchbox{flex:1;max-width:430px}.issue-focus{display:flex;flex-wrap:wrap;gap:4px}.issue-focus button{min-height:30px;padding:5px 8px;border:1px solid #d8e2e7;border-radius:7px;background:#fff;color:#5a6f7d;cursor:pointer;font-size:12px;font-weight:850}.issue-focus button.active{border-color:#7aa8c1;background:#edf6fb;color:#1e668d}.issue-row-tags,.issue-detail-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.issue-owner{display:inline-flex;align-items:center;padding:2px 6px;border-radius:5px;background:#f0f3f5;color:#657984;font-size:12px;font-weight:800}.issue-row-overdue{box-shadow:inset 3px 0 0 #d34c4c}.issue-record-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.issue-record-grid>div{padding:7px 8px;border:1px solid var(--c-line);border-radius:7px;background:#fafcfd}.issue-record-grid span{display:block;color:var(--c-muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.issue-record-grid b{display:block;margin-top:2px;font-size:12px;color:var(--c-ink)}
.director-brief-metrics{grid-template-columns:repeat(7,minmax(0,1fr))!important}.brief-alert{border-color:#e4b9b9!important;background:#fff5f5!important}.brief-alert b{color:#b63f3f!important}.brief-summary-alert{border-color:#e8bcbc!important;background:#fff4f4!important;color:#a53d3d!important}
@media(max-width:1000px){.director-brief-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media(max-width:720px){.first-setup-card{padding:19px 15px}.first-setup-card .two{grid-template-columns:1fr}.issue-controls{display:grid}.issue-controls .searchbox{max-width:none}.issue-focus{display:grid;grid-template-columns:1fr 1fr}.issue-focus button{min-height:40px}.issue-record-grid{grid-template-columns:1fr}.director-brief-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}


/* =========================================================
   V1.56 — Larger guide, payee accounting, visual calendar
   ========================================================= */

/* New User Guide — deliberately easier to read */
.guide-welcome-main>p{font-size:13px!important;line-height:1.62!important}
.guide-role-facts span{font-size:12px!important;padding:7px 9px!important}
.guide-return-note{font-size:12px!important}
.guide-access-group{padding:9px 10px!important}
.guide-access-group b{font-size:12px!important}
.guide-access-group span{font-size:12px!important;line-height:1.55!important}
.guide-step-row{min-height:62px!important;padding:9px 10px!important}
.guide-step-row b{font-size:12px!important}
.guide-step-row small{font-size:12px!important;line-height:1.45!important}
.guide-field-tip h3{font-size:12px!important}
.guide-field-tip p{font-size:12px!important;line-height:1.55!important}
.guide-coach{width:min(450px,calc(100vw - 36px))!important;padding:15px!important}
.guide-coach-progress{font-size:12px!important}
.guide-coach-progress>div{display:flex;align-items:center;gap:7px}
.guide-coach-close{width:26px;height:26px;border:0;border-radius:7px;background:#eef3f6;color:#536b79;cursor:pointer;font-size:16px;line-height:1}
.guide-coach-title{grid-template-columns:40px 1fr!important;gap:10px!important}
.guide-coach-title i{width:39px!important;height:39px!important;font-size:15px!important}
.guide-coach-title h3{font-size:15px!important}
.guide-coach-title p{font-size:12px!important;line-height:1.55!important}
.guide-coach li{font-size:12px!important;line-height:1.55!important;margin:6px 0!important}
.guide-coach-actions{grid-template-columns:auto auto 1fr auto!important}
@media(max-width:720px){
  .guide-welcome-main>p{font-size:13px!important}
  .guide-step-row b{font-size:12px!important}
  .guide-step-row small{font-size:12px!important}
  .guide-coach{bottom:68px!important}
  .guide-coach-title p{font-size:12px!important}
  .guide-coach li{font-size:12px!important}
  .guide-coach-actions{grid-template-columns:1fr 1fr!important}
}

/* Payment payee accounting */
.payment-filter-panel{padding:11px 12px!important;margin-bottom:9px}
.payment-filter-grid{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(240px,1.2fr) auto;gap:8px;align-items:end}
.payment-filter-reset{padding-bottom:1px}
.payee-overview{margin-top:9px;padding:10px;border:1px solid #d9e5eb;border-radius:9px;background:#f8fbfc}
.payee-overview-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.payee-overview-head span{color:#67818f;font-size:12px;font-weight:900;letter-spacing:.1em}
.payee-overview-head b{color:var(--c-navy);font-size:12px}
.payee-overview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.payee-overview-grid>div{padding:7px 8px;border:1px solid #e0e8ed;border-radius:7px;background:#fff}
.payee-overview-grid span{display:block;color:var(--c-muted);font-size:12px}
.payee-overview-grid b{display:block;margin-top:3px;color:var(--c-ink);font-size:12px}
@media(max-width:900px){
  .payment-filter-grid{grid-template-columns:1fr 1fr}
  .payment-filter-reset{grid-column:1/-1}
  .payee-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .payment-filter-grid{grid-template-columns:1fr}
  .payment-filter-reset{grid-column:auto}
  .payment-filter-reset .btn{width:100%;min-height:42px!important}
  .payee-overview-grid{grid-template-columns:1fr 1fr}
}

/* Full visual calendar */
.full-calendar-panel{padding:12px!important;margin-bottom:9px}
.full-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}
.calendar-kicker{display:block;color:#397da3;font-size:12px;font-weight:900;letter-spacing:.12em}
.full-calendar-head h2{margin:2px 0!important;font-size:18px!important}
.calendar-month-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.calendar-legend{display:flex;flex-wrap:wrap;gap:9px;margin:6px 0 9px;color:#637783;font-size:12px}
.calendar-legend span{display:flex;align-items:center;gap:4px}
.calendar-legend i{width:8px;height:8px;border-radius:50%}
.legend-issue{background:#c64c4c}.legend-note{background:#4284aa}.legend-complete{background:#4b9661}.legend-diary{background:#be832d}
.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #dce5ea;border-bottom:0;border-radius:8px 8px 0 0;overflow:hidden}
.month-weekdays b{padding:6px;text-align:center;background:#f5f8fa;color:#6e808b;font-size:12px;border-right:1px solid #e0e7eb}
.month-weekdays b:last-child{border-right:0}
.month-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #dce5ea;border-top:1px solid #dce5ea}
.month-day{position:relative;min-height:104px;padding:6px;border:0;border-right:1px solid #dce5ea;border-bottom:1px solid #dce5ea;background:#fff;text-align:left;cursor:pointer;overflow:hidden}
.month-day:hover{background:#f8fbfc}.month-day.outside{background:#f7f9fa;color:#9aa7ae}.month-day.today{box-shadow:inset 0 0 0 2px #4b8eb3}.month-day.has-events{background:#fcfefe}
.month-day-number{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;font-size:12px;font-weight:900;color:#324d5d}
.month-day.today .month-day-number{background:#2f789f;color:#fff}
.month-day.outside .month-day-number{color:#a2adb3}
.month-day-events{display:grid;gap:3px;margin-top:4px}
.month-chip{display:block;padding:3px 4px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:850}
.chip-issue{background:#fff0f0;color:#a64040}.chip-note{background:#edf6fb;color:#266f97}.chip-complete{background:#eef8f1;color:#36794a}.chip-diary{background:#fff6e9;color:#9c681c}
.month-event-count{position:absolute;right:5px;top:6px;min-width:17px;height:17px;display:grid;place-items:center;border-radius:9px;background:#eef3f6;color:#617786;font-size:12px;font-weight:900}
.calendar-history-panel{padding:12px!important;margin-bottom:9px}
.calendar-day-modal{max-width:660px!important}
.calendar-day-list{display:grid;gap:5px;margin-top:10px}
.calendar-day-event{width:100%;min-height:54px;display:grid;grid-template-columns:34px 1fr 14px;gap:8px;align-items:center;padding:7px 8px;border:1px solid var(--c-line);border-radius:8px;background:#fff;text-align:left;cursor:pointer}
.calendar-day-event:hover{background:#f8fafb}
.calendar-day-event i{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;font-style:normal;font-size:12px}
.calendar-day-event b{display:block;color:var(--c-ink);font-size:12px}.calendar-day-event small{display:block;margin-top:2px;color:var(--c-muted);font-size:12px}
.event-issue i{background:#fff0f0;color:#ad4040}.event-note i{background:#edf6fb;color:#2e789f}.event-complete i{background:#eef8f1;color:#397b4c}.event-diary i{background:#fff5e7;color:#9f6a1d}
@media(max-width:900px){
  .month-day{min-height:92px}
  .month-chip{font-size:12px}
}
@media(max-width:720px){
  .full-calendar-head{display:grid}
  .calendar-month-actions{display:grid;grid-template-columns:1fr 1fr 1fr}
  .calendar-month-actions .btn{min-height:42px!important;padding:6px!important}
  .calendar-legend{font-size:12px}
  .month-weekdays b{font-size:12px;padding:5px 2px}
  .month-day{min-height:70px;padding:4px 3px}
  .month-day-number{width:21px;height:21px;font-size:12px}
  .month-day-events{gap:2px;margin-top:2px}
  .month-chip{padding:2px 3px;font-size:12px}
  .month-event-count{display:none}
}
@media(max-width:430px){
  .month-day{min-height:62px}
  .month-chip{font-size:0;height:5px;padding:0;border-radius:3px}
  .month-day-events{display:flex;gap:2px}
  .month-chip{width:12px}
}


/* =========================================================
   V1.57 — Faster visual scanning across SiteSight
   ========================================================= */

/* Calendar note dates are immediately visible */
.month-day.has-calendar-note{
  background:linear-gradient(180deg,#edf7fc 0%,#f8fcfe 100%)!important;
  box-shadow:inset 0 3px 0 #2f84b0;
}
.month-day.has-calendar-note:hover{
  background:#e5f3fa!important;
  box-shadow:inset 0 3px 0 #24749d,0 5px 16px rgba(28,79,108,.12);
  z-index:6;
}
.month-day.has-calendar-note.outside{background:#f0f6f9!important}
.month-day.has-calendar-note.today{box-shadow:inset 0 0 0 2px #1f6f98,inset 0 5px 0 #1f6f98!important}
.calendar-cell-notes{display:grid;gap:2px;margin:4px 0 3px}
.calendar-cell-note-title{
  display:block;padding:3px 4px;border-radius:4px;background:#d8edf7;color:#1f6387;
  font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.calendar-cell-note-more{display:block;color:#3f7189;font-size:12px;font-weight:850}
.month-day.has-calendar-note .month-day-number{color:#185f84}
.calendar-hover-notes{
  display:none;position:absolute;z-index:100;left:8px;top:34px;width:250px;max-height:260px;overflow:auto;
  padding:9px;border:1px solid #bcd6e4;border-radius:9px;background:#fff;color:#263f4e;text-align:left;
  box-shadow:0 16px 35px rgba(13,43,62,.22);pointer-events:none
}
.month-day:nth-child(7n) .calendar-hover-notes,.month-day:nth-child(7n-1) .calendar-hover-notes{left:auto;right:8px}
.month-day.has-calendar-note:hover .calendar-hover-notes{display:block}
.calendar-hover-head{display:flex;justify-content:space-between;gap:8px;padding-bottom:6px;margin-bottom:5px;border-bottom:1px solid #e1e9ed}
.calendar-hover-head b{font-size:12px}.calendar-hover-head span{font-size:12px;color:#6d808c}
.calendar-hover-note{display:grid;gap:2px;padding:5px 0;border-bottom:1px solid #edf1f3}
.calendar-hover-note:last-child{border-bottom:0}
.calendar-hover-note b{font-size:12px;color:#1d5f82}.calendar-hover-note span{font-size:12px;line-height:1.4;color:#617681;white-space:normal}
.calendar-day-group{margin-top:12px}.calendar-day-group-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 6px}
.calendar-day-group-head>div{display:flex;align-items:center;gap:6px}.calendar-day-group-head b{font-size:12px}.calendar-day-group-head span{min-width:20px;height:20px;display:grid;place-items:center;border-radius:10px;background:#eef3f6;color:#617887;font-size:12px;font-weight:900}
.calendar-day-note-group{padding:9px;border:1px solid #cfe2ec;border-radius:9px;background:#f7fbfd}
.calendar-day-note-record{position:relative;display:grid;grid-template-columns:1fr auto;gap:5px}
.calendar-day-note-record .calendar-day-event{min-width:0}
.calendar-note-remove,.calendar-note-list-remove{
  width:34px;min-height:34px;border:1px solid #efcccc;border-radius:7px;background:#fff5f5;color:#b43f3f;cursor:pointer;font-size:17px;font-weight:800
}
.calendar-note-remove:hover,.calendar-note-list-remove:hover{background:#ffe9e9}
.calendar-note-wrap{position:relative;display:grid;grid-template-columns:1fr auto;gap:6px;align-items:stretch}
.calendar-note-list-remove{align-self:center}
.calendar-note.past{opacity:.8}

/* Scan hierarchy: easier to find headings, totals and active rows */
.topbar{
  padding-bottom:9px!important;
  border-bottom:1px solid #e3eaee;
}
.topbar h1{letter-spacing:-.02em}
.sectionhead{
  padding-bottom:6px!important;
  border-bottom:1px solid #edf1f3;
}
.sectionhead h2,.sectionhead h3{font-weight:900!important}
.panel{overflow:visible}
.workcard,.drawingcard,.issue-overview-row,.calendar-note,.listrow{
  transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease
}
.issue-overview-row:hover,.calendar-note:hover,.listrow:hover{background:#f7fafc}
.drawingcard:hover{border-color:#bfd4df!important;background:#fbfdfe!important}
.workcard h3,.iref,.calendar-note-title{letter-spacing:-.01em}

/* Tables are much quicker to scan on long lists */
table{border-collapse:separate;border-spacing:0}
table thead th{
  position:sticky;top:0;z-index:3;background:#edf3f6!important;color:#49616f!important;
  font-size:12px!important;text-transform:uppercase;letter-spacing:.055em;
  border-bottom:1px solid #ccdbe3!important
}
table tbody tr:nth-child(even){background:#fafcfd}
table tbody tr:hover{background:#eef6fa!important}
table td{border-bottom:1px solid #edf1f3!important}
table td b{color:#173d55}

/* Filters and input focus are more obvious when working quickly */
.input:focus,.select:focus,.textarea:focus{
  outline:2px solid rgba(47,126,168,.20)!important;
  border-color:#5b9fc1!important;
  box-shadow:0 0 0 3px rgba(68,143,181,.08)!important
}
.filterbar,.payment-filter-panel,.issue-control-panel{
  background:#f9fbfc!important
}
.badge{border:1px solid rgba(26,55,73,.05)}
.site-context-title,.site-view-pill{font-weight:750}

/* Key stat cards make the value dominant and the label secondary */
.quickstat b,.metric .num,.summary .card>b,.payee-overview-grid b,.director-brief-metrics b{
  font-variant-numeric:tabular-nums
}
.quickstat:hover,.director-brief-metrics button:hover{
  transform:translateY(-1px)
}

/* Make clickable records unmistakably interactive */
.calendar-note,.issue-overview-row,.drawingcard,.workcard,.recent-work-card,.global-result-row{
  cursor:pointer
}
.calendar-note:hover .calendar-note-title,.issue-overview-row:hover .ititle{
  color:#1f6f98
}

/* Empty areas remain visually distinct rather than looking broken */
.smart-empty,.empty-help{
  background:#fafcfd!important;border-style:dashed!important
}

@media(max-width:720px){
  .calendar-hover-notes{display:none!important}
  .month-day.has-calendar-note{box-shadow:inset 0 3px 0 #2f84b0!important}
  .calendar-cell-note-title{font-size:0;height:5px;padding:0;background:#2f84b0}
  .calendar-cell-note-more{display:none}
  .calendar-cell-notes{display:flex;gap:2px}
  .calendar-cell-note-title{width:14px}
  .calendar-day-note-record{grid-template-columns:1fr 38px}
  table thead th{position:static}
}


/* V1.58 — trial records and bulk setup */
.payment-filter-grid-v158{grid-template-columns:minmax(165px,.9fr) minmax(125px,.55fr) minmax(125px,.55fr) minmax(220px,1.15fr) auto!important}
.payment-range-warning{margin-top:9px;padding:9px 10px;border:1px solid #e6bbbb;border-radius:8px;background:#fff3f3;color:#a13d3d;font-size:12px;font-weight:800}
@media(max-width:1100px){.payment-filter-grid-v158{grid-template-columns:1fr 1fr!important}.payment-search-field{grid-column:1/-1}}
@media(max-width:720px){.payment-filter-grid-v158{grid-template-columns:1fr!important}.payment-search-field{grid-column:auto}}

.diary-record{padding:13px!important}.diary-record-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.diary-record-grid p{margin:0;padding:8px;border:1px solid #e1e8ec;border-radius:7px;background:#fafcfd}.diary-record-grid b{display:block;margin-bottom:3px;color:#657984;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.diary-record-grid span{display:block;color:var(--c-ink);font-size:12px;line-height:1.45;white-space:pre-wrap}.diary-general-note{margin:8px 0;padding:8px 9px;border-left:3px solid #8faab9;background:#f8fafb}.diary-general-note>b{font-size:12px}.diary-general-note p{margin:4px 0 0;white-space:pre-wrap;font-size:12px}
.diary-amendment-warning{display:grid;gap:2px;margin:10px 0;padding:9px;border:1px solid #edd8a7;border-radius:8px;background:#fff9eb}.diary-amendment-warning b{font-size:12px;color:#7d5c16}.diary-amendment-warning span{font-size:12px;color:#796d53}.diary-amendments{margin-top:10px;padding-top:8px;border-top:1px solid #dfe7eb}.diary-amendment-heading{display:flex;align-items:center;gap:6px;margin-bottom:5px}.diary-amendment-heading span{font-size:12px;font-weight:900;color:#7a5e20;text-transform:uppercase;letter-spacing:.06em}.diary-amendment-heading b{min-width:19px;height:19px;display:grid;place-items:center;border-radius:10px;background:#fff3cf;color:#7a5e20;font-size:12px}.diary-amendment{margin-top:5px;padding:8px 9px;border:1px solid #ead9af;border-radius:7px;background:#fffbf2}.diary-amendment>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.diary-amendment>div b{font-size:12px;color:#72551a}.diary-amendment>div span{font-size:12px;color:#867b64}.diary-amendment p{margin:5px 0 0;font-size:12px;line-height:1.5;white-space:pre-wrap}.archive-diary-amendments{margin-top:7px;padding:7px;border-left:3px solid #d2a54b;background:#fff9eb}
@media(max-width:720px){.diary-record-grid{grid-template-columns:1fr}.diary-amendment>div{display:grid}}

.bulk-import-modal{max-width:900px!important}.bulk-import-steps{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.bulk-step{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:7px;padding:8px;border:1px solid #dce6eb;border-radius:8px;background:#f9fbfc}.bulk-step>b{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e8f2f7;color:#276f96;font-size:12px}.bulk-step span{font-size:12px;line-height:1.4;color:#5d727e}.bulk-import-empty{padding:20px;border:1px dashed #cad8df;border-radius:8px;background:#fafcfd;text-align:center;color:#748792;font-size:12px}.bulk-import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:9px 0}.bulk-import-summary>div{padding:8px;border:1px solid #dfe7eb;border-radius:7px;background:#fff}.bulk-import-summary span{display:block;color:#6f828e;font-size:12px}.bulk-import-summary b{display:block;margin-top:3px;color:#193e55;font-size:15px}.bulk-import-summary .bulk-warn{border-color:#ebd6a8;background:#fffaf0}.bulk-import-summary .bulk-warn b{color:#8a6418}.bulk-import-warning{display:grid;gap:2px;margin-bottom:8px;padding:8px;border:1px solid #ebd6a8;border-radius:7px;background:#fffaf0}.bulk-import-warning b{font-size:12px;color:#77591d}.bulk-import-warning span{font-size:12px;color:#7d735c}.bulk-preview-table{max-height:390px;overflow:auto;border:1px solid #dfe7eb;border-radius:8px}.bulk-preview-table table{width:100%}.bulk-preview-table th,.bulk-preview-table td{font-size:12px!important;padding:6px!important}.bulk-row-skip{opacity:.62;background:#fff6f6!important}.bulk-more{padding:7px;text-align:center;background:#f6f9fa;color:#70838e;font-size:12px}.bulk-import-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:9px}
@media(max-width:720px){.bulk-import-steps{grid-template-columns:1fr}.bulk-step{grid-template-columns:28px 1fr}.bulk-step .btn{grid-column:1/-1}.bulk-import-summary{grid-template-columns:1fr 1fr}}

.browser-storage-notice{display:inline-flex;gap:4px;align-items:center;margin-top:5px;padding:4px 6px;border:1px solid #d9e4ea;border-radius:6px;background:#f7fafc;color:#677b87;font-size:12px}.browser-storage-notice b{color:#365c72}.browser-drawing-badge{display:inline-block;padding:1px 4px;border-radius:4px;background:#edf5f9;color:#397493;font-size:12px;font-weight:900}


/* V1.60 — logo restore + Audit Trail search */
.audit-search-panel{padding:9px 10px!important;margin-bottom:9px;background:#f9fbfc!important}
.audit-search-wrap{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:7px;align-items:center}
.audit-searchbox{max-width:720px}
.audit-result-count{display:flex;align-items:baseline;gap:4px;justify-content:flex-end;white-space:nowrap}
.audit-result-count b{font-size:15px;color:var(--c-navy)}
.audit-result-count span{font-size:12px;color:var(--c-muted);text-transform:uppercase;letter-spacing:.05em}
@media(max-width:720px){
 .audit-search-wrap{grid-template-columns:1fr}
 .audit-search-wrap .btn{width:100%;min-height:42px!important}
 .audit-result-count{justify-content:flex-start}
}
.sitesight-logo,.auth-brand-logo,.auth-mobile-brand img,.auth-reset-logo,.first-setup-card>img{
  image-rendering:auto;
}


/* V1.61 — Drawing Take-off */
.drawing-takeoff-summary{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:6px;padding:5px 6px;border:1px solid #dce8ee;border-radius:6px;background:#f7fbfd;color:#456a7e;font-size:12px}.drawing-takeoff-summary span{font-weight:850}.drawing-takeoff-summary b{padding-left:5px;border-left:1px solid #d6e2e8;color:#1e526f;font-size:12px}.viewer-takeoff-line{margin-top:4px;color:#2e718f;font-size:12px;font-weight:800}
.takeoff-workspace{position:fixed;inset:0;z-index:220;background:#edf2f5;display:grid;grid-template-rows:auto 1fr;color:#17384c}.takeoff-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border-bottom:1px solid #ccd9e0;background:#fff}.takeoff-head h2{margin:2px 0!important;font-size:16px!important}.takeoff-kicker{display:block;color:#377da3;font-size:12px;font-weight:900;letter-spacing:.11em}.takeoff-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 330px}.takeoff-canvas-column{min-width:0;min-height:0;display:grid;grid-template-rows:auto 1fr auto;background:#1c2830}.takeoff-toolbar{min-height:44px;display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:6px 8px;background:#263740;border-bottom:1px solid #40515a;color:#dce7ed}.takeoff-toolbar button{min-height:31px;padding:5px 8px;border:1px solid #52646e;border-radius:6px;background:#314650;color:#eaf1f4;cursor:pointer;font-size:12px;font-weight:850}.takeoff-toolbar button:hover{background:#3c5561}.takeoff-toolbar button.active{border-color:#7ac0e1;background:#286f94;color:#fff}.takeoff-toolbar button.finish{border-color:#77ae82;background:#357448}.takeoff-toolbar button:disabled{opacity:.38;cursor:not-allowed}.takeoff-toolbar span{margin-left:auto;color:#aebdc5;font-size:12px}
.takeoff-drawing-stage{position:relative;min-height:0;overflow:hidden;display:grid;place-items:center;background:#121b20}.takeoff-drawing-stage>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;pointer-events:none}.takeoff-drawing-stage>iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff;pointer-events:none}#takeoff-svg{position:absolute;inset:0;width:100%;height:100%;z-index:3;cursor:crosshair;touch-action:none}
.takeoff-geometry{fill:none;stroke:#28a0d1;stroke-width:2.5;vector-effect:non-scaling-stroke}.takeoff-geometry.point{fill:#fff;stroke:#237da6}.takeoff-geometry.type-area{fill:rgba(61,154,98,.18);stroke:#3a965c}.takeoff-geometry.type-deduct-area{fill:rgba(199,70,70,.18);stroke:#c14c4c}.takeoff-geometry.type-length{stroke:#2f89b8}.takeoff-geometry.type-count{fill:#fff2c9;stroke:#bd8324}.takeoff-geometry.type-count text{fill:#704c12;stroke:none;font-size:12px;font-weight:900}.takeoff-geometry.draft{stroke:#f1b94d;fill:rgba(241,185,77,.12);stroke-dasharray:5 4}.takeoff-geometry.draft.point{fill:#fff2c9}.takeoff-pointer-line{stroke:#f1b94d;stroke-width:1.5;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.takeoff-calibration-line line{stroke:#9b6be0;stroke-width:2.5;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.takeoff-calibration-line circle{fill:#fff;stroke:#8550d1;stroke-width:2}.takeoff-calibration-line text{fill:#6f42bb;font-size:12px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:3px}
.takeoff-pdf-warning{padding:6px 9px;background:#fff4dd;color:#73561d;font-size:12px;border-top:1px solid #e8d3a6}.takeoff-sidebar{min-height:0;overflow:auto;padding:10px;background:#f7fafb;border-left:1px solid #cad8df}.takeoff-scale{padding:9px;border:1px solid #e2c994;border-radius:8px;background:#fff9eb}.takeoff-scale.calibrated{border-color:#b9ddc2;background:#f2faf4}.takeoff-scale>div{display:flex;align-items:center;justify-content:space-between;gap:6px}.takeoff-scale span{font-size:12px;font-weight:900;letter-spacing:.08em;color:#758690}.takeoff-scale b{font-size:12px}.takeoff-scale p{margin:5px 0;font-size:12px;line-height:1.45;color:#667984}
.takeoff-pending{margin-top:9px;padding:10px;border:1px solid #9dc8de;border-radius:8px;background:#eef8fd}.takeoff-pending h3{margin:2px 0!important}.takeoff-pending-qty{margin:4px 0 8px;font-size:18px;font-weight:950;color:#1e6388}.takeoff-totals{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:9px}.takeoff-totals>div{padding:7px;border:1px solid #dde7ec;border-radius:7px;background:#fff}.takeoff-totals span{display:block;color:#738690;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.takeoff-totals b{display:block;margin-top:2px;font-size:12px;color:#173f57}.takeoff-totals .takeoff-net{border-color:#a9d2bb;background:#f1faf4}.takeoff-totals .takeoff-value{border-color:#a6cade;background:#eef8fd}.takeoff-totals .takeoff-value b{color:#1d688e}
.takeoff-list-head{margin-top:12px;padding-bottom:6px;border-bottom:1px solid #dbe4e8}.takeoff-list-head>div{display:flex;align-items:center;justify-content:space-between}.takeoff-list-head h3{margin:0!important}.takeoff-list-head span{font-size:12px;color:#758690}.takeoff-empty{padding:16px 5px;text-align:center;color:#82919a;font-size:12px}.takeoff-list{display:grid;gap:5px;margin-top:6px}.takeoff-row{display:grid;grid-template-columns:minmax(0,1fr) auto 30px;gap:6px;align-items:center;padding:7px;border:1px solid #dfe7eb;border-radius:7px;background:#fff}.takeoff-row-main{min-width:0;display:grid;gap:2px}.takeoff-row-main b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.takeoff-row-main small{font-size:12px;color:#748690}.takeoff-kind{width:max-content;padding:2px 5px;border-radius:4px;background:#edf5f8;color:#39738f;font-size:12px;font-weight:900;text-transform:uppercase}.takeoff-kind.kind-deduct-area{background:#fff0f0;color:#a94343}.takeoff-kind.kind-area{background:#eef8f1;color:#3a7b4d}.takeoff-kind.kind-count{background:#fff7df;color:#93671d}.takeoff-money{text-align:right}.takeoff-money span{display:block;font-size:12px;color:#778791}.takeoff-money b{display:block;margin-top:2px;font-size:12px}.takeoff-delete{width:28px;height:28px;border:1px solid #efcccc;border-radius:6px;background:#fff6f6;color:#b54040;cursor:pointer;font-size:16px}
@media(max-width:900px){.takeoff-body{grid-template-columns:1fr;grid-template-rows:minmax(420px,58vh) auto}.takeoff-sidebar{border-left:0;border-top:1px solid #cad8df}.takeoff-toolbar span{width:100%;margin-left:0}.takeoff-totals{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.takeoff-head{align-items:flex-start}.takeoff-head .actions{display:grid}.takeoff-body{grid-template-rows:minmax(360px,55vh) auto}.takeoff-toolbar button{min-height:38px}.takeoff-totals{grid-template-columns:1fr 1fr}.takeoff-row{grid-template-columns:minmax(0,1fr) 30px}.takeoff-money{grid-column:1/-1;text-align:left;display:flex;gap:8px}.takeoff-drawing-stage>img{width:100%;height:100%;object-fit:contain}}
/* =========================================================
   V1.64 — Cleanup & Usability
   Final trial polish: clearer hierarchy, larger text,
   progressive disclosure and easier low-tech operation.
   ========================================================= */
:root{--ui-min-text:10px}
body{line-height:1.4}
.btn,.select,.input{min-height:40px}
.textarea{min-height:84px;line-height:1.5}
.smallbtn{min-height:36px}
.muted,.sub{line-height:1.45}
.clickable-listrow:hover{background:#f7fafc}

/* Dashboard */
.dashboard-priority-stack{display:grid;gap:10px;margin:10px 0 14px}
.dashboard-learning{margin:8px 0 12px;padding:9px;border:1px solid #dce6eb;border-radius:10px;background:#fbfdfe}
.dashboard-learning-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:7px}
.dashboard-learning-head>b{font-size:12px;color:#244b63}
.dashboard-learning-head button,.dashboard-help-toggle{border:0;background:transparent;color:#36789a;font-weight:850;text-decoration:underline;text-underline-offset:2px}
.dashboard-help-toggle{margin:6px 0 10px;padding:5px 0}
.dashboard-learning .dashboard-role-note{margin:0 0 7px}
.dashboard-learning .colour-guide{margin:0;box-shadow:none}
.dashboard-attention,.dashboard-today{padding:12px}
.dashboard-attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.dashboard-attention-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px;border:1px solid #e4e9ed;border-radius:8px;background:#fff;text-align:left;color:var(--c-ink)}
.dashboard-attention-row:hover{border-color:#c9d8df;background:#fafcfd}
.dashboard-attention-row span{display:grid;gap:2px;min-width:0}.dashboard-attention-row b{font-size:12px}.dashboard-attention-row small{color:#657a86;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-attention-row strong{color:#788b95}
.dashboard-today-grid{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:12px;align-items:start}
.dashboard-weeksummary{width:100%;margin-top:8px;display:flex;justify-content:space-between;align-items:center}
.dashboard-work-status-head{padding:12px 12px 0}.dashboard-work-status-head h2{margin:0;font-size:15px}.dashboard-work-status-head span{display:block;color:var(--c-muted);font-size:12px;margin-top:2px}

/* Work Item filters */
.simple-work-filterbar{display:grid!important;grid-template-columns:minmax(260px,1.5fr) minmax(160px,.7fr) auto!important;gap:7px!important;padding:10px!important}
.simple-work-filterbar>.work-filter-extra{grid-column:1/-1;display:none;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:7px;padding-top:8px;border-top:1px solid #e5ebee}
.simple-work-filterbar>.work-filter-extra.show{display:grid}
.more-filter-button{white-space:nowrap}
.dashboard-work-status .simple-work-filterbar{grid-template-columns:minmax(260px,1fr) auto!important}
.dashboard-work-status .simple-work-filterbar>.work-filter-extra{grid-template-columns:repeat(3,minmax(140px,1fr)) auto}

/* Signed-off final record */
.signed-off-record{display:flex;align-items:flex-start;gap:10px;margin:10px 0 13px;padding:11px;border:1px solid #e6c760;border-left:5px solid #e4ad00;border-radius:9px;background:linear-gradient(135deg,#fff8d9,#fffef8)}
.signed-off-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e5ad00;color:#fff;font-size:18px}
.signed-off-record>div:last-child{display:grid;gap:2px}.signed-off-record span{font-size:12px;font-weight:950;letter-spacing:.09em;color:#8a6500}.signed-off-record b{font-size:13px;color:#513c04}.signed-off-record small{color:#75683e}.signed-off-record p{margin:4px 0 0;color:#554c30}
.signoff-kicker{display:block;font-weight:950;letter-spacing:.1em;color:#9b7200}
.signoff-check{display:flex;gap:9px;align-items:center;margin:10px 0;padding:9px;border:1px solid #cce4d2;border-radius:8px;background:#f3faf5}.signoff-check>span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#2d8952;color:#fff}.signoff-check div{display:grid;gap:1px}.signoff-check small{color:#64776b}

/* Urgent Issue guidance */
.urgent-issue-hint{align-items:center;gap:8px;margin:7px 0;padding:8px;border:1px solid #efc0c0;border-radius:8px;background:#fff4f4}.urgent-issue-hint>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#c84242;color:#fff;font-weight:950}.urgent-issue-hint div{display:grid;gap:1px}.urgent-issue-hint small{color:#7e6464}

/* Teams */
.team-view-all{width:100%;padding:8px;border:0;border-top:1px solid #e4eaed;background:#f9fbfc;color:#34718f;text-align:left;font-weight:850}
.team-no-members{padding:8px}

/* Drawing actions */
.drawing-more-wrap{position:relative;display:inline-block}
.drawing-more-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:175px;padding:4px;border:1px solid #d6e0e5;border-radius:8px;background:#fff;box-shadow:0 10px 30px #17384c24}
.drawing-more-menu button{display:block;width:100%;padding:8px;border:0;border-radius:5px;background:transparent;text-align:left;color:#244657;font-weight:800}
.drawing-more-menu button:hover{background:#f2f7f9}.drawing-more-menu button.danger{color:#b33e3e}
.site-drawing-actions{align-items:center}

/* Guided take-off */
.takeoff-workspace{grid-template-rows:auto auto 1fr}
.takeoff-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:6px;background:#e4ebef;border-bottom:1px solid #c8d5dc}
.takeoff-guide>div{display:flex;align-items:center;gap:7px;padding:7px 9px;background:#f8fafb;opacity:.58}
.takeoff-guide>div.active,.takeoff-guide>div.done{opacity:1}.takeoff-guide>div.active{background:#eef7fc}.takeoff-guide>div.done{background:#f1f8f3}
.takeoff-guide>div>b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#8799a4;color:#fff}.takeoff-guide>div.active>b{background:#287ca7}.takeoff-guide>div.done>b{background:#3c8554}
.takeoff-guide span{display:grid;gap:1px}.takeoff-guide strong{font-size:12px}.takeoff-guide small{color:#657985}

/* Calendar */
.calendar-history-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:11px 13px;border:1px solid #d9e4e9;border-radius:9px;background:#fff;text-align:left;color:#274c61}
.calendar-history-toggle span{display:grid;gap:2px}.calendar-history-toggle small{color:#6d808b}.calendar-history-toggle strong{color:#34799c}
.calendar-notes-expand{width:100%;margin-top:8px;padding:8px;border:1px solid #dbe5ea;border-radius:7px;background:#f8fbfc;color:#3b7694;font-weight:850}

/* Payments */
.payment-preset-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.payment-preset-row>span{margin-right:3px;font-weight:900;color:#657983}
.payment-preset-row button{min-height:34px;padding:5px 9px;border:1px solid #d5e0e5;border-radius:6px;background:#fff;color:#496776;font-weight:850}
.payment-preset-row button.active{border-color:#3f83a6;background:#eef7fb;color:#246c91}
.payment-entered-time{display:block;margin-top:2px;color:#7b8b93;white-space:nowrap}

/* Site Diary compact history */
.diary-history{padding:0;overflow:hidden}
.diary-history-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:12px;border-bottom:1px solid #e0e7eb;background:#fafcfd}.diary-history-head h2{margin:0;font-size:15px}.diary-history-head span{color:#667b87}.diary-history-head small{color:#748792}
.diary-history-list{display:grid}.diary-history-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 12px;border:0;border-bottom:1px solid #e6ecef;background:#fff;text-align:left;color:#1d3e51}.diary-history-row:last-child{border-bottom:0}.diary-history-row:hover{background:#f8fbfc}
.diary-history-date{display:grid;justify-items:start}.diary-history-date b{font-size:14px}.diary-history-date span{color:#788b95}
.diary-history-main{display:grid;gap:2px;min-width:0}.diary-history-main>b{font-size:12px}.diary-history-main>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#506975}.diary-history-main>small{color:#788990}.diary-history-row>strong{color:#3b7997;white-space:nowrap}
.diary-detail-actions{margin-top:10px;padding-top:9px;border-top:1px solid #e1e8ec}

/* Consistent admin creation modals */
.modalbox .field:first-of-type{margin-top:10px}

/* Better touch targets and readable mobile controls */
@media(max-width:900px){
 .dashboard-attention-grid{grid-template-columns:1fr 1fr}
 .dashboard-today-grid{grid-template-columns:1fr}
 .simple-work-filterbar,.dashboard-work-status .simple-work-filterbar{grid-template-columns:1fr auto!important}
 .simple-work-filterbar>.work-filter-extra,.dashboard-work-status .simple-work-filterbar>.work-filter-extra{grid-template-columns:1fr 1fr}
 .takeoff-guide{grid-template-columns:1fr}
}
@media(max-width:720px){
 .btn,.select,.input{min-height:44px}
 .smallbtn{min-height:42px}
 .dashboard-attention-grid{grid-template-columns:1fr}
 .simple-work-filterbar,.dashboard-work-status .simple-work-filterbar{grid-template-columns:1fr!important}
 .simple-work-filterbar>.work-filter-extra,.dashboard-work-status .simple-work-filterbar>.work-filter-extra{grid-template-columns:1fr}
 .diary-history-row{grid-template-columns:58px minmax(0,1fr)}.diary-history-row>strong{grid-column:2}
 .calendar-history-toggle{align-items:flex-start;flex-direction:column}
}

/* Demo-only identification */
.demo-login-box{margin:14px 0;padding:12px;border:1px solid #d8e6ed;border-radius:10px;background:#f5fafc}
.demo-login-box>span{display:block;font-size:12px;font-weight:950;letter-spacing:.10em;color:#3b7d9e}
.demo-login-box>b{display:block;margin:2px 0 5px;font-size:13px;color:#173e55}
.demo-login-box>p{margin:5px 0;color:#687d88}
.demo-login-box>div{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:center;padding:4px 0;border-top:1px solid #e3ebef}
.demo-login-box code{font-family:inherit;font-weight:900;color:#225f80}
.demo-login-box small{color:#738690}
.demo-login-box .demo-password{margin-top:8px;padding-top:7px;border-top:1px solid #dce6eb;color:#3b596a}

/* Enterprise demo identification */
.demo-mode-banner{
 display:flex;align-items:center;justify-content:space-between;gap:10px;
 margin:0 0 9px;padding:7px 10px;border:1px solid #e2b75f;border-radius:8px;
 background:#fff8df;color:#745516
}
.demo-mode-banner b{font-size:12px;letter-spacing:.08em}
.demo-mode-banner span{font-size:12px;font-weight:750}
@media(max-width:720px){.demo-mode-banner{align-items:flex-start;flex-direction:column}}


/* =========================================================
   V1.66 — Time & Attendance
   ========================================================= */
.att-kicker{display:block;font-size:12px;font-weight:950;letter-spacing:.11em;color:#477a96;margin-bottom:4px}
.att-tabs{display:flex;gap:6px;margin:0 0 12px;padding:4px;background:#eaf1f5;border-radius:10px;width:max-content;max-width:100%}
.att-tabs button{border:0;background:transparent;padding:9px 14px;border-radius:8px;font-weight:900;color:#536e7c;cursor:pointer}
.att-tabs button.active{background:#fff;color:#173e55;box-shadow:0 1px 4px rgba(15,45,63,.10)}
.att-my-clock{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:5px solid #2e9b67;background:linear-gradient(135deg,#fff,#f3fbf7)}
.att-my-clock h2{margin:2px 0 4px}.att-my-clock p{margin:0;color:#5e7480}
.attendance-big-clock{min-height:54px;padding:0 24px;font-size:15px;font-weight:950;letter-spacing:.02em}
.att-site-config{display:flex;align-items:center;justify-content:space-between;gap:14px}.att-site-config h3{margin:2px 0 5px}
.att-site-location{display:inline-flex;align-items:center;padding:5px 8px;border-radius:7px;font-size:12px;font-weight:900}.att-site-location.ok{background:#e7f6ed;color:#217049}.att-site-location.missing{background:#fff1e0;color:#8a5c16}
.att-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.att-metrics .card{padding:14px}.att-metrics span{display:block;font-size:12px;font-weight:900;letter-spacing:.06em;color:#70848e}.att-metrics b{display:block;margin-top:4px;font-size:23px;color:#173e55}.att-metrics .warn{border-color:#efc25b;background:#fff9e8}.att-metrics .warn b{color:#9a6511}
.att-live-list{display:grid;gap:7px}.att-live-row{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(120px,.8fr) minmax(180px,1.1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid #e0e8ed;border-radius:9px;background:#fff}.att-live-row.warning{border-color:#e5b34d;background:#fffaf0}.att-live-row>div{display:flex;flex-direction:column;gap:2px}.att-live-row span,.att-live-row small{font-size:12px;color:#70848e}
.att-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 7px;font-size:12px;font-weight:950;white-space:nowrap}.att-badge.verified{background:#e5f5ec;color:#24724b}.att-badge.supervisor{background:#fff1d8;color:#875b12}.att-badge.rejected{background:#fde8e8;color:#a43d3d}.att-badge.neutral{background:#edf2f5;color:#687d88}
.att-notin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.att-notin-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e1e9ed;border-radius:9px}.att-notin-card>div:first-child{display:flex;flex-direction:column}.att-notin-card span{font-size:12px;color:#70848e}.att-notin-card>div:last-child{display:flex;gap:5px;flex-wrap:wrap}.att-absence-strip{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid #e5ecef;margin-top:10px;padding-top:10px}.att-absence-strip span{padding:6px 8px;border-radius:8px;background:#eef3f6;font-size:12px}
.att-attempt-list{display:grid;gap:7px}.att-attempt-list>div{display:grid;grid-template-columns:1.2fr 1.3fr auto;gap:10px;padding:9px 0;border-bottom:1px solid #e7edef}.att-attempt-list strong{color:#a03e3e;font-size:12px}.att-attempt-list small{color:#73848d}
.att-location-hint{margin:8px 0}.att-privacy-note{display:flex;gap:10px;padding:10px 12px;border-radius:9px;background:#eef5f8;margin:12px 0}.att-privacy-note b{min-width:110px;color:#244e65}.att-privacy-note span{font-size:12px;line-height:1.45;color:#607884}.att-clock-current{display:flex;flex-direction:column;padding:11px;background:#eef5f8;border-radius:9px;margin:9px 0}.att-clock-current span,.att-clock-current small{font-size:12px;color:#6c828e}.att-clock-progress{min-height:22px;margin:7px 0;color:#527385;font-size:12px;font-weight:800}
.att-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.att-coordinate-box{display:flex;flex-direction:column;gap:3px;padding:11px;background:#edf3f6;border-radius:9px;margin:10px 0}.att-coordinate-box span{font-family:ui-monospace,monospace}.att-coordinate-box small{color:#6f838e}.att-demo-warning{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid #edbe5b;background:#fff8e5;border-radius:9px;margin:10px 0;color:#805b17}.att-demo-warning span{font-size:12px}
.attendance-member-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.attendance-member-mini>div{padding:9px;background:#eef4f7;border-radius:8px}.attendance-member-mini span{display:block;font-size:12px;font-weight:900;letter-spacing:.06em;color:#748892}.attendance-member-mini b{display:block;margin-top:3px;font-size:13px;color:#173e55}.attendance-member-actions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.att-pay-hidden{padding:10px;border-radius:8px;background:#eef3f6;color:#667c87;font-size:12px;margin:8px 0}.att-checkbox{display:flex;align-items:center;gap:8px;font-weight:850;margin:10px 0}.att-checkbox input{width:18px;height:18px}
.att-week-head{display:flex;align-items:center;justify-content:space-between;text-align:center}.att-week-head h2{margin:2px 0}.att-export-row{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin:10px 0}.att-table-wrap{overflow:auto;padding:0}.att-timesheet-table{width:100%;min-width:980px;border-collapse:collapse}.att-timesheet-table th,.att-timesheet-table td{padding:9px 8px;border-bottom:1px solid #e3eaee;text-align:center;vertical-align:middle}.att-timesheet-table th{position:sticky;top:0;background:#f2f6f8;font-size:12px;letter-spacing:.04em;color:#5c7481}.att-timesheet-table th:first-child,.att-timesheet-table td:first-child{text-align:left}.att-timesheet-table tbody tr{cursor:pointer}.att-timesheet-table tbody tr:hover{background:#f7fafb}.att-timesheet-table td small,.att-timesheet-table th small{display:block;font-size:12px;color:#83929a;margin-top:2px}.att-absence-cell{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;background:#e8eef2;font-weight:950;color:#57717f}.att-timesheet-key{display:flex;gap:14px;flex-wrap:wrap;color:#6b808b;font-size:12px;margin:7px 2px 14px}.att-approved-warning,.att-approval-card{padding:9px 11px;border-radius:8px;background:#eaf7ef;color:#267049;margin:8px 0}.att-approved-warning,.att-approval-card.warning{background:#fff1df;color:#8c5c11}.att-approval-card{display:flex;justify-content:space-between;gap:8px}.att-shift-list{display:grid;gap:7px;margin-top:10px}.att-shift-row{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #e1e8ec;border-radius:8px}.att-shift-row>div:first-child{display:flex;flex-direction:column}.att-shift-row span,.att-shift-row small{font-size:12px;color:#71848e}.att-shift-row>div:nth-child(2){display:flex;gap:4px;flex-wrap:wrap}.att-shift-row.voided{opacity:.55;text-decoration:line-through}.att-correction-history{margin:9px 0;background:#f2f6f8;border-radius:8px;padding:8px}.att-correction-history summary{cursor:pointer;font-weight:900}.att-correction-history div{display:flex;flex-direction:column;padding:8px 0;border-top:1px solid #dfe7eb}.att-correction-history span{font-size:12px;color:#6d818c}
.att-pay-disclaimer{display:flex;gap:12px;padding:11px 13px;border-radius:9px;background:#fff4de;border:1px solid #efd49c;margin-bottom:10px;color:#76551b}.att-pay-disclaimer span{font-size:12px;line-height:1.45}.att-pay-grid{display:grid;grid-template-columns:2fr 1fr;gap:10px}.att-pay-list{display:grid;gap:6px}.att-pay-row{display:grid;grid-template-columns:1.2fr 1fr auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #e4ebee}.att-pay-row.compact{grid-template-columns:1.2fr 1fr auto}.att-pay-row>div{display:flex;flex-direction:column}.att-pay-row span{font-size:12px;color:#748792}.att-pay-row strong{color:#173e55}.att-work-hours{display:grid;gap:5px}.att-work-hours>div{display:grid;grid-template-columns:1fr auto 120px;gap:10px;padding:8px 0;border-bottom:1px solid #e4ebee}.att-work-hours>div span:last-child{text-align:right;color:#607985}
@media(max-width:900px){.att-metrics{grid-template-columns:repeat(2,1fr)}.att-live-row{grid-template-columns:1fr 1fr}.att-live-row>button{grid-column:1/-1}.att-pay-grid{grid-template-columns:1fr}.att-notin-grid{grid-template-columns:1fr}.att-config-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.att-tabs{width:100%}.att-tabs button{flex:1;padding:10px 5px}.att-my-clock{align-items:stretch;flex-direction:column}.attendance-big-clock{width:100%}.att-site-config{align-items:flex-start;flex-direction:column}.att-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.att-live-row{grid-template-columns:1fr;padding:12px}.att-live-row>button{grid-column:auto;width:100%}.att-notin-card{align-items:flex-start;flex-direction:column}.att-notin-card>div:last-child,.att-notin-card .btn{width:100%}.att-privacy-note{flex-direction:column}.att-privacy-note b{min-width:0}.att-config-grid{grid-template-columns:1fr}.attendance-member-mini{grid-template-columns:1fr}.att-week-head{gap:5px}.att-week-head .btn{padding-left:8px;padding-right:8px}.att-pay-row{grid-template-columns:1fr auto}.att-pay-row>div:nth-child(2){grid-column:1/2}.att-pay-row .btn{grid-column:1/-1;width:100%}.att-work-hours>div{grid-template-columns:1fr auto}.att-work-hours>div span:last-child{grid-column:1/-1;text-align:left}.att-attempt-list>div{grid-template-columns:1fr}.att-approval-card{flex-direction:column}.att-shift-row{grid-template-columns:1fr}.att-shift-row .btn{width:100%}}

/* V1.67 Brickwork Contractor Operations */
.people-today-strip{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(90px,1fr));gap:7px;margin:0 0 10px;padding:8px;border:1px solid #d8e4ea;background:#fff;border-radius:12px}
.people-today-strip>div{padding:8px 10px}.people-today-strip>div span{display:block;font-size:12px;font-weight:950;letter-spacing:.08em;color:#628092}.people-today-strip>div b{display:block;color:#123b53;margin-top:2px}
.people-today-strip button{border:0;border-radius:9px;background:#f4f8fa;padding:7px;cursor:pointer;text-align:left}.people-today-strip button:hover{background:#eaf2f6}.people-today-strip button.warn{background:#fff3df}.people-today-strip strong{font-size:20px;color:#123b53;display:block}.people-today-strip small{font-weight:800;color:#69808c}
.contractor-section{background:#fff;border:1px solid #dde7ec;border-radius:12px;padding:15px}.contractor-filter{margin:10px 0 12px}
.leave-list{display:grid;gap:7px}.leave-row{display:grid;grid-template-columns:1.3fr 1.2fr 120px auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e2e9ed;border-radius:9px}.leave-row>div span,.leave-row>div b{display:block}.leave-row>div span{color:#718590;font-size:12px;margin-top:2px}.leave-status{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.leave-row.pending{border-left:4px solid #d89a22}.leave-row.approved{border-left:4px solid #38a169}.leave-row.declined{opacity:.65}
.dayrate-week{margin:-3px 0 10px 12px;padding:8px 10px;border-left:3px solid #dbe6eb;background:#f7fafb}.dayrate-week>b{font-size:12px}.dayrate-week>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.dayrate-week label{display:flex;align-items:center;gap:5px}.dayrate-week label span{font-size:12px;font-weight:800}.dayrate-week .select{min-height:32px;padding:4px 6px}
.pay-review-total{padding:14px;border-radius:10px;background:#102f42;color:#fff;margin:10px 0 12px}.pay-review-total span,.pay-review-total small{display:block}.pay-review-total span{font-size:12px;letter-spacing:.08em;font-weight:900;color:#b8d2df}.pay-review-total b{display:block;font-size:28px;margin:3px 0}.pay-review-total small{color:#d4e2e9}
.pay-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pay-review-grid section{border:1px solid #e0e8ec;border-radius:10px;padding:12px}.pay-review-grid h3{margin:0 0 8px}.pay-review-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf1f3}.pay-review-row span,.pay-review-row b{display:block}.pay-review-row span{font-size:12px;color:#738791;margin-top:2px}.pay-review-row strong{white-space:nowrap}
.daywork-list{display:grid;gap:8px;margin-top:12px}.daywork-card{padding:12px;border:1px solid #e1e8ec;border-radius:10px;border-left:4px solid #7755b7}.daywork-card h3{margin:4px 0}.daywork-card p{margin:8px 0}.daywork-meta{display:flex;gap:12px;flex-wrap:wrap;color:#6e828e;font-size:12px}
.contractor-plan-line{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:9px 0;padding:8px 10px;border:1px solid #e2e9ed;border-radius:9px;background:#f8fbfc;font-size:12px}.contractor-plan-line strong.late,.programme-pill.late{color:#a61b1b}.contractor-plan-line strong.upcoming,.programme-pill.upcoming{color:#376a89}.programme-pill{display:block;margin-top:5px;font-size:12px;font-weight:900}
.variation-instruction{margin:7px 0;padding:7px 9px;background:#f6f1ff;border-radius:7px;font-size:12px;color:#5d477f}
.contractor-qualifications{margin:12px 0;padding:10px;border:1px solid #e0e8ec;border-radius:9px}.qualification-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #edf1f3}.qualification-warning{display:inline-block;color:#a96700;background:#fff4d9;border-radius:999px;padding:3px 7px;font-size:12px;font-weight:900}
.hr-list{display:grid;gap:7px;margin:12px 0}.hr-record{padding:9px;border:1px solid #ead9d9;border-left:4px solid #a12b2b;border-radius:8px;background:#fffafa}.hr-record p{margin:4px 0 0}
.chip-leave{background:#f0e8ff!important;color:#65439b!important}.legend-leave{background:#7a55b5!important}
.weekly-report{padding:16px}.weekly-report-hero{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:8px;padding:11px;border-radius:10px;background:#123a50;color:#fff}.weekly-report-hero>div{padding:6px 8px}.weekly-report-hero span,.weekly-report-hero small{display:block;color:#c9dbe4}.weekly-report-hero strong{font-size:23px;display:block}.weekly-report section{margin-top:14px}.weekly-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #e6ecef}.weekly-row span{color:#6a808b}
@media(max-width:720px){.people-today-strip{grid-template-columns:1fr 1fr}.people-today-strip>div{grid-column:1/-1}.leave-row{grid-template-columns:1fr}.pay-review-grid{grid-template-columns:1fr}.weekly-report-hero{grid-template-columns:1fr 1fr}.weekly-report-hero>div:first-child{grid-column:1/-1}.contractor-plan-line{align-items:flex-start;flex-direction:column}}
@media print{.sidebar,.mobilebar,.mobile-global-search,.topbar .actions,.demo-mode-banner{display:none!important}.main{margin:0!important;padding:0!important}.weekly-report{border:0!important}}

/* V1.68 — SiteSight Assist */
.assist-fab{position:fixed;right:22px;bottom:22px;z-index:1700;border:0;border-radius:999px;background:#102f42;color:#fff;box-shadow:0 10px 28px rgba(12,39,58,.24);display:flex;align-items:center;gap:8px;padding:10px 15px;cursor:pointer;min-height:44px}.assist-fab span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f28b18;color:#fff;font-weight:950}.assist-fab b{font-size:12px}.assist-fab:hover{transform:translateY(-1px)}
.assist-scrim{position:fixed;inset:0;background:rgba(8,25,36,.18);z-index:1790}.assist-panel{position:fixed;right:18px;bottom:18px;width:min(410px,calc(100vw - 24px));height:min(640px,calc(100vh - 36px));z-index:1800;background:#fff;border:1px solid #d8e4ea;border-radius:16px;box-shadow:0 22px 70px rgba(9,35,52,.30);display:flex;flex-direction:column;overflow:hidden}.assist-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 15px;background:#102f42;color:#fff}.assist-head>div span,.assist-head>div small{display:block}.assist-head>div span{font-size:12px;letter-spacing:.10em;font-weight:950;color:#9fc3d5}.assist-head>div b{display:block;font-size:20px;margin:1px 0}.assist-head>div small{color:#cbdde6}.assist-head>button{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:8px;width:34px;height:34px;font-size:22px;cursor:pointer}.assist-quick{display:flex;gap:5px;padding:8px 10px;border-bottom:1px solid #e7edf0;overflow:auto}.assist-quick button{white-space:nowrap;border:1px solid #dbe6eb;background:#f7fafb;color:#294d60;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;cursor:pointer}.assist-chat{flex:1;overflow:auto;padding:12px;background:#f5f8fa}.assist-msg{display:flex;flex-direction:column;align-items:flex-start;margin:0 0 9px}.assist-msg>div:first-child{max-width:92%;padding:9px 11px;border-radius:12px;background:#fff;border:1px solid #dce6eb;color:#234254;line-height:1.35;font-size:12px}.assist-msg.user{align-items:flex-end}.assist-msg.user>div:first-child{background:#173f56;color:#fff;border-color:#173f56}.assist-actions{display:flex!important;gap:5px!important;flex-wrap:wrap!important;margin-top:5px!important;padding:0!important;border:0!important;background:transparent!important}.assist-actions button{border:1px solid #cddce4;background:#fff;color:#23546d;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:850;cursor:pointer}.assist-actions button.primary{background:#e77812;color:#fff;border-color:#e77812}.assist-input-row{display:grid;grid-template-columns:38px 1fr 58px;gap:6px;padding:9px;border-top:1px solid #e2eaee;background:#fff}.assist-input-row textarea{resize:none;border:1px solid #cddbe3;border-radius:9px;padding:8px;font:12px/1.3 inherit;outline:0}.assist-input-row textarea:focus{border-color:#4c8baa;box-shadow:0 0 0 3px rgba(76,139,170,.12)}.assist-mic,.assist-send{border:0;border-radius:9px;cursor:pointer;font-weight:900}.assist-mic{background:#edf3f6}.assist-send{background:#173f56;color:#fff}.assist-foot{padding:0 10px 9px;color:#718590;font-size:12px;background:#fff}.assist-highlight{outline:4px solid rgba(242,139,24,.45)!important;box-shadow:0 0 0 8px rgba(242,139,24,.13)!important;animation:assistPulse 1s ease-in-out 3}@keyframes assistPulse{50%{transform:scale(1.025)}}.assist-confirm .assist-confirm-rule{margin:10px 0 14px;padding:9px 10px;border-radius:8px;background:#f3f7f9;color:#536d7b;font-size:12px}.assist-confirm p{font-size:14px;line-height:1.45}
@media(max-width:720px){.assist-fab{right:14px;bottom:76px;padding:10px}.assist-fab b{display:none}.assist-panel{right:6px;bottom:6px;width:calc(100vw - 12px);height:calc(100vh - 12px);border-radius:14px}.assist-scrim{background:rgba(8,25,36,.35)}}


/* SiteSight V1.69 — Workforce Intelligence */
.v169-people-strip{grid-template-columns:minmax(210px,1.55fr) repeat(5,minmax(82px,1fr))}
.v169-people-strip>div small{display:block;margin-top:3px;color:#7a8d97;font-size:12px}
.v169-shift-rule{display:block;margin-top:5px;color:#718690}
.v169-people-metrics{grid-template-columns:repeat(6,1fr)}
.v169-accounted-grid{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}.v169-accounted-grid span{padding:6px 8px;border-radius:7px;font-size:12px}.v169-accounted-grid b{display:block}.v169-accounted-grid .holiday{background:#f0e8ff;color:#65439b}.v169-accounted-grid .sick{background:#fff0f2;color:#a13d51}.v169-accounted-grid .training{background:#eaf4ff;color:#286b9a}
.v169-savings-settings{margin:10px 0;padding:9px;border:1px solid #e1e8ec;border-radius:9px;background:#f8fbfc}.v169-savings-settings summary{cursor:pointer;font-weight:900;color:#39596a}
.chip-holiday{background:#f0e8ff;color:#65439b}.chip-training{background:#e9f4ff;color:#286b9a}.chip-sick{background:#fff0f2;color:#a13d51}.chip-siteevent{background:#fff3df;color:#9b651a}
.legend-holiday{background:#7a55b5!important}.legend-training{background:#4388b8!important}.legend-sick{background:#c75067!important}.legend-siteevent{background:#d58a25!important}
.event-holiday i{background:#f0e8ff;color:#65439b}.event-training i{background:#e9f4ff;color:#286b9a}.event-sick i{background:#fff0f2;color:#a13d51}.event-siteevent i{background:#fff3df;color:#9b651a}.event-leave i{background:#f3f0f7;color:#695a79}
.v169-calendar-legend{flex-wrap:wrap}
.v169-dayrate>small{display:block;margin:3px 0 8px;color:#718590}.v169-dayrate>div{display:grid;gap:5px}.v169-dayrate label{justify-content:space-between;background:#fff;border:1px solid #e3e9ed;border-radius:7px;padding:6px 8px}.v169-dayrate label.approved{border-color:#a9d8b7;background:#f3fbf5}
.v169-pay-status{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}.v169-pay-status span{padding:7px 9px;border-radius:8px;background:#f4f7f9;font-size:12px}.v169-pay-status b{font-size:14px;margin-right:3px}.pay-state{font-style:normal;font-weight:900}.pay-state.ready-for-pay{color:#21784a}.pay-state.part-paid{color:#9a6a17}.pay-state.paid{color:#5d7180}.v169-variation-pay{margin-top:12px;padding:12px;border:1px solid #e8def6;border-radius:10px;background:#fbf9fe}
.v169-attendance-analytics{padding:16px;margin-top:14px}.v169-rangebar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0}.v169-rangebar button{border:1px solid #dbe5ea;background:#fff;border-radius:8px;padding:7px 9px;font-weight:850;color:#506b79;cursor:pointer}.v169-rangebar button.active{background:#173f57;color:#fff;border-color:#173f57}.v169-rangebar .input{width:auto;min-height:34px}
.v169-saving-cards{margin:9px 0}.v169-saving-cards small{display:block;margin-top:5px;color:#718590}.v169-performance-note{padding:8px 10px;border-radius:8px;background:#f6f8fa;color:#6b7e88;font-size:12px;margin:8px 0}
.v169-attendance-rankings{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v169-attendance-rankings section{border:1px solid #e0e8ec;border-radius:10px;padding:10px}.v169-rank-row{display:grid;grid-template-columns:24px 1fr auto;gap:7px;align-items:center;padding:7px 0;border-bottom:1px solid #edf1f3}.v169-rank-row>b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#f1f5f7}.v169-rank-row span strong,.v169-rank-row span small{display:block}.v169-rank-row span small{font-size:12px;color:#7a8d97;margin-top:2px}.v169-rank-row em{font-style:normal;font-weight:950;color:#9c4c43}.v169-rank-row.best em{color:#2e7c4c}.v169-breakdown{margin-top:12px}.v169-breakdown summary{cursor:pointer;font-weight:900}
.v169-drawing-meta{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin:5px 0}.v169-drawing-meta b,.v169-drawing-meta span{font-size:12px;padding:3px 6px;border-radius:5px;background:#eef3f6;color:#516a77}.v169-drawing-meta .current{background:#eaf7ee;color:#2d7748;font-weight:900}.v169-drawing-meta .superseded{background:#fff0f0;color:#a13f3f;font-weight:950}.v169-superseded-card{opacity:.78}.v169-superseded-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 13px;background:#a82f2f;color:white}.v169-superseded-banner b{font-size:13px}.v169-superseded-banner span{font-size:12px;flex:1}.v169-show-old{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:850;color:#5f7784}
.v169-autofill-note{padding:9px 11px;border-radius:8px;background:#edf7fb;border:1px solid #cde4ef;margin:8px 0 12px}.v169-autofill-note b,.v169-autofill-note span{display:block}.v169-autofill-note span{font-size:12px;color:#617b88;margin-top:2px}
@media(max-width:1050px){.v169-people-strip{grid-template-columns:repeat(3,1fr)}.v169-people-strip>div{grid-column:1/-1}.v169-people-metrics{grid-template-columns:repeat(3,1fr)}.v169-attendance-rankings{grid-template-columns:1fr}}
@media(max-width:720px){.v169-people-strip{grid-template-columns:1fr 1fr}.v169-people-metrics{grid-template-columns:1fr 1fr}.v169-attendance-rankings{grid-template-columns:1fr}.v169-rangebar .input{width:135px}.v169-superseded-banner{align-items:flex-start;flex-direction:column}}

/* V1.70 stability */
.drawingcard.v170-superseded{opacity:.78}


/* ============================================================
   SiteSight V1.71 — Drawing Highlights
   ============================================================ */
.v171-viewer .drawing-fullscreen-head,.v171-viewer .work-drawing-fullscreen-head{position:relative;z-index:20}
.v171-drawing-host{position:relative!important;overflow:auto!important}
.v171-drawing-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}
.v171-drawing-stage>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.v171-drawing-stage>iframe{width:100%;height:100%;border:0;background:#fff}
.v171-highlight-layer{position:absolute;z-index:6;pointer-events:none;overflow:visible}
.v171-highlight-layer.editing{pointer-events:auto;cursor:crosshair;touch-action:none}
.v171-highlight-box{position:absolute;border:2px solid;border-radius:4px;box-sizing:border-box;box-shadow:0 0 0 1px rgba(255,255,255,.55) inset}
.v171-highlight-box>span{position:absolute;left:-10px;top:-10px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#173f57;color:#fff;font:900 11px/1 Arial;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.v171-highlight-draft{position:absolute;border:2px dashed #e0b000;background:rgba(255,215,0,.22);border-radius:4px;box-sizing:border-box}
.v171-highlight-draft.red{border-color:#ce3f3f;background:rgba(235,72,72,.16)}.v171-highlight-draft.blue{border-color:#3171c8;background:rgba(61,130,235,.16)}
.v171-viewer-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}
.v171-viewer-tools .btn{min-height:34px;padding:6px 9px}
.v171-pdf-caution{font-size:12px;color:#7f6b3d;background:#fff7dd;border:1px solid #ebd89c;border-radius:7px;padding:5px 7px;max-width:380px}
.v171-highlight-toolbar{position:absolute;left:50%;top:88px;transform:translateX(-50%);z-index:18;align-items:center;gap:6px;flex-wrap:wrap;padding:7px 9px;border-radius:10px;background:rgba(17,45,62,.96);box-shadow:0 4px 20px rgba(0,0,0,.25);color:#fff}
.v171-highlight-toolbar>b{font-size:12px;margin-right:3px}.v171-highlight-toolbar button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:7px;min-height:34px;padding:5px 8px;font-weight:850;cursor:pointer;display:flex;gap:5px;align-items:center}
.v171-highlight-toolbar button.active{background:#fff;color:#173f57}.v171-highlight-toolbar button.done{background:#2c7b4b;border-color:#2c7b4b}
.v171-highlight-toolbar i,.v171-highlight-list-row i{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.18)}.v171-highlight-toolbar i.yellow,.v171-highlight-list-row i.yellow{background:#f7d800}.v171-highlight-toolbar i.red,.v171-highlight-list-row i.red{background:#e65c5c}.v171-highlight-toolbar i.blue,.v171-highlight-list-row i.blue{background:#4d8de0}
.v171-highlight-panel{position:absolute;right:12px;top:94px;z-index:17;width:min(360px,calc(100% - 24px));max-height:calc(100% - 120px);display:none;flex-direction:column;background:#fff;border:1px solid #dce6eb;border-radius:12px;box-shadow:0 8px 28px rgba(17,45,62,.25);overflow:hidden}.v171-highlight-panel.open{display:flex}
.v171-highlight-panel-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#173f57;color:#fff}.v171-highlight-panel-head span{display:block;font-size:12px;letter-spacing:.08em;color:#b8d2df;font-weight:900}.v171-highlight-panel-head b{display:block}.v171-highlight-panel-head button{border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}
.v171-highlight-panel-body{padding:8px;overflow:auto}.v171-highlight-list-row{display:grid;grid-template-columns:14px 1fr 28px;gap:7px;align-items:center;padding:8px;border-bottom:1px solid #edf1f3}.v171-highlight-list-row div b,.v171-highlight-list-row div span{display:block}.v171-highlight-list-row div b{font-size:12px;color:#26495c}.v171-highlight-list-row div span{font-size:12px;color:#7a8d97;margin-top:2px}.v171-highlight-list-row button{border:0;background:#f5f7f8;border-radius:6px;width:28px;height:28px;font-size:18px;cursor:pointer;color:#8e3434}.v171-highlight-empty{padding:16px;text-align:center;color:#728792;font-size:12px}
.v171-inline-editor{position:absolute;z-index:19;left:50%;top:50%;transform:translate(-50%,-50%);display:none;width:min(430px,calc(100% - 24px))}.v171-inline-editor.open{display:block}.v171-editor-card{background:#fff;border-radius:12px;padding:14px;border:1px solid #dce6eb;box-shadow:0 10px 35px rgba(0,0,0,.30)}.v171-editor-card h3{margin:2px 0 10px}.v171-editor-card .actions{display:flex;gap:7px}
.v171-highlight-count{background:#fff6c8!important;color:#7c6411!important;font-weight:900!important}
.v171-drawing-note-preview{margin-top:5px;max-width:650px;font-size:12px;color:#5d7480;background:#f6f9fa;border-radius:6px;padding:4px 6px}
@media(max-width:720px){
 .v171-highlight-toolbar{top:auto;bottom:12px;left:10px;right:10px;transform:none;justify-content:center}.v171-highlight-toolbar>b{width:100%;text-align:center}
 .v171-highlight-toolbar button{min-height:44px}.v171-highlight-panel{top:78px;right:8px;width:calc(100% - 16px);max-height:55%}
 .v171-viewer-tools{gap:5px}.v171-viewer-tools .btn{min-height:42px}.v171-pdf-caution{width:100%;max-width:none}
}


/* SiteSight V1.72 — Operative Access Control */
.v172-operative-access-card{margin:12px 0;padding:12px;border:1px solid #dce6eb;border-radius:10px;background:#f8fbfc}
.v172-operative-access-card h3{margin:2px 0}.v172-access-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:9px 0}.v172-access-facts span{padding:8px;border-radius:8px;background:#fff;border:1px solid #e4ebef;color:#617986;font-size:12px}.v172-access-facts b{display:block;color:#27495b;font-size:12px;margin-bottom:2px}
.v172-site-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0 12px}.v172-site-note{grid-column:1/-1;padding:4px 2px}
.v172-live-shift-warning{padding:9px 11px;margin:8px 0 12px;border-radius:8px;background:#fff3df;border:1px solid #ebd39a;color:#75551f}.v172-live-shift-warning b,.v172-live-shift-warning span{display:block}.v172-live-shift-warning span{font-size:12px;margin-top:2px}
.v172-linked-account{padding:9px 11px;margin:10px 0;border-radius:8px;background:#edf5f8}.v172-linked-account b,.v172-linked-account span{display:block}.v172-linked-account span{font-size:12px;color:#627985;margin-top:2px}
.v172-access-impact{padding:10px 12px;margin:10px 0;border-left:4px solid #315f78;background:#f6f9fb}.v172-access-impact b{display:block}.v172-access-impact ul{margin:6px 0 0;padding-left:18px;color:#5f7682;font-size:12px}
.v172-clock-blocked{border-left:5px solid #c14e4e}.v172-user-status{padding:8px 10px;border-radius:8px;margin:8px 0}.v172-user-status b,.v172-user-status span{display:block}.v172-user-status span{font-size:12px;margin-top:2px}.v172-user-status.active{background:#edf8f0;color:#2b7045}.v172-user-status.disabled{background:#fff0f0;color:#9b3b3b}
.v172-account-toggle{margin:9px 0 12px;padding:9px;border:1px solid #e1e8ec;border-radius:8px}.v172-account-toggle span b,.v172-account-toggle span small{display:block}.v172-account-toggle span small{color:#718590;margin-top:2px}
.v172-inline-disabled{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;background:#fff0f0;color:#9c3d3d;font-size:12px;font-weight:950}
@media(max-width:720px){.v172-access-facts{grid-template-columns:1fr}.v172-site-grid{grid-template-columns:1fr}}

/* SiteSight V1.73 — Role Workspaces */
.v173-role-template-card{margin:10px 0 12px;padding:11px 13px;border:1px solid #cfe0e8;border-left:4px solid #315f78;border-radius:9px;background:#f4f9fb;color:#315368}
.v173-role-template-card>span{display:block;font-size:12px;font-weight:950;letter-spacing:.12em;color:#66808e}
.v173-role-template-card>b{display:block;margin-top:3px;color:#173b50;font-size:13px}
.v173-role-template-card p{margin:4px 0;color:#4f6c7b;font-size:12px}
.v173-role-template-card small{display:block;color:#68808c;line-height:1.45}
.v173-role-template-card.custom{border-left-color:#c38b32;background:#fff9ef}
@media(max-width:720px){.v173-role-template-card{padding:10px 11px}.v173-role-template-card>b{font-size:12px}}

/* ===== v175-daily-control.css ===== */
/* SiteSight V1.75 — Daily Control */
.nav .v175-clock-nav{display:grid;grid-template-columns:38px 1fr;column-gap:10px;align-items:center;margin:7px 0 10px;padding:12px 13px;background:linear-gradient(135deg,#16894b,#0b6d3a);box-shadow:0 7px 18px #001b1138;color:#fff;border:1px solid #56bd7d}.nav .v175-clock-nav:hover,.nav .v175-clock-nav.active{background:linear-gradient(135deg,#ff6b28,#e8460b);border-color:#ff9a6e}.nav .v175-clock-nav.clocked-in{background:linear-gradient(135deg,#c84343,#9f2626);border-color:#e38383}.nav .v175-clock-nav>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#ffffff20;font-size:20px}.nav .v175-clock-nav>b{font-size:13px}.nav .v175-clock-nav>small{font-size:12px;color:#e5f8ec}
.v175-clock-topbar{margin-bottom:12px}.v175-clock-site{padding:8px 11px;border-radius:999px;background:#eaf2f6;color:#315a70;font-size:12px;font-weight:900}.v175-clock-hero{display:grid;grid-template-columns:1fr minmax(240px,360px);gap:18px;align-items:center;padding:26px;border-radius:18px;background:linear-gradient(135deg,#0c3149,#155b76);color:#fff;box-shadow:0 13px 34px #0c31492e}.v175-clock-hero.active{background:linear-gradient(135deg,#19364b,#284f65)}.v175-clock-hero>div>span{font-size:12px;font-weight:950;letter-spacing:.15em;color:#a8d9ea}.v175-clock-hero h2{margin:4px 0 3px;font-size:28px}.v175-clock-hero p{margin:0;color:#d6e8ee}.v175-clock-hero small{display:block;margin-top:8px;color:#bcd3dc}.v175-clock-hero>button{border:0;border-radius:16px;min-height:130px;padding:17px;color:#fff;display:grid;place-items:center;gap:3px;box-shadow:0 10px 25px #001a2360;cursor:pointer}.v175-clock-hero>button.in{background:linear-gradient(145deg,#16a05b,#08723e)}.v175-clock-hero>button.out{background:linear-gradient(145deg,#e54d4d,#b52c2c)}.v175-clock-hero>button i{font-style:normal;font-size:28px}.v175-clock-hero>button b{font-size:21px}.v175-clock-hero>button span{font-size:12px;color:#ffffffd9}.v175-finish-reminder{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;margin:12px 0;padding:12px 14px;border:1px solid #bfdae4;background:#eff8fb;border-radius:12px}.v175-finish-reminder>span{font-size:23px}.v175-finish-reminder b{font-size:12px}.v175-finish-reminder p{margin:3px 0 0;font-size:12px;color:#5b7180}.v175-finish-reminder.due{background:#fff3d4;border-color:#edc761}.v175-clock-week{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.v175-clock-week>div{padding:13px 15px;border:1px solid #dce6ec;background:#fff;border-radius:12px}.v175-clock-week span{display:block;font-size:12px;font-weight:900;color:#687d89;letter-spacing:.08em}.v175-clock-week b{display:block;margin-top:4px;font-size:17px;color:#173d52}.v175-clock-recent{padding:15px}.v175-clock-recent>div:not(.sectionhead){display:grid;grid-template-columns:1fr 130px 130px;gap:12px;align-items:center;padding:10px 2px;border-top:1px solid #edf1f4}.v175-clock-recent span{display:grid;gap:2px}.v175-clock-recent small{font-size:12px;color:var(--muted)}.v175-clock-recent>div>strong{text-align:right;color:#175775}
.v175-pattern-panel{padding:15px;margin-bottom:14px;border-left:5px solid #6657c7}.v175-pattern-grid{display:grid;gap:7px}.v175-pattern-grid>div{display:grid;grid-template-columns:1fr auto auto auto;gap:7px;align-items:center;padding:9px 10px;border:1px solid #e0e5eb;border-radius:10px;background:#fbfcfd}.v175-pattern-grid span{display:grid;gap:2px}.v175-pattern-grid b{font-size:12px}.v175-pattern-grid small{font-size:12px;color:var(--muted)}.v175-person-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.v175-person-picker label{display:flex;gap:9px;align-items:center;padding:10px;border:1px solid #dde5ea;border-radius:10px}.v175-person-picker input{width:19px;height:19px}.v175-person-picker span{display:grid;gap:2px}.v175-person-picker small{font-size:12px;color:var(--muted)}
.v175-time-access{border:1px solid #d7e4f0;background:linear-gradient(145deg,#fff,#f7fbff)}.v175-time-access-list{display:grid;gap:8px;margin-top:12px}.v175-time-access-row{display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(118px,.7fr)) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid #dfe7ee;border-radius:12px;background:#fff}.v175-time-access-row>span small{display:block;color:var(--muted);margin-top:2px}.v175-time-access-row label{display:flex;align-items:center;gap:7px;font-weight:700;color:#34495b}.v175-time-access-row input{width:18px;height:18px;accent-color:var(--orange)}
.v175-payroll-workflow{padding:16px;margin-bottom:14px;border-left:5px solid #2c7b4b}.v175-lock-state{border-radius:999px;padding:7px 10px;font-size:12px;font-weight:950}.v175-lock-state.open{background:#edf2f5;color:#566f7c}.v175-lock-state.locked{background:#e4f8ea;color:#17643a}.v175-lock-state.changed{background:#fff0d1;color:#855500}.v175-payroll-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:13px 0}.v175-payroll-steps>div{display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center;padding:10px;border:1px solid #dde5ea;border-radius:11px;background:#fafcfd}.v175-payroll-steps i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9eff3;color:#607985;font-style:normal;font-weight:950}.v175-payroll-steps span{display:grid;gap:2px}.v175-payroll-steps b{font-size:12px}.v175-payroll-steps small{font-size:12px;color:var(--muted)}.v175-payroll-steps .done{background:#edf8f1;border-color:#bfe4cb}.v175-payroll-steps .done i{background:#2c8a50;color:#fff}.v175-payroll-steps .current{border-color:#ff9b6f;background:#fff7f2}.v175-payroll-steps .current i{background:var(--orange);color:#fff}.v175-payroll-change{display:grid;gap:3px;padding:11px 13px;margin:10px 0;background:#fff4d9;border:1px solid #ebcb7b;border-radius:10px}.v175-payroll-change b{color:#754d00}.v175-payroll-change span{font-size:12px;color:#76613c}.v175-payroll-actions{display:flex;gap:8px;flex-wrap:wrap}
.v175-exceptions{padding:15px;margin-bottom:14px;border-left:5px solid #d59524}.v175-exception-total{padding:7px 10px;border-radius:999px;font-size:12px;font-weight:950}.v175-exception-total.attention{background:#fff0d0;color:#7b5100}.v175-exception-total.clear{background:#e8f7ed;color:#276b42}.v175-exception-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v175-exception-grid>button{display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;border:1px solid #dfe6eb;border-left:4px solid #d49a33;background:#fff;border-radius:11px;padding:10px;text-align:left}.v175-exception-grid>button:hover{background:#fafcfd}.v175-exception-grid>button i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff1d4;color:#7d5200;font-style:normal;font-weight:950}.v175-exception-grid>button span{display:grid;gap:2px}.v175-exception-grid>button b{font-size:12px}.v175-exception-grid>button small{font-size:12px;color:var(--muted)}.v175-exception-grid>button strong{font-size:12px;color:#315b70}.v175-exception-grid>button.issue{border-left-color:#d54848}.v175-exception-grid>button.payroll{border-left-color:#2c7b4b}.v175-all-clear{grid-column:1/-1;display:grid;gap:3px;padding:13px;border-radius:10px;background:#edf8f1;color:#356b4b}.v175-all-clear span{font-size:12px}
.v175-setup{padding:17px;margin-bottom:14px;background:linear-gradient(135deg,#f8fbfd,#fff);border:1px solid #cbdde7}.v175-setup-head{display:grid;grid-template-columns:1fr 150px;gap:15px;align-items:center}.v175-setup-head>div>span{font-size:12px;font-weight:950;letter-spacing:.13em;color:#567586}.v175-setup-head h2{margin:3px 0;font-size:19px}.v175-setup-head p{margin:0;color:var(--muted);font-size:12px}.v175-setup-progress{display:grid;gap:5px;text-align:right}.v175-setup-progress b{font-size:22px;color:#1d5c78}.v175-setup-progress i{display:block;height:8px;background:#dce6eb;border-radius:99px;overflow:hidden}.v175-setup-progress i span{display:block;height:100%;background:linear-gradient(90deg,#2e83a8,#2c9a60)}.v175-setup-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.v175-setup-steps button{display:grid;grid-template-columns:31px 1fr auto;gap:8px;align-items:center;border:1px solid #dde6eb;background:#fff;border-radius:10px;padding:10px;text-align:left}.v175-setup-steps button i{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e9f1f5;color:#315f76;font-style:normal;font-weight:950}.v175-setup-steps button span{display:grid;gap:2px}.v175-setup-steps button b{font-size:12px}.v175-setup-steps button small{font-size:12px;color:var(--muted)}.v175-setup-steps button strong{font-size:12px;color:#2a6782}.v175-setup-steps button.done{background:#f0f8f3}.v175-setup-steps button.done i{background:#2d8950;color:#fff}.v175-setup-dismiss{display:block;margin:10px 0 0 auto;border:0;background:transparent;color:#657d89;font-size:12px;font-weight:850}
@media(max-width:900px){.v175-clock-hero{grid-template-columns:1fr}.v175-payroll-steps{grid-template-columns:1fr 1fr}.v175-exception-grid,.v175-setup-steps{grid-template-columns:1fr 1fr}.v175-person-picker{grid-template-columns:1fr}.v175-time-access-row{grid-template-columns:1fr 1fr}.v175-time-access-row>span{grid-column:1/-1}}
@media(max-width:560px){.v175-clock-hero{padding:17px}.v175-clock-hero>button{min-height:112px}.v175-clock-week{grid-template-columns:1fr}.v175-clock-recent>div:not(.sectionhead){grid-template-columns:1fr auto}.v175-clock-recent>div>span:first-child{grid-column:1/-1}.v175-pattern-grid>div{grid-template-columns:1fr 1fr}.v175-pattern-grid>div>span{grid-column:1/-1}.v175-payroll-steps,.v175-exception-grid,.v175-setup-steps{grid-template-columns:1fr}.v175-setup-head{grid-template-columns:1fr}.v175-setup-progress{text-align:left}.v175-exception-grid>button{grid-template-columns:34px 1fr}.v175-exception-grid>button strong{grid-column:2}.v175-clock-topbar{display:grid}.v175-time-access-row{grid-template-columns:1fr}.v175-time-access-row>span{grid-column:auto}}

/* ===== v176-workforce-flow.css ===== */
/* SiteSight V1.76 — workforce flow and low-friction accessibility */

button,.btn,.nav button,.more-card,.quickstat,select,input[type="checkbox"],input[type="radio"]{touch-action:manipulation}
button,.btn,.select,.input{min-height:44px}
button:focus-visible,.btn:focus-visible,.select:focus-visible,.input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #f29a32!important;outline-offset:2px!important}
.v175-clock-nav{min-height:70px!important}
.v176-no-gps{display:grid;gap:5px;margin:12px 0;padding:13px;border:1px solid #abd5bc;border-radius:10px;background:#f1faf4;color:#29593c}.v176-no-gps span{line-height:1.5}
.v176-management-badge{background:#eaf3ff!important;color:#285e8a!important;border-color:#abc9e4!important}
.v176-time-select{min-width:112px}

/* People and Teams */
.v176-people-panel{margin-bottom:16px;padding:16px}.v176-people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.v176-person-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:12px;border:1px solid #d9e5ea;border-radius:10px;background:#fff}.v176-person-card span{display:block;color:#68808d}.v176-person-actions{display:flex;gap:6px;flex-wrap:wrap}.v176-team-danger{border-color:#eccaca!important;color:#a73f3f!important}.v176-workforce-card{margin:12px 0;padding:13px;border:1px solid #cfdee5;border-radius:10px;background:#f7fafb}.v176-workforce-card h3{margin:0 0 8px}.v176-link-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.v176-pay-history{margin-top:7px;color:#607783;font-size:12px}

/* Drawing fixes */
.site-drawing-card{overflow:visible!important;position:relative;z-index:1}.site-drawing-card:has(.drawing-more-menu){z-index:70}.drawing-more-wrap{z-index:75}.drawing-more-menu{z-index:90!important;min-width:210px!important}.drawing-more-menu button{min-height:44px}.drawing-filterbar,.simple-filter-extra.show{overflow:visible!important}.takeoff-workspace{overflow:auto!important}.takeoff-toolbar{position:sticky;top:0;z-index:12}.takeoff-drawing-stage{display:block!important;overflow:auto!important;place-items:initial!important;overscroll-behavior:contain}.v176-takeoff-sheet{position:relative;width:100%;min-width:620px;background:#121b20}.v176-takeoff-sheet>img{display:block;width:100%;height:auto;max-width:none!important;max-height:none!important;object-fit:initial!important;user-select:none;pointer-events:none}.v176-takeoff-sheet>#takeoff-svg{position:absolute;inset:0;width:100%;height:100%;z-index:3}.v176-finish-measurement{position:sticky;bottom:10px;z-index:15;display:block;width:calc(100% - 20px);min-height:54px;margin:10px;border:2px solid #a8d9b3;border-radius:10px;background:#2f7b48;color:#fff;font-size:14px;font-weight:950;box-shadow:0 8px 28px #0005}.takeoff-pdf iframe{pointer-events:auto!important}

/* Calendar, Assist and payment breakdown */
.v176-month-select{min-width:190px;font-weight:850}.assist-mic{min-width:54px;position:relative}.assist-mic.listening{background:#b92f3b!important;color:#fff!important;animation:v176ListenPulse 1s infinite}.assist-listening-status{padding:6px 10px;background:#fff4f4;color:#982b35;font-weight:900;text-align:center}@keyframes v176ListenPulse{50%{box-shadow:0 0 0 7px rgba(185,47,59,.18)}}
.v176-payment-splits{margin-top:14px}.v176-split-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px;border-top:1px solid #e2eaee}.v176-split-members{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.v176-split-members span{padding:5px 8px;border-radius:999px;background:#eef5f8;color:#315d71}.v176-export-panel{margin:14px 0;padding:14px;border:1px solid #bfd4df;border-radius:11px;background:#f5fafc}.v176-export-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v176-column-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.v176-column-grid label{display:flex;gap:8px;align-items:center;padding:9px;border:1px solid #dfe7eb;border-radius:8px}

.v176-daywork-assignee{display:inline-flex;gap:5px;align-items:center;padding:4px 8px;border-radius:999px;background:#eaf3f7;color:#315f74;font-weight:850}
.v176-progress-stage{display:inline-block;margin:4px 0;padding:5px 8px;border-radius:6px;background:#fff2d9;color:#74531d;font-weight:850}

@media(max-width:720px){
  button,.btn,.select,.input{min-height:48px}.v176-link-row{grid-template-columns:1fr}.v176-person-card{grid-template-columns:1fr}.calendar-month-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr}.v176-month-select{grid-column:1/-1;width:100%}.v176-takeoff-sheet{min-width:100%}.takeoff-body{grid-template-rows:minmax(470px,70vh) auto!important}.v176-column-grid{grid-template-columns:1fr}.v176-split-row{grid-template-columns:1fr auto}.assist-input-row{grid-template-columns:54px 1fr 64px!important}
}

/* ===== v177-connected-workforce.css ===== */
/* SiteSight V1.77 — simple, high-contrast connected workforce controls */
.v177-people-search,.v177-archive-filters,.v177-report-range{display:flex;align-items:end;gap:12px;padding:14px;margin-bottom:14px;flex-wrap:wrap}
.v177-people-search .searchbox,.v177-archive-filters .searchbox{flex:1;min-width:260px}
.v177-people-search>span{display:flex;gap:5px;align-items:center;color:var(--muted)}
.v177-analytics-link{white-space:nowrap}
.v177-analytics-modal{max-width:820px}
.v177-range{display:flex;align-items:end;gap:10px;padding:12px;border-radius:12px;background:#f4f7fa;margin:12px 0;flex-wrap:wrap}
.v177-range label,.v177-archive-filters label,.v177-report-range label{font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.v177-range input,.v177-archive-filters input[type=date],.v177-report-range input{display:block;margin-top:4px}
.v177-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:14px 0}
.v177-metric-grid>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:5px}
.v177-metric-grid span{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase}.v177-metric-grid b{font-size:24px;color:var(--navy)}
.v177-analytics-note,.v177-unverified-warning,.v177-cis-warning{display:flex;flex-direction:column;gap:4px;border-radius:12px;padding:12px;margin:10px 0;background:#fff7e8;border:1px solid #f6cf8f;color:#69420b}
.v177-offline-request{margin-top:10px}.v177-offline-panel{margin:14px 0}.v177-request-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,2fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.v177-request-row span{display:flex;flex-direction:column}.v177-request-row small{color:var(--muted);margin-top:3px}.v177-request-row p{margin:0}
.v177-archive-columns{align-items:start}.v177-archive-columns>.panel{width:100%}.v177-archive-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}
.v177-archive-row>span{display:flex;flex:1;flex-direction:column;min-width:0}.v177-archive-row small{color:var(--muted);margin-top:4px}
.v177-report-range strong{color:var(--navy);padding-bottom:9px}.v177-report-range>b{color:var(--red);padding-bottom:9px}
.v177-reconciliation{margin-top:14px}.v177-recon-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}
.v177-recon-row>span{display:flex;flex-direction:column}.v177-recon-row small{color:var(--muted);margin-top:3px}.v177-recon-row em{font-style:normal;font-size:12px;font-weight:900;text-transform:uppercase;padding:5px 8px;border-radius:999px;background:#edf1f4}.v177-recon-row .status-matched,.v177-recon-row .status-checked{background:#def6e7;color:#166534}.v177-recon-row .status-query{background:#ffe0e0;color:#991b1b}
.v177-cis-footnote{margin-top:12px;padding:10px;border-radius:10px;background:#f5f7f9;color:var(--muted);font-size:12px;line-height:1.45}
.v177-cis-calc{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.v177-cis-calc span{padding:10px;border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between}
.v177-push-card{display:flex;align-items:center;gap:14px;margin-top:14px}.v177-push-card>span{font-size:30px}.v177-push-card>div{flex:1}.v177-push-card p{margin:4px 0;color:var(--muted)}.v177-push-card small{font-weight:900;color:var(--blue)}
.team-member .v177-analytics-link{margin-left:auto}.team-member>div.clickable{display:flex;flex-direction:column;flex:1}
@media(max-width:720px){.v177-request-row,.v177-recon-row{grid-template-columns:1fr}.v177-archive-columns{display:block}.v177-archive-columns>.panel{margin-bottom:12px}.v177-push-card{align-items:flex-start;flex-wrap:wrap}.v177-push-card button{width:100%}.v177-cis-calc{grid-template-columns:1fr}.v177-people-search .searchbox,.v177-archive-filters .searchbox{min-width:100%}}

/* ===== v178-site-flow.css ===== */
/* SiteSight V1.78 — high-visibility measurement completion and decisions. */
.v178-finish-measurement{width:100%;min-height:78px;margin:0 0 14px;border:0;border-radius:14px;background:linear-gradient(135deg,#087a43,#10a55c);color:#fff;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:13px 16px;text-align:left;box-shadow:0 8px 22px rgba(8,122,67,.28);cursor:pointer}
.v178-finish-measurement span{grid-row:1/3;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#087a43;font-size:24px;font-weight:900}
.v178-finish-measurement b{font-size:17px;line-height:1.15;text-transform:uppercase;letter-spacing:.02em}
.v178-finish-measurement small{font-size:12px;color:#e8fff3}
.v178-finish-measurement:disabled{background:#9aa9b4;box-shadow:none;cursor:not-allowed}
.v174-ot.rejected{background:#ffe9e8;color:#9d2924;border:1px solid #f1b7b3}
@media(max-width:900px){.v178-finish-measurement{position:sticky;top:8px;z-index:5}}

/* ===== v179-cis-pay.css ===== */
/* SiteSight V1.79 — CIS pay-run and plain task permissions. */
.v179-cis-run{border-top:5px solid #e28a20}.v179-run-state{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-weight:800;font-size:12px}.v179-run-state.action{color:#8a2b13;background:#fff0e5}.v179-run-state.ready{color:#17613b;background:#e8f5ee}.v179-period-warning{display:flex;gap:10px;align-items:center;margin:14px 0;padding:12px 14px;border-left:5px solid #e28a20;background:#fff6e8;border-radius:8px}.v179-period-warning span{color:#5e4a2f}.v179-cis-metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin:16px 0}.v179-cis-metrics>div{display:flex;flex-direction:column;gap:5px;padding:13px;border:1px solid #dce3e8;border-radius:12px;background:#f8fafb}.v179-cis-metrics span{font-size:12px;font-weight:800;color:#637283;text-transform:uppercase}.v179-cis-metrics b{font-size:20px;color:#122c43}.v179-cis-metrics .retain{background:#fff0e5;border-color:#efc19d}.v179-cis-metrics .retain b{color:#9b3b13}.v179-cis-metrics .net{background:#e9f5ee;border-color:#b9d9c7}.v179-cis-metrics .net b{color:#17613b}.v179-cis-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.v179-cis-filter{display:flex;gap:7px;margin:18px 0 10px;padding-bottom:10px;border-bottom:1px solid #dce3e8}.v179-cis-filter button{border:0;border-radius:999px;padding:8px 12px;background:#edf1f4;color:#34495e;font-weight:800;cursor:pointer}.v179-cis-filter button.active{background:#173a55;color:white}.v179-payee-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v179-payee{padding:14px;border:1px solid #dce3e8;border-left:5px solid #d17832;border-radius:12px;background:#fff}.v179-payee.ready{border-left-color:#2d8a58}.v179-payee-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v179-payee-title span{display:flex;flex-direction:column;gap:4px}.v179-payee-title small{color:#637283}.v179-payee-title em{font-style:normal;font-size:12px;font-weight:900;text-transform:uppercase;padding:5px 8px;border-radius:999px;color:#8a2b13;background:#fff0e5}.v179-payee.ready .v179-payee-title em{color:#17613b;background:#e8f5ee}.v179-payee-money{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.v179-payee-money span{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#637283;text-transform:uppercase}.v179-payee-money b{font-size:13px;color:#172b42}.v179-issues{display:flex;flex-wrap:wrap;gap:6px}.v179-issues span{padding:5px 8px;border-radius:6px;background:#fff1ec;color:#8a2b13;font-size:12px;font-weight:700}.v179-complete{padding:8px;border-radius:7px;background:#e8f5ee;color:#17613b;font-size:12px;font-weight:700}.v179-payee-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.v179-cis-note{margin-top:16px;padding:13px;border-radius:10px;background:#eef3f6;color:#43596b;line-height:1.5}.v179-payment-checks{margin-top:14px}.v179-guidance{display:flex;flex-direction:column;gap:4px;margin:12px 0;padding:12px 14px;border-left:5px solid #e28a20;border-radius:8px;background:#fff6e8}.v179-guidance span{color:#5e4a2f;line-height:1.45}.v179-confirm{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:12px;border:1px solid #cbd7df;border-radius:10px;background:#f7fafb;cursor:pointer}.v179-confirm input{width:20px;height:20px;margin-top:1px;flex:0 0 auto}.v179-confirm span{display:flex;flex-direction:column;gap:4px}.v179-confirm small{color:#607282;line-height:1.35}.v179-permission-customizer>summary{min-height:58px}.v179-permission-intro{display:flex;flex-direction:column;gap:4px;margin:12px 0;padding:13px;border-radius:10px;background:#eef5fa}.v179-permission-intro span{color:#516778}.v179-permission-group>p{margin:0 0 10px;color:#607282}.v179-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v179-permission-question{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #dbe3e8;border-radius:9px;background:#fff;cursor:pointer}.v179-permission-question input{width:19px;height:19px;margin-top:1px;flex:0 0 auto}.v179-permission-question span{display:flex;flex-direction:column;gap:3px}.v179-permission-question b{font-size:12px;line-height:1.35;color:#20384b}.v179-permission-question small{font-size:12px;line-height:1.35;color:#667887}.v179-permission-question:has(input:checked){border-color:#79a7c5;background:#f0f7fb}
@media(max-width:900px){.v179-cis-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v179-payee-list{grid-template-columns:1fr}}
@media(max-width:640px){.v179-cis-metrics{grid-template-columns:1fr 1fr}.v179-cis-metrics>div:last-child{grid-column:1/-1}.v179-payee-money{grid-template-columns:1fr 1fr}.v179-question-grid{grid-template-columns:1fr}.v179-period-warning{align-items:flex-start;flex-direction:column}}

/* ===== v180-usability-audit.css ===== */
.v180-start{display:grid;grid-template-columns:minmax(260px,1fr) minmax(330px,1.35fr);gap:22px;align-items:center;margin:0 0 22px;padding:24px;border:1px solid #ccdae4;border-radius:18px;background:linear-gradient(135deg,#ffffff 0%,#f1f7fa 62%,#e6f1f5 100%);box-shadow:0 12px 34px rgba(12,39,58,.09);overflow:hidden;position:relative}
.v180-start:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:#f2a900}.v180-start.new-user:before{background:#1c8b72}
.v180-start-copy>span{display:block;color:#557083;font-size:12px;font-weight:900;letter-spacing:.09em;margin-bottom:5px}.v180-start-copy h2{font-size:25px;line-height:1.15;margin:0 0 8px;color:#0c273a}.v180-start-copy p{color:#486171;line-height:1.55;margin:0;max-width:580px}.v180-start-copy p b{color:#163b52}.v180-start-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v180-start-actions>button{min-height:82px;border:1px solid #cad8e1;border-radius:13px;background:#fff;padding:12px;display:flex;align-items:center;text-align:left;gap:10px;color:#17364a;cursor:pointer;transition:.16s ease;box-shadow:0 4px 12px rgba(12,39,58,.05)}.v180-start-actions>button:hover,.v180-start-actions>button:focus-visible{border-color:#6e96aa;transform:translateY(-2px);box-shadow:0 8px 20px rgba(12,39,58,.12)}.v180-start-actions>button.primary{background:#0c3a55;color:#fff;border-color:#0c3a55}.v180-start-actions i{font-style:normal;font-size:21px}.v180-start-actions span{display:flex;flex-direction:column;gap:3px;min-width:0}.v180-start-actions b{font-size:13px;line-height:1.25}.v180-start-actions small{font-size:12px;opacity:.74}.v180-start-actions strong{margin-left:auto;font-size:20px}.v180-welcome-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.v180-text-button{border:0;background:transparent;color:#315f79;font-size:12px;font-weight:800;text-decoration:underline;cursor:pointer;padding:7px}
.v180-login-message{border-radius:9px;padding:10px 12px;margin-bottom:12px;font-size:12px;font-weight:750;line-height:1.4}.v180-login-message.error{background:#fff0ee;color:#8b2d21;border:1px solid #efc0b9}.v180-login-message.working{background:#edf6fa;color:#20546d;border:1px solid #c8dfe9}.v180-login-help{margin-top:15px;border-top:1px solid #d9e1e7;padding-top:14px;color:#5f7280;font-size:12px;line-height:1.5}.v180-login-help b{color:#29485b}.v180-caps-lock{margin-top:6px;color:#8b5310;background:#fff5de;border:1px solid #efd18c;border-radius:7px;padding:6px 9px;font-size:12px;font-weight:800}.v180-recovery-steps{display:grid;gap:10px;margin:20px 0}.v180-recovery-steps>div{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #d8e2e8;border-radius:11px;background:#f8fbfc}.v180-recovery-steps i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#0c3a55;color:#fff;font-style:normal;font-weight:900;flex:0 0 auto}.v180-recovery-steps span{display:flex;flex-direction:column;gap:3px}.v180-recovery-steps b{font-size:12px;color:#17364a}.v180-recovery-steps small{font-size:12px;line-height:1.45;color:#647985}
.auth-login-btn:disabled,.setup-button:disabled{opacity:.68;cursor:wait}.first-setup-card .auth-input-wrap{width:100%}.first-setup-card .auth-input{padding-left:12px}
@media(max-width:1050px){.v180-start{grid-template-columns:1fr}.v180-start-actions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.v180-start{margin:0 0 14px;padding:18px 15px;border-radius:14px;gap:15px}.v180-start-copy h2{font-size:21px}.v180-start-actions{grid-template-columns:1fr}.v180-start-actions>button{min-height:58px}.v180-start-actions small{font-size:12px}.v180-welcome-actions{align-items:flex-start;flex-direction:column}.v180-text-button{padding-left:0}.auth-login-btn,.setup-button{min-height:50px}}
@media(prefers-reduced-motion:reduce){.v180-start-actions>button{transition:none}.v180-start-actions>button:hover{transform:none}}

/* ===== v181-enterprise-demo.css ===== */
.v181-portfolio{border:1px solid #b9d7e5;background:linear-gradient(135deg,#f8fcfe 0%,#edf7fb 55%,#fff8e8 100%);overflow:hidden}
.v181-portfolio-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:13px}
.v181-portfolio-head span{display:block;color:#267092;font-size:12px;font-weight:950;letter-spacing:.11em}
.v181-portfolio-head h2{margin:3px 0 4px;color:#123b53}
.v181-portfolio-head p{margin:0;color:#607986}
.v181-portfolio-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:11px}
.v181-portfolio-metrics>div{padding:11px 12px;border:1px solid #d6e6ed;border-radius:10px;background:rgba(255,255,255,.86)}
.v181-portfolio-metrics b,.v181-portfolio-metrics span{display:block}.v181-portfolio-metrics b{font-size:23px;color:#123b53}.v181-portfolio-metrics span{margin-top:2px;color:#6b818d;font-size:12px;font-weight:850}
.v181-portfolio-metrics .attention{border-color:#efc66f;background:#fff9e9}.v181-portfolio-metrics .attention b{color:#9b6410}
.v181-site-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.v181-site-card{display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px;border:1px solid #d7e4ea;border-radius:11px;background:#fff;text-align:left;cursor:pointer;box-shadow:0 2px 7px rgba(18,59,83,.05)}
.v181-site-card:hover{transform:translateY(-1px);border-color:#74a9c0;box-shadow:0 6px 16px rgba(18,59,83,.10)}
.v181-site-code{color:#3b7d9e;font-size:12px;font-weight:950;letter-spacing:.07em}.v181-site-card>b{overflow:hidden;color:#173e55;text-overflow:ellipsis;white-space:nowrap}.v181-site-card>small{min-height:28px;color:#6e818c;line-height:1.35}
.v181-site-card>i{display:block;height:7px;margin:5px 0 2px;border-radius:999px;background:#e6eef2;overflow:hidden}.v181-site-card>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2c8e68,#55b581)}
.v181-site-foot{display:flex;justify-content:space-between;gap:8px;color:#57717f;font-size:12px}.v181-site-foot strong.warn{color:#a1640c}
.demo-login-box>div{grid-template-columns:145px 1fr}
@media(max-width:1050px){.v181-site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v181-portfolio-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.v181-portfolio-head{flex-direction:column}.v181-portfolio-head .btn{width:100%}.v181-portfolio-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v181-site-grid{grid-template-columns:1fr}.demo-login-box>div{grid-template-columns:1fr;gap:2px}}

/* ===== v182-operational-polish.css ===== */
/* SiteSight V1.82 — spacious, calm operational presentation */

:root{--v182-purple:#7651b6;--v182-purple-soft:#f2edfb}
.main{padding-bottom:96px!important}
.panel,.card,.work-section-card,.modalbox{overflow-wrap:anywhere}
.panel{padding:16px}
.panel>.sectionhead:first-child{margin-top:0}
.card{padding:16px}
p,.muted,small,.sub{line-height:1.5}
.sectionhead{align-items:flex-start!important;gap:14px!important}
.sectionhead>div{min-width:0}.sectionhead h2,.sectionhead h3{line-height:1.25!important}
.actions{align-items:center}.actions .btn,.actions .select{margin:0}
.btn{line-height:1.25;white-space:normal}.input,.select,.textarea{line-height:1.35}
.field{gap:7px!important;margin:11px 0!important}.field label{line-height:1.35}
.modalbox{padding:24px!important}.modalbox>h2{margin-top:4px!important}.modalbox>.muted{margin-bottom:16px}
.workcard{padding:15px!important;min-height:160px!important}.workcard .meta{line-height:1.45}
.work-section-card{padding:17px!important;margin-top:15px!important}
.topbar{align-items:flex-start!important;margin-bottom:18px!important}.topbar .sub{max-width:760px}

.v182-expander{grid-column:1/-1;width:100%;margin-top:8px;border:1px solid #d8e3e9;border-radius:11px;background:#f8fafb;overflow:hidden}
.v182-expander>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 13px;color:#285f7c;font-size:12px;font-weight:900;cursor:pointer;list-style:none}
.v182-expander>summary::-webkit-details-marker{display:none}.v182-expander[open]>summary{border-bottom:1px solid #d8e3e9;background:#eef5f8}.v182-expander>summary b{color:#627887;font-size:12px}
.v182-expanded-list{display:grid;gap:0;padding:8px}.v182-expanded-attention{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
.v182-expanded-cards,.v182-dom-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;padding:10px}.v182-card-expander{margin-top:2px}
.v182-dom-expander{margin:10px 0}.v182-table-head{background:#f7f9fc;font-weight:900}
.v182-work-list{padding:16px}.v182-empty-note{padding:8px 0;font-size:12px}
.v182-table-toggle{display:block;margin:10px auto 2px!important}

.workcard.v182-daywork{border:2px solid #a68bd2!important;border-left:7px solid var(--v182-purple)!important;background:linear-gradient(145deg,#faf8ff,#f2edfb)!important}
.workcard.v182-daywork .bar i{background:var(--v182-purple)!important}.b-purple{background:#e8def8;color:#603b9d}
.v182-daywork-context{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(320px,.8fr);gap:13px;align-items:start;margin:15px 0;padding:15px;border:1px solid #cdbbea;border-left:6px solid var(--v182-purple);border-radius:11px;background:var(--v182-purple-soft)}
.v182-daywork-context>div{display:grid;gap:4px}.v182-daywork-context small{color:#6f6384}.v182-daywork-context dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0}.v182-daywork-context dl>div{padding:8px;border-radius:7px;background:#fff}.v182-daywork-context dt{color:#756887;font-size:12px;font-weight:850;text-transform:uppercase}.v182-daywork-context dd{margin:3px 0 0;font-size:12px;font-weight:800}
.v182-new-work [hidden],#v182-daywork-fields[hidden],#v182-house-field[hidden]{display:none!important}

.v182-person-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,auto);align-items:center;gap:14px;min-width:0;padding:14px!important}
.v182-person-copy{min-width:0;display:grid;gap:4px}.v182-person-copy b,.v182-person-copy span{min-width:0;overflow-wrap:anywhere}
.v182-person-actions{position:static!important;display:flex!important;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}
.v182-person-actions .select{width:min(210px,100%);min-width:155px}.v182-team-grid .team-member{padding:9px 0}
.v182-team-grid .team-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}

.v182-admin-people section{margin-top:14px;border:1px solid #dfe7eb;border-radius:10px;overflow:hidden}.v182-admin-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;background:#f3f7f9}.v182-admin-group-head h3{margin:0}.v182-admin-group-head>div{display:flex;align-items:center;gap:8px}.v182-admin-group-head span{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:#e2edf3;color:#34647e;font-size:12px;font-weight:900}
.v182-admin-person{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 13px;border:0;border-top:1px solid #e5ecef;background:#fff;text-align:left}.v182-admin-person:hover{background:#f8fbfc}.v182-admin-person span{display:grid;gap:3px}.v182-admin-person small{color:#6a7f8b}.v182-admin-person strong{color:#347797}

.v182-live-context,.v182-period-summary,.v182-pay-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px;background:linear-gradient(135deg,#f6fbfd,#fff)}
.v182-period-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.v182-leave-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.v182-live-context>div,.v182-period-summary>div,.v182-pay-context>div{display:grid;gap:4px;min-width:0;padding:11px;border:1px solid #dce6eb;border-radius:9px;background:#fff}.v182-live-context span,.v182-period-summary span,.v182-pay-context span{color:#687e8b;font-size:12px;font-weight:900;letter-spacing:.04em}.v182-live-context b,.v182-period-summary b,.v182-pay-context b{color:#173f56;font-size:18px}.v182-live-context small{color:#758792}.v182-live-context .warn,.v182-period-summary .warn{border-color:#e9c77d;background:#fff9eb}.v182-live-context .warn b,.v182-period-summary .warn b{color:#8a6115}
.v182-accounts-boundary{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;border-left:5px solid #397da4;background:#f1f7fa}.v182-accounts-boundary b{white-space:nowrap}.v182-accounts-boundary span{color:#536d7c;line-height:1.5}

.toast,.saved-toast{right:24px!important;bottom:84px!important;max-width:min(420px,calc(100vw - 48px));line-height:1.4}.undo-snackbar{bottom:84px!important}
table th,table td{padding:10px!important;line-height:1.4}.att-table-wrap,.payment-history-page .panel>div[style*="overflow"]{max-height:68vh;overflow:auto!important}

@media(max-width:1100px){.v182-expanded-cards,.v182-dom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v182-live-context,.v182-pay-context{grid-template-columns:repeat(2,minmax(0,1fr))}.v182-period-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.v182-daywork-context{grid-template-columns:auto 1fr}.v182-daywork-context dl{grid-column:1/-1}}
@media(max-width:720px){.main{padding-bottom:135px!important}.panel,.card{padding:14px}.modalbox{padding:18px!important}.v182-expanded-attention,.v182-expanded-cards,.v182-dom-grid{grid-template-columns:1fr}.v182-person-card{grid-template-columns:1fr}.v182-person-actions{justify-content:flex-start}.v182-person-actions .select{width:100%}.v182-live-context,.v182-period-summary,.v182-pay-context,.v182-leave-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.v182-daywork-context{grid-template-columns:1fr}.v182-daywork-context dl{grid-template-columns:1fr}.toast,.saved-toast{left:12px!important;right:12px!important;bottom:132px!important;text-align:center}.undo-snackbar{bottom:132px!important}.v182-accounts-boundary{display:grid}.v182-admin-group-head{align-items:flex-start}.v182-admin-group-head>div{flex-wrap:wrap;justify-content:flex-end}}

/* ===== v183-individual-workforce.css ===== */
/* SiteSight V1.83 — compact individuals and clearer action states */

.v180-start{display:none!important}
.dashboard-attention{border:1px solid #efcf83!important;background:linear-gradient(145deg,#fffaf0,#fff4d9)!important;box-shadow:0 8px 22px rgba(142,96,13,.08)}
.dashboard-attention .dashboard-attention-row{border-color:#ead49e;background:rgba(255,255,255,.88)}

.v183-status-section{margin:12px 0;border:1px solid #dce5ea;border-radius:12px;background:#fff;overflow:hidden}
.v183-status-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 14px;cursor:pointer;list-style:none;background:#f7fafb;color:#173f56;font-size:16px;font-weight:900}
.v183-status-section>summary::-webkit-details-marker{display:none}.v183-status-section>summary>span:after{content:' ▼';color:#78909e;font-size:12px}.v183-status-section[open]>summary>span:after{content:' ▲'}
.v183-status-section>summary .viewall{margin-left:auto}.v183-status-content{padding:13px}.v183-status-section.complete>summary{background:#f1faf5}.v183-status-section.signed>summary{background:#fff9e9}

.v183-people-panel{padding:14px!important}.v183-people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:9px}
.v183-person-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:10px 12px;border:1px solid #dce6eb;border-radius:10px;background:#fff;color:#173f56;text-align:left;cursor:pointer;box-shadow:0 2px 7px rgba(15,43,60,.04)}
.v183-person-card:hover,.v183-person-card:focus-visible{border-color:#6d9bb3;background:#f7fbfd;box-shadow:0 5px 14px rgba(15,43,60,.09)}.v183-person-card>span:nth-child(2){display:grid;gap:2px;min-width:0}.v183-person-card b,.v183-person-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v183-person-card small{color:#6b7f8b}.v183-person-card strong{color:#347797;font-size:12px}.v183-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#e6f1f6;color:#285f7c;font-size:12px;font-weight:950;letter-spacing:.03em}
.v183-admin-people{border:1px solid #e2e9ed;border-radius:10px;overflow:hidden}.v183-admin-people .v182-admin-person:first-child{border-top:0}

.v183-finish-measurement{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:38px 1fr;gap:0 9px;align-items:center;width:100%;min-height:72px;margin:0 0 12px;padding:12px;border:2px solid #16805f;border-radius:12px;background:linear-gradient(135deg,#16805f,#0f6b50);color:#fff;text-align:left;box-shadow:0 8px 20px rgba(15,107,80,.24);cursor:pointer}
.v183-finish-measurement>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:#fff;color:#0f6b50;font-size:21px;font-weight:950}.v183-finish-measurement b{font-size:15px}.v183-finish-measurement small{font-size:12px;color:#e3fff5}.v183-finish-measurement:disabled{border-color:#9aabb4;background:#9aabb4;box-shadow:none;cursor:not-allowed}
.takeoff-sidebar{max-height:calc(100vh - 190px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:24px}.takeoff-canvas-column{min-height:0}.takeoff-drawing-stage{overflow:auto!important;max-height:calc(100vh - 270px);overscroll-behavior:contain}.takeoff-drawing-stage img{max-width:none;min-width:100%;height:auto}.takeoff-workspace{max-height:94vh;overflow:auto}

.v183-total-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.v183-workforce-analytics .v169-breakdown{margin-top:14px}.v183-workforce-analytics td small{display:block;color:#6d7f8a;margin-top:2px}.payment-filter-grid-v158{grid-template-columns:repeat(6,minmax(150px,1fr))!important}

@media(max-width:980px){.v183-total-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-filter-grid-v158{grid-template-columns:repeat(2,minmax(0,1fr))!important}.takeoff-sidebar{max-height:none}.takeoff-drawing-stage{max-height:65vh}}
@media(max-width:720px){.v183-people-grid{grid-template-columns:1fr}.v183-person-card{min-height:60px}.v183-status-section>summary{font-size:14px}.v183-total-cards,.payment-filter-grid-v158{grid-template-columns:1fr!important}.v183-finish-measurement{position:sticky;top:6px}.takeoff-drawing-stage{max-height:58vh}.takeoff-workspace{max-height:96vh}}

/* ===== v184-guided-control.css ===== */
/* SiteSight V1.84 — guided control and PDF take-off polish. */

:root{--v184-focus:#2b83ad;--v184-soft:#f5f8fa;--v184-border:#d9e3e9;--v184-navy:#12384d;--v184-orange:#e77b17}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--v184-focus) 42%,transparent);outline-offset:2px}
.panel,.card,.modalbox{border-color:var(--v184-border)!important}
.panel{overflow:visible}
.modalbox{position:relative;padding:clamp(18px,2.4vw,28px);box-shadow:0 24px 80px rgba(8,35,55,.28)}
.modalbox>h2:first-of-type{margin-top:5px;line-height:1.2}
.field{gap:7px;margin:11px 0}.field label{line-height:1.3}.input,.select,.textarea{min-height:44px;line-height:1.35}
.btn{min-height:42px;line-height:1.2}.btn.smallbtn{min-height:36px;padding:8px 12px}
.sectionhead{gap:12px}.sectionhead>div{min-width:0}.sectionhead h2,.sectionhead h3{line-height:1.25}
.muted,.sub,small{line-height:1.4}

/* The sidebar still scrolls with wheel/touch/keys, without a distracting track. */
.sidebar .nav{scrollbar-width:none!important;overscroll-behavior:contain;padding-bottom:18px!important}
.sidebar .nav::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.sidebar .nav button{margin:3px 0!important;border:1px solid transparent!important}
.sidebar .nav button:hover{border-color:rgba(255,255,255,.10)!important}

/* Notifications stay visible beside Settings. */
.settingswrap.v184-profile-actions{display:flex;align-items:center;gap:5px;position:relative;flex:0 0 auto}
.v184-notification-bell,.v184-mobile-notification-bell{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.07);color:#fff;padding:0}
.v184-notification-bell:hover{background:rgba(255,255,255,.14)}
.v184-notification-bell.has-unread{background:#fff4df;color:#9a5312;border-color:#f1bd79}
.v184-notification-bell>b,.v184-mobile-notification-bell>b{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:#cf3038;color:#fff;border:2px solid #102f42;font-size:12px;line-height:1}
.v184-mobile-notification-bell{display:none}

/* Permissions are direct choices, not a guided questionnaire. */
.v184-role-note,.v184-permission-intro{display:flex;gap:7px;flex-direction:column;padding:13px 15px;margin:14px 0;border:1px solid #cfe0e8;border-radius:12px;background:#f1f8fb;color:#264e62}
.v184-role-note b,.v184-permission-intro b{font-size:13px}.v184-role-note span,.v184-permission-intro span{font-size:12px;line-height:1.45}
.permission-groups.v184-permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.v184-permission-group{margin:0!important;padding:14px!important;border:1px solid var(--v184-border)!important;border-radius:13px!important;background:#fff!important}
.v184-permission-group h4{margin:0 0 10px;font-size:13px;color:#173f56}
.v184-permission-grid{display:grid;gap:7px}
.v184-permission-box{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:6px;min-height:44px;border:1px solid #dce5ea;border-radius:10px;background:#fafcfd;transition:.15s ease}
.v184-permission-box:hover{border-color:#9ebdcd;background:#f4f9fb}
.v184-permission-box:has(input:checked){border-color:#66a682;background:#edf8f1;box-shadow:inset 3px 0 #369466}
.v184-permission-box label{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:7px 4px 7px 10px;cursor:pointer}
.v184-permission-box input{position:absolute;opacity:0;pointer-events:none}
.v184-permission-check{display:grid;place-items:center;width:21px;height:21px;border:2px solid #a9bbc5;border-radius:6px;background:#fff;color:transparent;font-size:12px;font-weight:1000}
.v184-permission-box input:checked+.v184-permission-check{border-color:#2f8d61;background:#2f8d61;color:#fff}
.v184-permission-box b{font-size:12px;line-height:1.3;color:#294b5c}
.v184-permission-help{display:grid;place-items:center;width:24px;height:24px;border:1px solid #b8cbd5;border-radius:50%;background:#fff;color:#35657d;font-weight:1000;font-size:12px;padding:0}
.v184-permission-box.restricted{opacity:.58;background:#f4f5f6}.v184-permission-box.restricted label{cursor:not-allowed}.v184-permission-box.restricted:after{content:"Role restricted";grid-column:1/-1;margin:-4px 10px 7px 40px;color:#6e7f88;font-size:12px}
.v184-help-modal{width:min(500px,100%)}.v184-help-modal p{font-size:14px;line-height:1.55;color:#39596a}
.v184-modal-close{position:absolute;right:14px;top:14px;width:34px;height:34px;border:0;border-radius:9px;background:#eef3f6;color:#345567;font-size:21px}
.v184-role-limit{margin:13px 0;padding:11px 13px;border-left:4px solid #e79a2d;background:#fff7e8;color:#815719;font-weight:800;font-size:12px}

/* Updated guide marker. */
.v184-guide-updated{display:inline-flex;width:max-content;margin-bottom:10px;padding:5px 9px;border-radius:99px;background:#e6f4f9;color:#1d607d;font-size:12px;font-weight:950;letter-spacing:.06em}
.guide-step-row{padding:13px!important;gap:12px!important}.guide-step-row small{margin-top:3px}

/* Taskbot voice state is unmistakable and remains stable while transcribing. */
.assist-mic{min-width:50px;font-size:17px}.assist-mic.listening{background:#b92f3b!important;color:#fff!important}
.assist-listening-status{padding:8px 12px!important;letter-spacing:.02em}
.assist-msg>div:first-child{line-height:1.5!important}.assist-actions button{min-height:36px;padding:8px 10px!important}

/* PDF.js renders one exact page; the SVG shares its dimensions and normalized coordinates. */
.v184-takeoff-workspace{max-height:95vh!important;overflow:auto!important}
.v184-pdf-controls{position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 10px;border:1px solid #cddce4;border-bottom:0;border-radius:11px 11px 0 0;background:#f8fbfc;box-shadow:0 5px 14px rgba(18,56,77,.08)}
.v184-pdf-controls label{display:flex;align-items:center;gap:6px;color:#34596c;font-size:12px;font-weight:850}
.v184-pdf-controls input{width:62px;min-height:34px;border:1px solid #c8d7df;border-radius:8px;padding:5px;text-align:center}
.v184-pdf-controls select{min-height:34px;border:1px solid #c8d7df;border-radius:8px;background:#fff;padding:5px 8px}
.v184-pdf-controls>span{margin-left:auto;color:#567180;font-size:12px;font-weight:800}
.v184-pdf-scroll{max-height:calc(100vh - 330px);min-height:420px;overflow:auto;overscroll-behavior:contain;border:1px solid #cddce4;border-radius:0 0 11px 11px;background:#d8dde1;padding:12px}
.v184-pdf-sheet,.v184-image-sheet{position:relative;margin:0 auto;background:#fff;box-shadow:0 8px 28px rgba(8,35,55,.20)}
.v184-pdf-sheet canvas{display:block;width:100%;height:100%;pointer-events:none}
.v184-pdf-sheet #takeoff-svg,.v184-image-sheet #takeoff-svg{position:absolute;inset:0;width:100%;height:100%;z-index:4;cursor:crosshair}
.v184-image-sheet{width:max-content;min-width:100%}.v184-image-sheet img{display:block;max-width:none;min-width:100%;height:auto}
.v184-pdf-note{display:flex;gap:8px;align-items:flex-start;margin-top:8px;padding:9px 11px;border-radius:9px;background:#edf7fb;color:#315e73;font-size:12px;line-height:1.45}.v184-pdf-note span{flex:1}
.v184-finish-measurement{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:36px 1fr;column-gap:8px;width:100%;margin:0 0 12px;padding:11px 12px;border:0;border-radius:11px;background:linear-gradient(135deg,#e87918,#c9540e);color:#fff;text-align:left;box-shadow:0 8px 22px rgba(194,84,14,.26)}
.v184-finish-measurement>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.18);font-size:19px}.v184-finish-measurement>b{font-size:13px}.v184-finish-measurement>small{color:#fff3e9;font-size:12px}.v184-finish-measurement:disabled{background:#9aa8af;box-shadow:none;cursor:not-allowed}
.takeoff-sidebar{scrollbar-width:thin;scrollbar-color:#b6c6ce transparent}.takeoff-row{padding:11px!important}.takeoff-row-main small{line-height:1.4}

@media(max-width:900px){
  .permission-groups.v184-permission-groups{grid-template-columns:1fr}
  .v184-pdf-scroll{min-height:360px;max-height:58vh}
  .v184-pdf-controls>span{width:100%;margin-left:0}
}
@media(max-width:720px){
  .v184-mobile-notification-bell{display:grid;position:fixed;right:58px;top:8px;z-index:65;background:#173f56;border-color:#315b72}
  .v184-mobile-notification-bell.has-unread{background:#fff4df;color:#914c10}
  .v184-mobile-notification-bell>b{border-color:#fff}
  .v184-pdf-controls{position:relative}.v184-pdf-controls .btn{flex:1}
  .v184-pdf-scroll{min-height:320px;max-height:54vh;padding:7px}
  .modalbox{padding:18px}.topbar{gap:12px}.topbar .actions{width:100%}
}

/* ===== v185-release-candidate.css ===== */
/* SiteSight V1.85 — release-candidate visual and accessibility polish. */

:root{--v185-shadow:0 8px 26px rgba(12,39,58,.08);--v185-raised:0 14px 34px rgba(12,39,58,.13)}
html{scroll-behavior:smooth}body{background:#f4f7f9}
.main{min-width:0}.main>*{max-width:100%}
.panel,.card{box-shadow:var(--v185-shadow)}
.panel,.card,.modalbox,.smart-empty,.empty-help{overflow-wrap:anywhere}
.more-card[role="button"],.admin-clickable[role="button"],.clickable-listrow[role="button"]{cursor:pointer}
.more-card[role="button"]:hover,.more-card[role="button"]:focus-visible{transform:translateY(-2px);box-shadow:var(--v185-raised)}
.more-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.topbar{align-items:flex-start}.topbar h1{line-height:1.12}.topbar .sub{margin-top:5px;max-width:72ch}
.topbar .actions{align-items:center;gap:8px;flex-wrap:wrap}
.sectionhead{align-items:flex-start}.sectionhead .actions{display:flex;gap:8px;flex-wrap:wrap}
.btn,.nav button,.mobilebar button,.more-card{-webkit-tap-highlight-color:transparent}
.btn:disabled,button:disabled{cursor:not-allowed;filter:saturate(.65)}
.input,.select,.textarea{padding-left:13px;padding-right:13px;background-color:#fff}
.textarea{min-height:96px;resize:vertical}
table{border-collapse:separate;border-spacing:0}th{position:sticky;top:0;z-index:2;background:#f6f9fb}th,td{vertical-align:top;line-height:1.4}
.table-wrap{max-width:100%;overflow:auto;overscroll-behavior:contain;scrollbar-color:#9fb1bb #e6ecef;scrollbar-width:thin}
.toast,.saved-toast,.undo-snackbar{max-width:min(430px,calc(100vw - 28px));line-height:1.4}
.modal{padding:clamp(10px,2vw,24px)}.modalbox{max-width:min(980px,100%)}
.auth-text-link{min-height:32px;padding:4px 2px}
.v180-recovery-steps small{line-height:1.45}
.v184-guide-updated{background:#e9f5ef;color:#226445}
.v184-pdf-controls button,.v184-pdf-controls input,.v184-pdf-controls select{min-height:38px}
.v184-pdf-scroll{scrollbar-color:#9fb1bb #e6ecef;scrollbar-width:thin}
.v184-pdf-scroll::-webkit-scrollbar{width:10px;height:10px}.v184-pdf-scroll::-webkit-scrollbar-thumb{background:#9fb1bb;border:2px solid #e6ecef;border-radius:99px}.v184-pdf-scroll::-webkit-scrollbar-track{background:#e6ecef}

@media(max-width:720px){
  .main{padding-left:14px!important;padding-right:14px!important}.topbar{gap:14px}.topbar .actions{display:grid;grid-template-columns:1fr;width:100%}.topbar .actions>.btn,.topbar .actions>.select{width:100%}
  .two,.three{grid-template-columns:1fr!important}.btn{white-space:normal}.modalbox{max-height:calc(100dvh - 20px);overflow:auto}
  .v184-mobile-notification-bell{top:10px;right:62px}.toast,.saved-toast{right:14px!important;bottom:84px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ===== v187-desktop-test.css ===== */
/* SiteSight V1.87 desktop-test refinements */

/* The name owns the available width; the bell and Settings remain a separate group. */
.profile .userbar{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:9px;align-items:center}
.profile .userbar>div:nth-child(2){min-width:0;overflow:hidden}
.profile .userbar>div:nth-child(2)>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:3px}
.settingswrap.v184-profile-actions{position:static;display:flex;gap:6px;min-width:82px;justify-content:flex-end}
.v184-notification-bell,.settingswrap .logoutbtn{flex:0 0 38px}

.v187-house-takeoff{margin:10px 0 14px;padding:13px;border:1px solid #b9d3df;border-radius:12px;background:linear-gradient(145deg,#f4fbff,#fff)}
.v187-takeoff-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #d7e5eb}
.v187-takeoff-title span{font-size:12px;font-weight:950;letter-spacing:.08em;color:#537085}.v187-takeoff-title b{font-size:18px;color:#0d5d79}
.v187-page-net{margin-top:9px;padding:7px 9px;border-radius:8px;background:#e8f2f8;color:#3f6072;font-size:12px}
.v187-area-math{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:7px;align-items:center;margin:10px 0}
.v187-area-math>div{display:grid;gap:3px;padding:8px;border-radius:8px;background:#fff;border:1px solid #dce7ec}.v187-area-math span{font-size:12px;color:#637887}.v187-area-math b{font-size:14px}.v187-area-math i{font-style:normal;font-weight:950;color:#7a8e99}.v187-area-math .net{background:#e6f7ec;border-color:#add9bd;color:#17613a}
.v187-material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.v187-material-grid>div{display:grid;gap:3px;padding:9px;border-radius:9px;background:#172f42;color:#fff}.v187-material-grid span{font-size:12px;color:#c5d6e1}.v187-material-grid b{font-size:18px}.v187-house-takeoff>small{display:block;margin:8px 0;color:#667986;line-height:1.4}
.v187-other-totals{display:flex;flex-wrap:wrap;gap:8px}.v187-other-totals span{padding:6px 8px;border-radius:7px;background:#edf3f6;font-size:12px}

.v187-timesheet-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:10px 12px;border-radius:10px;background:#edf6fa;border:1px solid #c9e0ea}.v187-timesheet-scope span{font-size:12px;color:#5c7482}
.v187-manual-hours .muted{line-height:1.55}.v187-temporary-site{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;margin:8px 0 12px;border-radius:9px;background:#f1eafe;color:#5d3990}
.v187-pattern-maintenance{margin-bottom:12px;overflow:hidden}.v187-pattern-maintenance>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;cursor:pointer;list-style:none}.v187-pattern-maintenance>summary::-webkit-details-marker{display:none}.v187-pattern-maintenance>summary span{display:grid;gap:3px}.v187-pattern-maintenance>summary small{color:#6b7c88}.v187-pattern-maintenance>summary strong{font-size:12px;color:#315b72}.v187-pattern-maintenance>div{padding:0 10px 10px}.v187-pattern-maintenance .v175-pattern-panel{box-shadow:none;margin:0}
.v187-multisite-note{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 15px;margin-bottom:12px;background:#eef7fb}.v187-multisite-note span{font-size:12px;color:#5e7380}
.v187-site-picker{position:relative}.v187-site-picker>summary{min-height:38px;display:flex;align-items:center;padding:0 11px;border:1px solid #cfd9df;border-radius:9px;background:#fff;list-style:none;font-size:12px;white-space:nowrap;cursor:pointer}.v187-site-picker>summary::-webkit-details-marker{display:none}.v187-site-picker>div{position:absolute;right:0;top:43px;z-index:45;display:grid;min-width:245px;padding:8px;border:1px solid #cfd9df;border-radius:10px;background:#fff;box-shadow:0 12px 30px #10243b29}.v187-site-picker label{display:flex;align-items:center;gap:8px;min-height:39px;padding:6px 8px;border-radius:7px;font-size:12px}.v187-site-picker label:hover{background:#eef5f8}.v187-site-picker input{width:18px;height:18px}
.v187-savings-cards .saved{background:linear-gradient(145deg,#ebf8f0,#fff);border-color:#b9dec7}.v187-savings-cards .saved .analytics-value{color:#226f43}

@media(max-width:1100px){.v187-area-math{grid-template-columns:1fr}.v187-area-math>i{text-align:center}.v187-material-grid{grid-template-columns:1fr}.v174-pay-review>.sectionhead{align-items:flex-start}.v174-pay-review>.sectionhead .actions{flex-wrap:wrap}}

/* ===== v188-operational-pay-control.css ===== */
.v188-work-list{padding:14px;display:grid;gap:12px}.v188-work-group{border:1px solid #dce6ec;border-radius:13px;background:#fff;overflow:hidden}.v188-work-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;font-size:14px}.v188-work-group>summary::-webkit-details-marker{display:none}.v188-work-group>summary strong{min-width:32px;text-align:center;padding:4px 9px;border-radius:999px;background:#edf2f5}.v188-work-group.in-progress>summary{border-left:5px solid #e29a25}.v188-work-group.open-issues>summary{border-left:5px solid #c83b3b;background:#fff8f8}.v188-work-group.not-started>summary{border-left:5px solid #8393a3}.v188-work-group.complete>summary{border-left:5px solid #2b9b62}.v188-work-group.signed-off>summary{border-left:5px solid #d4a400}.v188-work-group-body{padding:0 14px 14px}.v188-more-cards{margin-top:12px}.v188-completion-date[hidden]{display:none!important}.v188-lift-assignment{margin-top:10px}.v188-lift-assignment small{display:block;margin-top:4px;color:#64748b}.v188-unpaid-ribbon{position:absolute;right:0;top:29px;padding:5px 10px;background:#8f3fa2;color:#fff;font-size:12px;font-weight:900;letter-spacing:.04em;border-radius:0 0 0 8px;z-index:2}.v188-management-rule{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:16px 18px;background:#f3f7ff;border-color:#bfcfed}.v188-management-rule>div,.v188-management-rule:not(:has(>div)){display:flex;flex-direction:column;gap:4px}.v188-management-rule span,.v188-management-rule small{color:#50647a}.v188-grace-settings small{display:block;margin-top:4px;color:#64748b}.v188-overtime-request .att-kicker{display:block;margin-bottom:5px}@media(max-width:720px){.v188-management-rule{align-items:stretch;flex-direction:column}.v188-unpaid-ribbon{position:static;display:block;width:max-content;margin:-3px 0 8px auto;border-radius:7px}.v188-work-group>summary{padding:13px}}

/* ===== v189-attendance-functionality.css ===== */
.v189-functionality-intro{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 14px;padding:14px 16px;border:1px solid #cbdce5;border-radius:14px;background:#f2f8fb;color:#24485c}.v189-functionality-intro span{color:#567180}.v189-site-settings{padding:0;margin-bottom:12px;overflow:hidden}.v189-site-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}.v189-site-settings>summary::-webkit-details-marker{display:none}.v189-site-settings>summary span{display:flex;flex-direction:column;gap:3px}.v189-site-settings>summary small{color:#6a7e89;font-weight:500}.v189-site-settings>summary strong{color:#1d6b91}.v189-settings-list{border-top:1px solid #dce8ee}.v189-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #edf2f5}.v189-setting-row:last-child{border-bottom:0}.v189-setting-row span{display:flex;flex-direction:column;gap:3px}.v189-setting-row small{color:#657b87}.v189-settings-modal{max-width:820px}.v189-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v189-wide{grid-column:1/-1}.v189-toggle{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #dbe6eb;border-radius:12px;background:#f8fbfc}.v189-toggle input{width:20px;height:20px;margin-top:2px}.v189-toggle span{display:flex;flex-direction:column;gap:3px}.v189-toggle small{color:#627985}.v189-location-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:12px 14px;border-radius:12px;background:#eef5f8}.v189-people-modal{max-width:680px}.v189-people-list{display:flex;flex-direction:column;margin:12px 0 16px;border:1px solid #dce7ec;border-radius:12px;overflow:hidden}.v189-people-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e7eef2}.v189-people-list>div:last-child{border-bottom:0}.v189-people-list span{display:flex;flex-direction:column;gap:3px}.v189-people-list small{color:#667d88}@media(max-width:720px){.v189-functionality-intro,.v189-setting-row,.v189-location-box,.v189-people-list>div{align-items:stretch;flex-direction:column}.v189-modal-grid{grid-template-columns:1fr}.v189-wide{grid-column:auto}}

/* ===== v190-pay-run-attendance.css ===== */
/* SiteSight V1.90 — readable, low-friction commercial and attendance UI */
:root{font-size:14px}
body,input,select,textarea,button{font-size:14px}
.muted,small,.mini,.sub,.field small{font-size:12px;line-height:1.45}
.btn,.input,.select{min-height:42px}
.textarea{min-height:86px}
.v190-run-status{align-self:flex-start;border-radius:999px;background:#e8eef2;color:#244052;font-size:12px;font-weight:800;padding:9px 13px;text-transform:uppercase}
.v190-run-status.changed-refresh-required{background:#fff0e5;color:#a34512}
.v190-run-status.locked,.v190-run-status.paid{background:#e4f6eb;color:#17653b}
.v190-pay-scope{display:grid;gap:14px;margin-bottom:14px}
.v190-site-picker{display:flex;flex-wrap:wrap;gap:9px}
.v190-site-picker label{align-items:center;background:#f5f8fa;border:1px solid #d6e0e6;border-radius:10px;cursor:pointer;display:flex;font-weight:700;gap:8px;min-height:42px;padding:8px 12px}
.v190-site-picker input{height:19px;width:19px}
.v190-money-states{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 14px}
.v190-money-states>div{background:#fff;border:1px solid #dce5ea;border-radius:13px;box-shadow:0 5px 16px rgba(25,52,69,.06);display:grid;gap:4px;padding:16px}
.v190-money-states span{color:#506574;font-size:12px;font-weight:800;text-transform:uppercase}
.v190-money-states b{color:#102f42;font-size:24px}
.v190-money-states small{color:#627684}
.v190-exceptions,.v190-pay-lines,.v190-run-actions{margin-bottom:14px}
.v190-exception-list,.v190-pay-lines details{display:grid;gap:7px}
.v190-exception-list button{align-items:center;background:#fff9f3;border:1px solid #f0d4b9;border-radius:10px;color:#243a48;cursor:pointer;display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:10px 12px;text-align:left;width:100%}
.v190-exception-list button span{display:grid;gap:2px}
.v190-exception-list button strong{color:#a45121;white-space:nowrap}
.v190-exception-list details,.v190-pay-lines details{border-top:1px solid #e1e8ec;margin-top:8px;padding-top:8px}
.v190-exception-list summary,.v190-pay-lines summary{cursor:pointer;font-weight:800;padding:10px}
.v190-all-clear{align-items:center;background:#edf8f1;border:1px solid #c7e6d2;border-radius:10px;color:#205c3b;display:flex;gap:10px;padding:14px}
.v190-pay-line{align-items:center;border-bottom:1px solid #e4eaee;display:grid;gap:12px;grid-template-columns:minmax(180px,1fr) minmax(120px,.55fr) minmax(90px,.35fr);padding:12px 4px}
.v190-pay-line>span:first-child{display:grid;gap:3px}.v190-pay-line>span:nth-child(2){color:#587080}.v190-pay-line>strong{text-align:right}
.v190-run-actions{display:grid;gap:13px}.v190-run-actions .actions{justify-content:flex-start}
.v190-pay-run-link{align-items:center;display:flex;gap:14px;justify-content:space-between}
.v190-stage-strip{display:grid;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr))}
.v190-stage-strip span{background:#edf1f3;border-radius:8px;color:#6a7e89;font-size:12px;font-weight:800;padding:9px;text-align:center}.v190-stage-strip span.done{background:#dff3e6;color:#19623c}
.v190-pricework-box{align-items:center;background:#f5f0ff;border:1px solid #d8c7f0;border-radius:10px;display:flex;gap:12px;justify-content:space-between;margin:10px 0;padding:11px 12px}
.v190-pricework-box span{display:grid;gap:2px}.v190-pricework-box small{color:#67557d}
.v190-allocation-list{display:grid;gap:7px;max-height:52vh;overflow:auto;padding:2px}
.v190-allocation-list label{align-items:center;border:1px solid #dbe4e9;border-radius:10px;display:grid;gap:10px;grid-template-columns:22px minmax(150px,1fr) 100px 18px;padding:9px}
.v190-allocation-list label>input[type=checkbox]{height:20px;width:20px}.v190-allocation-list label>span{display:grid}.v190-allocation-total{align-items:center;background:#eff4f7;border-radius:9px;display:flex;font-size:14px;justify-content:space-between;margin:12px 0;padding:12px}.v190-allocation-total b{font-size:18px}
.v190-payment-limit{align-items:center;background:#edf6fb;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:12px;padding:12px}.v190-payment-limit b{font-size:18px}
.v190-paid-state{background:#e5f5eb;border-radius:7px;color:#17633a;font-size:12px;padding:5px 7px}
.v190-zone-panel{display:grid;gap:12px;margin-top:14px}.v190-zone-panel>details{border:1px solid #d9e3e8;border-radius:11px}.v190-zone-panel>details>summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:13px}.v190-zone-panel summary span{display:grid}.v190-zone-panel details>button{margin:0 12px 12px}.v190-zone-list{display:grid;gap:6px;padding:0 12px 12px}.v190-zone-list>div{align-items:center;background:#f6f8f9;border-radius:9px;display:flex;gap:8px;padding:10px}.v190-zone-list>div>span{display:grid;margin-right:auto}
.v190-supervisor-check{margin-bottom:14px}.v190-supervisor-check>div:not(.sectionhead):not(.v190-all-clear){align-items:center;border-top:1px solid #e4eaed;display:flex;justify-content:space-between;padding:10px 3px}.v190-supervisor-check details summary{cursor:pointer;font-weight:800;padding:10px}
@media(max-width:760px){.v190-money-states{grid-template-columns:1fr}.v190-pay-line{grid-template-columns:1fr auto}.v190-pay-line>span:nth-child(2){grid-column:1}.v190-pay-line>strong{grid-column:2;grid-row:1/3}.v190-stage-strip{grid-template-columns:1fr}.v190-allocation-list label{grid-template-columns:22px minmax(100px,1fr) 82px 14px}.v190-run-actions .actions{display:grid;grid-template-columns:1fr}.v190-run-actions .btn{width:100%}}

/* ===== SiteSight V1.91 — retention and document control ===== */
.profile .userbar{grid-template-columns:36px minmax(0,1fr) 76px!important;gap:8px!important;width:100%;min-width:0}
.profile .userbar>div:nth-child(2){min-width:0!important;overflow:hidden!important}
.profile .userbar>div:nth-child(2)>b,.profile .userbar>div:nth-child(2)>.muted{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settingswrap.v184-profile-actions{display:grid!important;grid-template-columns:34px 34px;gap:6px!important;min-width:74px!important;max-width:74px!important;position:relative!important}
.v184-notification-bell,.settingswrap .logoutbtn{box-sizing:border-box;flex:0 0 34px!important;height:34px!important;width:34px!important;min-height:34px!important;padding:0!important}
.settingswrap .settingsmenu{right:0;top:40px;min-width:220px}

/* V1.93: keep identity readable by stacking Notifications below Settings. */
.profile .userbar{grid-template-columns:36px minmax(0,1fr) 38px!important;align-items:start!important}
.settingswrap.v184-profile-actions{grid-template-columns:34px!important;grid-template-rows:34px 34px!important;min-width:34px!important;max-width:34px!important;gap:6px!important}
.settingswrap.v184-profile-actions>.logoutbtn{grid-column:1;grid-row:1}
.settingswrap.v184-profile-actions>.v184-notification-bell{grid-column:1;grid-row:2}
.settingswrap .settingsmenu{right:40px!important;top:0!important}
.v193-manager-overtime .field{margin:14px 0}

.v191-allocation-list label{grid-template-columns:22px minmax(0,1fr)!important;min-height:48px}
.v191-suffix-input{display:grid;grid-template-columns:1fr 36px;align-items:center}.v191-suffix-input span{font-weight:900;text-align:center}
.v191-payment-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
.v191-payment-preview>span{background:#f2f6f8;border:1px solid #dce6eb;border-radius:10px;display:grid;gap:4px;padding:11px}
.v191-payment-preview small{color:#607580;font-size:12px}.v191-payment-preview b{font-size:16px;color:#183f54}.v191-payment-preview .net{background:#e7f6ed;border-color:#baddc7}.v191-payment-preview .net b{color:#17633a}
.v191-retention-due{align-items:center;background:#fff3dc;border:1px solid #efd09a;border-radius:11px;display:flex;justify-content:space-between;margin:12px 0;padding:13px}.v191-retention-due b{color:#93530e;font-size:20px}
.v191-retention-badge{background:#fff0d8;border:1px solid #edc382;border-radius:999px;color:#914f0c;display:inline-flex;font-size:12px;font-style:normal;font-weight:900;margin-top:6px;padding:4px 8px;width:max-content}
.v191-individual-retention{background:#fffaf1;border:1px solid #eed7aa;border-radius:13px;margin:14px 0;padding:14px}.v191-individual-retention h3{margin:2px 0}.v191-individual-retention .sectionhead small{color:#705b38}
.v191-retention-row{align-items:center;border-top:1px solid #ecdfc9;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto auto;padding:11px 2px}.v191-retention-row span{display:grid;gap:3px}.v191-retention-row small{color:#735f3f}.v191-retention-row strong{color:#914f0c}
.v191-cis-status{align-items:center;background:#f3f6f8;border:1px solid #dbe4e8;border-radius:10px;display:flex;justify-content:space-between;margin:12px 0;padding:11px 13px}.v191-cis-status.registered{background:#eef7f1;border-color:#c5dfce}.v191-cis-status span{color:#5b707b;font-size:12px}.v191-cis-inline{background:#eef5f8;border-radius:7px;color:#3d6275;font-size:12px;font-weight:800;margin:8px 0;padding:7px 9px}
.v191-cis-choice{align-items:center;background:#f4f8fa;border:1px solid #d9e4e9;border-radius:11px;display:grid;gap:10px;grid-template-columns:22px minmax(0,1fr) 150px;margin:10px 0;padding:11px}.v191-cis-choice>input{height:20px;width:20px}.v191-cis-choice>span{display:grid;gap:3px}.v191-cis-choice small{color:#627680;font-size:12px}

.v191-pay-totals{display:grid;gap:11px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.v191-pay-totals>div{background:#fff;border:1px solid #dbe4e9;border-radius:13px;display:grid;gap:4px;padding:15px}.v191-pay-totals span{color:#5b707d;font-size:12px;font-weight:900;text-transform:uppercase}.v191-pay-totals b{color:#173d52;font-size:22px}.v191-pay-totals small{color:#667b86}.v191-pay-totals .cis{background:#fff5e7;border-color:#efcf9c}.v191-pay-totals .cis b{color:#9a5514}.v191-pay-totals .retention{background:#f5effb;border-color:#d7c7e7}.v191-pay-totals .retention b{color:#68418c}.v191-pay-totals .net{background:#eaf7ef;border-color:#c2dfcc}.v191-pay-totals .net b{color:#17643b}
.v191-pay-person{border:1px solid #dce5ea;border-radius:11px;margin:8px 0;overflow:hidden}.v191-pay-person>summary{align-items:center;cursor:pointer;display:grid;gap:12px;grid-template-columns:minmax(170px,1fr) repeat(3,minmax(90px,.35fr));list-style:none;padding:12px}.v191-pay-person>summary::-webkit-details-marker{display:none}.v191-pay-person>summary>span{display:grid;gap:3px}.v191-pay-person>summary small{color:#617681;font-size:12px}.v191-pay-person>summary .cis b{color:#9a5514}.v191-pay-person>summary .net b{color:#17643b}.v191-pay-person>div{background:#f8fafb;border-top:1px solid #e2e9ed;padding:0 12px}.v191-group-expander>summary{cursor:pointer;font-weight:900;padding:12px}
.v191-pay-search{align-items:end;background:#eef5f8;border:1px solid #d4e2e8;border-radius:11px;display:grid;gap:5px;margin-bottom:12px;max-width:420px;padding:11px}.v191-pay-search label{font-size:12px;font-weight:900;color:#466577}
.v191-timesheet-defaults{display:grid;gap:10px;margin-top:14px;padding:16px}.v191-timesheet-defaults>div{margin-bottom:4px}.v191-timesheet-defaults h2{margin:3px 0}.v191-timesheet-defaults>label{align-items:center;border-top:1px solid #e4ebef;display:flex;gap:14px;justify-content:space-between;padding:10px 0}.v191-timesheet-defaults>label>span{display:grid;gap:3px}.v191-timesheet-defaults small{color:#647984}

.v191-document-tools{align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto;margin-bottom:12px;padding:13px}.v191-breadcrumbs{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.v191-breadcrumbs button{background:none;border:0;color:#176388;cursor:pointer;font-size:14px;font-weight:900;padding:6px}.v191-document-filters{display:grid;gap:8px;grid-template-columns:minmax(180px,1fr) 190px}.v191-document-list{display:grid;gap:0;padding:8px 14px}.v191-document-row{align-items:center;border-bottom:1px solid #e5ebee;display:grid;gap:10px;grid-template-columns:40px minmax(0,1fr) auto auto auto;min-height:62px;padding:8px 2px}.v191-document-row:last-child{border-bottom:0}.v191-document-row>span:nth-child(2){display:grid;gap:3px;min-width:0}.v191-document-row>span:nth-child(2)>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v191-document-row small{color:#647984;font-size:12px}.v191-document-icon{background:#eaf2f6;border-radius:9px;color:#28617d;display:grid;font-size:20px;height:38px;place-items:center;width:38px}.v191-document-row.folder .v191-document-icon{background:#fff0d8;color:#9b5a12}

@media(max-width:900px){.v191-payment-preview,.v191-pay-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.v191-pay-person>summary{grid-template-columns:1fr 1fr}.v191-document-tools{grid-template-columns:1fr}.v191-document-filters{grid-template-columns:1fr 1fr}.v191-document-row{grid-template-columns:40px minmax(0,1fr) auto}.v191-document-row .btn:nth-of-type(n+2){grid-column:2/4}}
@media(max-width:620px){.profile .userbar{grid-template-columns:36px minmax(0,1fr) 74px!important}.v191-payment-preview,.v191-pay-totals{grid-template-columns:1fr}.v191-retention-row{grid-template-columns:1fr auto}.v191-retention-row .btn{grid-column:1/-1}.v191-cis-choice{grid-template-columns:22px 1fr}.v191-cis-choice .select{grid-column:1/-1}.v191-document-filters{grid-template-columns:1fr}.v191-document-row{grid-template-columns:38px 1fr}.v191-document-row .btn{grid-column:1/-1;width:100%}.v191-pay-person>summary{grid-template-columns:1fr 1fr}}
/* Current controlled-operations components */
.v192-doc-attention{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:16px 18px;border:1px solid #f0c18b;border-radius:14px;background:#fff5e8;color:#713e0b}.v192-doc-attention.clear{border-color:#b9ddc8;background:#eef9f2;color:#205b39}.v192-doc-attention span{font-size:13px}.v192-doc-chip{display:inline-flex;margin:6px 6px 0 0;padding:4px 8px;border-radius:999px;background:#edf2f5;color:#385161;font-size:12px;font-style:normal;font-weight:800}.v192-doc-chip.expired{background:#fde8e8;color:#9b2424}.v192-doc-chip.expiring,.v192-doc-chip.ack{background:#fff0d8;color:#8a4a00}.v192-doc-chip.read{background:#e5f5eb;color:#19623b}.v192-check{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line,#d9e1e5);border-radius:12px}.v192-check input{margin-top:4px}.v192-check span{display:grid;gap:3px}.v192-check small{color:var(--muted,#667984);line-height:1.4}.v192-revision-list,.v192-device-list{display:grid;gap:8px;margin:16px 0}.v192-revision-list>div,.v192-device-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line,#d9e1e5);border-radius:12px}.v192-revision-list span,.v192-device-list span{display:grid;gap:4px}.v192-revision-list small,.v192-device-list small{color:var(--muted,#667984)}
.v192-commercial-tabs{position:sticky;top:0;z-index:4;display:flex;gap:6px;margin:-2px 0 16px;padding:6px;background:#eef2f4;border-radius:14px}.v192-commercial-tabs button{flex:1;min-height:44px;padding:10px 14px;border:0;border-radius:10px;background:transparent;color:#48606c;font:800 13px inherit;cursor:pointer}.v192-commercial-tabs button.active{background:#fff;color:#112f42;box-shadow:0 2px 9px #0b243217}.v192-commercial-body>.topbar{display:none}.v192-cis-range{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.v192-cis-range>.two{grid-column:1/-1}.v192-resilience code{padding:8px 10px;border-radius:8px;background:#eef2f4}.v192-status{display:grid;gap:4px;margin:10px 0 14px;padding:14px;border-radius:12px;background:#eef4f7}.v192-status.ok{background:#eaf7ef;color:#205b39}.v192-status.warn{background:#fff3df;color:#78440d}.v192-site-security{display:grid;gap:10px}.v192-site-security>label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line,#d9e1e5);border-radius:12px}.v192-site-security span{display:grid;gap:4px}.v192-site-security small{color:var(--muted,#667984);line-height:1.4}.v192-site-security select{max-width:270px}
@media(max-width:760px){.v192-doc-attention,.v192-site-security>label,.v192-revision-list>div,.v192-device-list>div{align-items:stretch;flex-direction:column}.v192-commercial-tabs{overflow-x:auto}.v192-commercial-tabs button{min-width:130px}.v192-cis-range{grid-template-columns:1fr}.v192-site-security select{max-width:none;width:100%}}
.v192-doc-chip{font-size:12px}

/* SiteSight V1.93 — final sidebar identity layout. */
.profile .userbar{grid-template-columns:36px minmax(0,1fr) 38px!important;align-items:start!important}
.settingswrap.v184-profile-actions{display:grid!important;grid-template-columns:34px!important;grid-template-rows:34px 34px!important;min-width:34px!important;max-width:34px!important;gap:6px!important}
.settingswrap.v184-profile-actions>.logoutbtn{grid-column:1;grid-row:1}
.settingswrap.v184-profile-actions>.v184-notification-bell{grid-column:1;grid-row:2}
.settingswrap .settingsmenu{right:40px!important;top:0!important}
@media(max-width:620px){.profile .userbar{grid-template-columns:36px minmax(0,1fr) 38px!important}}

/* SiteSight V1.94 — whole-product accessibility and overflow polish. */
.v194-skip-link{position:fixed;z-index:10000;top:8px;left:8px;transform:translateY(-160%);padding:11px 16px;border:2px solid #fff;border-radius:10px;background:#123b51;color:#fff;font-size:14px;font-weight:900;box-shadow:0 4px 18px #0a263555}
.v194-skip-link:focus{transform:translateY(0)}
.v194-rule-note{display:inline-block;margin-top:5px;color:#526c7a;font-size:12px;font-weight:700;line-height:1.45}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #ffb44a!important;outline-offset:2px!important}
:where(.card,.panel,.sectionhead,.topbar,.actions,.field,.profile,.userbar,.v191-document-row)>*{min-width:0}
:where(.card,.panel,.sectionhead,.topbar,.actions,.field,.profile,.userbar,.v191-document-row) :where(b,strong,small,p,span,h1,h2,h3){overflow-wrap:anywhere}
.topbar .actions,.sectionhead .actions{flex-wrap:wrap}
.input,.select,.textarea{font-size:max(16px,1em)}
button,.btn{line-height:1.25}
@media(max-width:720px){.sectionhead{align-items:flex-start}.sectionhead>.actions{width:100%}.sectionhead>.actions>.btn{flex:1 1 auto}.v192-doc-attention{align-items:flex-start;flex-direction:column}.v192-revision-list>div,.v192-device-list>div,.v191-document-row{align-items:flex-start;flex-wrap:wrap}}

/* SiteSight V1.95 — focused role workspaces. */
.v195-next-action{align-items:center;background:#fff8e9;border:1px solid #efcf91;border-left:5px solid #e69b19;border-radius:14px;display:grid;gap:14px;grid-template-columns:38px minmax(0,1fr) auto;margin:0 0 16px;padding:14px 16px}.v195-next-action>span{background:#fff0ca;border-radius:10px;color:#87500c;display:grid;font-size:20px;height:38px;place-items:center;width:38px}.v195-next-action>div{display:grid;gap:2px}.v195-next-action small{color:#80622f;font-size:12px;font-weight:900;letter-spacing:.08em}.v195-next-action b{color:#3c321e;font-size:15px}.v195-next-action p{color:#675b42;margin:0}
.v195-my-work-summary{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 14px}.v195-my-work-summary>div{background:#fff;border:1px solid #dce5ea;border-radius:12px;display:grid;gap:4px;padding:14px}.v195-my-work-summary span{color:#5e7480;font-size:12px;font-weight:900}.v195-my-work-summary b{color:#153b50;font-size:24px}.v195-my-work-summary .warn{background:#fff6e8;border-color:#efce9b}.v195-my-work-list{padding:8px 14px}.v195-my-work-row{align-items:center;background:none;border:0;border-bottom:1px solid #e3e9ed;color:#173b4f;cursor:pointer;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto 24px;padding:13px 2px;text-align:left;width:100%}.v195-my-work-row:last-child{border-bottom:0}.v195-my-work-row>span{display:grid;gap:4px}.v195-my-work-row small{color:#607681}.v195-my-work-row em{border-radius:999px;font-size:12px;font-style:normal;font-weight:900;padding:4px 8px;width:max-content}.v195-attention{background:#fde7e7;color:#9a2e2e}.v195-evidence{background:#e9f0fb;color:#315e91}.v195-my-work-row>strong{font-size:20px}
.v195-quality-total{border-radius:999px;font-size:13px;font-weight:900;padding:8px 12px}.v195-quality-total.attention{background:#fff0d8;color:#8a4c0c}.v195-quality-total.clear{background:#e6f5eb;color:#1c6139}.v195-quality-list{padding:8px 14px}.v195-quality-row{align-items:center;border-bottom:1px solid #e3e9ed;display:grid;gap:12px;grid-template-columns:36px minmax(0,1fr) 58px 140px;padding:13px 2px}.v195-quality-row:last-child{border-bottom:0}.v195-quality-row>span{background:#edf3f6;border-radius:9px;display:grid;font-size:18px;height:36px;place-items:center}.v195-quality-row>div{display:grid;gap:3px}.v195-quality-row small{color:#637985}.v195-quality-row>strong{font-size:20px;text-align:center}.v195-quality-row.attention>strong{color:#a05b13}.v195-quality-row.clear>strong,.v195-quality-row>em{color:#277247;font-style:normal;font-weight:900;text-align:center}.v195-quality-note{align-items:center;background:#f2f7f9;display:flex;gap:14px}.v195-quality-note span{color:#536d7a}
.v195-commercial-role-head{background:linear-gradient(135deg,#153d55,#245f79);border-radius:14px;color:#fff;margin:0 0 14px;padding:18px}.v195-commercial-role-head.accounts{background:linear-gradient(135deg,#374a5b,#536f83)}.v195-commercial-role-head span{font-size:12px;font-weight:900;letter-spacing:.09em}.v195-commercial-role-head h2{margin:4px 0}.v195-commercial-role-head p{margin:0;opacity:.84}.v195-saved-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.v195-saved-metric{background:#fff;border:1px solid #dce5e9;border-radius:12px;display:grid;gap:4px;padding:14px}.v195-saved-metric span{color:#607783;font-size:12px;font-weight:900}.v195-saved-metric b{color:#173d52;font-size:24px}.v195-saved-metric small{font-weight:800}.v195-saved-metric.retention{background:#faf4ff;border-color:#dcc9e9}.v195-saved-metric.cis{background:#fff5e7;border-color:#edce9d}.v195-saved-metric.variations{background:#f0f6fb;border-color:#cadae7}.v195-saved-list{padding:0 14px}.v195-saved-list>summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:14px 2px}.v195-saved-list>summary span{display:grid;gap:3px}.v195-saved-list>summary small{color:#617681}.v195-saved-list>button{align-items:center;background:none;border:0;border-top:1px solid #e3e9ed;color:#173b4f;cursor:pointer;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto 22px;padding:12px 2px;text-align:left;width:100%}.v195-saved-list>button>strong{font-size:20px}
.v195-reconcile-flow{align-items:center;display:grid;gap:10px;grid-template-columns:1fr 28px 1fr 28px 1fr;margin:14px 0}.v195-reconcile-flow>div{background:#fff;border:1px solid #d9e4e9;border-radius:13px;display:grid;gap:5px;padding:16px}.v195-reconcile-flow>div.paid{background:#ebf7ef;border-color:#c1decb}.v195-reconcile-flow span{color:#5b7180;font-size:12px;font-weight:900}.v195-reconcile-flow b{color:#173d52;font-size:23px}.v195-reconcile-flow small{color:#607681}.v195-reconcile-flow>i{color:#79909c;font-size:20px;font-style:normal;text-align:center}.v195-reconcile-list{padding:12px 16px}.v195-reconcile-list>div:not(.sectionhead){align-items:center;border-top:1px solid #e3e9ed;display:flex;justify-content:space-between;padding:11px 0}.v195-reconcile-list>div>span{display:grid;gap:3px}.v195-reconcile-list small{color:#617681}
.v195-clock-confidence{display:grid;gap:9px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 14px}.v195-clock-confidence>div{background:#f2f6f8;border:1px solid #dbe5e9;border-radius:12px;display:grid;gap:3px;grid-template-columns:28px 1fr;padding:12px}.v195-clock-confidence>div>span{font-size:18px;grid-row:1/3}.v195-clock-confidence b{font-size:13px}.v195-clock-confidence small{color:#5d737e;line-height:1.4}.v195-clock-confidence .ok{background:#edf8f1;border-color:#c5e1cf}.v195-clock-confidence .warn{background:#fff5e6;border-color:#edce9d}
.v195-director-portfolio{background:linear-gradient(135deg,#102f43,#1e536c);border-radius:16px;color:#fff;margin:0 0 16px;padding:18px}.v195-director-head{align-items:center;display:flex;gap:14px;justify-content:space-between}.v195-director-head span{font-size:12px;font-weight:900;letter-spacing:.09em}.v195-director-head h2{margin:4px 0}.v195-director-head p{margin:0;opacity:.82}.v195-director-sites{display:grid;gap:8px;margin-top:14px}.v195-director-sites>button{align-items:center;background:#ffffff12;border:1px solid #ffffff28;border-radius:11px;color:#fff;cursor:pointer;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(100px,.5fr) auto;padding:12px;text-align:left}.v195-director-sites span{display:grid;gap:3px}.v195-director-sites small{opacity:.75}.v195-director-sites i{background:#ffffff26;border-radius:999px;height:7px;overflow:hidden}.v195-director-sites i em{background:#f2ad33;display:block;height:100%}.v195-director-sites strong{font-size:13px}.v195-readonly-reports{align-items:center;background:#edf5f8;border:1px solid #cfe0e8;border-radius:14px;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto;margin:0 0 16px;padding:15px}.v195-readonly-reports>div{display:grid;gap:3px}.v195-readonly-reports span{color:#456779;font-size:12px;font-weight:900}.v195-readonly-reports small{color:#5d7480}
@media(max-width:900px){.v195-saved-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v195-clock-confidence{grid-template-columns:1fr}.v195-reconcile-flow{grid-template-columns:1fr}.v195-reconcile-flow>i{transform:rotate(90deg)}.v195-readonly-reports{grid-template-columns:1fr}.v195-director-sites>button{grid-template-columns:1fr auto}.v195-director-sites i{grid-column:1/-1;grid-row:2}}
@media(max-width:680px){.v195-next-action{align-items:start;grid-template-columns:34px 1fr}.v195-next-action>button{grid-column:1/-1;width:100%}.v195-my-work-summary,.v195-saved-grid{grid-template-columns:1fr}.v195-my-work-row{align-items:start;grid-template-columns:1fr 20px}.v195-my-work-row>span:nth-child(2){grid-column:1/-1;grid-row:2}.v195-quality-row{grid-template-columns:32px 1fr 44px}.v195-quality-row>.btn,.v195-quality-row>em{grid-column:2/4;width:100%}.v195-quality-note,.v195-director-head{align-items:flex-start;flex-direction:column}.v195-director-sites>button{grid-template-columns:1fr}.v195-director-sites i{grid-column:auto;grid-row:auto}}

/* SiteSight V1.96 — personal-test visual polish and one account-control area. */
.profile{padding:14px 16px!important}.profile .userbar{align-items:center!important;grid-template-columns:40px minmax(0,1fr) 42px!important;gap:10px!important}.profile .avatar{height:40px!important;width:40px!important}.profile .userbar>div:nth-child(2)>b{font-size:14px;line-height:1.3}.profile .userbar>div:nth-child(2)>.muted{font-size:12px;line-height:1.35;margin-top:2px}
.settingswrap.v184-profile-actions.v196-settings-only{display:block!important;min-width:42px!important;max-width:42px!important;height:42px!important;position:relative!important}.settingswrap.v196-settings-only>.logoutbtn{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr!important;height:42px!important;min-height:42px!important;width:42px!important;place-items:center;position:relative}.v196-settings-button>span{font-size:18px}.v196-settings-button>b{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #102f42;border-radius:999px;background:#d64040;color:#fff;font-size:12px;line-height:1}.settingswrap.v196-settings-only .settingsmenu{left:calc(100% + 10px)!important;right:auto!important;top:0!important;width:245px!important;padding:7px!important}.settingswrap.v196-settings-only .settingsmenu button{min-height:46px!important;padding:9px 11px!important}.v196-notification-menu-item{display:grid!important;grid-template-columns:24px minmax(0,1fr) auto!important}.v196-notification-menu-item>span:nth-child(2){display:grid;gap:1px}.v196-notification-menu-item small{color:#6b7c88;font-size:12px;font-weight:700}.v196-notification-menu-item>b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#cf3038;color:#fff;font-size:12px}
.main{min-width:0}.topbar{row-gap:12px}.topbar h1{line-height:1.15}.panel,.card{overflow-wrap:anywhere}.sectionhead{gap:12px}.sectionhead>div:first-child{min-width:0}.actions>.btn,.actions>.input,.actions>.select{flex:0 1 auto}.modalbox{box-shadow:0 24px 80px #061b2d55}.modalbox>.actions:last-child{position:sticky;bottom:-20px;margin:16px -20px -20px;padding:12px 20px 16px;background:linear-gradient(180deg,#ffffffe8,#fff 28%);border-top:1px solid #e5eaee}.settingsmenu,.more-actions-menu{box-shadow:0 18px 45px #061b2d30!important}
@media(max-width:1100px) and (min-width:721px){.main{padding:18px 18px 44px}.topbar{align-items:flex-start;flex-direction:column}.topbar>.actions{width:100%}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.filterbar>.search{grid-column:1/-1}}
@media(max-width:720px){.main{padding:66px 12px calc(88px + env(safe-area-inset-bottom))}.topbar{align-items:stretch!important;flex-direction:column}.topbar>.actions{display:grid;grid-template-columns:1fr;width:100%}.topbar>.actions>*{max-width:none;width:100%}.sectionhead{flex-direction:column}.sectionhead>.actions{display:grid;grid-template-columns:1fr;width:100%}.sectionhead>.actions>*{max-width:none;width:100%}.metrics,.cards,.filterbar,.summary,.calendarstat{grid-template-columns:1fr!important}.mobilebar{padding-bottom:env(safe-area-inset-bottom);scrollbar-width:none}.mobilebar::-webkit-scrollbar{display:none}.mobilebar button{min-height:60px;padding:8px 9px}.modal{align-items:end;padding:0}.modalbox{border-radius:18px 18px 0 0;max-height:92dvh;padding:18px 16px;padding-bottom:calc(18px + env(safe-area-inset-bottom));width:100%}.modalbox>.actions:last-child{bottom:calc(-18px - env(safe-area-inset-bottom));margin:16px -16px calc(-18px - env(safe-area-inset-bottom));padding:12px 16px calc(16px + env(safe-area-inset-bottom))}.v195-director-portfolio,.v195-commercial-role-head{padding:16px}.payment-history-table,.analytics-table{min-width:680px}.profile .userbar{grid-template-columns:40px minmax(0,1fr) 42px!important}}
@media(max-width:380px){.main{padding-left:9px;padding-right:9px}.btn{padding-left:10px!important;padding-right:10px!important}.v195-next-action,.card,.panel{border-radius:12px!important}.topbar h1{font-size:23px!important}}

/* SiteSight V1.97 — compact desktop density, visible Settings and shorter Calendar. */
@media(min-width:721px){
  .sidebar{overflow:visible!important}
  .sidebar .profile{position:relative;z-index:10020}
  .sidebar .nav{position:relative;z-index:1;overflow:auto}
  .settingswrap.v196-settings-only .settingsmenu{z-index:10030!important}
  .full-calendar-panel{padding:9px!important}
  .full-calendar-head{margin-bottom:6px!important}
  .calendar-legend{gap:7px!important;margin:4px 0 6px!important}
  .month-day{min-height:68px!important;max-height:76px!important;padding:4px 5px!important}
  .month-day-events{gap:2px!important;margin-top:2px!important}
  .month-chip{padding:2px 4px!important;line-height:1.2!important}
  .month-day-events .month-chip:nth-child(n+3){display:none!important}
}
@media(min-width:1101px){
  .main{padding:14px 18px 32px!important}
  .topbar{margin-bottom:10px!important;gap:10px!important}
  .topbar h1,.detailhead h1{font-size:26px!important}
  .sub{font-size:12px!important}
  .card{padding:11px!important}
  .panel{border-radius:11px!important}
  .section{padding:10px 10px 0!important}
  .section:last-child{padding-bottom:10px!important}
  .sectionhead{margin-bottom:7px!important}
  .metrics,.calendarstat,.att-metrics,.analytics-grid{gap:8px!important;margin:9px 0!important}
  .metric,.metrics>.card,.calendarstat>.card,.att-metrics>.card,.analytics-grid>.card{min-height:0!important;padding:9px 11px!important}
  .metric .num,.analytics-value{font-size:22px!important}
  .metric .micon{height:32px!important;width:32px!important;font-size:17px!important}
  .workcard{min-height:110px!important;padding:9px!important}
  .sidepanel{padding:11px!important}
  .filterbar,.calendarbar{padding:9px!important;margin-bottom:9px!important}
  .v195-director-portfolio,.v195-commercial-role-head,.v195-readonly-reports,.v195-next-action{padding:12px 14px!important;margin-bottom:10px!important}
  .v195-director-sites{margin-top:9px!important}
  .v195-director-sites>button{padding:9px 11px!important}
  .btn,.select,.input{min-height:38px;padding-top:7px!important;padding-bottom:7px!important}
}
.v197-pay-section{margin:9px 0;border:1px solid #dbe5ea;border-radius:11px;background:#fff;overflow:hidden}
.v197-pay-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 13px;list-style:none;cursor:pointer;background:#f7fafb}
.v197-pay-section>summary::-webkit-details-marker{display:none}
.v197-pay-section>summary span{display:grid;gap:2px}
.v197-pay-section>summary b{font-size:14px;color:#17384c}
.v197-pay-section>summary small{font-size:12px;color:#667d89}
.v197-pay-section>summary strong{font-size:12px;color:#266786;white-space:nowrap}
.v197-pay-section>summary strong:after{content:'  ▾'}
.v197-pay-section[open]>summary strong:after{content:'  ▴'}
.v197-pay-section[open]>summary{border-bottom:1px solid #dbe5ea;background:#edf5f8}
.v197-pay-section-body{padding:8px 12px 12px}
.v197-pay-section-body>.sectionhead:first-child,.v197-pay-section-body>.v174-individual-breakdown>.sectionhead:first-child{display:none}
.pay-review-grid{grid-template-columns:1fr!important;gap:0!important}
.pay-review-grid .v197-pay-section{margin-top:0}
@media(max-width:720px){.v197-pay-section>summary{align-items:flex-start;min-height:56px}.v197-pay-section-body{padding:6px 10px 10px}}
/* ===== SiteSight V1.99 — exact actions and retention clarity ===== */
.v199-quality-list{padding:10px;display:grid;gap:8px}
.v199-quality-group{border:1px solid #dce4ec;border-radius:10px;background:#fff;overflow:hidden}
.v199-quality-group.attention{border-left:4px solid #e9a21b}
.v199-quality-group.clear{border-left:4px solid #32a66a}
.v199-quality-group>summary{list-style:none;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}
.v199-quality-group>summary::-webkit-details-marker{display:none}
.v199-quality-group>summary>span:nth-child(2){display:grid;gap:2px;min-width:0}
.v199-quality-group>summary b{font-size:14px;color:#102b3f}
.v199-quality-group>summary small{font-size:12px;color:#64748b;line-height:1.35}
.v199-quality-group>summary>strong{min-width:30px;text-align:center;padding:4px 8px;border-radius:999px;background:#fff3db;color:#9a5d00}
.v199-quality-group.clear>summary>strong{background:#e8f8ef;color:#137447}
.v199-quality-group>summary>em{font-size:12px;font-style:normal;font-weight:800;color:#456071}
.v199-quality-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#edf3f7;font-size:17px}
.v199-quality-actions{display:grid;gap:5px;padding:0 10px 10px 44px}
.v199-action-row{width:100%;border:1px solid #e0e7ee;border-radius:8px;background:#f8fafc;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}
.v199-action-row:hover,.v199-action-row:focus-visible{border-color:#2c72a8;background:#eef7fd}
.v199-action-row>span{display:grid;gap:2px;min-width:0}.v199-action-row b{font-size:13px;color:#143249}.v199-action-row small{font-size:12px;color:#64748b}.v199-action-row strong{font-size:12px;color:#17669a;white-space:nowrap}
.v199-quality-clear{padding:0 12px 10px 54px;color:#397256;font-size:12px}
.v199-exception-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.v199-exception-grid>button,.v199-exception-grid>details>button{min-height:64px}
.v199-exception-grid>details{grid-column:1/-1;border:1px solid #dbe4ec;border-radius:9px;padding:7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.v199-exception-grid>details>summary{grid-column:1/-1;cursor:pointer;font-weight:800;color:#29475d;padding:6px}

.v199-retention-summary{display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,1fr) auto;gap:8px;align-items:stretch;margin-bottom:10px}
.v199-retention-summary>div{border:1px solid #dce4ec;background:#f8fafc;border-radius:9px;padding:9px;display:grid;gap:2px}
.v199-retention-summary>div.ready{border-color:#66bf8b;background:#ecfaf2}.v199-retention-summary>div.clear{background:#f5f7f9}
.v199-retention-summary span{font-size:12px;font-weight:900;letter-spacing:.05em;color:#597080}.v199-retention-summary b{font-size:18px;color:#12344a}.v199-retention-summary small{font-size:12px;color:#64748b}
.v199-retention-summary>.btn{align-self:center}

.v199-dot-key{display:flex;gap:12px;padding:0 10px 7px;color:#617282;font-size:12px}.v199-dot-key span{display:flex;align-items:center;gap:5px}.v199-dot-key i,.v199-status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}.v199-dot-key .on,.v199-status-dot.on{background:#22a665;box-shadow:0 0 0 3px #def6e9}.v199-dot-key .off,.v199-status-dot.off{background:#d24c4c;box-shadow:0 0 0 3px #fae5e5}
.v199-person-status{display:grid!important;grid-template-columns:12px minmax(0,1fr) auto!important;text-align:left;width:100%;border:0;background:transparent;cursor:pointer}
.v199-person-status>span:nth-child(2){display:grid}.v199-person-status small{font-size:12px;color:#6b7b88}

.v199-clockout-help{display:flex;gap:10px;align-items:flex-start;border:1px solid #bad8e8;background:#eff8fd;border-radius:9px;padding:9px 11px;margin:0 0 9px;color:#24475c}
.v199-clockout-help>span{font-size:18px}.v199-clockout-help b{display:block;font-size:13px}.v199-clockout-help p{font-size:12px;line-height:1.45;margin:2px 0 0}.v199-supervisor-out{max-width:170px;line-height:1.25}

.v199-calendar-hover{max-height:360px;overflow:auto;min-width:280px;z-index:40}
.v199-calendar-hover .calendar-hover-note{display:grid!important;grid-template-columns:82px minmax(0,1fr);gap:2px 7px}
.v199-calendar-hover .calendar-hover-note em{grid-row:1/3;font-size:12px;font-style:normal;font-weight:900;text-transform:uppercase;color:#5d7180}.v199-calendar-hover .calendar-hover-note b,.v199-calendar-hover .calendar-hover-note span{min-width:0;overflow-wrap:anywhere}

.v199-guide-basics{margin-bottom:12px;padding:14px}
.v199-guide-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.v199-guide-four>div{border:1px solid #dce5ec;border-radius:9px;padding:10px;display:grid;grid-template-columns:29px 1fr;gap:3px 8px;align-items:center}.v199-guide-four i{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#11384f;color:#fff;font-style:normal;font-weight:900}.v199-guide-four b{font-size:13px;color:#17364a}.v199-guide-four span{font-size:12px;color:#64748b;line-height:1.4}
.v199-guide-words{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid #e4e9ee}.v199-guide-words>span{font-size:12px;background:#f2f6f8;border-radius:999px;padding:5px 8px;color:#526878}.v199-guide-words>b{font-size:12px;color:#213f54}
.v199-guide-arrow{position:fixed;z-index:10005;left:210px;top:100px;display:flex;align-items:center;gap:5px;background:#fff2c5;color:#7d4b00;border:2px solid #f0a400;border-radius:10px;padding:7px 9px;box-shadow:0 8px 24px rgba(24,50,68,.28);pointer-events:none;animation:v199ArrowPulse 1.2s ease-in-out infinite}
.v199-guide-arrow b{font-size:12px;letter-spacing:.06em}.v199-guide-arrow i{font-size:29px;line-height:1;font-style:normal}.v199-guide-arrow.reverse{flex-direction:row-reverse}.v199-guide-arrow.reverse i{transform:rotate(180deg)}
.v199-guide-target{position:relative;outline:4px solid #ffbf2f!important;outline-offset:3px!important;border-radius:6px;z-index:10004}
@keyframes v199ArrowPulse{50%{transform:translateX(5px)}}

.v199-focused-settings{max-width:720px}.v199-setting-fields{border:1px solid #e0e7ed;background:#f8fafc;border-radius:10px;padding:12px;margin:10px 0}.v199-focused-settings .textarea{min-height:180px}.v199-focused-settings .v189-toggle{margin:8px 0}
.v199-notifications .notification-list{display:grid;gap:5px;max-height:430px;overflow:auto}.v199-notifications .notification-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid #e1e7ec;border-radius:8px;background:#fff;padding:9px 10px;cursor:pointer}.v199-notifications .notification-item.unread{border-left:4px solid #ee9b1b;background:#fffaf0}.v199-notifications .notification-item>span{display:grid;gap:3px}.v199-notifications .notification-item b{font-size:13px;color:#17364b}.v199-notifications .notification-item small{font-size:12px;color:#667985}.v199-notifications .notification-item strong{font-size:12px;color:#17689c;white-space:nowrap}
.v169-breakdown[open]>summary{background:#eef6fb;color:#153b54}

@media(max-width:900px){.v199-exception-grid,.v199-exception-grid>details{grid-template-columns:1fr}.v199-retention-summary{grid-template-columns:1fr}.v199-guide-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.v199-quality-group>summary{grid-template-columns:30px minmax(0,1fr) auto}.v199-quality-group>summary>em{display:none}.v199-quality-actions{padding-left:9px}.v199-action-row{align-items:flex-start;flex-direction:column}.v199-action-row strong{white-space:normal}.v199-guide-four{grid-template-columns:1fr}.v199-guide-arrow{max-width:160px}.v199-clockout-help{margin-inline:0}.v199-calendar-hover{display:none!important}}

/* V1.99.1 personal-test safeguards and guided routes */
.v1991-site-access{padding:14px;border:1px solid #d7e1e7;border-radius:12px;background:#f8fbfc}.v1991-all-sites{margin:10px 0;background:#fff4df;border-color:#e7b762}.v1991-all-sites span{display:flex;flex-direction:column}.v1991-all-sites small{color:#8a5a14}.v1991-modal-close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;border-radius:9px;background:#edf2f5;color:#17384b;font-size:25px;line-height:1;cursor:pointer}.modalbox{position:relative}.v1991-conflict{max-width:680px}.v1991-conflict-list{display:grid;gap:7px;margin:16px 0;padding:12px;border:1px solid #efc17b;border-radius:10px;background:#fff8ec}.v1991-route-progress{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,2fr) auto;align-items:center;gap:16px;margin-bottom:16px}.v1991-route-progress>div:first-child{display:flex;flex-direction:column}.v1991-route-progress .bar{height:12px;border-radius:999px;background:#e1e8ec;overflow:hidden}.v1991-route-progress .bar i{display:block;height:100%;background:#e58d24}.v1991-test-route{display:grid;gap:12px}.v1991-test-step{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;margin:0;padding:17px}.v1991-test-step.complete{border-left:5px solid #2f8a62;background:#f6fbf8}.v1991-step-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#17384b;color:#fff;font-weight:900}.v1991-test-step.complete .v1991-step-number{background:#2f8a62}.v1991-test-step h2{font-size:18px;margin:0 0 4px}.v1991-test-step p{margin:0 0 5px}.v1991-test-step small{color:#607481}@media(max-width:720px){.v1991-route-progress,.v1991-test-step{grid-template-columns:1fr}.v1991-test-step .btn{width:100%}.v1991-modal-close{top:8px;right:8px}}
