:root{--bg:#0d0f13;--panel:#151921;--panel2:#1b202a;--line:#2a303c;--text:#f5f7fa;--muted:#9ea8b7;--accent:#ff8a1f;--accent2:#ffb067;--good:#49c17d;--warn:#f1b44c;--bad:#ef6767;--blue:#67a8ff;--shadow:0 16px 50px rgba(0,0,0,.28);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#0b0d11,#0f1217 55%,#0b0d11);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.topbar{height:72px;display:flex;align-items:center;gap:18px;padding:0 22px;position:sticky;top:0;z-index:30;background:rgba(13,15,19,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;min-width:280px}.brand-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#ff5b2e);display:grid;place-items:center;font-weight:900;color:#151515;box-shadow:0 8px 25px rgba(255,138,31,.22)}.brand strong{display:block;letter-spacing:.2px}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.menu-btn{display:none;background:transparent;border:0;color:white;font-size:24px}.ghost,.primary,.status-pill,.link-btn{border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:#1a1f28;color:var(--text);font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.ghost:hover,.link-btn:hover{border-color:#4a5362;background:#202631}.ghost.small{padding:7px 10px;font-size:12px}.primary{background:linear-gradient(135deg,var(--accent),#f46b28);color:#151515;border-color:transparent;box-shadow:0 8px 24px rgba(255,138,31,.18)}.primary:hover{filter:brightness(1.06)}.status-pill{cursor:default;color:#b8f2cf;border-color:#234532;background:#13251a;font-size:12px}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{border-right:1px solid var(--line);padding:18px 12px 22px;position:sticky;top:72px;height:calc(100vh - 72px);overflow:auto;background:rgba(14,17,22,.65)}nav{display:flex;flex-direction:column;gap:5px}.nav-label{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#6f7988;margin:16px 10px 6px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;color:#b5bdc8;border-radius:10px;padding:11px 12px;text-align:left;cursor:pointer;font-weight:650}.nav-item:hover{background:#171c24;color:#fff}.nav-item.active{background:#211e1a;color:#ffd0a3;border:1px solid #4b3320}.sidebar-note{margin:22px 4px 0;padding:14px;background:#121820;border:1px solid #253140;border-radius:12px}.sidebar-note strong{font-size:12px}.sidebar-note p{font-size:11px;line-height:1.5;color:var(--muted);margin:5px 0 0}.main{padding:30px;max-width:1500px;width:100%;margin:0 auto}.view{display:none}.view.active{display:block}.hero{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;background:radial-gradient(circle at 90% 15%,rgba(255,138,31,.18),transparent 33%),linear-gradient(135deg,#171b23,#11141a);border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}.hero h1,.page-title h1{font-size:clamp(29px,4vw,48px);line-height:1.04;margin:8px 0 12px;letter-spacing:-1.3px}.hero p,.page-title p{color:var(--muted);max-width:850px;font-size:16px;line-height:1.65;margin:0}.eyebrow{font-size:10px;font-weight:900;letter-spacing:1.8px;color:var(--accent2)}.hero-badge{min-width:210px;background:#11151b;border:1px solid #3a2d21;border-radius:16px;padding:18px}.hero-badge span,.hero-badge small{display:block;color:var(--muted);font-size:11px}.hero-badge strong{display:block;font-size:20px;margin:7px 0}.alert{border-radius:12px;padding:14px 16px;margin:18px 0;border:1px solid;line-height:1.5;font-size:13px}.alert.warning{background:#241e12;border-color:#554426;color:#f6d599}.alert.info{background:#111d2b;border-color:#294768;color:#b9d7ff}.alert.danger{background:#2a1517;border-color:#673138;color:#ffc2c2}.card-grid{display:grid;gap:14px}.quick-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin:22px 0}.quick-card{border:1px solid var(--line);background:var(--panel);color:white;border-radius:16px;padding:18px;text-align:left;cursor:pointer;min-height:140px;transition:.2s transform,.2s border-color}.quick-card:hover{transform:translateY(-2px);border-color:#4b5463}.quick-card span{display:block;font-size:26px;margin-bottom:18px}.quick-card strong{display:block;font-size:14px}.quick-card small{display:block;color:var(--muted);margin-top:6px;line-height:1.4}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel,.result-card,.summary-card{background:linear-gradient(180deg,var(--panel),#12161d);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:22px}.panel h2{margin:5px 0 16px;font-size:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.formula-list{display:grid;gap:10px}.formula-list div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px dashed #2d3440;padding:9px 0}.formula-list code{color:#ffd0a3}.formula-list span{color:var(--muted);font-size:12px;text-align:right}textarea,input,select{width:100%;background:#0f1319;border:1px solid #313845;color:var(--text);border-radius:9px;padding:10px 11px;font:inherit;outline:none}textarea:focus,input:focus,select:focus{border-color:#9b6338;box-shadow:0 0 0 3px rgba(255,138,31,.09)}textarea{resize:vertical}.muted{color:var(--muted);font-size:12px}.page-title{margin-bottom:20px}.page-title h1{font-size:36px}.calc-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:18px;align-items:stretch}.form-panel{display:flex;flex-direction:column;gap:18px}.form-panel.narrow{max-width:780px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{font-size:12px;color:#c7ced8;font-weight:700}label>input,label>select{margin-top:7px}label>span{display:grid;grid-template-columns:1fr 90px;gap:8px;margin-top:7px}label>span input,label>span select{margin-top:0}.result-card{padding:25px;display:flex;flex-direction:column}.result-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1.1px}.result-big{font-size:42px;margin:10px 0 24px}.metric-row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #292f39;font-size:13px}.metric-row span{color:var(--muted)}.result-note{color:var(--muted);font-size:11px;line-height:1.55;margin-top:auto;padding-top:18px}.button-row{display:flex;gap:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:800px}th,td{padding:10px 8px;border-bottom:1px solid #272d36;text-align:left;font-size:12px}th{color:#8f9baa;text-transform:uppercase;letter-spacing:.8px;font-size:10px}td input{min-width:90px}.delete-row{border:0;background:#2c171a;color:#ff9ca5;border-radius:8px;padding:8px 10px;cursor:pointer}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.summary-card{padding:18px}.summary-card span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.8px}.summary-card strong{display:block;font-size:22px;margin:8px 0}.summary-card small{color:var(--muted)}progress{width:100%;height:8px;accent-color:var(--accent)}.address-readout{display:flex;justify-content:space-between;align-items:center;background:#0f1319;border:1px solid var(--line);padding:12px 14px;border-radius:10px}.address-readout span{color:var(--muted);font-size:12px}.address-readout strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:2px}.bit-grid,.switch-grid{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.bit,.dil{width:74px;min-height:88px;border:1px solid #343b47;background:#10151c;border-radius:12px;padding:10px;text-align:center;display:flex;flex-direction:column;justify-content:space-between}.bit.on,.dil.on{background:#2a1d12;border-color:#8c5129;box-shadow:inset 0 0 0 1px rgba(255,138,31,.14)}.bit b,.dil b{font-size:18px}.bit small,.dil small{color:var(--muted)}.bit .state,.dil .state{font-size:10px;font-weight:900;color:#8e98a7}.bit.on .state,.dil.on .state{color:#ffb067}.result-inline{background:#0f1319;border:1px solid var(--line);border-radius:10px;padding:14px;font-size:22px;font-weight:800}.accordion{display:grid;gap:10px}.accordion details{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:0 18px}.accordion summary{cursor:pointer;font-weight:800;padding:16px 0}.accordion ol{color:#bbc3ce;line-height:1.6;font-size:13px;padding:0 0 16px 20px}.checklist{display:grid;gap:10px;max-width:1000px}.checklist label{display:flex;gap:12px;align-items:flex-start;background:#10151b;border:1px solid #262d37;border-radius:10px;padding:12px 14px;line-height:1.45}.checklist input[type=checkbox]{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent);flex:0 0 auto}.clean-list{line-height:1.7;color:#c3cad4}.link-btn{margin-top:8px}footer{text-align:center;color:#626c79;font-size:11px;padding:24px;border-top:1px solid var(--line)}@media(max-width:1180px){.quick-grid{grid-template-columns:repeat(3,1fr)}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.menu-btn{display:block}.brand{min-width:0}.brand span{display:none}.top-actions .ghost{display:none}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:40;left:-280px;top:72px;width:260px;transition:.25s left;background:#0e1116}.sidebar.open{left:0}.main{padding:20px}.hero{grid-template-columns:1fr}.hero-badge{min-width:0}.calc-layout,.two-col{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.topbar{padding:0 12px}.status-pill{display:none}.main{padding:14px}.hero,.panel,.result-card{padding:18px}.hero h1{font-size:30px}.page-title h1{font-size:29px}.form-grid,.form-grid.two{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.quick-card{min-height:120px;padding:14px}.summary-grid{grid-template-columns:1fr}.result-big{font-size:34px}.bit,.dil{width:64px}}@media print{.topbar,.sidebar,footer,.button-row,button{display:none!important}.app-shell{display:block}.main{padding:0;max-width:none}.view{display:block!important;page-break-after:always}.panel,.result-card,.summary-card,.hero{box-shadow:none;background:white;color:black;border:1px solid #aaa}.muted,.page-title p,.hero p,.formula-list span{color:#444}body{background:white;color:black}}

/* v1.1 multi-page navigation and responsive refinements */
a.brand{color:inherit;text-decoration:none}.page-section{display:block}.mobile-page-label{display:none}.nav-item{text-decoration:none;min-height:44px}.nav-icon{width:22px;text-align:center;flex:0 0 22px}.quick-card{text-decoration:none}.nav-backdrop{display:none}.topbar .menu-btn{min-width:44px;min-height:44px}.print-btn{white-space:nowrap}
@media(max-width:1024px){
  .menu-btn{display:grid;place-items:center}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:50;left:-292px;top:72px;width:min(286px,88vw);height:calc(100dvh - 72px);transition:left .22s ease;background:#0e1116;box-shadow:18px 0 50px rgba(0,0,0,.38)}.sidebar.open{left:0}.nav-backdrop.visible{display:block;position:fixed;inset:72px 0 0;z-index:45;background:rgba(0,0,0,.56);backdrop-filter:blur(2px)}body.menu-open{overflow:hidden}.main{padding:22px}.mobile-page-label{display:block;color:var(--accent2);font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px}.calc-layout,.two-col{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .topbar{height:64px;padding:0 10px;gap:9px}.brand-mark{width:34px;height:34px}.brand strong{font-size:14px}.top-actions{gap:6px}.top-actions .ghost{display:none}.sidebar{top:64px;height:calc(100dvh - 64px)}.nav-backdrop.visible{inset:64px 0 0}.main{padding:14px 12px 24px}.hero{padding:20px}.hero h1{font-size:30px}.hero p,.page-title p{font-size:14px}.page-title h1{font-size:29px}.panel,.result-card,.summary-card{border-radius:14px}.panel,.result-card{padding:17px}.form-grid,.form-grid.two{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-card{min-height:116px;padding:14px}.summary-grid{grid-template-columns:1fr}.result-big{font-size:34px}.bit-grid,.switch-grid{gap:7px}.bit,.dil{width:calc(25% - 6px);min-width:64px;flex:1 1 64px;max-width:90px}input,select,textarea,.ghost,.primary,.link-btn{min-height:44px;font-size:16px}label{font-size:13px}.button-row{flex-wrap:wrap}.button-row>*{flex:1 1 140px}
  #loopTable{min-width:0}#loopTable thead{display:none}#loopTable,#loopTable tbody,#loopTable tr,#loopTable td{display:block;width:100%}#loopTable tbody{display:grid;gap:12px}#loopTable tr{background:#10151b;border:1px solid #2a303c;border-radius:13px;padding:10px 12px}#loopTable td{border:0;padding:7px 0;display:grid;grid-template-columns:minmax(120px,.85fr) minmax(0,1.15fr);gap:10px;align-items:center}#loopTable td::before{content:attr(data-label);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.6px;font-weight:800}#loopTable td input{min-width:0;margin:0}#loopTable td.row-action{display:flex;justify-content:flex-end}.delete-row{min-width:48px;min-height:42px;font-size:20px}
}
@media(max-width:420px){.brand span{display:none}.quick-grid{grid-template-columns:1fr}.quick-card{min-height:100px}.hero-badge{padding:14px}.formula-list div{display:block}.formula-list span{display:block;text-align:left;margin-top:4px}}
@media print{.mobile-page-label,.nav-backdrop{display:none!important}.page-section{display:block!important;page-break-after:auto}}

/* v1.2 XPERT card pip addressing */
.xpert-layout{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(430px,1.22fr);gap:18px;align-items:stretch}.xpert-panel{overflow:hidden}.xpert-card{max-width:720px;margin:18px auto 12px;padding:22px;border-radius:22px;background:linear-gradient(145deg,#e9ecef,#c9ced4);border:3px solid #f8f9fa;box-shadow:inset 0 0 0 2px #9299a1,0 18px 38px rgba(0,0,0,.28);color:#15191e}.xpert-card-head{display:flex;justify-content:space-between;gap:16px;align-items:end;padding-bottom:14px;border-bottom:2px solid #8a9199}.xpert-card-head span{font-weight:950;font-size:28px;letter-spacing:1px}.xpert-card-head small{font-weight:850;font-size:10px;letter-spacing:1.1px;text-align:right}.xpert-pips{display:grid;grid-template-columns:repeat(4,minmax(74px,1fr));gap:18px;padding:26px 8px}.xpert-pip{position:relative;appearance:none;border:0;background:transparent;color:#15191e;min-height:104px;cursor:pointer;display:grid;place-items:center;padding:0}.xpert-pip::before{content:"";position:absolute;width:76px;height:76px;border-radius:50%;background:#e0e4e8;border:8px solid #5c6269;box-shadow:inset 0 0 0 4px #f6f7f8,0 3px 5px rgba(0,0,0,.18)}.xpert-pip strong{position:relative;z-index:1;font-size:22px}.xpert-pip small{position:absolute;z-index:2;bottom:-1px;font-size:9px;font-weight:950;letter-spacing:.8px;color:#444b53}.xpert-pip.removed::before{background:#22272d;border-color:#b64b38;box-shadow:inset 0 0 0 4px #15191e,0 0 0 4px rgba(182,75,56,.16)}.xpert-pip.removed strong{color:#fff}.xpert-pip.removed small{color:#9d2d21}.xpert-pip:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:12px}.xpert-pip.disabled{opacity:.24;pointer-events:none}.xpert-card-foot{display:flex;justify-content:space-between;align-items:center;border-top:2px solid #8a9199;padding-top:14px}.xpert-card-foot span{font-size:11px;font-weight:900;letter-spacing:1px}.xpert-card-foot strong{font-size:34px}.xpert-legend{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;color:var(--muted);font-size:11px}.xpert-legend span{display:flex;gap:7px;align-items:center}.pip-dot{width:14px;height:14px;border-radius:50%;display:inline-block;border:3px solid #6b737c}.pip-dot.intact{background:#dce1e6}.pip-dot.removed{background:#22272d;border-color:#b64b38}.xpert-status{border-radius:10px;padding:12px 14px;font-size:13px;font-weight:800}.xpert-status.good{background:#13251a;border:1px solid #234532;color:#b8f2cf}.xpert-status.warn{background:#2a2012;border:1px solid #5e4622;color:#ffd28c}.xpert-notes{margin-top:18px}
@media(max-width:1024px){.xpert-layout{grid-template-columns:1fr}.xpert-card{max-width:680px}}
@media(max-width:600px){.xpert-card{padding:16px 12px;border-radius:16px}.xpert-card-head span{font-size:22px}.xpert-card-head small{font-size:8px}.xpert-pips{grid-template-columns:repeat(4,1fr);gap:10px 4px;padding:20px 0}.xpert-pip{min-height:86px}.xpert-pip::before{width:58px;height:58px;border-width:6px}.xpert-pip strong{font-size:17px}.xpert-pip small{font-size:8px}.xpert-card-foot strong{font-size:28px}}
@media(max-width:390px){.xpert-pips{grid-template-columns:repeat(2,1fr);gap:12px}.xpert-pip{min-height:82px}.xpert-card-head{align-items:start;flex-direction:column}.xpert-card-head small{text-align:left}}


/* v1.3 manufacturer / protocol knowledgebase */
.kb-toolbar{max-width:760px;margin:0 0 18px}.kb-toolbar label{display:block}.manufacturer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.manufacturer-card{display:block;text-decoration:none;color:var(--text);background:linear-gradient(180deg,var(--panel),#11151b);border:1px solid var(--line);border-radius:16px;padding:18px;min-height:190px;transition:.18s transform,.18s border-color}.manufacturer-card:hover{transform:translateY(-2px);border-color:#5b4b3b}.manufacturer-card[hidden]{display:none}.manufacturer-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.manufacturer-top strong{font-size:20px}.manufacturer-top span{font-size:11px;color:var(--accent2)}.manufacturer-card h3{font-size:14px;margin:18px 0 8px}.manufacturer-card p,.manufacturer-card small,.kb-copy{color:var(--muted);line-height:1.6}.manufacturer-card p{font-size:12px}.manufacturer-card small{display:block;font-size:11px}.kb-spacer{margin-top:18px}.kb-table{min-width:900px}.source-panel{margin-top:18px}.source-panel a{color:#a9cdfd}.restore-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0;padding:14px;border-radius:13px;border:1px solid #314336;background:#112019}.restore-strip strong{color:#b9f1ce;margin-right:4px}.restore-strip span{font-size:11px;border:1px solid #31523f;background:#16291e;color:#c7ead4;padding:7px 9px;border-radius:999px}.three-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.step-number{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#2b2015;color:#ffc38c;font-weight:900}.scope-ladder{display:grid;gap:9px}.scope-ladder div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:13px;border:1px solid #29313b;border-radius:10px;background:#10151b}.scope-ladder span{color:var(--muted);font-size:12px;line-height:1.55}.logic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.logic-token{display:inline-flex;padding:6px 9px;border-radius:8px;background:#2b2015;color:#ffbd80;font:800 12px ui-monospace,monospace}.numbered-flow{display:grid;gap:11px;color:#c7ced8;line-height:1.55}.question-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.question-grid div{border:1px solid #29313b;border-radius:10px;background:#10151b;padding:14px}.question-grid strong,.question-grid span{display:block}.question-grid span{font-size:12px;color:var(--muted);line-height:1.5;margin-top:5px}.manufacturer-hero{display:grid;grid-template-columns:1fr minmax(230px,.32fr);gap:18px;align-items:stretch;margin-bottom:18px}.manufacturer-hero>div{background:linear-gradient(180deg,var(--panel),#12161d);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.manufacturer-hero h2{margin:7px 0 9px}.manufacturer-hero p{color:var(--muted);line-height:1.6}.protocol-badge{display:flex;flex-direction:column;justify-content:center}.protocol-badge span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.9px}.protocol-badge strong{font-size:20px;line-height:1.35;margin-top:8px}.kb-tabs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.workflow{background:linear-gradient(180deg,var(--panel),#12161d);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.workflow h3{margin:0 0 12px}.workflow ol{margin:0;padding-left:20px;color:#c5ccd6;line-height:1.58}.workflow li+li{margin-top:8px}
@media(max-width:1180px){.manufacturer-grid{grid-template-columns:repeat(2,1fr)}.logic-grid{grid-template-columns:repeat(2,1fr)}.question-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.three-card-grid,.kb-tabs-grid,.manufacturer-hero{grid-template-columns:1fr}.manufacturer-grid{grid-template-columns:1fr 1fr}.scope-ladder div{grid-template-columns:1fr}.protocol-badge{min-height:130px}}
@media(max-width:560px){.manufacturer-grid,.logic-grid,.question-grid{grid-template-columns:1fr}.manufacturer-card{min-height:0}.kb-table{font-size:12px}.restore-strip{align-items:flex-start}.restore-strip strong{width:100%}}


/* v1.4 SiteTools branding, categorised submenus and engineer access */
.brand{min-width:330px;gap:10px}.brand-logo-picture{display:flex;align-items:center;justify-content:center;background:#f7f9fc;border:1px solid #d9e4ec;border-radius:10px;padding:5px 8px;height:50px;box-shadow:0 5px 18px rgba(0,0,0,.2)}.brand-logo{display:block;width:124px;height:auto;max-height:40px;object-fit:contain}.brand-site{padding-left:4px}.brand-site strong{font-size:13px}.brand-site span{font-size:11px}.access-btn{white-space:nowrap}.site-nav{gap:8px}.nav-home{margin-bottom:2px}.nav-group{border:1px solid transparent;border-radius:12px}.nav-group[open]{background:#10151c;border-color:#222a35}.nav-group>summary{list-style:none;display:grid;grid-template-columns:30px 1fr 20px;align-items:center;gap:8px;min-height:46px;padding:9px 10px;color:#aeb7c3;font-size:12px;font-weight:850;cursor:pointer;border-radius:11px;user-select:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:hover{background:#171d26;color:#fff}.nav-summary-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#152333;border:1px solid #28425d;color:#73c5ef;font-size:9px;font-weight:950;letter-spacing:.4px}.nav-chevron{font-size:21px;transition:transform .18s ease;color:#778391}.nav-group[open] .nav-chevron{transform:rotate(90deg)}.nav-submenu{display:grid;gap:3px;padding:2px 6px 8px 15px}.nav-submenu .nav-item{padding:9px 9px 9px 11px;min-height:40px;font-size:12px}.nav-submenu .nav-icon{width:26px;flex-basis:26px;font-size:10px;font-weight:900;color:#8ecbe9;background:#111e2a;border:1px solid #253747;border-radius:7px;padding:5px 2px}.nav-submenu .nav-item.active{background:#102434;color:#bde9ff;border-color:#285978}.nav-lock{margin-left:auto;font-size:9px;opacity:.5}.engineer-unlocked .nav-lock{opacity:.72}.engineer-unlocked .nav-lock::after{content:''}.engineer-unlocked .nav-lock{font-size:0}.engineer-unlocked .nav-lock::before{content:'🔓';font-size:9px}.access-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:22px;align-items:center;margin:18px 0;border-color:#27465b;background:radial-gradient(circle at 92% 10%,rgba(21,155,215,.15),transparent 36%),linear-gradient(180deg,var(--panel),#11171e)}.access-copy h2{margin:6px 0 8px}.access-copy p{margin:0;color:var(--muted);line-height:1.55}.access-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.access-controls label{min-width:0}.access-controls .primary{height:44px}.access-state{display:flex;align-items:center;gap:10px;grid-column:1/-1;border-radius:10px;padding:11px 13px;font-size:12px}.access-state strong{white-space:nowrap}.access-state span{color:var(--muted);line-height:1.4}.access-state .ghost{margin-left:auto}.access-state.locked{background:#221d14;border:1px solid #4d4027;color:#f1cf8f}.access-state.unlocked{background:#11241a;border:1px solid #2b523a;color:#bdf0ce}.access-controls[hidden]{display:none!important}.hero{background:radial-gradient(circle at 90% 15%,rgba(21,155,215,.16),transparent 33%),linear-gradient(135deg,#171b23,#11141a)}
@media(max-width:1100px){.brand{min-width:0}.brand-site{display:none}.brand-logo-picture{height:46px}.brand-logo{width:112px}.access-panel{grid-template-columns:1fr}}
@media(max-width:760px){.brand-logo-picture{width:46px;padding:4px}.brand-logo{width:34px;max-height:38px}.top-actions .access-btn{display:inline-flex;padding:9px 10px;font-size:11px}.access-controls{grid-template-columns:1fr}.access-controls .primary{width:100%}.access-state{align-items:flex-start;flex-wrap:wrap}.access-state strong,.access-state span{width:100%}.access-state .ghost{margin-left:0}.nav-group>summary{min-height:48px}.nav-submenu .nav-item{min-height:44px}}
@media(max-width:520px){.top-actions .access-btn{font-size:0;width:42px;padding:8px}.top-actions .access-btn::first-letter{font-size:15px}.brand-logo-picture{height:42px;width:42px}.brand-logo{width:31px}.access-panel{padding:16px}.nav-submenu{padding-left:8px}}
@media print{.access-panel,.access-btn{display:none!important}}


/* v1.5 fire fighting equipment and emergency lighting */
.page-section .manufacturer-card{cursor:pointer}.page-section a.manufacturer-card:hover{color:var(--text)}
@media(max-width:700px){.page-section .kb-table{min-width:700px}}


/* v1.6 firefighting + emergency-lighting field engineering expansion */
.numbered-flow>div{position:relative;padding:14px 16px 14px 48px;border:1px solid #29313b;border-radius:11px;background:#10151b;min-height:48px;color:#c7ced8;line-height:1.6;font-size:13px;counter-increment:step}
.numbered-flow{counter-reset:step}
.numbered-flow>div::before{content:counter(step);position:absolute;left:14px;top:13px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#173047;border:1px solid #2e6185;color:#bde9ff;font-size:11px;font-weight:900}
.numbered-flow>div strong{color:#fff}.asset-table{min-width:1450px}.asset-table td{vertical-align:top}.asset-table input,.asset-table select{min-width:105px;padding:8px;font-size:11px}.asset-table td:nth-child(3) input,.asset-table td:last-of-type input{min-width:180px}.asset-table .delete-row{padding:7px 9px}.result-big.pass{color:var(--good)}.result-big.fail{color:var(--bad)}.result-big.warn{color:var(--warn)}
code{background:#0c1117;border:1px solid #29313b;border-radius:6px;padding:2px 5px;color:#bde9ff}
@media(max-width:700px){.panel-head{align-items:flex-start;flex-direction:column}.panel-head .button-row{width:100%;flex-wrap:wrap}.asset-table{min-width:1250px}.numbered-flow>div{padding-left:44px}}
@media print{.delete-row,#ffeAddRow,#ffeExport,#ffeClear,#elSchAddRow,#elSchExport,#elSchClear{display:none!important}.asset-table input,.asset-table select{border:0;background:transparent;padding:0;color:#000}.asset-table{min-width:0;font-size:8px}}

/* v2.0 PHP account, installer and server-auth UI */
a{color:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-card{width:min(620px,100%);background:linear-gradient(180deg,var(--panel),#11161d);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.auth-logo{display:block;width:180px;max-height:62px;object-fit:contain;background:#fff;border:1px solid #dce5ec;border-radius:12px;padding:7px 10px;margin-bottom:22px}.auth-card h1{font-size:32px;margin:6px 0 8px}.auth-card p{color:var(--muted);line-height:1.55}.auth-form{display:grid;gap:14px;margin-top:20px}.auth-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}.auth-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;font-size:12px;color:#9fd8f3}.auth-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.auth-meta>div{border:1px solid #29313b;background:#10151b;border-radius:10px;padding:12px}.auth-meta span,.auth-meta strong{display:block}.auth-meta span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.8px}.auth-meta strong{margin-top:5px;font-size:13px}.account-panel{max-width:900px;margin:0 auto}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;border:1px solid #31523f;background:#12241a;color:#c5f0d4;font-size:11px;font-weight:800}.top-actions a{white-space:nowrap}.top-actions .compact-auth{font-size:11px}.registration-cta{display:flex;gap:10px;flex-wrap:wrap}.access-panel .access-state.server-auth{display:block}.access-panel .access-state.server-auth p{margin:5px 0 0}.alert.success{background:#11241a;border-color:#2b523a;color:#bdf0ce}@media(max-width:900px){.top-actions .compact-auth{display:none}.auth-shell{padding:16px}.auth-card{padding:20px}.auth-meta{grid-template-columns:1fr}}@media(max-width:520px){.auth-card h1{font-size:27px}.auth-logo{width:150px}}


/* v3 platform mobile */
.platform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.platform-card{background:#121922;border:1px solid #273240;border-radius:16px;padding:16px;text-decoration:none;color:inherit}.platform-card strong{display:block;font-size:18px;margin:8px 0}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:10px;border-bottom:1px solid #273240;text-align:left;vertical-align:top}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0 0 14px}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.field-help{font-size:12px;color:#9aa7b6}.status-badge.active,.status-badge.approved,.status-badge.in_service{background:#103b25;color:#83e6aa}.status-badge.pending,.status-badge.attention{background:#46380f;color:#ffd36a}.status-badge.suspended,.status-badge.defective{background:#4a1820;color:#ff9fa7}.mobile-actions{display:none}.bottom-mobile-nav{display:none}
@media(max-width:1000px){.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell{grid-template-columns:1fr}.admin-nav{position:static;display:flex;overflow:auto;gap:8px;padding:10px}.admin-nav a{white-space:nowrap}}
@media(max-width:680px){.platform-grid,.card-grid,.form-grid.two{grid-template-columns:1fr!important}.top-actions .print-btn,.status-pill{display:none}.data-table,.data-table thead,.data-table tbody,.data-table tr,.data-table th,.data-table td{display:block}.data-table thead{display:none}.data-table tr{border:1px solid #273240;border-radius:14px;margin:0 0 12px;background:#111820;overflow:hidden}.data-table td{border:0;border-bottom:1px solid #273240}.data-table td:last-child{border-bottom:0}.data-table td::before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8c9bad;margin-bottom:4px}.toolbar{align-items:stretch}.toolbar>*{width:100%}.admin-topbar,.topbar{gap:8px}.brand-site{display:none}.auth-card{margin:8px}.bottom-mobile-nav{display:grid;position:fixed;left:0;right:0;bottom:0;grid-template-columns:repeat(4,1fr);background:#0d1117;border-top:1px solid #293241;z-index:20}.bottom-mobile-nav a{padding:10px 6px;text-align:center;font-size:12px;color:#dce6f1;text-decoration:none}.main{padding-bottom:70px}}


/* v3.0.0-alpha2 asset/service/job UI */
.form-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.asset-detail-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:16px;margin:16px 0}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.detail-list{display:grid;grid-template-columns:140px 1fr;gap:9px 12px}.detail-list dt{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.detail-list dd{margin:0;color:var(--text)}.print-label{margin-top:18px;border:2px dashed #516171;border-radius:14px;padding:16px;background:#0d131a;display:grid;gap:5px}.print-label strong{font-size:22px}.print-label small{word-break:break-all;color:var(--muted)}.inline-edit-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,.8fr) auto;gap:8px;align-items:center}.inline-edit-form select{min-width:0}.status-badge.scheduled{background:#173047;color:#bde9ff}.status-badge.completed{background:#103b25;color:#83e6aa}.status-badge.urgent,.status-badge.critical,.status-badge.major{background:#4a1820;color:#ff9fa7}.status-badge.on_hold,.status-badge.monitoring,.status-badge.quoted,.status-badge.parts_required{background:#46380f;color:#ffd36a}
@media(max-width:1000px){.three-col,.asset-detail-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr 1fr}.inline-edit-form{grid-template-columns:1fr}}
@media(max-width:680px){.form-grid.three{grid-template-columns:1fr}.hero-actions{width:100%}.hero-actions a,.hero-actions button{width:100%;justify-content:center}.detail-list{grid-template-columns:1fr}.detail-list dt{margin-top:8px}.print-label{font-size:12px}}
@media print{.topbar,.sidebar,footer,.hero-actions,.auth-form button,.inline-edit-form,.nav-backdrop{display:none!important}.app-shell{display:block}.main{padding:0}.panel,.hero{box-shadow:none;border-color:#aaa;background:#fff;color:#000}.print-label{break-inside:avoid;color:#000;background:#fff}.data-table th,.data-table td{color:#000;border-color:#aaa}}


/* v3 alpha3: CRM detail, schedules and labels */
.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.kpi{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1rem}.kpi strong{display:block;font-size:2rem;color:#fff}.kpi span{color:var(--muted)}.compact-list{padding-left:1.2rem}.compact-list li{margin:.35rem 0}.mini{padding:.42rem .65rem;font-size:.82rem}.inline-actions{display:inline-block;margin:.1rem}.inline-form{display:grid;gap:.7rem;margin-top:1rem}.asset-label-sheet{display:flex;justify-content:center;padding:1.5rem}.asset-label-card{width:min(520px,100%);background:#fff;color:#111;border:2px solid #111;border-radius:14px;padding:18px;font-family:Arial,sans-serif}.asset-label-card .label-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #222;padding-bottom:10px;margin-bottom:14px}.asset-label-card .label-head img{max-width:150px;height:auto}.label-grid{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:start}.qr-code{width:150px;height:150px;border:1px solid #222}.asset-label-card h2{color:#111;margin:.1rem 0 .4rem}.label-footer{border-top:1px solid #222;margin-top:12px;padding-top:8px;font-size:.72rem;word-break:break-all}.status-badge.completed{background:#0c3628;color:#b7f7d0}.status-badge.in_progress{background:#2c2540;color:#dfcdfd}.status-badge.on_hold{background:#473611;color:#ffe1a3}.status-badge.cancelled{background:#421b1b;color:#ffb4b4}.status-badge.scheduled{background:#162b44;color:#badaff}@media(max-width:720px){.kpi-grid{grid-template-columns:1fr}.label-grid{grid-template-columns:1fr}.qr-code{width:180px;height:180px;margin:auto}.asset-label-card{border-radius:8px}.inline-actions{display:block}.inline-actions button{width:100%;margin-top:.35rem}}@media print{.no-print,.topbar,.sidebar,footer,.nav-backdrop{display:none!important}.app-shell{display:block}.main{padding:0}.asset-label-sheet{padding:0}.asset-label-card{box-shadow:none;page-break-inside:avoid}}

/* v3.0.0-alpha5 dashboard module display fix */
.dashboard-page .dashboard-directory{margin:18px 0 20px;padding:24px;overflow:hidden}
.dashboard-directory-head{margin-bottom:12px}.dashboard-directory-head h2{margin:6px 0 6px}
.section-heading{margin:22px 0 12px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#ffb067}
.dashboard-card-grid.platform-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin:0 0 10px!important}
.dashboard-card-grid .module-card{display:grid!important;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px 13px;min-height:132px;text-decoration:none!important;color:inherit!important;border:1px solid #273240;background:linear-gradient(180deg,#151b24,#111820);border-radius:16px;padding:17px;align-content:start;white-space:normal!important;line-height:1.35}
.dashboard-card-grid .module-card:hover{border-color:#4c6177;transform:translateY(-2px)}
.dashboard-card-grid .module-card .module-code{grid-row:1/3;display:grid!important;place-items:center;width:44px;height:44px;border-radius:12px;background:#13283a;border:1px solid #2c5878;color:#9ddcff;font-size:11px;font-weight:950;letter-spacing:.03em;margin:0!important}
.dashboard-card-grid .module-card strong{display:block!important;font-size:16px!important;margin:1px 0 0!important;line-height:1.25}
.dashboard-card-grid .module-card small{display:block!important;color:#a8b4c2!important;margin-top:2px!important;line-height:1.45;font-size:12px!important}
.discipline-grid .module-card .module-code{background:#241e12;border-color:#564426;color:#ffd18b}
.release-note-card{grid-column:1/-1;box-shadow:none}
@media(max-width:1180px){.dashboard-card-grid.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.dashboard-page .dashboard-directory{padding:17px}.dashboard-card-grid.platform-grid{grid-template-columns:1fr!important}.dashboard-card-grid .module-card{min-height:auto;grid-template-columns:auto 1fr;padding:14px}.dashboard-card-grid .module-card .module-code{width:40px;height:40px}.section-heading{font-size:12px}}

/* v3.0.0-alpha6 CRUD/context UX */
.company-switcher{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;max-width:100%}
.company-switcher label{display:flex;align-items:center;gap:.55rem;margin:0;color:#b8d3ee;font-size:.9rem;flex-wrap:wrap}
.company-switcher select{min-width:220px;max-width:100%;background:#0d141e;color:#f7fbff;border:1px solid rgba(100,180,255,.35);border-radius:12px;padding:.75rem .9rem}
.empty-state-card{max-width:880px;margin-inline:auto;text-align:left}
.row-actions{min-width:145px;max-width:100%}
.row-actions summary{cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(132,169,203,.25);background:#101823;color:#f8fbff;border-radius:999px;padding:.48rem .75rem;font-weight:800;font-size:.86rem;min-height:40px}
.row-actions[open] summary{margin-bottom:.75rem;background:#132235;border-color:rgba(255,145,38,.45)}
.row-actions .auth-form,.compact-form{background:rgba(8,12,18,.72);border:1px solid rgba(100,180,255,.2);border-radius:14px;padding:.8rem;margin:.5rem 0;min-width:min(520px,calc(100vw - 48px))}
.inline-actions{display:inline-flex;gap:.4rem;margin:.35rem .35rem .35rem 0;vertical-align:top}
.button-row{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}
.danger-btn{background:#622126;color:#fff;border:1px solid rgba(255,93,93,.55);border-radius:12px;padding:.7rem 1rem;font-weight:900;cursor:pointer}
.danger-btn.small,.ghost.small{padding:.52rem .72rem;font-size:.86rem;min-height:38px}
@media (max-width: 780px){.company-switcher,.company-switcher label,.company-switcher select{width:100%}.row-actions .auth-form,.compact-form{min-width:0;width:100%}.data-table td[data-label="Actions"]{display:block}.inline-actions{display:flex}.inline-actions button,.row-actions summary{width:100%;justify-content:center}.hero-actions{width:100%}}

/* v3.0.0-alpha11: cards, modal CRUD and scanning/labels */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dashboard-scanner-panel{margin:16px 0}.dashboard-scan-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}.dashboard-scan-form input{min-height:48px}
.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:100;display:grid;place-items:start center;padding:5vh 16px;overflow:auto}.modal-backdrop[hidden]{display:none!important}.modal-card{width:min(760px,100%);background:linear-gradient(180deg,#151b24,#111820);border:1px solid #2b3a4b;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.45);padding:22px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.modal-close{background:#0d141e;border:1px solid #334155;border-radius:12px;color:#fff;font-size:24px;line-height:1;width:44px;height:44px;cursor:pointer}
.register-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px}.view-toggle{display:flex;gap:8px;flex-wrap:wrap}.card-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:14px}.record-card{background:linear-gradient(180deg,#151b24,#111820);border:1px solid #273240;border-radius:16px;padding:16px;display:grid;gap:12px;align-content:start}.record-card:hover{border-color:#40546a}.record-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.record-card-title{font-size:18px;font-weight:950;color:#fff;text-decoration:none}.record-card-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#ffb067;font-weight:900}.record-card-meta{display:grid;gap:6px;font-size:13px;color:#b9c7d6}.record-card-meta span{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.06);padding-top:6px}.record-card-meta b{color:#fff}.record-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.record-card details.row-actions{width:100%}.record-card details.row-actions summary{width:fit-content}.record-card details.row-actions .auth-form,.record-card details.row-actions .compact-form{min-width:0;width:100%;box-sizing:border-box}.asset-card .asset-ref{font-size:21px}.asset-label-actions{display:flex;gap:8px;flex-wrap:wrap}.label-preview-row{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center;margin-top:16px}.barcode-code{max-width:100%;height:auto;background:#fff;border-radius:8px;padding:8px}.scanner-grid{align-items:start}.scanner-frame{position:relative;background:#05080c;border:1px solid #314255;border-radius:18px;overflow:hidden;min-height:320px;display:grid;place-items:center}.scanner-frame video{width:100%;min-height:320px;object-fit:cover}.scanner-reticle{position:absolute;inset:22%;border:3px solid rgba(255,145,38,.85);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.25)}.quick-help-card{margin-top:18px;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px;background:rgba(255,255,255,.04)}.asset-label-card .barcode-code{width:100%;max-height:100px}.label-barcode-block{margin-top:14px;border-top:1px solid #222;padding-top:10px;text-align:center}.label-print-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media(max-width:760px){.dashboard-scan-form{grid-template-columns:1fr}.modal-backdrop{padding:0}.modal-card{min-height:100vh;border-radius:0}.register-actions{align-items:stretch}.register-actions .primary,.register-actions .ghost{width:100%;justify-content:center}.card-list-grid{grid-template-columns:1fr}.label-preview-row{grid-template-columns:1fr;text-align:center}.scanner-frame,.scanner-frame video{min-height:260px}.topbar{position:sticky;top:0}.two-col{grid-template-columns:1fr!important}}
@media print{.label-print-actions,.no-print,.modal-backdrop,.dashboard-scanner-panel{display:none!important}.barcode-code{background:#fff!important}.asset-label-card{width:95mm;min-height:55mm}.asset-label-sheet{padding:0!important}}

/* v3.0.0-alpha14: mobile/tablet deep layout pass, PWA shell and universal card/modal polish */
html, body { max-width:100%; overflow-x:hidden; }
img, video, canvas, svg { max-width:100%; height:auto; }
button, .primary, .ghost, .link-btn, summary { min-height:44px; touch-action:manipulation; }
.main { min-width:0; }
.panel, .hero, .record-card, .module-card, .quick-card { min-width:0; }
.hero-actions .company-switcher { max-width:100%; }
.company-switcher select { min-width:min(360px,100%); }
.record-card-meta span { align-items:flex-start; }
.record-card-meta small { color:#93a4b8; text-transform:uppercase; letter-spacing:.06em; }
.record-card-actions .primary,.record-card-actions .ghost,.record-card-actions .danger-btn { border-radius:12px; }
.card-list-grid, .dashboard-card-grid, .quick-grid, .summary-grid { min-width:0; }
.data-table, table { max-width:100%; }
.modal-card .auth-form, .record-card .auth-form { max-width:100%; }
.modal-card input,.modal-card select,.modal-card textarea,.record-card input,.record-card select,.record-card textarea { min-width:0; }

.bottom-mobile-nav { display:none; }
.bottom-mobile-nav .bottom-nav-item { display:grid; gap:2px; place-items:center; color:#c8d4e2; text-decoration:none; border-top:2px solid transparent; }
.bottom-mobile-nav .bottom-nav-item span { font-weight:900; font-size:13px; background:#12304a; color:#aee1ff; border:1px solid #28537a; border-radius:9px; min-width:34px; min-height:30px; display:grid; place-items:center; }
.bottom-mobile-nav .bottom-nav-item small { font-size:10px; line-height:1.1; }
.bottom-mobile-nav .bottom-nav-item.active { color:#fff; border-top-color:var(--accent); background:rgba(255,138,31,.08); }

.scanner-permission-card { border:1px solid #334155; border-radius:14px; padding:12px; background:rgba(255,255,255,.04); margin-bottom:12px; }
.scanner-frame { width:100%; }
.scanner-frame video { display:block; }

.label-options-panel { margin:16px 0; }
.label-size-form { display:grid; grid-template-columns:1.2fr repeat(4,minmax(100px,.7fr)) auto; gap:12px; align-items:end; }
.asset-label-sheet { gap:6mm; flex-wrap:wrap; }
.flexible-label-card { width:var(--label-w,100mm)!important; height:var(--label-h,50mm)!important; min-height:0!important; padding:var(--label-pad,4mm)!important; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; }
.flexible-label-card .label-head { margin-bottom:2mm!important; padding-bottom:1.5mm!important; }
.flexible-label-card .label-head img { max-width:min(36mm,42%); }
.flexible-label-card .label-main { display:grid; grid-template-columns:minmax(18mm,32%) 1fr; gap:3mm; align-items:start; min-height:0; }
.flexible-label-card .qr-code { width:100%!important; height:auto!important; aspect-ratio:1/1; object-fit:contain; }
.flexible-label-card h2 { font-size:clamp(12px, 5mm, 22px); line-height:1.05; overflow:hidden; text-overflow:ellipsis; }
.flexible-label-card p { font-size:clamp(8px, 2.8mm, 13px); line-height:1.2; margin:1mm 0; }
.flexible-label-card .label-small, .flexible-label-card small, .flexible-label-card .label-footer { font-size:clamp(6px, 2.2mm, 10px); line-height:1.15; }
.flexible-label-card .label-barcode-block { margin-top:1.5mm!important; padding-top:1mm!important; }
.flexible-label-card .barcode-code { max-height:16mm; object-fit:contain; padding:1mm; }

@media (max-width: 1200px) {
  .app-shell { grid-template-columns:230px minmax(0,1fr); }
  .main { padding:22px; }
  .hero { padding:24px; }
  .label-size-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .topbar { min-height:72px; height:auto; padding-top:8px; padding-bottom:8px; }
  .brand { min-width:0; flex:1 1 auto; }
  .brand-logo { max-width:130px; }
  .top-actions { gap:6px; flex-wrap:wrap; justify-content:flex-end; }
  .top-actions .status-pill { display:none; }
  .sidebar { left:-86vw; width:min(82vw,320px); }
  .sidebar.open { left:0; }
  .main { padding:16px; }
  .hero { border-radius:18px; padding:20px; gap:18px; }
  .hero h1,.page-title h1 { font-size:clamp(28px,8vw,42px); }
  .panel { padding:16px; border-radius:16px; }
  .card-list-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
  .form-grid.two,.form-grid.three { grid-template-columns:1fr 1fr; }
  .label-size-form { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  body { font-size:15px; }
  .topbar { align-items:center; }
  .brand-logo { max-width:112px; }
  .top-actions .print-btn { display:none; }
  .main { padding:12px; }
  .hero,.panel { padding:14px; }
  .form-grid,.form-grid.two,.form-grid.three,.two-col,.three-col,.calc-layout,.asset-detail-grid { grid-template-columns:1fr!important; }
  .button-row,.record-card-actions,.label-print-actions { flex-direction:column; align-items:stretch; }
  .button-row > *, .record-card-actions > *, .label-print-actions > * { width:100%; justify-content:center; }
  .record-card-head { display:grid; grid-template-columns:1fr; }
  .record-card-meta span { display:grid; grid-template-columns:1fr; gap:2px; }
  .modal-backdrop { padding:0; place-items:stretch; }
  .modal-card { width:100%; min-height:100dvh; border-radius:0; padding:16px; }
  .scanner-frame,.scanner-frame video { min-height:220px; }
  .label-size-form { grid-template-columns:1fr; }
  .asset-label-sheet { justify-content:flex-start; overflow:auto; padding:10px 0; }
  .flexible-label-card { transform-origin:top left; }
  .bottom-mobile-nav { display:grid; position:fixed; left:0; right:0; bottom:0; grid-template-columns:repeat(5,1fr); background:rgba(13,17,23,.97); backdrop-filter:blur(16px); border-top:1px solid #293241; z-index:60; padding-bottom:env(safe-area-inset-bottom); }
  footer { padding-bottom:76px; }
}
@media print {
  html, body { background:#fff!important; color:#000!important; overflow:visible!important; }
  body:has(.label-page) { width:var(--label-w,100mm); height:var(--label-h,50mm); margin:0!important; }
  body:has(.label-page) * { visibility:hidden!important; }
  body:has(.label-page) .asset-label-sheet, body:has(.label-page) .asset-label-sheet * { visibility:visible!important; }
  body:has(.label-page) .asset-label-sheet { position:absolute!important; inset:0 auto auto 0!important; width:var(--label-w,100mm)!important; min-height:var(--label-h,50mm)!important; height:auto!important; margin:0!important; padding:0!important; display:block!important; overflow:visible!important; }
  body:has(.label-page) .asset-label-card { page-break-after:always; break-after:page; width:var(--label-w,100mm)!important; height:var(--label-h,50mm)!important; border:0!important; border-radius:0!important; margin:0!important; box-shadow:none!important; }
  body:has(.label-page) .asset-label-card:last-child { page-break-after:auto; break-after:auto; }
  body:has(.label-page) .label-footer { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
}

/* v3.0.0-alpha15: public asset logbook and label print hardening */
.public-logbook-page .public-summary-grid { margin:18px 0; }
.public-logbook-page .asset-public-grid { align-items:start; }
.public-logbook-page .record-card p { color:#d5dde8; line-height:1.5; }
.compact-cards { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
@media print {
  body:has(.label-page) { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  body:has(.label-page) .flexible-label-card { overflow:hidden!important; transform:none!important; }
  body:has(.label-page) .label-main { min-height:0!important; }
  body:has(.label-page) .qr-code { max-width:32%!important; }
  body:has(.label-page) .barcode-code { max-height:14mm!important; }
}

/* v3.0.0-alpha16: clearer company IDs and robust label preview/printing. */
.identity-strip{display:grid;grid-template-columns:1fr;gap:8px;border:1px solid rgba(88,166,255,.28);background:rgba(14,43,67,.28);border-radius:12px;padding:10px;margin:2px 0}.identity-strip span{display:grid;gap:2px;min-width:0}.identity-strip small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#9fbed6;font-weight:900}.identity-strip b{font-size:15px;color:#fff;word-break:break-all}.identity-strip .uuid-text{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.identity-help-card p{line-height:1.55}.company-card .record-card-title{display:block;margin-top:2px}.label-page .asset-label-sheet.preview-only{display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:18px;background:rgba(255,255,255,.03);border-radius:16px}.asset-print-label{width:var(--label-w,57mm);height:var(--label-h,32mm);padding:var(--label-pad,1.8mm);overflow:hidden;display:grid;grid-template-rows:auto 1fr auto auto;gap:1mm;background:#fff;color:#000;border-radius:4mm;font-family:Arial,Helvetica,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.35)}.asset-print-label *{box-sizing:border-box}.asset-print-label .label-top{display:flex;align-items:center;justify-content:space-between;border-bottom:.25mm solid #111;padding-bottom:.6mm;font-size:calc(var(--label-font,8px)*.9);line-height:1}.asset-print-label .label-top img{max-width:30%;max-height:8mm;object-fit:contain}.asset-print-label .label-body{display:grid;grid-template-columns:var(--qr-size,15mm) 1fr;gap:1.5mm;align-items:center;min-height:0}.asset-print-label.label-layout-barcode .label-body{grid-template-columns:1fr}.asset-print-label .label-qr{width:var(--qr-size,15mm);height:var(--qr-size,15mm);object-fit:contain;display:block}.asset-print-label .label-copy{min-width:0;overflow:hidden}.asset-print-label .label-copy h2{margin:0 0 .5mm;color:#000;font-size:calc(var(--label-font,8px)*1.25);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-print-label .label-copy p{margin:.35mm 0;color:#000;font-size:var(--label-font,8px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-print-label .label-mini{font-size:calc(var(--label-font,8px)*.78)!important}.asset-print-label .label-bar{border-top:.25mm solid #111;padding-top:.6mm;text-align:center;min-height:0}.asset-print-label .label-bar img{width:92%;height:var(--barcode-h,7mm);object-fit:fill;display:block;margin:0 auto;background:#fff}.asset-print-label .label-bar span{display:block;color:#000;font-size:calc(var(--label-font,8px)*.70);line-height:1}.asset-print-label .label-url{border-top:.25mm solid #111;color:#000;font-size:calc(var(--label-font,8px)*.58);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-options-panel .label-size-form{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.label-print-actions a,.label-print-actions button{min-height:44px}.public-logbook-page .hero,.public-logbook-page .panel{max-width:1100px;margin-left:auto;margin-right:auto}
@media(max-width:780px){.identity-strip{grid-template-columns:1fr}.label-page .asset-label-sheet.preview-only{justify-content:flex-start}.asset-print-label{transform:none}.label-page .hero-actions{width:100%}.label-page .hero-actions a,.label-page .hero-actions button{width:100%;justify-content:center}}
@media print{.label-page .no-print{display:none!important}}

/* v3.0.0-alpha17: jobs cards, cron and label URL hardening */
.job-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));}
.job-card .record-card-title{font-size:19px;display:inline-block;margin-top:2px;color:#fff;text-decoration:underline;text-underline-offset:3px;}
.job-card .record-card-actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap;}
.cron-url-box,.identity-strip .uuid-text{overflow-wrap:anywhere;word-break:break-word;}
.public-logbook-page .hero-actions .primary{white-space:normal;text-align:center;}
@media(max-width:700px){.jobs-page .hero-actions,.schedules-page .hero-actions{display:grid;width:100%;}.job-card .record-card-actions>*{width:100%;}.admin-nav a{min-height:42px;display:flex;align-items:center;}}
@media print{.job-card-grid,.card-list-grid{display:block}.record-card{break-inside:avoid;page-break-inside:avoid;margin-bottom:10px}}


/* v3.0.0-alpha19 public standalone logbook layout */
body.public-standalone-page{min-height:100vh;background:radial-gradient(circle at top left,rgba(20,130,180,.16),transparent 35%),#080b10;color:var(--text,#f6f8fb);}
.public-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(14px,3vw,34px);background:rgba(8,11,16,.94);border-bottom:1px solid rgba(148,163,184,.18);backdrop-filter:blur(14px)}
.public-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}.public-brand img{height:54px;width:auto;max-width:150px;background:#fff;border-radius:10px;padding:6px}.public-brand span{display:flex;flex-direction:column;line-height:1.15}.public-brand small{color:#b9cbe2;font-weight:700}.public-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.public-main{width:min(1180px,calc(100% - 28px));margin:24px auto 52px}.public-footer{text-align:center;color:#8ea4bf;padding:24px}.public-standalone-page .public-logbook-page{max-width:none;margin:0}.public-standalone-page .hero{margin-top:0}.public-standalone-page .sidebar,.public-standalone-page .app-shell,.public-standalone-page .topbar{display:none!important}.public-standalone-page .summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.public-standalone-page .asset-public-grid{align-items:start}.public-standalone-page .hero-actions .primary{white-space:nowrap}@media(max-width:900px){.public-topbar{align-items:flex-start;flex-direction:column}.public-actions{width:100%}.public-actions .ghost,.public-actions button{flex:1 1 auto;text-align:center}.public-standalone-page .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-standalone-page .two-col{grid-template-columns:1fr!important}}@media(max-width:560px){.public-main{width:calc(100% - 18px);margin-top:12px}.public-brand img{height:44px}.public-standalone-page .summary-grid{grid-template-columns:1fr}.public-standalone-page .hero{padding:22px}.public-standalone-page h1{font-size:clamp(30px,10vw,46px);word-break:break-word}.public-actions .ghost,.public-actions button{width:100%}}@media print{body.public-standalone-page{background:#fff;color:#000}.public-topbar,.public-footer,.public-actions,.public-standalone-page .hero-actions{display:none!important}.public-main{width:100%;margin:0}.public-standalone-page .panel,.public-standalone-page .summary-card,.public-standalone-page .hero{box-shadow:none!important;border-color:#999!important;background:#fff!important;color:#000!important;break-inside:avoid}.public-standalone-page *{color:#000!important}}


/* v3.0.0-alpha20: phone/tablet width audit and mobile-first dashboard hardening */
html,body{max-width:100%;overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}.main,.page-section,.hero,.panel,.record-card,.summary-card{min-width:0}.main{overflow-x:hidden}.hero>*,.panel>*{min-width:0}.hero h1,.page-title h1,.record-card-title{overflow-wrap:normal;word-break:normal}.hero p,.panel p,.record-card-meta,.muted{overflow-wrap:anywhere}.topbar,.app-shell,.bottom-mobile-nav{max-width:100vw}.brand-logo{display:block;max-height:50px;max-width:150px}.brand-logo-picture{display:flex;align-items:center;flex:0 0 auto}.top-actions>*{flex:0 0 auto}
@media(max-width:1024px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.main{width:100%;max-width:100%;margin:0;padding-left:16px;padding-right:16px}.hero,.panel,.dashboard-directory,.access-panel{width:100%;max-width:100%}.dashboard-page{width:100%;}.dashboard-page .hero{grid-template-columns:1fr!important;gap:16px}.hero-badge{width:100%;min-width:0}.dashboard-card-grid.platform-grid,.quick-grid,.summary-grid,.card-list-grid,.job-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-scanner-panel .panel-head,.panel-head{align-items:flex-start;flex-wrap:wrap}.dashboard-scanner-panel .panel-head .primary{width:100%;}.access-panel{display:grid!important;grid-template-columns:1fr!important;gap:14px}.topbar .status-pill{display:none}.top-actions{min-width:0}.top-actions .print-btn{display:none!important}}
@media(max-width:700px){body{font-size:15px}.topbar{height:64px;display:grid;grid-template-columns:46px auto 1fr;gap:10px;padding:8px 12px}.menu-btn{display:grid!important;width:46px;height:46px;place-items:center}.brand{min-width:0!important;width:auto;gap:0}.brand-logo{width:46px!important;height:46px!important;object-fit:contain;border-radius:12px;background:#fff;padding:4px}.brand-site{display:none!important}.top-actions{justify-content:flex-end;gap:8px;overflow:hidden}.top-actions .ghost,.top-actions .primary,.top-actions .status-pill{display:none!important}.app-shell{display:block!important;width:100%;min-height:calc(100dvh - 64px)}.sidebar{top:64px!important;height:calc(100dvh - 64px)!important}.main{padding:14px 12px 92px!important}.mobile-page-label{display:block;margin:8px 0 14px;color:var(--accent2);font-size:13px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.hero{padding:20px!important;border-radius:20px!important;display:grid!important;grid-template-columns:1fr!important;gap:15px!important}.hero h1,.page-title h1{font-size:clamp(30px,9.5vw,39px)!important;line-height:1.08!important;letter-spacing:-.9px!important;margin:8px 0 12px}.hero p,.page-title p{font-size:15px!important;line-height:1.55!important;max-width:none}.hero-badge{padding:15px!important}.hero-badge strong{font-size:22px}.panel{padding:16px!important;border-radius:17px!important}.panel-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.dashboard-card-grid.platform-grid,.quick-grid,.summary-grid,.card-list-grid,.job-card-grid,.compact-cards{grid-template-columns:1fr!important}.dashboard-card-grid .module-card{grid-template-columns:44px minmax(0,1fr)!important;min-height:auto!important;padding:15px!important}.dashboard-card-grid .module-card strong{font-size:17px!important}.dashboard-card-grid .module-card small{font-size:13px!important}.dashboard-scan-form{grid-template-columns:1fr!important}.button-row,.record-card-actions,.hero-actions,.register-actions,.label-print-actions{display:grid!important;grid-template-columns:1fr!important;width:100%;gap:10px}.button-row>*,.record-card-actions>*,.hero-actions>*,.register-actions>*,.label-print-actions>*{width:100%!important;justify-content:center!important;text-align:center}.form-grid,.form-grid.two,.form-grid.three,.label-size-form{grid-template-columns:1fr!important}.two-col,.calc-layout,.asset-public-grid,.asset-detail-grid,.scanner-grid{grid-template-columns:1fr!important}.record-card-meta span{display:grid!important;grid-template-columns:1fr!important;gap:3px}.bottom-mobile-nav{display:grid!important;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(11,14,20,.98);border-top:1px solid #2a3340;padding:8px 4px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -14px 30px rgba(0,0,0,.35)}.bottom-mobile-nav a{min-width:0;font-size:12px;text-align:center}.bottom-mobile-nav .nav-icon,.bottom-mobile-nav .module-code{margin-inline:auto}}
@media(max-width:420px){.main{padding-left:10px!important;padding-right:10px!important}.hero h1,.page-title h1{font-size:clamp(28px,9vw,35px)!important}.hero p,.page-title p{font-size:14px!important}.hero,.panel{border-radius:16px!important}.dashboard-card-grid .module-card{grid-template-columns:40px minmax(0,1fr)!important}.dashboard-card-grid .module-card .module-code{width:40px;height:40px}.public-topbar{position:static}.public-main{width:calc(100% - 16px)!important}.modal-card{width:100%!important;min-height:100dvh!important;border-radius:0!important}}
@media(orientation:landscape) and (max-height:520px){.topbar{position:static}.sidebar{top:0!important;height:100dvh!important}.main{padding-top:12px!important}.hero{padding:16px!important}.hero h1{font-size:30px!important}.bottom-mobile-nav{position:sticky}}

/* v3.0.0-alpha21: public logbook layout + date and label preview hardening */
body.public-standalone-page .public-topbar{position:sticky;display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;min-height:86px;padding:14px clamp(18px,4vw,56px)}
body.public-standalone-page .public-actions{justify-content:flex-end;align-items:center;gap:10px}
body.public-standalone-page .public-actions .ghost,body.public-standalone-page .public-actions button{min-height:44px;padding:10px 16px;border-radius:12px;white-space:nowrap}
body.public-standalone-page .public-main{width:min(1280px,calc(100% - 44px));margin:28px auto 48px;padding:0}
body.public-standalone-page .public-logbook-page{display:grid;gap:18px}
body.public-standalone-page .public-logbook-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center;max-width:none!important;margin:0!important;padding:36px clamp(24px,4vw,54px)!important}
body.public-standalone-page .public-logbook-hero h1{font-size:clamp(40px,5vw,68px);line-height:1;letter-spacing:-1.5px;overflow-wrap:anywhere}
body.public-standalone-page .public-summary-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
body.public-standalone-page .summary-card{min-height:118px;display:flex;flex-direction:column;justify-content:center;gap:8px}
body.public-standalone-page .summary-card strong{font-size:clamp(20px,2.2vw,30px);line-height:1.1;overflow-wrap:anywhere}
body.public-standalone-page .service-date-card strong{font-size:clamp(18px,1.8vw,25px)}
body.public-standalone-page .asset-public-grid{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr)!important;gap:18px!important;align-items:start}
body.public-standalone-page .formula-list div{grid-template-columns:minmax(130px,230px) minmax(0,1fr)}
body.public-standalone-page .panel{max-width:none!important;margin:0!important}
body.public-standalone-page .public-footer{padding:20px 12px 34px}
.label-page .asset-label-sheet.preview-only{display:flex!important;justify-content:center!important;align-items:center!important;min-height:170px;overflow:auto;padding:18px;background:rgba(255,255,255,.035);border-radius:16px}.label-page .asset-print-label{box-shadow:0 12px 30px rgba(0,0,0,.38);transform:scale(1.75);transform-origin:center}.label-page .asset-label-sheet.preview-only{min-height:max(190px,calc(var(--label-h,32mm)*3.2))}.asset-print-label .label-top img{object-fit:contain}.asset-print-label .label-copy h2{max-width:100%}.asset-print-label .label-bar img{image-rendering:auto}
@media(max-width:980px){body.public-standalone-page .public-topbar{grid-template-columns:1fr;gap:12px}body.public-standalone-page .public-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}body.public-standalone-page .public-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.public-standalone-page .asset-public-grid{grid-template-columns:1fr!important}body.public-standalone-page .public-logbook-hero{grid-template-columns:1fr!important}.public-hero-actions{width:100%;display:grid}.public-hero-actions .primary{width:100%;justify-content:center}.label-page .asset-print-label{transform:scale(1.35)}}
@media(max-width:620px){body.public-standalone-page .public-main{width:calc(100% - 22px);margin-top:14px}body.public-standalone-page .public-actions{grid-template-columns:1fr}body.public-standalone-page .public-logbook-hero{padding:24px 18px!important;border-radius:18px!important}body.public-standalone-page .public-logbook-hero h1{font-size:clamp(34px,11vw,48px)}body.public-standalone-page .public-summary-grid{grid-template-columns:1fr!important}.label-page .asset-print-label{transform:scale(1);}.label-page .asset-label-sheet.preview-only{justify-content:flex-start!important;min-height:150px}}
@media print{body.public-standalone-page .public-topbar,body.public-standalone-page .public-footer,body.public-standalone-page .public-actions,body.public-standalone-page .hero-actions{display:none!important}body.public-standalone-page .public-main{width:100%;margin:0}.public-logbook-page{gap:10px!important}.public-logbook-page .hero,.public-logbook-page .panel,.public-logbook-page .summary-card{break-inside:avoid;page-break-inside:avoid}}


/* v3.0.0-alpha22: standalone public logbook audit fixes */
.public-standalone-page .public-topbar{justify-content:flex-start;min-height:92px;padding:20px clamp(18px,4vw,48px);}
.public-standalone-page .public-actions{display:none!important;}
.public-standalone-page .public-main{max-width:1180px;margin:0 auto;padding:clamp(18px,4vw,42px);}
.public-standalone-page .public-logbook-hero{display:block;text-align:left;}
.public-standalone-page .public-logbook-hero .hero-actions,.public-standalone-page .public-hero-actions{display:none!important;}
.public-standalone-page .public-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.public-standalone-page .asset-public-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);align-items:start;}
@media (max-width: 760px){
  .public-standalone-page .public-topbar{min-height:auto;padding:14px 16px;}
  .public-standalone-page .public-brand img{max-width:96px;height:auto;}
  .public-standalone-page .public-brand span small{font-size:11px;}
  .public-standalone-page .public-main{padding:16px 12px 24px;}
  .public-standalone-page .hero h1{font-size:clamp(2rem,12vw,3.2rem);line-height:1.02;word-break:break-word;}
  .public-standalone-page .asset-public-grid{grid-template-columns:1fr;}
}

/* v3.0.0-alpha26 audit hardening */
.record-card-kicker{display:block;margin-bottom:4px;line-height:1.2}.record-card-title{display:block;line-height:1.15}.public-logbook-page .public-actions{display:none!important}.public-logbook-page .public-header{justify-content:flex-start}.public-logbook-page{padding-left:0!important;padding-right:0!important}.public-logbook-page .hero,.public-logbook-page .panel{width:min(1100px,calc(100vw - 28px));}@media (max-width:760px){.public-logbook-page .hero,.public-logbook-page .panel{width:calc(100vw - 22px);margin-left:auto;margin-right:auto}.public-logbook-page .summary-grid{grid-template-columns:1fr}.public-logbook-page .hero h1{font-size:clamp(28px,10vw,46px)}}

/* Alpha27 legal footer */
.site-footer{border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:center;padding:18px 20px;font-size:13px;text-align:center}.site-footer strong{color:var(--text)}.site-footer nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.site-footer a{color:#b9d7ff;text-decoration:none}.site-footer a:hover{text-decoration:underline}.auth-footer{background:rgba(13,15,19,.88)}.legal-page{max-width:1100px;margin:0 auto}.legal-content{line-height:1.7}.legal-content h2{margin-top:22px}.public-standalone-page .site-footer{margin-top:30px}@media(max-width:680px){.site-footer{padding-bottom:calc(18px + env(safe-area-inset-bottom));font-size:12px}.legal-page .hero h1{font-size:clamp(34px,10vw,52px)}}

/* v3.0.0-alpha28: improved footer and public changelog */
.site-footer{border-top:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,rgba(12,16,23,.92),rgba(8,11,16,.98));color:#9fb1c7;padding:0!important;margin-top:34px;text-align:left;font-size:13px}.site-footer-inner{width:min(1280px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(90px,max-content);gap:16px;align-items:center;padding:18px 0}.site-footer-brand{display:grid;grid-template-columns:auto auto;gap:3px 6px;align-items:baseline;min-width:0}.site-footer-brand strong{color:#fff;font-size:15px}.site-footer-brand span{color:#d7e8ff;font-weight:800}.site-footer-brand small{grid-column:1 / -1;color:#7f96b1;font-size:12px;line-height:1.35}.site-footer-links{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.site-footer-links a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border:1px solid rgba(88,166,255,.20);border-radius:999px;background:rgba(15,23,42,.42);color:#cbe3ff!important;text-decoration:none;font-weight:800;white-space:nowrap}.site-footer-links a:hover{border-color:rgba(255,127,31,.65);color:#fff!important;text-decoration:none;background:rgba(255,127,31,.12)}.site-footer-meta{justify-self:end;color:#8195ad;font-weight:800;font-size:12px;white-space:nowrap}.auth-footer{position:relative;background:linear-gradient(180deg,rgba(12,16,23,.96),rgba(8,11,16,.99))}.public-standalone-page .site-footer{margin-top:18px}.public-standalone-page .site-footer-inner{max-width:1180px}.changelog-page{max-width:1180px;margin:0 auto}.changelog-timeline{display:grid;gap:14px}.changelog-release{position:relative;padding:18px;border:1px solid rgba(88,166,255,.18);border-radius:18px;background:linear-gradient(180deg,rgba(18,24,34,.96),rgba(12,16,23,.96));box-shadow:0 16px 45px rgba(0,0,0,.18)}.changelog-release h2{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 8px}.changelog-release time{color:#9fb1c7;font-size:13px;font-weight:800}.changelog-release ul{margin:10px 0 0;padding-left:20px;color:#dbe7f6;line-height:1.6}.release-badge{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:4px 10px;background:rgba(255,127,31,.14);border:1px solid rgba(255,127,31,.4);color:#ffb173;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.footer-note{margin-top:16px;color:#95a9c2;font-size:13px;line-height:1.6}
@media(max-width:820px){.site-footer-inner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:12px;padding:18px 0 calc(18px + env(safe-area-inset-bottom))}.site-footer-brand{justify-items:center}.site-footer-meta{justify-self:center}.site-footer-links{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer-links a{width:100%}}
@media(max-width:460px){.site-footer-inner{width:calc(100% - 22px)}.site-footer-links{grid-template-columns:1fr}.changelog-release{padding:15px}.changelog-release h2{font-size:22px}.site-footer{padding-bottom:72px!important}.public-standalone-page .site-footer{padding-bottom:0!important}}
@media print{.site-footer{display:none!important}.changelog-release{break-inside:avoid;page-break-inside:avoid}}

/* v3.0.0-alpha31 compact footer */
.site-footer{margin:0;border-top:1px solid rgba(255,255,255,.08);background:rgba(9,11,15,.92);padding:10px 14px!important;color:#9aa6b6;font-size:12px;clear:both}.site-footer-inner{max-width:1180px;margin:0 auto;display:flex!important;align-items:center;justify-content:space-between;gap:12px;min-height:42px}.site-footer-brand{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;text-align:left}.site-footer-brand strong{color:#f5f7fa;font-size:13px}.site-footer-brand span{color:#d8e6f7;font-weight:700}.site-footer-brand small{color:#7e8ca0;font-size:11px}.site-footer-links{display:flex!important;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.site-footer-links a{display:inline-flex;align-items:center;border:1px solid #26384d;border-radius:999px;padding:5px 9px;text-decoration:none;color:#cfe5ff;background:rgba(20,28,40,.72);font-size:11px;line-height:1}.site-footer-links a:hover{border-color:#3e8dcc;background:#122238}.site-footer-meta{color:#7f8a9b;font-size:11px;white-space:nowrap}.public-footer{margin-top:20px}.certification-report-page .hero{align-items:center}.print-public-report{white-space:nowrap}@media(max-width:720px){.site-footer{padding:10px 12px 78px!important}.site-footer-inner{display:grid!important;grid-template-columns:1fr;gap:8px;text-align:center}.site-footer-brand,.site-footer-links{justify-content:center;text-align:center}.site-footer-links a{padding:6px 10px}.site-footer-meta{white-space:normal}.certification-report-page .hero{grid-template-columns:1fr}.print-public-report{width:100%}}@media print{.site-footer,.public-topbar,.topbar,.sidebar,.mobile-bottom-nav,.print-public-report{display:none!important}.certification-report-page{padding:0!important}.certification-report-page .panel,.certification-report-page .summary-card,.certification-report-page .hero{box-shadow:none!important;border-color:#ddd!important;background:#fff!important;color:#111!important}}
/* v3.0.0-beta2 professional certification/report styling */
.pro-cert-page{padding-top:28px}.pro-cert-shell{max-width:1040px;margin:0 auto 28px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);color:#0f172a;border:1px solid #d8e3ef;border-radius:28px;box-shadow:0 24px 70px rgba(15,23,42,.22);overflow:hidden;position:relative}.pro-cert-shell:before{content:"";position:absolute;inset:0;border-top:7px solid #1d75bb;pointer-events:none}.pro-cert-header{display:flex;justify-content:space-between;gap:20px;padding:30px 34px 24px;background:radial-gradient(circle at top right,rgba(29,117,187,.18),transparent 34%),linear-gradient(135deg,#f8fbff,#fff)}.pro-cert-brand{display:flex;gap:18px;align-items:center}.pro-cert-brand img{width:170px;max-height:64px;object-fit:contain}.pro-cert-brand h1{margin:4px 0 8px;font-size:32px;line-height:1.08;letter-spacing:-.04em;color:#071827}.pro-cert-brand p{margin:0;max-width:680px;color:#526275;font-size:15px}.pro-cert-actions{display:flex;align-items:flex-start}.pro-cert-ribbon{display:grid;grid-template-columns:repeat(4,1fr);background:#071827;color:#fff}.pro-cert-ribbon div{padding:18px 22px;border-right:1px solid rgba(255,255,255,.12)}.pro-cert-ribbon div:last-child{border-right:0}.pro-cert-ribbon small,.pro-cert-outcome small,.pro-cert-signature small{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:800;color:#91a4ba;margin-bottom:6px}.pro-cert-ribbon strong{font-size:15px;color:#fff}.pro-cert-watermark-card{margin:28px 34px 22px;padding:28px;border:1px solid #dbe6f3;border-radius:24px;background:linear-gradient(135deg,#fff,#eef6ff);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden}.pro-cert-watermark-card:after{content:"SITETOOLS";position:absolute;right:-18px;bottom:-22px;font-size:70px;font-weight:900;letter-spacing:.03em;color:rgba(29,117,187,.06)}.pro-cert-title-block{position:relative;z-index:1}.pro-cert-title-block h2{margin:5px 0 6px;font-size:28px;letter-spacing:-.035em;color:#0f172a}.pro-cert-title-block p{margin:0;color:#526275}.pro-cert-stamp{width:132px;height:132px;border:7px double #1d75bb;border-radius:999px;display:grid;place-content:center;text-align:center;transform:rotate(-7deg);background:#fff;box-shadow:0 12px 30px rgba(29,117,187,.16);position:relative;z-index:1}.pro-cert-stamp span{font-size:13px;text-transform:uppercase;letter-spacing:.15em;color:#1d75bb;font-weight:900}.pro-cert-stamp strong{font-size:18px;color:#071827}.pro-cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 34px 22px}.pro-cert-panel{background:#fff;border:1px solid #dbe6f3;border-radius:22px;padding:22px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.pro-cert-panel h3,.pro-cert-declaration h3{margin:0 0 14px;color:#071827;font-size:17px}.pro-cert-dl{display:grid;grid-template-columns:145px 1fr;gap:10px 14px;margin:0}.pro-cert-dl dt{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#6b7c90;font-weight:900}.pro-cert-dl dd{margin:0;color:#172033;font-weight:700}.pro-cert-outcome{margin:0 34px 22px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pro-cert-outcome div{background:#0f2438;color:#fff;border-radius:18px;padding:18px;border:1px solid rgba(255,255,255,.08)}.pro-cert-outcome strong{color:#fff;font-size:17px}.pro-cert-wide{margin:0 34px 22px}.pro-cert-wide p{color:#253247;line-height:1.65}.pro-cert-declaration{margin:0 34px 26px;display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:stretch}.pro-cert-declaration>div{background:#fff;border:1px solid #dbe6f3;border-radius:22px;padding:22px}.pro-cert-signature{display:flex;flex-direction:column;justify-content:center}.pro-cert-signature strong{font-size:22px;color:#071827;margin:4px 0 14px}.pro-cert-signature span{display:inline-flex;width:max-content;max-width:100%;border-radius:999px;background:#eaf4ff;color:#0d5d96;padding:7px 11px;font-weight:900;font-size:12px}.pro-cert-footer{display:flex;justify-content:space-between;gap:16px;padding:16px 34px;background:#eef4fb;border-top:1px solid #d8e3ef;color:#526275;font-size:12px}.pro-cert-footer strong{color:#071827}.service-report-link{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;background:#ecfdf5;color:#065f46!important;border:1px solid #bbf7d0;text-decoration:none!important;font-weight:900;font-size:12px}@media(max-width:860px){.pro-cert-header,.pro-cert-brand,.pro-cert-declaration,.pro-cert-watermark-card{display:grid}.pro-cert-ribbon,.pro-cert-grid,.pro-cert-outcome{grid-template-columns:1fr 1fr}.pro-cert-brand img{width:145px}.pro-cert-brand h1{font-size:26px}.pro-cert-stamp{width:110px;height:110px}.pro-cert-declaration{grid-template-columns:1fr}.pro-cert-actions .primary{width:100%}}@media(max-width:620px){.pro-cert-page{padding:12px}.pro-cert-shell{border-radius:20px}.pro-cert-header,.pro-cert-watermark-card,.pro-cert-grid,.pro-cert-wide,.pro-cert-declaration{margin-left:0;margin-right:0}.pro-cert-header{padding:24px 20px}.pro-cert-watermark-card{margin:18px 18px}.pro-cert-grid{padding:0 18px 18px;grid-template-columns:1fr}.pro-cert-ribbon,.pro-cert-outcome{grid-template-columns:1fr}.pro-cert-outcome{margin:0 18px 18px}.pro-cert-wide,.pro-cert-declaration{margin:0 18px 18px}.pro-cert-dl{grid-template-columns:1fr}.pro-cert-footer{display:grid;padding:15px 20px}.pro-cert-title-block h2{font-size:24px}.pro-cert-watermark-card:after{font-size:46px}}@media print{body{background:#fff!important}.pro-cert-page{padding:0!important}.pro-cert-shell{box-shadow:none!important;border-radius:0!important;border:0!important;background:#fff!important;color:#111!important}.pro-cert-header,.pro-cert-watermark-card,.pro-cert-panel,.pro-cert-declaration>div,.pro-cert-footer{background:#fff!important;box-shadow:none!important}.pro-cert-ribbon,.pro-cert-outcome div{background:#111!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pro-cert-brand h1,.pro-cert-title-block h2,.pro-cert-panel h3,.pro-cert-dl dd{color:#111!important}.pro-cert-stamp{box-shadow:none!important}.pro-cert-footer{border-top:1px solid #bbb!important}.pro-cert-watermark-card:after{display:none!important}}

/* v3.0.0-beta3 - Engineer time management */
.time-status-panel{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:18px;align-items:stretch}.time-status-card{border:1px solid rgba(15,23,42,.1);border-radius:22px;padding:22px;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 14px 30px rgba(15,23,42,.08)}.time-status-card.is-active{border-color:rgba(14,165,233,.35);box-shadow:0 16px 38px rgba(14,165,233,.16)}.time-status-card h2{margin:.3rem 0 .2rem;font-size:clamp(1.7rem,4vw,2.7rem)}.time-status-card p{margin:0;color:#64748b}.time-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.time-action{width:100%;min-height:88px;border-radius:18px;text-align:left;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:4px}.time-action strong{font-size:1.08rem}.time-action span{font-size:.88rem;opacity:.82}.time-action.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.time-job-box{grid-row:span 2;border:1px solid rgba(15,23,42,.1);border-radius:18px;padding:14px;background:#fff;display:grid;gap:10px}.time-job-box label{display:grid;gap:5px;font-weight:700;color:#334155}.time-job-box select,.time-job-box input{width:100%;border:1px solid rgba(15,23,42,.15);border-radius:12px;padding:10px 12px}.time-summary-grid .platform-card strong{font-size:1.45rem}.status-pill.active{display:inline-flex;border-radius:999px;padding:4px 10px;background:#dcfce7;color:#166534;font-weight:800;font-size:.78rem}@media(max-width:860px){.time-status-panel{grid-template-columns:1fr}.time-action-grid{grid-template-columns:1fr}.time-job-box{grid-row:auto}.bottom-mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-nav-item{font-size:.76rem}.bottom-nav-item small{font-size:.64rem}}

/* v3.0.0-beta4: addressing step controls and attachment image preview */
.button-row{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.button-row .primary,.button-row .ghost{white-space:nowrap}.image-preview-backdrop{position:fixed;inset:0;background:rgba(2,8,23,.72);z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem}.image-preview-backdrop[hidden]{display:none}.image-preview-dialog{width:min(1100px,96vw);max-height:92vh;background:var(--panel,#fff);border:1px solid rgba(148,163,184,.32);border-radius:24px;box-shadow:0 24px 80px rgba(2,8,23,.45);overflow:hidden;display:flex;flex-direction:column}.image-preview-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid rgba(148,163,184,.22);background:linear-gradient(135deg,rgba(15,23,42,.04),rgba(14,165,233,.08))}.image-preview-head>div{display:flex;gap:.5rem;align-items:center}.image-preview-body{padding:1rem;overflow:auto;background:rgba(15,23,42,.035);text-align:center}.image-preview-body img{display:block;max-width:100%;max-height:75vh;margin:auto;border-radius:14px;box-shadow:0 12px 36px rgba(2,8,23,.18);background:#fff}.attachment-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.attachment-preview-thumb{max-width:54px;max-height:54px;border-radius:10px;object-fit:cover;border:1px solid rgba(148,163,184,.35);box-shadow:0 3px 12px rgba(2,8,23,.12)}@media(max-width:640px){.button-row{display:grid;grid-template-columns:1fr 1fr}.button-row .primary{grid-column:1/-1;order:-1}.image-preview-dialog{border-radius:18px;width:98vw;max-height:94vh}.image-preview-head{align-items:flex-start;flex-direction:column}.image-preview-body{padding:.65rem}.image-preview-body img{max-height:70vh}}
/* beta5 company user edit polish */
.user-edit-panel .checkbox-row{display:flex;align-items:flex-start;gap:.55rem;margin:.2rem 0;color:#dce8f6;font-weight:700}.user-edit-panel .checkbox-row input{width:auto;margin-top:.2rem}.user-edit-panel .auth-form.compact-form{background:linear-gradient(180deg,rgba(14,24,36,.94),rgba(8,13,20,.94));border-color:rgba(255,145,38,.25)}

/* v3.0.0-beta6: clearer report open buttons */
.service-report-link.service-report-open{gap:9px;padding:9px 12px;background:linear-gradient(135deg,#ecfdf5,#f8fffb);border:1px solid rgba(16,185,129,.45);box-shadow:0 8px 20px rgba(16,185,129,.10);white-space:normal;line-height:1.2;max-width:260px}.service-report-link.service-report-open span{display:block}.service-report-link.service-report-open small{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#065f46;color:#fff;padding:4px 7px;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.service-report-link.service-report-open:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(16,185,129,.16);border-color:#10b981}
@media(max-width:720px){.service-report-link.service-report-open{width:100%;max-width:100%;justify-content:space-between}}

/* v3.0.0-beta7 structured completion worksheets */
.job-completion-panel{border-color:rgba(56,189,248,.28);background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(2,6,23,.96))}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.tech-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:.75rem}
.tech-detail-card{border:1px solid rgba(148,163,184,.22);border-radius:16px;background:rgba(15,23,42,.72);padding:.85rem;break-inside:avoid}
.tech-detail-card small{display:block;color:#9fb3d0;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:800;margin-bottom:.35rem}
.tech-detail-card strong{display:block;color:#f8fafc;font-size:.95rem;line-height:1.35;white-space:normal}
@media print{.tech-detail-grid{grid-template-columns:repeat(3,1fr);gap:.45rem}.tech-detail-card{border-color:#cbd5e1;background:#fff;padding:.55rem}.tech-detail-card small{color:#475569}.tech-detail-card strong{color:#0f172a}.job-completion-panel details{display:block}}
@media(max-width:760px){.section-heading{display:block}.section-heading .ghost{margin-top:.75rem}.tech-detail-grid{grid-template-columns:1fr}}

/* v3.0.0-beta8 completion field expansion */
.completion-standard-note{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px 14px;margin:14px 0;border:1px solid rgba(96,165,250,.28);border-radius:16px;background:linear-gradient(135deg,rgba(14,165,233,.10),rgba(15,23,42,.28));color:#cfe8ff}
.completion-standard-note strong{color:#fff;white-space:nowrap}.completion-standard-note span{font-size:.92rem;color:#b9cce4;line-height:1.45}.completion-field-group{border:1px solid rgba(148,163,184,.20);border-radius:16px;padding:10px 12px;margin:12px 0;background:rgba(15,23,42,.30)}.completion-field-group summary{display:flex;flex-direction:column;gap:3px;cursor:pointer;font-weight:800;color:#f8fafc}.completion-field-group summary small{font-size:.72rem;letter-spacing:.02em;color:#93c5fd;font-weight:700}.completion-field-group .form-grid{margin-top:12px}.completion-field-group textarea{min-height:72px}.tech-detail-card small{letter-spacing:.05em;text-transform:uppercase}.pro-cert-panel .completion-standard-note{break-inside:avoid}
@media(max-width:760px){.completion-standard-note{display:block}.completion-standard-note strong{display:block;margin-bottom:5px}.completion-field-group summary small{font-size:.68rem}}


/* v3.0.0-beta9 offline-first sync */
.offline-sync-bar{position:sticky;top:0;z-index:980;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid rgba(148,163,184,.22);background:rgba(8,15,26,.96);backdrop-filter:blur(12px);color:#dbeafe;font-size:.84rem;font-weight:750}.offline-sync-bar[hidden]{display:none}.offline-sync-state{display:flex;align-items:center;gap:9px;min-width:0}.offline-sync-state:before{content:"";width:9px;height:9px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.13);flex:0 0 auto}.offline-sync-bar.is-offline .offline-sync-state:before{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14)}.offline-sync-bar.has-pending .offline-sync-state:before{background:#38bdf8;box-shadow:0 0 0 4px rgba(56,189,248,.14)}.offline-sync-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.offline-sync-actions button{min-height:32px;padding:6px 10px;border-radius:999px;font:inherit;font-size:.78rem;font-weight:850;border:1px solid rgba(125,211,252,.3);background:rgba(15,23,42,.78);color:#e0f2fe;cursor:pointer}.offline-sync-actions button:hover{border-color:#38bdf8}.offline-toast{position:fixed;right:18px;bottom:86px;z-index:1500;width:min(390px,calc(100vw - 36px));padding:13px 15px;border-radius:14px;background:#0f172a;color:#f8fafc;border:1px solid rgba(125,211,252,.32);box-shadow:0 18px 48px rgba(2,6,23,.38);font-size:.88rem;font-weight:700;line-height:1.4}.offline-toast.warning{border-color:rgba(245,158,11,.55)}.offline-toast.danger{border-color:rgba(248,113,113,.55)}.offline-queued-note{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:5px 8px;border-radius:999px;background:rgba(56,189,248,.12);color:#bae6fd;border:1px solid rgba(56,189,248,.25);font-size:.74rem;font-weight:800}@media(max-width:680px){.offline-sync-bar{position:relative;align-items:flex-start;flex-direction:column;padding:9px 11px}.offline-sync-actions{width:100%}.offline-sync-actions button{flex:1}.offline-toast{bottom:90px;right:11px;width:calc(100vw - 22px)}}@media print{.offline-sync-bar,.offline-toast{display:none!important}}

/* beta9 MFA recovery codes */
.recovery-code-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-top:12px}.recovery-code-grid code{display:block;padding:10px 12px;border-radius:10px;border:1px dashed rgba(125,211,252,.4);background:rgba(15,23,42,.72);color:#e0f2fe;text-align:center;font-weight:900;letter-spacing:.08em}

/* v3.0.0-beta10 professional field workflow */
.signature-capture{margin:14px 0;padding:14px;border:1px solid rgba(125,211,252,.24);border-radius:16px;background:rgba(15,23,42,.36)}.signature-capture-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.signature-capture-head strong,.signature-capture-head small{display:block}.signature-capture-head small{color:#9fb3d0;margin-top:3px}.signature-capture canvas{display:block;width:100%;height:auto;max-height:240px;aspect-ratio:3/1;background:#fff;border:1px solid rgba(148,163,184,.6);border-radius:12px;cursor:crosshair}.signature-capture.has-signature canvas{border-color:#38bdf8}.signature-existing{display:flex;align-items:center;gap:14px;margin-top:10px;padding:10px;border-radius:12px;background:rgba(2,6,23,.35)}.signature-existing img{display:block;max-width:260px;max-height:86px;background:#fff;border-radius:8px}.job-defects-panel{border-color:rgba(245,158,11,.28)}.defect-severity{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase}.defect-severity.advisory{background:#e0f2fe;color:#075985}.defect-severity.minor{background:#fef3c7;color:#92400e}.defect-severity.major{background:#fed7aa;color:#9a3412}.defect-severity.critical{background:#fee2e2;color:#991b1b}.status-pill.warning{background:#fef3c7;color:#92400e}.customer-signature-print{display:flex;align-items:flex-end;gap:24px}.customer-signature-print img{display:block;width:min(420px,60%);max-height:150px;object-fit:contain;object-position:left bottom;background:#fff;border-bottom:1px solid #334155}.customer-signature-print div{display:grid;gap:4px}.time-company-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.time-approval{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;background:#e2e8f0;color:#334155}.time-approval.approved{background:#dcfce7;color:#166534}.time-approval.queried{background:#fef3c7;color:#92400e}.health-state{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:900}.health-state.pass{background:#dcfce7;color:#166534}.health-state.warn{background:#fef3c7;color:#92400e}.health-state.fail{background:#fee2e2;color:#991b1b}@media(max-width:760px){.signature-capture-head,.customer-signature-print{align-items:stretch;flex-direction:column}.signature-existing{align-items:flex-start;flex-direction:column}.signature-existing img{max-width:100%}.time-company-grid{grid-template-columns:1fr}.customer-signature-print img{width:100%}}@media print{.signature-capture{display:none!important}.customer-signature-print img{max-width:110mm}.job-defects-panel .row-actions{display:none!important}}
.job-field-controls{border-color:rgba(34,197,94,.24);background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(5,46,22,.28))}.job-field-controls .section-heading{align-items:center}.job-field-controls .time-status-card{min-width:210px;padding:12px 15px;border-radius:14px}.job-field-controls .time-status-card small,.job-field-controls .time-status-card strong,.job-field-controls .time-status-card span{display:block}.job-field-controls .time-status-card strong{margin:.2rem 0}.job-workflow-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.job-workflow-actions form{margin:0}.job-workflow-actions button{width:100%;min-height:74px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;border-radius:15px}.job-workflow-actions button strong{font-size:1rem}.job-workflow-actions button span{font-size:.78rem;opacity:.8;text-align:left}@media(max-width:820px){.job-workflow-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.job-field-controls .section-heading{align-items:stretch}.job-field-controls .time-status-card{min-width:0}}@media(max-width:480px){.job-workflow-actions{grid-template-columns:1fr}}

/* v3.0.0-beta10.1: compact service-record modal and signed-record badges */
.form-modal-backdrop{position:fixed;inset:0;z-index:1400;background:rgba(2,8,23,.78);display:flex;align-items:center;justify-content:center;padding:16px}.form-modal-backdrop[hidden]{display:none}.form-modal-dialog{width:min(980px,96vw);max-height:94vh;overflow:hidden;background:var(--panel,#111827);border:1px solid rgba(148,163,184,.28);border-radius:24px;box-shadow:0 28px 90px rgba(2,8,23,.55);display:flex;flex-direction:column}.form-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid rgba(148,163,184,.22);background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(14,165,233,.10))}.form-modal-head h2{margin:3px 0 4px}.form-modal-head p{margin:0;color:#9fb3d0}.service-record-form{display:flex;flex-direction:column;min-height:0}.form-modal-body{padding:18px 20px;overflow:auto;overscroll-behavior:contain}.form-modal-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.96);backdrop-filter:blur(10px)}body.modal-open{overflow:hidden}.service-record-launch .primary{margin-top:8px}.signature-required-message{margin:8px 0 0;color:#fda4af;font-weight:800}.signature-capture.signature-missing{border-color:#fb7185;box-shadow:0 0 0 2px rgba(251,113,133,.12)}.signed-record-badge{display:inline-flex;margin-top:4px;padding:3px 7px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.engineer-service-signature-print{display:grid;gap:8px;margin-top:12px}.engineer-service-signature-print img{display:block;width:min(360px,100%);max-height:120px;object-fit:contain;object-position:left bottom;background:#fff;border-bottom:1px solid #334155;border-radius:6px 6px 0 0}@media(max-width:640px){.form-modal-backdrop{padding:0}.form-modal-dialog{width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.form-modal-head,.form-modal-body,.form-modal-actions{padding-left:14px;padding-right:14px}.form-modal-actions{display:grid;grid-template-columns:1fr 1fr}.form-modal-actions button{width:100%}}

/* v3.0.0-beta13: Job Costing & Profitability */
.costing-summary-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:16px 0}.costing-summary-grid .platform-card strong{font-variant-numeric:tabular-nums}.positive-value{color:#86efac!important}.negative-value{color:#fda4af!important}.costing-breakdown{align-items:start}.costing-page .data-table td,.costing-detail-page table td{font-variant-numeric:tabular-nums}.costing-page .inline-form{display:inline-flex;margin-left:10px;vertical-align:middle}.costing-page .inline-form button{margin:0}.job-costing-strip{border-color:rgba(52,211,153,.23);background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(6,78,59,.18))}.job-costing-strip .costing-summary-grid{margin:10px 0 0}.is-voided{opacity:.55;text-decoration:line-through}.is-voided .status-pill{text-decoration:none}.costing-detail-page .card-kv dd{font-variant-numeric:tabular-nums}.costing-detail-page .row-actions form+form{margin-top:8px}@media(max-width:760px){.costing-page .inline-form{display:block;margin:10px 0 0}.costing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.costing-summary-grid{grid-template-columns:1fr}}@media print{.costing-page .hero-actions,.costing-detail-page .hero-actions,.costing-detail-page .row-actions,.costing-page .inline-form{display:none!important}}

/* v3.0.0-beta14: advanced scheduler & dispatch */
.dispatch-page{--dispatch-resource:190px}.dispatch-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.dispatch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.dispatch-nav,.dispatch-view-tabs,.dispatch-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dispatch-filter select{width:auto;min-width:145px}.dispatch-unassigned{border-color:rgba(245,158,11,.3)}.dispatch-unassigned-list{display:flex;gap:10px;overflow:auto;padding-bottom:6px}.dispatch-unassigned-list .dispatch-card{min-width:250px;max-width:330px}.dispatch-board-wrap{overflow:auto;padding:0}.dispatch-board{display:grid;grid-template-columns:var(--dispatch-resource) repeat(var(--dispatch-days),minmax(190px,1fr));min-width:calc(var(--dispatch-resource) + var(--dispatch-days)*190px)}.dispatch-corner,.dispatch-day-head,.dispatch-resource,.dispatch-cell{border-right:1px solid rgba(148,163,184,.14);border-bottom:1px solid rgba(148,163,184,.14);padding:10px}.dispatch-corner,.dispatch-day-head{position:sticky;top:0;z-index:4;background:#101722}.dispatch-corner{left:0;z-index:6}.dispatch-day-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.dispatch-day-head.is-today{background:linear-gradient(135deg,#172554,#0f172a);box-shadow:inset 0 -3px #38bdf8}.dispatch-resource{position:sticky;left:0;z-index:3;background:#0e1621;display:flex;flex-direction:column;gap:4px;min-height:130px}.dispatch-resource small{color:#9fb3d0}.dispatch-util{display:inline-flex;width:max-content;padding:3px 7px;border-radius:999px;background:rgba(34,197,94,.12);color:#86efac;font-size:.72rem;font-weight:900}.dispatch-util.over{background:rgba(248,113,113,.12);color:#fda4af}.link-button{border:0;background:none;color:#7dd3fc;padding:0;text-align:left;cursor:pointer;font-weight:800}.dispatch-cell{min-height:130px;background:rgba(15,23,42,.25);display:flex;flex-direction:column;gap:8px}.dispatch-cell.non-working{background:repeating-linear-gradient(135deg,rgba(148,163,184,.03),rgba(148,163,184,.03) 8px,rgba(2,6,23,.18) 8px,rgba(2,6,23,.18) 16px)}.dispatch-cell.is-drop-target{outline:2px solid #38bdf8;outline-offset:-3px;background:rgba(14,165,233,.12)}.dispatch-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:12px;border:1px solid rgba(148,163,184,.25);border-left:4px solid #64748b;background:#111827;box-shadow:0 8px 22px rgba(2,6,23,.2);font-size:.79rem}.dispatch-card[draggable="true"]{cursor:grab}.dispatch-card.is-dragging{opacity:.5}.dispatch-card.priority-urgent{border-left-color:#ef4444}.dispatch-card.priority-high{border-left-color:#f59e0b}.dispatch-card.priority-normal{border-left-color:#38bdf8}.dispatch-card.priority-low{border-left-color:#94a3b8}.dispatch-card.has-conflict{box-shadow:0 0 0 2px rgba(248,113,113,.5)}.dispatch-card.has-warning{background:linear-gradient(135deg,#111827,rgba(120,53,15,.22))}.dispatch-card a{color:inherit;text-decoration:none}.dispatch-card strong{font-size:.88rem}.dispatch-card span,.dispatch-card small{color:#a9bdd5}.dispatch-card em{font-style:normal;color:#fdba74;font-weight:850}.dispatch-card.has-conflict em:first-of-type{color:#fda4af}.dispatch-card-top{display:flex;justify-content:space-between;gap:6px}.dispatch-card-top b{font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:#bae6fd}.dispatch-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.dispatch-card-actions button,.dispatch-card-actions a{border:1px solid rgba(125,211,252,.25);background:rgba(2,6,23,.38);color:#dbeafe;border-radius:8px;padding:4px 7px;font:inherit;font-weight:800;cursor:pointer}.dispatch-card-actions form{margin:0}.availability-chip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:5px 7px;border-radius:9px;background:rgba(244,63,94,.12);border:1px solid rgba(251,113,133,.28);color:#fecdd3;font-size:.7rem}.availability-chip.type-training{background:rgba(168,85,247,.12);border-color:rgba(192,132,252,.3);color:#e9d5ff}.availability-chip.type-available_override{background:rgba(34,197,94,.12);border-color:rgba(74,222,128,.3);color:#bbf7d0}.availability-chip form{margin-left:auto}.availability-chip button{border:0;background:none;color:inherit;cursor:pointer}.dispatch-month-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));border-top:1px solid rgba(148,163,184,.15);border-left:1px solid rgba(148,163,184,.15);min-width:1050px}.dispatch-month-wrap{overflow:auto}.dispatch-month-day{min-height:150px;padding:8px;border-right:1px solid rgba(148,163,184,.15);border-bottom:1px solid rgba(148,163,184,.15);display:flex;flex-direction:column;gap:6px}.dispatch-month-day.is-today{background:rgba(14,165,233,.08)}.dispatch-month-day header{display:flex;justify-content:space-between}.dispatch-mini{display:flex;flex-direction:column;gap:2px;padding:6px 7px;border-radius:8px;border-left:3px solid #38bdf8;background:#111827;color:#fff;text-decoration:none;font-size:.7rem}.dispatch-mini.priority-urgent{border-left-color:#ef4444}.dispatch-mini.priority-high{border-left-color:#f59e0b}.dispatch-mini.has-conflict{outline:1px solid #f87171}.checkbox-grid{display:flex;gap:10px 16px;flex-wrap:wrap}.checkbox-grid label{display:flex;align-items:center;gap:6px}.checkbox-grid input{width:auto}.resource-launch{text-align:left;color:inherit;cursor:pointer;width:100%}.remember-device-note{font-size:.82rem;color:#9fb3d0}
@media(max-width:900px){.dispatch-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dispatch-toolbar{align-items:stretch}.dispatch-filter{width:100%}.dispatch-filter select{flex:1}.dispatch-page{--dispatch-resource:150px}.dispatch-board{grid-template-columns:var(--dispatch-resource) repeat(var(--dispatch-days),minmax(170px,1fr))}}
@media(max-width:600px){.dispatch-summary{grid-template-columns:1fr 1fr}.dispatch-nav,.dispatch-view-tabs{width:100%}.dispatch-nav a,.dispatch-view-tabs a{flex:1;text-align:center}.dispatch-filter{display:grid;grid-template-columns:1fr 1fr}.dispatch-filter button{grid-column:1/-1}.dispatch-unassigned-list{scroll-snap-type:x mandatory}.dispatch-unassigned-list .dispatch-card{scroll-snap-align:start}.dispatch-page{--dispatch-resource:130px}.dispatch-resource{font-size:.78rem}.dispatch-board{grid-template-columns:var(--dispatch-resource) repeat(var(--dispatch-days),minmax(160px,1fr))}}
@media print{.dispatch-toolbar,.dispatch-unassigned,.dispatch-card-actions,.dispatch-resource .link-button{display:none!important}.dispatch-board-wrap{overflow:visible}.dispatch-board{min-width:0;grid-template-columns:140px repeat(var(--dispatch-days),1fr)}.dispatch-card{break-inside:avoid}}

/* Beta18 certificate quality pass */
.certificate-link-stack{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.row-actions-inline{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pro-cert-actions{display:flex;gap:8px;flex-wrap:wrap}.reports-quality-note{border-left:4px solid #1d75bb;padding-left:14px}.pro-cert-shell .engineer-service-signature-print img{display:block;max-width:240px;max-height:88px;object-fit:contain;margin:8px 0;background:#fff;border-bottom:1px solid #cad6e2}@media print{.certificate-link-stack,.row-actions-inline{display:none!important}.pro-cert-actions{display:none!important}}

/* v3.0.0-beta20 — asset lifecycle and defect workflow */
.lifecycle-timeline{display:grid;gap:12px}.lifecycle-event{display:grid;grid-template-columns:max-content 1fr;gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--border,#243342)}.lifecycle-event:last-child{border-bottom:0}.lifecycle-event small{display:block;margin-top:3px;opacity:.72}.lifecycle-event p{margin:.45rem 0 0}.status-pill.reviewed,.status-pill.approved,.status-pill.verified{border-color:#427fa8}.status-pill.quoted,.status-pill.scheduled{border-color:#b9893c}.status-pill.in_progress{border-color:#6874d9}.status-pill.rectified{border-color:#4b9b72}.status-pill.closed{opacity:.72}.asset-health-warning{border-left:4px solid #ff9d3d}.asset-hierarchy-path{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.9rem}.asset-hierarchy-path span{opacity:.65}
@media(max-width:760px){.lifecycle-event{grid-template-columns:1fr}.lifecycle-event>.status-pill{justify-self:start}}

/* beta21 compact field UX */
.site-nav{gap:4px}.nav-group>summary{min-height:40px;padding:6px 8px;font-size:11px}.nav-summary-icon{width:25px;height:25px;font-size:8px}.nav-submenu{gap:1px;padding:1px 5px 6px 11px}.nav-submenu .nav-item{min-height:34px;padding:6px 8px;font-size:11px}.nav-submenu .nav-icon{width:23px;flex-basis:23px;padding:4px 1px;font-size:9px}.sidebar{padding-top:10px}.main{padding-top:22px}.page-title{margin-bottom:14px}.page-title h1{font-size:32px;margin-bottom:8px}.page-title p,.compact-copy p{font-size:13px;line-height:1.45}.panel{padding:18px}.panel h2{font-size:18px;margin-bottom:12px}.field-help,.muted{font-size:11px;line-height:1.4}.compact-panel{margin-top:14px}.tool-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tool-category-grid .platform-card{padding:14px}.tool-category-grid .platform-card strong{font-size:15px;margin:5px 0}.tool-category-grid .platform-card small{font-size:11px;line-height:1.35;color:var(--muted)}.auth-card p{font-size:13px;line-height:1.45}.auth-card .field-help{font-size:10px}.auth-links{gap:12px}
@media(max-width:1100px){.tool-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.tool-category-grid{grid-template-columns:1fr}.page-title h1{font-size:28px}}

/* Beta25 permission matrix */
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.65rem 1rem;margin:1rem 0 1.25rem}.permission-grid .permission-module{grid-column:1/-1;margin:1rem 0 .25rem;padding-top:.75rem;border-top:1px solid var(--border,#2a2f39);font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}.permission-grid .checkbox-row{align-items:flex-start;padding:.65rem .75rem;border:1px solid var(--border,#2a2f39);border-radius:.65rem}.permission-grid .checkbox-row span{display:flex;flex-direction:column;gap:.15rem}.permission-grid .checkbox-row small{opacity:.7;font-size:.75rem}

/* v3.0.0-beta27 — platform module icon consistency */
.dashboard-card-grid .module-card .module-icon{grid-row:1/3;display:grid!important;place-items:center;width:44px;height:44px;border-radius:12px;background:#13283a;border:1px solid #2c5878;color:#9ddcff;margin:0!important;flex:0 0 44px;box-shadow:inset 0 0 0 1px rgba(157,220,255,.03)}
.dashboard-card-grid .module-card .module-icon svg{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.discipline-grid .module-card .module-icon{background:#241e12;border-color:#564426;color:#ffd18b}
.dashboard-card-grid .module-card:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}
@media(max-width:680px){.dashboard-card-grid .module-card .module-icon{width:40px;height:40px;flex-basis:40px}.dashboard-card-grid .module-card .module-icon svg{width:21px;height:21px}}

/* Beta30: compact white SVG navigation for browser + installed PWA */
.site-nav .nav-icon,.site-nav .nav-summary-icon{display:grid;place-items:center;color:#fff;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.site-nav .nav-icon svg,.site-nav .nav-summary-icon svg,.bottom-nav-icon svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-nav .nav-summary-icon{width:22px;height:22px}
.site-nav .nav-submenu .nav-icon{width:20px;flex-basis:20px;color:#fff;background:transparent;border:0;padding:0}
.site-nav .nav-item{gap:8px;min-height:36px;padding:7px 8px;font-size:11.5px}
.site-nav .nav-group>summary{grid-template-columns:22px 1fr 16px;gap:7px;min-height:36px;padding:6px 8px;font-size:11.5px}
.site-nav .nav-submenu{gap:0;padding:1px 5px 5px 15px}
.site-nav .nav-submenu .nav-item{min-height:32px;padding:5px 7px;font-size:11px}
.site-nav .nav-chevron{font-size:17px}
.bottom-nav-icon{display:grid;place-items:center;color:#fff;margin:0 auto 3px}
.bottom-nav-icon svg{width:18px;height:18px}
.bottom-mobile-nav .bottom-nav-item{color:#d7dee8;text-decoration:none;display:grid;justify-items:center;gap:2px}
.bottom-mobile-nav .bottom-nav-item.active{color:#fff}
@media(max-width:700px){
  .sidebar{padding:8px 8px 16px!important}
  .site-nav{gap:1px!important}
  .site-nav .nav-item{min-height:34px!important;padding:6px 7px!important}
  .site-nav .nav-group>summary{min-height:34px!important;padding:5px 7px!important}
  .site-nav .nav-summary-icon{width:20px;height:20px}
  .site-nav .nav-summary-icon svg,.site-nav .nav-icon svg{width:15px;height:15px}
  .site-nav .nav-submenu{padding-left:13px!important}
  .site-nav .nav-submenu .nav-item{min-height:30px!important;padding:4px 6px!important}
  .sidebar-note{margin-top:12px;padding:10px}
}


/* v3.0.0-beta31: keep the public Login action visible on mobile/PWA while logged out. */
@media(max-width:700px){
  .top-actions .public-login-btn{display:inline-flex!important;min-height:40px!important;padding:8px 14px!important;border-color:#46515f!important;background:#171c24!important;color:#fff!important;font-size:13px!important;font-weight:850!important;white-space:nowrap!important}
  .top-actions .public-login-btn:hover,.top-actions .public-login-btn:focus-visible{border-color:var(--accent)!important;background:#211e1a!important;color:#ffd0a3!important}
}

/* v3.0.0-beta32 — company icons, lookup/search and contract summary */
.company-dashboard-grid .module-card{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center}.company-dashboard-grid .module-card .module-icon{grid-row:1/3}.company-dashboard-grid .module-card strong,.company-dashboard-grid .module-card small{margin:0}.lookup-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:16px}.lookup-bar label{flex:1 1 320px}.lookup-bar input[type=search]{width:100%}.contract-summary-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.contract-summary-grid .stat-card{display:flex;flex-direction:column;gap:5px;min-height:116px;padding:16px}.contract-summary-grid .stat-card span{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.contract-summary-grid .stat-card strong{font-size:1.45rem;line-height:1.1}.contract-summary-grid .stat-card small{color:var(--muted);font-size:.76rem}.search-results{display:grid;gap:8px;margin-top:14px}.search-result{display:grid;grid-template-columns:max-content 1fr;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border,#2a2f39);border-radius:12px;color:inherit;text-decoration:none;background:rgba(255,255,255,.015)}.search-result:hover{border-color:#3d6680;background:rgba(80,160,210,.06)}.search-result span:last-child{display:grid;gap:3px}.search-result small{color:var(--muted)}
@media(max-width:900px){.contract-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.contract-summary-grid{grid-template-columns:1fr}.company-dashboard-grid .module-card{grid-template-columns:40px minmax(0,1fr)}}
\n\n


/* v3.0.0-beta36.5.2 — canonical navigation/dashboard responsive layer */
.metric-card{min-height:92px}.bottom-mobile-nav .bottom-nav-item{appearance:none;border-left:0;border-right:0;border-bottom:0;background:transparent;font:inherit;cursor:pointer}.bottom-mobile-nav .bottom-nav-icon{width:32px;height:28px;display:grid;place-items:center;margin:0 auto;color:#fff;background:transparent;border:0;border-radius:0;min-width:0;min-height:0}.bottom-mobile-nav .bottom-nav-icon svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.dashboard-card-grid .module-card,.company-dashboard-grid .module-card,.role-dashboard-grid .module-card{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 12px;align-content:center;min-height:110px}.dashboard-card-grid .module-card .module-icon,.company-dashboard-grid .module-card .module-icon,.role-dashboard-grid .module-card .module-icon{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#13283a;border:1px solid #2c5878;color:#9ddcff;margin:0}.dashboard-card-grid .module-card .module-icon svg,.company-dashboard-grid .module-card .module-icon svg,.role-dashboard-grid .module-card .module-icon svg{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dashboard-card-grid .module-card strong,.dashboard-card-grid .module-card small,.company-dashboard-grid .module-card strong,.company-dashboard-grid .module-card small,.role-dashboard-grid .module-card strong,.role-dashboard-grid .module-card small{margin:0}
@media(max-width:640px){.bottom-mobile-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important;overflow:hidden!important;min-height:62px!important;padding-bottom:env(safe-area-inset-bottom)!important}.bottom-mobile-nav .bottom-nav-item{min-width:0!important;min-height:62px!important;padding:7px 3px 6px!important;border-top:2px solid transparent!important;color:#d7dee8!important;text-align:center!important;display:grid!important;grid-template-rows:30px auto!important;place-items:center!important;gap:2px!important}.bottom-mobile-nav .bottom-nav-item.active{border-top-color:var(--accent)!important;background:rgba(255,138,31,.08)!important;color:#fff!important}.bottom-mobile-nav .bottom-nav-item small{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:10px!important;line-height:1.1!important}.main{padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}.site-footer{margin-bottom:calc(62px + env(safe-area-inset-bottom))!important}.sidebar{width:min(88vw,320px)!important;left:-94vw!important}.sidebar.open{left:0!important}.site-nav .nav-item,.site-nav .nav-group>summary{font-size:12px!important}.site-nav .nav-item,.site-nav .nav-group>summary{min-height:38px!important}.dashboard-card-grid.platform-grid,.company-dashboard-grid,.role-dashboard-grid{grid-template-columns:1fr!important;gap:10px!important}.dashboard-card-grid .module-card,.company-dashboard-grid .module-card,.role-dashboard-grid .module-card{grid-template-columns:40px minmax(0,1fr)!important;min-height:86px!important;padding:13px!important}.dashboard-card-grid .module-card .module-icon,.company-dashboard-grid .module-card .module-icon,.role-dashboard-grid .module-card .module-icon{width:40px!important;height:40px!important}}

/* v3.0.0-beta36.9 shared page-shell and footer repair */
.site-footer-links{flex-direction:row!important}
.app-shell{min-height:calc(100dvh - 72px - 63px)}
@media(max-width:720px){.site-footer-links{display:flex!important;flex-direction:row!important}.site-footer-links a{width:auto!important}.app-shell{min-height:calc(100dvh - 64px)}}
@media(max-width:460px){.site-footer-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%}.site-footer-links a{width:100%!important}}

/* Beta36.5.3 PWA release integrity and icon fail-safe. */
.nav-icon svg,.nav-summary-icon svg,.bottom-nav-icon svg{width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important;fill:none!important;stroke:currentColor!important}
.site-update-toast{position:fixed;right:18px;bottom:18px;z-index:120;width:min(360px,calc(100vw - 36px));padding:14px;border:1px solid #355c79;border-radius:14px;background:#101922;box-shadow:0 18px 50px rgba(0,0,0,.4);display:grid;gap:6px}.site-update-toast[hidden]{display:none}.site-update-toast span{color:var(--muted);font-size:12px}.site-update-toast button{justify-self:start;border:1px solid #3a6f92;background:#173149;color:#dff4ff;border-radius:8px;padding:7px 11px;font-weight:800;cursor:pointer}@media(max-width:900px){.site-update-toast{bottom:calc(80px + env(safe-area-inset-bottom))}}


/* v3.0.0-beta36.12 — role/dashboard, users and contractor display hardening */
.page-section,.role-dashboard-panel,.role-dashboard-grid,.card-list-grid,.record-card,.record-card-head,.record-card-meta,.record-card-actions{min-width:0}
.role-dashboard-panel{margin-top:18px;overflow:hidden}
.role-dashboard-panel .role-dashboard-grid{margin:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.role-dashboard-grid .module-card{width:100%;min-width:0;overflow:hidden}
.role-dashboard-grid .module-card strong,.role-dashboard-grid .module-card small,.record-card-title,.record-card-meta b,.record-card-meta small{min-width:0;overflow-wrap:anywhere;word-break:normal}
.record-card-head>div{min-width:0}.record-card-head .status-badge{flex:0 0 auto;max-width:48%;text-align:center;white-space:normal}
.panel>table:not(.data-table):not(.admin-table),.panel>.responsive-table{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.panel>table:not(.data-table):not(.admin-table){display:block;width:100%}
.panel>table:not(.data-table):not(.admin-table) tbody,.panel>table:not(.data-table):not(.admin-table) thead{width:100%}
.panel>table:not(.data-table):not(.admin-table) th,.panel>table:not(.data-table):not(.admin-table) td{white-space:normal;overflow-wrap:anywhere}
@media(max-width:1100px){.role-dashboard-panel .role-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.role-dashboard-panel{padding:13px!important}.role-dashboard-panel .role-dashboard-grid{grid-template-columns:1fr!important}.record-card-head .status-badge{max-width:100%;justify-self:start}.record-card-meta b{display:block}.panel>table:not(.data-table):not(.admin-table){min-width:680px}}

/* v3.0.0-beta36.14 — same-origin dashboard asset routing hotfix */

.mfa-enrol-grid{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:20px;align-items:center}.mfa-qr-card{display:flex;flex-direction:column;gap:8px;align-items:center;padding:16px;border:1px solid var(--line,#2a3544);border-radius:14px;background:#fff;color:#111}.mfa-qr-image{display:block;width:210px;max-width:100%;height:auto;image-rendering:pixelated}@media(max-width:700px){.mfa-enrol-grid{grid-template-columns:1fr}}

/* v3.0.0-beta36.27: certificate/logbook evidence layout hardening */
body.public-standalone-page .public-worksheet-evidence{display:grid;gap:0;margin-top:12px;border:1px solid rgba(148,163,184,.18);border-radius:12px;overflow:hidden}
body.public-standalone-page .public-worksheet-evidence>div{display:grid!important;grid-template-columns:minmax(210px,.95fr) minmax(0,1.05fr)!important;gap:16px!important;align-items:start!important;padding:10px 12px!important;border-bottom:1px solid rgba(148,163,184,.14)!important}
body.public-standalone-page .public-worksheet-evidence>div:last-child{border-bottom:0!important}
body.public-standalone-page .public-worksheet-evidence strong{min-width:0;line-height:1.35;overflow-wrap:anywhere;word-break:normal}
body.public-standalone-page .public-worksheet-evidence span{display:block!important;min-width:0!important;text-align:left!important;color:#d5dde8!important;line-height:1.45!important;overflow-wrap:anywhere;word-break:break-word;white-space:normal}
body.public-standalone-page .record-card-meta span{min-width:0}
body.public-standalone-page .record-card-meta b{min-width:0;text-align:right;overflow-wrap:anywhere;word-break:break-word}
body.public-standalone-page .service-report-link{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:700px){body.public-standalone-page .public-worksheet-evidence>div{grid-template-columns:1fr!important;gap:4px!important}body.public-standalone-page .record-card-meta b{text-align:left}}

/* v3.0.0-beta36.28: layered/collapsible public service logbook */
body.public-standalone-page .public-logbook-services{margin-top:18px;min-width:0}
body.public-standalone-page .service-logbook-stack{display:grid;gap:14px;min-width:0}
body.public-standalone-page .service-logbook-card{min-width:0;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:linear-gradient(180deg,#151b24,#111820);overflow:hidden}
body.public-standalone-page .service-logbook-card>summary{list-style:none}
body.public-standalone-page .service-logbook-card>summary::-webkit-details-marker{display:none}
body.public-standalone-page .service-logbook-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;cursor:pointer;min-width:0}
body.public-standalone-page .service-logbook-summary:hover{background:rgba(255,255,255,.025)}
body.public-standalone-page .service-logbook-summary-main{display:grid;gap:3px;min-width:0}
body.public-standalone-page .service-logbook-summary-main>strong{font-size:18px;color:#fff;min-width:0;overflow-wrap:anywhere}
body.public-standalone-page .service-logbook-summary-main>small{color:#aebdce;min-width:0;overflow-wrap:anywhere}
body.public-standalone-page .service-logbook-summary-side{display:flex;align-items:center;gap:10px;flex:0 0 auto}
body.public-standalone-page .service-logbook-chevron{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;border:1px solid rgba(148,163,184,.25);font-size:19px;transition:transform .2s ease}
body.public-standalone-page .service-logbook-card[open] .service-logbook-chevron{transform:rotate(180deg)}
body.public-standalone-page .service-logbook-body{display:grid;gap:12px;padding:0 14px 14px;border-top:1px solid rgba(148,163,184,.14);min-width:0}
body.public-standalone-page .service-logbook-layer{margin-top:14px;padding:14px;border:1px solid rgba(148,163,184,.15);border-radius:13px;background:rgba(5,10,16,.32);min-width:0}
body.public-standalone-page .service-logbook-layer h3{margin:0 0 8px;font-size:15px}
body.public-standalone-page details.service-logbook-layer>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;min-width:0}
body.public-standalone-page details.service-logbook-layer>summary::-webkit-details-marker{display:none}
body.public-standalone-page details.service-logbook-layer>summary span{font-size:12px;color:#8fa4bb;white-space:nowrap}
body.public-standalone-page .service-logbook-meta{margin-top:12px}
body.public-standalone-page .service-logbook-meta span{display:grid!important;grid-template-columns:minmax(120px,.45fr) minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
body.public-standalone-page .service-logbook-meta b{text-align:left!important}
@media(max-width:700px){body.public-standalone-page .service-logbook-summary{align-items:flex-start;padding:14px;gap:10px}body.public-standalone-page .service-logbook-summary-side{align-items:flex-start}body.public-standalone-page .service-logbook-meta span{grid-template-columns:1fr!important;gap:3px!important}body.public-standalone-page .service-logbook-body{padding:0 10px 10px}.public-logbook-services .panel-head p{margin-bottom:0}}

/* v3.0.0-beta36.29: collapsed RBAC roles and consistent Hub search/filter controls */
.hub-list-tools{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end;margin:12px 0 16px;padding:12px;border:1px solid var(--border,#2a3544);border-radius:12px;background:rgba(255,255,255,.025)}
.hub-list-tools label{display:grid;gap:5px;min-width:min(260px,100%);flex:1 1 220px}.hub-list-tools label>span{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#9fb0c2)}
.hub-list-tools input,.hub-list-tools select{width:100%;min-width:0}.hub-list-tool-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hub-list-result-count{margin-left:auto;align-self:center;color:var(--muted,#9fb0c2);font-size:12px;white-space:nowrap}
.access-role-list{display:grid;gap:14px}.access-role-card{padding:0!important;overflow:hidden}.access-role-card>summary{list-style:none}.access-role-card>summary::-webkit-details-marker{display:none}.access-role-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px;cursor:pointer}.access-role-summary:hover{background:rgba(255,255,255,.025)}.access-role-summary-main{display:grid;gap:3px;min-width:0}.access-role-summary-main>strong{font-size:20px}.access-role-summary-main>small{color:var(--muted,#9fb0c2)}.access-role-summary-side{display:flex;align-items:center;gap:10px;flex:0 0 auto}.access-role-chevron{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;border:1px solid var(--border,#2a3544);transition:transform .2s ease}.access-role-card[open] .access-role-chevron{transform:rotate(180deg)}.access-role-body{padding:0 18px 18px;border-top:1px solid var(--border,#2a3544)}.permission-filter-tools{margin-top:16px}.access-role-card[hidden],.permission-grid [hidden],.service-logbook-card[hidden]{display:none!important}
.public-logbook-filter-tools{margin-top:6px}.public-logbook-filter-tools label{min-width:170px}.public-logbook-filter-tools label:first-child{flex:2 1 320px}
@media(max-width:700px){.hub-list-tools{display:grid;grid-template-columns:1fr}.hub-list-tools label{min-width:0;width:100%}.hub-list-tool-actions{width:100%}.hub-list-tool-actions>*{flex:1 1 auto}.hub-list-result-count{margin-left:0}.access-role-summary{align-items:flex-start;padding:14px}.access-role-summary-side{align-items:flex-start}.access-role-body{padding:0 12px 12px}}

/* beta36.30 public site logbook */
.site-logbook-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.public-contribution-panel>details>summary{cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:.25rem 0}
.public-contribution-panel>details>summary span{font-size:.82rem;color:var(--muted,#8da0b8);font-weight:400}
.site-entry-detail-groups>[data-site-entry-group]{margin:.85rem 0;padding:.9rem;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(8,15,25,.25)}
.public-logbook-type-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.site-public-logbook .service-logbook-card[hidden]{display:none!important}
.site-public-logbook .hub-list-tools{margin-bottom:.75rem}
@media(max-width:700px){.public-logbook-type-grid{grid-template-columns:1fr}.site-public-logbook .hub-list-tools{grid-template-columns:1fr}}

/* beta37.1 · public site system/asset grouping */
.site-public-logbook .public-site-systems{min-width:0}
.site-public-logbook .site-system-stack{display:grid;gap:12px}
.site-public-logbook .site-system-card{border:1px solid rgba(148,163,184,.20);border-radius:16px;background:linear-gradient(180deg,#151b24,#111820);overflow:hidden}
.site-public-logbook .site-system-card>summary{list-style:none}
.site-public-logbook .site-system-card>summary::-webkit-details-marker{display:none}
.site-public-logbook .site-system-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer}
.site-public-logbook .site-system-summary:hover{background:rgba(255,255,255,.025)}
.site-public-logbook .site-system-summary-main{display:grid;gap:3px;min-width:0}
.site-public-logbook .site-system-summary-main>strong{font-size:18px;color:#fff;overflow-wrap:anywhere}
.site-public-logbook .site-system-summary-main>small{color:#aebed0;overflow-wrap:anywhere}
.site-public-logbook .site-system-summary-side{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;flex:0 0 auto}
.site-public-logbook .site-system-count{font-size:12px;color:#b9c8d8;white-space:nowrap}
.site-public-logbook .site-system-chevron{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(148,163,184,.24);border-radius:999px;transition:transform .2s ease}
.site-public-logbook .site-system-card[open] .site-system-chevron{transform:rotate(180deg)}
.site-public-logbook .site-system-body{padding:14px 18px 18px;border-top:1px solid rgba(148,163,184,.16)}
.site-public-logbook .site-asset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.site-public-logbook .site-asset-card{display:grid;align-content:start;gap:10px;min-width:0;padding:14px;border:1px solid rgba(148,163,184,.16);border-radius:13px;background:rgba(7,12,18,.34)}
.site-public-logbook .site-asset-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.site-public-logbook .site-asset-card-head>div{display:grid;gap:3px;min-width:0}
.site-public-logbook .site-asset-card-head strong{overflow-wrap:anywhere}
.site-public-logbook .site-asset-card p{margin:0;color:#b7c5d4;line-height:1.45;overflow-wrap:anywhere}
.site-public-logbook .site-asset-card .ghost{justify-self:start}
@media(max-width:700px){.site-public-logbook .site-system-summary{align-items:flex-start;padding:14px}.site-public-logbook .site-system-summary-side{align-items:flex-end;flex-direction:column}.site-public-logbook .site-system-body{padding:12px}.site-public-logbook .site-asset-grid{grid-template-columns:1fr}}

/* v3.8.0 public site branding and issue reporting */
.site-public-logbook .branded-public-logbook-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:24px;align-items:center}
.site-public-logbook .public-company-branding{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center;min-width:0}
.site-public-logbook .public-company-logo-wrap{width:118px;height:86px;border-radius:14px;background:#fff;display:grid;place-items:center;padding:10px;box-shadow:0 8px 28px rgba(0,0,0,.18)}
.site-public-logbook .public-company-logo-wrap img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.site-public-logbook .public-company-contact{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;color:#b9c8d8;font-size:13px}
.site-public-logbook .public-company-contact strong{color:#fff;width:100%;font-size:14px}
.site-public-logbook .public-company-contact a{color:#d7e9ff;text-decoration:none}
.site-public-logbook .public-logbook-actions{display:flex!important;flex-direction:column;align-items:flex-end;gap:10px}
.site-public-logbook .public-logbook-actions small{color:#91a5b9}
.site-issue-dialog{width:min(760px,calc(100vw - 28px));max-height:90vh;overflow:auto;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:#111820;color:#fff;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.site-issue-dialog::backdrop{background:rgba(2,6,12,.78);backdrop-filter:blur(3px)}
.site-issue-dialog .site-issue-form{padding:22px}
.site-issue-dialog .dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.site-issue-dialog .dialog-head h2{margin:.2rem 0 .35rem}
.site-issue-dialog .dialog-head p{margin:0;color:#aebed0}
@media(max-width:760px){.site-public-logbook .branded-public-logbook-hero{grid-template-columns:1fr!important}.site-public-logbook .public-company-branding{grid-template-columns:1fr}.site-public-logbook .public-company-logo-wrap{width:132px;height:88px}.site-public-logbook .public-logbook-actions{align-items:stretch}.site-public-logbook .public-logbook-actions .primary{width:100%;justify-content:center}.site-issue-dialog .dialog-head{flex-direction:column}.site-issue-dialog .dialog-head .ghost{width:100%}}

/* RC15: tenant header + immutable SiteTools publisher footer, printable. */
.pro-cert-header{position:relative;gap:20px;align-items:center}
.pro-cert-header-sitetools{max-width:160px;max-height:56px;object-fit:contain;flex:0 0 auto}
.pro-cert-report-no{font-size:clamp(16px,2.2vw,25px)!important;letter-spacing:.025em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.pro-cert-footer{align-items:center;flex-wrap:wrap}
.pro-cert-footer-logo{display:block;width:140px;max-height:52px;object-fit:contain;flex:0 0 auto}
@media(max-width:860px){.pro-cert-header-sitetools{width:120px}.pro-cert-footer-logo{width:112px}}
@media print{.pro-cert-header-sitetools,.pro-cert-footer-logo{display:block!important;max-height:45px!important}.pro-cert-footer{break-inside:avoid!important}.pro-cert-report-no{color:#071827!important}}
