:root{--navy:#15323f;--navy2:#214a59;--teal:#147e84;--mint:#e8f5f2;--ink:#1c3540;--muted:#637b85;--line:#d9e4e7;--bg:#f2f6f7;--white:#fff;--amber:#9b6106;--red:#b33e40;--shadow:0 7px 26px #1737470a;--radius:18px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible{outline:3px solid #409be0;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #278890;outline-offset:1px}
.top{height:84px;background:var(--navy);color:white;display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1220px)/2));gap:22px;position:sticky;top:0;z-index:20;box-shadow:0 2px 8px #0001}.brand{display:flex;align-items:center;color:white;gap:18px;flex:1}.brand:hover{text-decoration:none}.brand-logo{font-size:25px;letter-spacing:.3px;font-weight:800}.brand-divider{height:32px;width:1px;background:#fff3}.brand-sub{font-size:13px;font-weight:750;letter-spacing:1.5px}.brand-sub span{display:block;font-size:9px;letter-spacing:1.2px;font-weight:500;color:#abcbd0}.icon-button{color:inherit;background:transparent;border:1px solid #ffffff35;border-radius:10px;min-width:44px;min-height:44px}.connection{font-size:12px;max-width:240px;line-height:1.3;border-radius:30px;padding:9px 12px;border:1px solid #ffffff25;background:#ffffff0b}.connection:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#74dbc1}.connection.offline:before{background:#ffc676}.connection.problem:before{background:#ff8b8b}
#app{max-width:1220px;margin:auto;padding:30px 24px 90px}.eyebrow{color:var(--teal);font-size:11px;font-weight:800;letter-spacing:1.9px;text-transform:uppercase;margin:0 0 8px}h1{font-size:32px;line-height:1.18;margin:0 0 12px;letter-spacing:-.9px}h2{font-size:21px;line-height:1.25;margin:0 0 12px}h3{font-size:17px;margin:0 0 6px}p{margin:0 0 14px}.muted{color:var(--muted)}.small{font-size:12px}.micro{font-size:11px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{background:var(--teal);border:1px solid var(--teal);color:#fff;padding:11px 17px;border-radius:10px;min-height:46px;font-size:14px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:8px}.btn:hover{filter:brightness(.95);text-decoration:none}.btn.secondary{background:white;color:var(--ink);border-color:var(--line)}.btn.ghost{background:transparent;color:var(--teal);border-color:transparent}.btn.warn{background:#fff7e8;color:var(--amber);border-color:#ead7b6}.btn.danger{background:#fff1f0;color:var(--red);border-color:#efd2d1}.btn.full{width:100%}.pill{font-size:11px;font-weight:750;display:inline-block;border-radius:20px;padding:5px 9px;line-height:1.4;background:#edf1f3;color:#506770}.pill.complete{background:#ddf3e9;color:#15745a}.pill.na{background:#eeeaf7;color:#65538b}.pill.deferred{background:#fff1d5;color:#98640e}.pill.issue{background:#ffe5e1;color:#b13c3c}.pill.final{background:var(--navy);color:white}.pill.pending{background:#edf1f3;color:#506770}.pill.local{background:#e8effb;color:#3e6195}
.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.hero{background:var(--navy);color:white;border-radius:22px;padding:30px;position:relative;overflow:hidden;margin:20px 0 24px}.hero .eyebrow{color:#9cd6cf}.hero .muted{color:#b9d0d6}.hero .number{font-size:50px;line-height:1.1;font-weight:750}.hero-grid{display:grid;grid-template-columns:1fr 220px;gap:30px}.home-grid{display:grid;grid-template-columns:1fr 290px;gap:24px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.stat{padding:20px;background:white;border:1px solid var(--line);border-radius:14px}.stat strong{display:block;font-size:27px;line-height:1.3}.stat span{color:var(--muted);font-size:12px}.side-note{padding:20px;line-height:1.6;font-size:13px}.dive-list{display:grid;gap:12px}.dive-card{display:block;color:inherit;padding:20px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.dive-card:hover{border-color:var(--teal);text-decoration:none}.dive-card .project{font-size:13px;color:var(--muted);margin-top:5px}.phase-bars{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:17px}.progress{width:100%;height:6px;display:block;border:0;border-radius:8px;overflow:hidden;background:var(--line);accent-color:var(--teal)}.progress::-webkit-progress-bar{background:var(--line);border-radius:8px}.progress::-webkit-progress-value{background:var(--teal);border-radius:8px}.progress::-moz-progress-bar{background:var(--teal)}
.login-wrap{max-width:900px;margin:35px auto;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.login-art{padding:22px}.login-art h1{font-size:43px}.login-art .number-mark{margin:30px 0;color:var(--teal);font-size:70px;font-weight:300;line-height:1}.login-card{padding:30px}.field{display:block;margin-bottom:16px}.field span{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid #c5d4d9;border-radius:9px;padding:10px 12px;background:white;color:var(--ink)}.field textarea{resize:vertical;min-height:94px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.span2{grid-column:1/-1}.checkline{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:14px}.checkline input{width:20px;height:20px;flex-shrink:0;accent-color:var(--teal);margin-top:2px}.form-page{max-width:820px;margin:auto}.notice{background:#eef6fa;color:#37606e;border:1px solid #cfE1e8;border-radius:10px;padding:13px 15px;font-size:13px;margin:14px 0}.notice.warn{background:#fff7e8;color:#885c18;border-color:#e8d9ba}.notice.error{background:#fff0ed;color:#a33f35;border-color:#f1cfca}.empty{padding:40px 20px;text-align:center;color:var(--muted);border:1px dashed #bfd1d7;border-radius:14px}.loading{padding:50px;text-align:center;color:var(--muted)}.back{display:inline-block;margin-bottom:16px;font-size:13px}.sticky-bar{background:var(--bg);padding:15px 0 17px;position:sticky;top:84px;z-index:10}.stage-tabs{display:flex;background:#e4ecef;border-radius:12px;padding:4px;gap:4px}.stage-tabs a{padding:9px 18px;border-radius:9px;font-size:14px;color:var(--muted);font-weight:750}.stage-tabs a.active{background:white;box-shadow:0 1px 5px #10273112;color:var(--navy)}.stage-tabs a:hover{text-decoration:none}.workspace{display:grid;grid-template-columns:235px minmax(0,1fr);gap:24px}.sidebar{align-self:start;position:sticky;top:175px}.section-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:transparent;border:0;border-radius:10px;color:var(--muted);padding:13px 12px;font-size:13px;text-align:left;margin-bottom:4px}.section-link.active{background:var(--navy);color:white}.section-link .count{font-size:11px;min-width:33px}.section-title{padding:10px 0 8px;display:flex;align-items:baseline;gap:10px;justify-content:space-between}.section-title h2{margin:0;font-size:18px}.section-title.forlater{color:var(--amber);border-top:2px solid #ead5aa;margin-top:28px;padding-top:22px}.check-card{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:18px 20px;box-shadow:var(--shadow);border-left:4px solid #c3d2d8}.check-card.complete{border-left-color:#39a67f}.check-card.issue{border-left-color:#cc5858}.check-card.deferred{border-left-color:#dca43e}.check-card.na{border-left-color:#9382b3}.check-heading{display:flex;gap:13px;align-items:flex-start}.check-id{color:var(--teal);font-size:12px;font-weight:800;padding-top:3px;min-width:38px}.check-text{flex:1;font-size:16px;font-weight:600;line-height:1.5;margin:0}.group-label{font-size:12px;color:var(--muted);margin:0 0 5px;font-weight:500}.check-actions{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 0 51px}.check-actions button{min-height:42px;border:1px solid var(--line);background:white;color:#527078;padding:8px 12px;border-radius:9px;font-size:12px;font-weight:700}.check-actions button.mark-complete{background:#fff;color:var(--navy);border-color:#b7cbd3}.check-actions button.mark-complete:hover{background:#f1f5f6;border-color:#7396a4}.check-actions button.mark-complete:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.check-card.awaiting-sync{border-left-color:#dca43e}.pill.awaiting-sync{background:#fff5df;color:#81580d}.check-card.conflicted{border-left-color:#cc5858}.pill.conflicted{background:#fff0ed;color:#a33f35}.check-actions button.later-btn{color:var(--amber)}.check-actions button.issue-btn{color:var(--red)}.check-actions button.na-btn{color:#6b568f}.check-detail{margin:10px 0 0 51px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.note-text{font-size:13px;white-space:pre-wrap;color:var(--ink);margin-top:7px}.inline-values{font-size:13px;color:var(--ink);padding:7px 10px;background:var(--bg);border-radius:7px;margin:8px 0}.phase-summary{font-size:12px;color:var(--muted);margin-top:9px;display:flex;gap:10px;flex-wrap:wrap}.tools{font-size:13px;line-height:1.65}.tools summary{cursor:pointer;color:var(--teal);font-weight:700}.team{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.peer{font-size:12px;display:flex;align-items:start;gap:7px;margin:9px 0}.peer-dot{width:7px;height:7px;background:#53a58d;border-radius:50%;margin-top:5px;flex-shrink:0}.peer-dot.off{background:#bca077}.team-button{width:100%;margin-top:9px}.footer-note{font-size:11px;color:var(--muted);padding-top:22px;margin-top:20px;border-top:1px solid var(--line);line-height:1.6}
dialog{border:0;border-radius:20px;width:min(580px,calc(100vw - 24px));max-height:90dvh;padding:0;box-shadow:0 24px 100px #0b283d55;color:var(--ink)}dialog::backdrop{background:#0c283d99;backdrop-filter:blur(2px)}.modal{padding:26px}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:16px}.close-button{border:0;background:#edf2f4;border-radius:50%;width:35px;height:35px;color:var(--muted);font-size:22px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}.conflict-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.conflict-options div{padding:13px;background:var(--bg);border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}.qr{max-width:260px;display:block;margin:16px auto;width:100%}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);padding:13px 20px;background:var(--navy);color:#fff;border-radius:12px;max-width:calc(100vw - 28px);z-index:80;box-shadow:0 6px 35px #0e273555;font-size:13px;transition:transform .2s;pointer-events:none}#toast.visible{transform:translateX(-50%) translateY(0)}.link-list{display:grid;gap:9px}.sync-warning{margin-top:6px;color:var(--amber);font-size:11px}.flow{display:grid;gap:14px}.code{font-family:ui-monospace,Consolas,monospace;word-break:break-all}.heading-gap{margin-top:28px}.install-banner{font-size:12px;color:var(--muted);margin:20px 0}.readiness{background:#e8f5f2;padding:14px;border:1px solid #bfdfd5;border-radius:10px;font-size:13px}.danger-text{color:var(--red)}
@media(max-width:850px){.home-grid{grid-template-columns:1fr}.home-aside{display:none}.workspace{grid-template-columns:1fr}.sidebar{position:static;display:contents}.section-nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px}.section-link{white-space:nowrap;width:auto;min-width:125px;margin:0;border:1px solid var(--line);padding:10px}.side-progress{display:none}.workspace>.checks{min-width:0}.sidebar>.team{grid-row:3}.sidebar>.tools{display:none}.sticky-bar{top:76px}.top{height:76px}.login-wrap{gap:15px}.login-art h1{font-size:35px}.hero-grid{grid-template-columns:1fr 160px}.peer{display:inline-flex;margin-right:18px}.team-button{width:auto}.section-title{padding-top:14px}.card.team{padding:18px}}
@media(max-width:550px){.top{padding:0 16px;gap:10px;height:70px}.brand{gap:10px}.brand-logo{font-size:20px}.brand-sub{font-size:11px;letter-spacing:1px}.brand-sub span{font-size:8px}.brand-divider{height:27px}.connection{padding:7px 8px;font-size:10px;max-width:113px}.icon-button{min-width:37px;min-height:39px}#app{padding:22px 14px 70px}h1{font-size:28px}.hero{padding:23px}.hero-grid{grid-template-columns:1fr;gap:10px}.hero .number{font-size:38px}.hero-counter{display:none}.stat{padding:13px}.stat-grid{gap:8px}.stat strong{font-size:23px}.stat span{font-size:10px}.login-wrap{display:block;margin:0}.login-art{padding:10px 5px 18px}.login-art h1{font-size:30px}.login-art .number-mark{display:none}.login-card{padding:22px}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.form-page>.card{padding:18px}.sticky-bar{top:70px;padding:10px 0}.stage-tabs a{padding:9px 13px}.actions .btn{font-size:12px;padding:9px 11px;min-height:42px}.check-card{padding:16px 13px}.check-heading{gap:9px}.check-id{min-width:30px;font-size:10px}.check-text{font-size:15px}.check-actions,.check-detail{margin-left:0}.check-actions{gap:6px}.check-actions button{min-height:44px;padding:9px 10px;flex:1;font-size:11px}.check-actions button:last-child{flex:0 0 auto}.section-title h2{font-size:17px}.section-nav{margin-bottom:0}.workspace{gap:0}.team{margin-top:22px}.modal{padding:21px}.conflict-options{grid-template-columns:1fr}.phase-bars{gap:14px}.phase-summary{gap:7px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Installation stays visible before login and when local storage is blocked. */
.app-install-strip{max-width:1220px;margin:auto;padding:12px 24px 0;display:flex;align-items:center;justify-content:space-between;gap:14px}.install-shortcut{min-height:42px;background:#e5f4f1;border-color:#92c8c4;color:#125c63;padding:8px 16px;font-size:13px}.install-intro{display:flex;gap:16px;align-items:center;margin:10px 0 18px}.install-intro img{flex-shrink:0}.install-intro h2{margin-bottom:5px}.install-intro p{margin:0}.install-steps{display:grid;gap:18px;margin:22px 0}.install-steps p{font-size:13px;margin:0}.install-help{max-width:820px;margin:28px auto;padding:0 18px 50px}#install-dialog{width:min(640px,calc(100vw - 24px))}#install-dialog .modal-head h2{font-size:20px}.install-steps h3{font-size:15px}@media(max-width:550px){.app-install-strip{padding:10px 14px 0}.app-install-strip .small{font-size:11px}.install-intro h2{font-size:19px}.install-help{margin-top:20px}#install-dialog .modal{padding:20px}}

/* Respect semantic hidden fields, including type-specific Winch controls. */
[hidden] { display: none !important; }
.template-choice { margin-bottom: 18px; }
.stage-tabs { flex-wrap: wrap; }

/* Keep the inactive notification out of full-page/mobile scroll areas. */
#toast { opacity: 0; visibility: hidden; }
#toast.visible { opacity: 1; visibility: visible; }

/* AJ OpsCheck: checked and approved are independent, readable states. */
.approval-card{margin:10px 14px 14px;padding:12px;border:1px solid #d8b26e;border-radius:12px;background:#fff8e9;overflow-wrap:anywhere}
.approval-card.approved{background:#edf8f2;border-color:#74ad92}.approval-card.rejected{background:#fff0ed;border-color:#cc8a7d}
.approval-card p{margin:7px 0 0}.approval-summary{padding:14px 18px;margin:14px 0;border-left:4px solid #b8872a;border-radius:10px;background:#fff8e9}
.approval-summary.all-approved{border-color:#438e69;background:#edf8f2}.approval-summary p{margin:6px 0 0}
.brand-logo img{display:block;width:50px;height:50px}.brand-sub span{letter-spacing:.15em}.contact-hero{max-width:820px;margin:28px auto}
.contact-email{font-size:clamp(18px,4vw,27px);font-weight:700;overflow-wrap:anywhere}.example-doc h3{margin:22px 0 8px}.example-doc pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:580px){.approval-card .row{align-items:flex-start;flex-wrap:wrap}.brand-sub{font-size:14px}.brand-logo img{width:40px;height:40px}}

/* Frozen document control, readable on both phones and desktops. */
.document-details summary {cursor:pointer; padding:4px 0; overflow-wrap:anywhere;}
.document-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;margin:18px 0;}
.document-grid dt {font-weight:700;font-size:.85rem;}
.document-grid dd {margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;}
@media(max-width:540px){.document-grid{grid-template-columns:1fr;gap:12px;}}

/* Illustrated instructions remain readable on desktop and phone. */
.checklist-introduction>summary { cursor:pointer; padding:6px 0; }
.introduction-block { padding:16px 0; border-top:1px solid var(--line,#d3dfe2); }
.introduction-block h2 { font-size:1.2rem; margin:0 0 8px; }
.instruction-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; }
.instruction-warning { border-left:4px solid #b45024; background:#fff5ec; padding:14px; margin:12px 0; }
.item-guidance { margin:10px 0 14px; padding:0 14px; }
.reference-gallery { display:flex; flex-wrap:wrap; gap:14px; }
.reference-figure { margin:10px 0; max-width:350px; width:100%; }
.picture-button { padding:4px; display:block; width:100%; border:1px solid #ccdce0; border-radius:8px; background:#f6fafb; cursor:zoom-in; }
.picture-button img { display:block; width:auto; max-width:100%; height:auto; max-height:300px; margin:auto; object-fit:contain; }
.reference-figure figcaption { margin:7px 0; font-size:.88rem; line-height:1.5; overflow-wrap:anywhere; }
.reference-figure figcaption span { display:block; margin-top:4px; }
.reference-full { display:block; width:auto; max-width:100%; max-height:65vh; height:auto; object-fit:contain; margin:auto; }
@media(max-width:600px){.reference-figure{max-width:100%;}.item-guidance{padding:0 5px;}.introduction-block{padding:12px 4px;}}

.project-strip{padding:9px max(20px,calc((100% - 1360px)/2));background:#e1f0f1;color:#15323f;font-size:13px}.project-strip span{letter-spacing:.1em;font-size:11px;margin-right:10px}

/* Photographic evidence: compact on phones, separate from reference guidance. */
.evidence-editor{border:1px solid var(--border,#ccdcdc);border-radius:12px;padding:16px;margin:16px 0;min-width:0}
.evidence-editor legend{font-weight:700;padding:0 7px}.evidence-editor input[type=file][hidden]{display:none}
.photo-evidence-card{display:flex;align-items:flex-start;flex-direction:column;gap:7px;padding-top:12px}
.evidence-thumb{display:flex;align-items:flex-start;gap:12px;border-top:1px solid #d3dfe2;padding:12px 0}
.evidence-open{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:100%;background:transparent;border:1px solid #d3dfe2;border-radius:10px;padding:5px;color:inherit;cursor:pointer}
.evidence-open img{width:170px;height:120px;max-width:100%;object-fit:contain}.evidence-thumb-details{flex:1;min-width:0}.evidence-thumb-details .field{margin-top:0}.evidence-thumb-details input{width:100%;box-sizing:border-box}
.evidence-view-card{border:1px solid #d3dfe2;border-radius:12px;padding:12px;margin:12px 0;overflow-wrap:anywhere}
.evidence-view-card .evidence-open{width:100%}.evidence-view-card img{width:100%;height:auto;max-height:330px;object-fit:contain}
#evidence-picture-dialog{width:min(94vw,1100px);max-height:93vh;border:0;border-radius:14px;padding:0;color:#15323f}#evidence-picture-dialog::backdrop{background:#102730b3}
.evidence-large{max-width:100%;max-height:68vh;object-fit:contain;display:block;margin:auto}
@media(max-width:520px){.evidence-thumb{flex-direction:column}.evidence-thumb .evidence-open{width:100%}.evidence-thumb img{width:100%;height:160px}.evidence-thumb-details{width:100%}}

/* Original source links belong to the collapsed information panel, not checks. */
.original-links { border-top:1px solid #d7e3e6; margin-top:1rem; padding-top:.7rem; }
.original-link { padding:.7rem 0; border-bottom:1px solid #d7e3e6; overflow-wrap:anywhere; }
#original-list article { padding:.8rem 0; border-bottom:1px solid #d7e3e6; overflow-wrap:anywhere; }

/* Logs — responsive forms, source evidence and readable measurement lists. */
.log-values{display:grid;grid-template-columns:minmax(110px,1fr) minmax(100px,2fr);gap:6px 14px;font-size:.95rem}.log-values dt{color:var(--muted,#60727b)}.log-values dd{margin:0;overflow-wrap:anywhere}.log-source{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;max-height:440px;overflow:auto;background:#f0f5f6;padding:12px}.log-source-text{white-space:pre-wrap;overflow-wrap:anywhere}.log-table-scroll{overflow:auto;max-height:500px}.log-table-scroll table{border-collapse:collapse;font-size:.8rem}.log-table-scroll th,.log-table-scroll td{border:1px solid #d6e1e4;padding:8px;vertical-align:top;min-width:100px;max-width:400px}.log-reference{margin:18px 0;padding:12px;border:1px solid #d6e1e4;border-radius:12px}.log-reference-image{display:block;max-width:100%;height:auto}.log-entry h2{overflow-wrap:anywhere}#log-form input[type=date],#log-form input[type=time]{max-width:100%;min-width:0}

/* Operations log: dense journal grid with frozen headings, colour-coded events.
   These cues describe saved events, not live equipment/approval status. */
.log-workspace{background:#fff;border:1px solid #d2dee4;border-radius:12px;overflow:hidden;box-shadow:0 8px 28px #16344008;min-width:0}
.log-titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px 12px;background:#f7fafb}
.log-titlebar h1{font-size:clamp(1.2rem,2.1vw,1.75rem);line-height:1.25;margin:3px 0;color:#153440;overflow-wrap:anywhere}.log-titlebar .eyebrow{font-size:.65rem;margin:0;letter-spacing:.12em}
.log-commandbar{display:flex;flex-wrap:wrap;gap:6px;padding:10px 22px 14px;background:#f7fafb}
.log-workspace .btn{padding:8px 13px;min-height:36px;font-size:.8rem;border-radius:6px;line-height:1.25}
.log-workspace .btn.log-quick-on{background:#dcf5e3;border:1px solid #92cea5;color:#17582d;font-weight:750}.log-workspace .btn.log-quick-off{background:#ffe4e8;border:1px solid #e9a7b2;color:#8c2537;font-weight:750}
.log-tabs{display:flex;gap:0;overflow:auto;margin:0;padding:0 14px;border-top:1px solid #d6e1e6;border-bottom:2px solid #0f7d83;background:#eef4f6;border-radius:0;scrollbar-width:thin}
.log-tab{background:transparent;border:0;border-right:1px solid #d6e1e6;color:#4c6570;padding:12px 14px;font-family:inherit;font-weight:600;font-size:.79rem;line-height:1.3;white-space:nowrap;cursor:pointer;min-height:44px}
.log-tab.active{background:#0f7d83;color:white}.log-tab span{font-size:.68rem;opacity:.82;margin-left:5px;font-variant-numeric:tabular-nums}.log-tab:hover:not(.active){background:#e0ecef}
.log-filterbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:14px 22px 10px;background:white}
.log-filterbar label{display:flex;flex-direction:column;gap:4px;min-width:0;flex:0 1 155px}.log-filterbar label:first-child{flex-basis:185px}.log-filterbar label.log-search-field{flex:1 1 185px}
.log-filterbar label>span{font-size:.68rem;font-weight:650;color:#60747e;line-height:1.3}.log-filterbar input,.log-filterbar select{padding:7px 8px;border:1px solid #cbd9df;border-radius:5px;font-size:.79rem;min-height:35px;width:100%;min-width:0;background:#fff;color:#18333f}
.log-viewbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:5px 22px 12px;font-size:.71rem;color:#566e79}.log-viewbar label{display:flex;gap:5px;align-items:center;white-space:nowrap}.log-viewbar input{width:auto;min-height:0;margin:0}.log-total{margin-left:auto;font-variant-numeric:tabular-nums}
.log-legend{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.log-legend>span{font-size:.65rem;letter-spacing:.01em;font-weight:750;padding:3px 7px;border-radius:3px;border-left:3px solid}
.legend-on{background:#e2f5e8;color:#1b6135;border-color:#15833e}.legend-off{background:#ffe4e9;color:#8e2938;border-color:#c23348}.legend-day{background:#fff0df;color:#805324;border-color:#bb732c}.legend-partial{background:#fff4b6;color:#755a00;border-color:#bd9300}
.log-table-scroll.log-sheet-scroll{width:100%;max-height:64vh;min-height:180px;overflow:auto;border-top:1px solid #cbd9df;border-bottom:1px solid #cbd9df;border-radius:0;scrollbar-width:thin;scrollbar-color:#9bb1bd #edf3f5;overscroll-behavior-x:contain;position:relative}
.log-sheet-scroll:focus-visible{outline:3px solid #42a6b1;outline-offset:-3px}
.log-sheet-scroll table.log-sheet{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;font-size:.77rem;line-height:1.4;margin:0}
.log-sheet-scroll .log-sheet th,.log-sheet-scroll .log-sheet td{border:0;border-right:1px solid #d6e1e6;border-bottom:1px solid #dce6ea;padding:8px 10px;min-width:82px;max-width:250px;vertical-align:top;box-sizing:border-box}
.log-sheet-scroll .log-sheet thead th{position:sticky;top:0;background:#183742;color:#e9f2f5;z-index:3;font-size:.68rem;line-height:1.35;letter-spacing:.012em;font-weight:650;padding:10px;box-shadow:0 1px 0 #193440;white-space:nowrap}.log-sheet th small{display:block;font-weight:400;color:#b3c9d1}
.log-sheet-scroll .log-sheet .log-time-col{width:136px;min-width:136px;max-width:136px;position:sticky;left:0;z-index:1;background:#f5f8fa;border-right:2px solid #c7d6dd}.log-sheet-scroll .log-sheet thead .log-time-col{z-index:5;background:#183742}
.log-sheet-scroll .log-sheet .log-primary-col{width:290px;min-width:225px;max-width:360px}
.log-sheet-scroll .log-sheet tbody tr:nth-child(even){background:#f8fafb}.log-sheet-scroll .log-sheet tbody tr:hover{filter:brightness(.977)}
.log-sheet-scroll .log-sheet td time{font-variant-numeric:tabular-nums;white-space:nowrap;display:block;font-size:.73rem}.log-sheet td time b{display:block;font-weight:650;letter-spacing:.025em}.log-sheet td time span{display:block;font-size:.64rem;color:#677c86}.log-time-unconfirmed{color:#976c30!important;font-size:.59rem!important}
.log-row-open{border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;width:100%;cursor:pointer;display:flex;gap:7px;align-items:flex-start;line-height:1.5}.log-row-open:hover{text-decoration:underline;text-underline-offset:3px}.log-row-open:focus-visible{outline:2px solid #0f7d83;outline-offset:3px}.log-event-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;font-weight:550}
.log-cell-value{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;min-width:64px;font-variant-numeric:tabular-nums}.log-author-col{min-width:140px!important;max-width:190px!important;font-size:.72rem;overflow-wrap:anywhere}.log-state-col{min-width:78px!important;font-size:.66rem;white-space:nowrap;color:#556e78}.log-state-col small{display:block;color:#7d9099;font-size:.62rem}.log-empty{color:#9aadb5}.log-empty-state{text-align:center;padding:32px!important;color:#607681}
.log-sheet-scroll .log-sheet tr.log-tone-on,.log-sheet-scroll .log-sheet tr.log-tone-completed{background:#ECF8EF!important;color:#174D2A}.log-sheet-scroll .log-sheet tr.log-tone-off,.log-sheet-scroll .log-sheet tr.log-tone-not_attempted{background:#FFF0F1!important;color:#762332}.log-sheet-scroll .log-sheet tr.log-tone-day{background:#FFF1E3!important;color:#70421F}.log-sheet-scroll .log-sheet tr.log-tone-partial{background:#FFF9D6!important;color:#67510B}.log-sheet-scroll .log-sheet tr.log-tone-voided{background:#F1F3F5!important;color:#596670}
.log-sheet-scroll .log-sheet tr.log-tone-on td.log-primary-col,.log-sheet-scroll .log-sheet tr.log-tone-completed td.log-primary-col{border-left:4px solid #14813E;background:#dbf2e1}.log-sheet-scroll .log-sheet tr.log-tone-off td.log-primary-col,.log-sheet-scroll .log-sheet tr.log-tone-not_attempted td.log-primary-col{border-left:4px solid #C23243;background:#ffe0e6}.log-sheet-scroll .log-sheet tr.log-tone-day td.log-primary-col{border-left:4px solid #B56622}.log-sheet-scroll .log-sheet tr.log-tone-partial td.log-primary-col{border-left:4px solid #AD8508}
.log-dnp{display:inline-block;color:#a71d33;background:#fff;border:1px solid #eab6c0;border-radius:3px;font-size:.61rem;font-weight:750;padding:1px 4px;white-space:nowrap;margin-top:2px}
.log-pagination{display:flex;align-items:center;gap:9px;padding:10px 22px;font-size:.74rem;font-variant-numeric:tabular-nums;flex-wrap:wrap;background:#f7fafb}.log-pagination>.small{margin-left:auto;font-size:.66rem}.log-view-notes{margin:0;padding:10px 22px 14px;border-top:1px solid #e2e9ed;font-size:.76rem;color:#536c77}.log-view-notes summary{cursor:pointer;font-weight:650}.log-view-notes p{margin:8px 0}
@media(min-width:900px){body:has(.log-workspace) #app{max-width:1600px}.log-sheet-scroll td[data-field="kp"],.log-sheet-scroll td[data-field="sog"],.log-sheet-scroll td[data-field="cog"],.log-sheet-scroll td[data-field="depth"]{text-align:right}}
@media(max-width:600px){.log-titlebar{padding:13px 12px 9px}.log-titlebar>.btn{font-size:.65rem;min-width:77px;white-space:nowrap}.log-titlebar h1{font-size:1.05rem}.log-commandbar{padding:8px 12px 11px;gap:5px}.log-workspace .btn{font-size:.7rem;min-height:34px;padding:7px 9px}.log-filterbar{padding:10px 12px 7px;gap:7px}.log-filterbar label,.log-filterbar label:first-child,.log-filterbar label.log-search-field{flex:1 1 calc(50% - 7px)}.log-filterbar>.btn{flex:1 1 100%}.log-viewbar{padding:5px 12px 10px;gap:8px;font-size:.64rem}.log-total{margin-left:0}.log-tabs{padding:0 4px}.log-tab{padding:10px;min-height:40px;font-size:.72rem}.log-table-scroll.log-sheet-scroll{max-height:61vh;min-height:160px}.log-sheet-scroll .log-sheet .log-time-col{min-width:105px;max-width:105px;width:105px;padding:8px}.log-sheet-scroll .log-sheet .log-primary-col{min-width:206px;max-width:250px;width:206px}.log-sheet-scroll .log-sheet td time span{font-size:.59rem}.log-pagination{padding:9px 12px}.log-pagination>.small{margin-left:0;flex-basis:100%}.log-view-notes{padding:10px 12px;font-size:.7rem}}
@media print{.log-commandbar,.log-filterbar,.log-pagination,.log-viewbar{display:none}.log-table-scroll.log-sheet-scroll{max-height:none;overflow:visible}.log-workspace{box-shadow:none}}

.log-filterbar[hidden]{display:none}

/* 1.14.1: equally prominent workspaces; no checklist-only promotional banner. */
.workspace-nav{max-width:1220px;margin:0 auto;padding:12px 24px 0;display:flex;gap:6px;}
.workspace-nav a{flex:1;max-width:220px;min-width:0;display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--navy);background:#fff;font-size:14px;font-weight:700;}
.workspace-nav a[aria-current=page]{background:var(--navy);border-color:var(--navy);color:#fff;}
.workspace-nav a:focus-visible,.dashboard-module:focus-visible,.dashboard-shortcut:focus-visible{outline:3px solid var(--teal);outline-offset:3px;}
.dashboard-heading{margin:0 0 22px;}.dashboard-heading h1{font-size:clamp(26px,3.1vw,38px);margin:6px 0 8px;line-height:1.16;}.dashboard-heading p{margin:6px 0;}
.dashboard-context{font-size:15px;overflow-wrap:anywhere;}.dashboard-account{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:12px;color:var(--muted);}.dashboard-account span{margin-left:6px;padding:2px 7px;background:#e1eded;border-radius:5px;color:var(--navy);font-size:11px;}
.dashboard-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch;}
.dashboard-module{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:18px;padding:25px;min-height:180px;background:#fff;color:var(--navy);border:1px solid #b6cfd3;border-top:4px solid var(--teal);border-radius:15px;text-decoration:none;box-shadow:0 5px 18px #16354107;}
.dashboard-module:hover{border-color:var(--teal);background:#f8fcfc;}.dashboard-module h2{font-size:25px;line-height:1.2;margin:0 0 9px;}.dashboard-module p{font-size:15px;line-height:1.5;color:var(--muted);margin:0 0 16px;max-width:35ch;}
.dashboard-module-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#e4f2f2;border-radius:10px;color:var(--teal);}.dashboard-module svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.dashboard-module-action{color:var(--teal);font-weight:700;font-size:14px;display:flex;align-items:center;gap:12px;}
.dashboard-unsent{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:15px 18px;border:1px solid #e2c795;border-left:4px solid #ac6d17;background:#fff9ec;border-radius:10px;margin-top:20px;}
.dashboard-unsent h2{font-size:15px;margin:0 0 6px;}.dashboard-unsent p{font-size:13px;line-height:1.5;margin:0;}.dashboard-unsent .btn{flex-shrink:0;font-size:12px;}
.dashboard-quick{margin-top:26px;}.dashboard-quick>h2{font-size:17px;margin:0 0 12px;}.dashboard-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.dashboard-shortcut{padding:15px;text-align:left;display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:85px;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--navy);text-decoration:none;font-family:inherit;cursor:pointer;}
.dashboard-shortcut b{font-size:13px;line-height:1.35;}.dashboard-shortcut span{font-size:12px;line-height:1.45;color:var(--muted);}.dashboard-shortcut:hover{background:#f7fbfb;border-color:#99bdc3;}.dashboard-connection-note{margin:18px 0 0;line-height:1.5;}
.checklist-list-heading{margin-bottom:20px;}
@media(max-width:700px){.dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.dashboard-modules{gap:12px;}.dashboard-module{padding:20px;gap:12px;}}
@media(max-width:580px){.workspace-nav{padding:10px 14px 0;}.workspace-nav a{padding:9px 12px;font-size:13px;}.dashboard-heading{margin-bottom:17px;}.dashboard-heading h1{font-size:28px;}.dashboard-heading .eyebrow{font-size:10px;letter-spacing:.13em;}.dashboard-modules{grid-template-columns:1fr;}.dashboard-module{min-height:135px;padding:18px;grid-template-columns:40px minmax(0,1fr);}.dashboard-module h2{font-size:22px;margin-bottom:5px;}.dashboard-module p{font-size:13px;margin-bottom:10px;max-width:none;}.dashboard-module-icon{height:40px;width:40px;}.dashboard-module-action{font-size:13px;}.dashboard-unsent{flex-direction:column;align-items:stretch;gap:12px;}.dashboard-quick{margin-top:21px;}.dashboard-shortcut{padding:12px;}.dashboard-context{font-size:13px;}}

/* 1.14.1: freeze the complete operations control pane below the app header.
   Do not use overflow:hidden on its ancestor: that disables page-level sticky. */
.log-workspace{overflow:visible;--hub-header-height:84px;--log-controls-height:240px;}
.log-controls{position:sticky;top:var(--hub-header-height);z-index:12;background:#f7fafb;border-radius:12px 12px 0 0;box-shadow:0 3px 5px #15344015;max-height:calc(100dvh - var(--hub-header-height) - 150px);overflow:auto;scrollbar-width:thin;}
.log-controls .log-titlebar{border-radius:12px 12px 0 0;}
.log-workspace .log-sheet-scroll{max-height:max(160px,calc(100dvh - var(--hub-header-height) - var(--log-controls-height) - 54px));min-height:160px;}
.log-controls .log-tabs{margin-bottom:0;}
.log-controls .log-viewbar{background:#fff;}
@media(max-width:850px){.log-workspace{--hub-header-height:76px;}}
@media(max-width:550px){.log-workspace{--hub-header-height:70px;}.log-controls .log-titlebar{padding-top:9px;padding-bottom:6px;}.log-controls .eyebrow{font-size:9px;margin-bottom:4px;}.log-controls .log-titlebar h1{font-size:1rem;}.log-controls .log-commandbar{padding-top:6px;padding-bottom:8px;}}
@media print{.log-controls{position:static;max-height:none;overflow:visible;box-shadow:none;}.log-workspace .log-sheet-scroll{max-height:none;overflow:visible;}}

/* 1.14.1: fitted laptop journal. A single row viewport owns vertical scrolling;
   controls do not float over, resize, or consume the rows during page scrolling. */
.log-notes-button{border:0;background:none;color:var(--muted);font:inherit;font-weight:650;cursor:pointer;padding:0;text-align:left;}
.log-notes-button:hover{text-decoration:underline;}
.log-notes-button:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}
@media screen and (min-height:500px), screen and (min-width:700px) and (min-height:400px){
  body:has(.log-workspace){height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;}
  body:has(.log-workspace)>.top{position:relative;flex:0 0 64px;height:64px;padding-top:0;padding-bottom:0;}
  body:has(.log-workspace) .brand-logo img{height:40px;width:40px;}
  body:has(.log-workspace)>.app-install-strip{display:none;}
  body:has(.log-workspace)>.project-strip{flex:none;padding-top:4px;padding-bottom:4px;min-height:0;margin:0 auto;}
  body:has(.log-workspace)>.workspace-nav{flex:none;width:100%;max-width:1600px;padding:4px 18px;margin:0 auto;}
  body:has(.log-workspace)>.workspace-nav a{min-height:32px;padding:5px 14px;font-size:12px;border-radius:6px;}
  body:has(.log-workspace)>#app{flex:1 1 0;min-height:0;width:100%;max-width:1600px;margin:0 auto;padding:6px 18px 10px;display:flex;flex-direction:column;}
  body:has(.log-workspace)>#app>.footer-note{display:none;}
  #app>.log-workspace{flex:1 1 0;min-height:0;display:flex;flex-direction:column;margin:0;overflow:hidden;}
  .log-workspace>.log-controls{position:relative;top:auto;z-index:12;flex:none;max-height:none;overflow:visible;box-shadow:none;}
  .log-controls .log-titlebar{padding:9px 14px 4px;gap:12px;}
  .log-controls .log-titlebar>div{min-width:0;}
  .log-controls .log-titlebar h1{font-size:1.1rem;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:1.45;}
  .log-controls .log-titlebar .eyebrow{display:none;}
  .log-controls .log-commandbar{padding:5px 14px 8px;gap:6px;}
  .log-controls .btn{min-height:32px;font-size:.75rem;padding:7px 10px;}
  .log-controls .log-tab{min-height:35px;padding:9px 12px;font-size:.74rem;}
  .log-controls .log-viewbar{padding:6px 14px;gap:10px;min-height:30px;}
  .log-workspace .log-table-scroll.log-sheet-scroll{flex:1 1 0;min-height:140px;height:auto;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
  .log-controls .log-filterbar{position:absolute;top:100%;left:0;right:0;z-index:15;margin:0;padding:14px;background:#fff;border:1px solid #bdcfd7;box-shadow:0 5px 14px #1437412b;max-height:55dvh;overflow:auto;}
  .log-pagination{flex:none;padding:6px 14px;min-height:40px;}
  .log-pagination .btn{min-height:29px;padding:5px 10px;}
  .log-pagination>.small{font-size:.64rem;}
  .log-view-notes{flex:none;padding:5px 14px 6px;font-size:.7rem;}
}
/* Short/zoomed windows still keep a useful row area; avoid the old 160px
   maximum caused by subtracting the full expanded toolbar from the viewport. */
@media screen and (max-height:399px), screen and (max-width:699px) and (max-height:499px){
  .log-workspace .log-sheet-scroll{max-height:60dvh;min-height:220px;}
}

@media screen and (max-height:650px) and (min-height:500px), screen and (min-width:700px) and (min-height:400px) and (max-height:650px){
  body:has(.log-workspace)>.top{flex-basis:52px;height:52px;}
  body:has(.log-workspace) .brand-logo img{width:32px;height:32px;}
  body:has(.log-workspace)>.project-strip{display:none;}
  .log-controls .log-commandbar{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;}
  .log-controls .log-commandbar .btn{flex:none;}
  .log-controls .log-viewbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;}
  .log-controls .log-viewbar>*{flex:none;}
  .log-pagination>.small{display:none;}
  .log-controls .log-titlebar{padding-top:5px;}
  .log-view-notes{padding-top:3px;padding-bottom:4px;}
}
/* Landscape/zoomed windows: compact chrome instead of cutting off pagination. */
@media screen and (min-width:700px) and (min-height:400px) and (max-height:499px){
  body:has(.log-workspace)>.top{flex-basis:44px;height:44px;}
  body:has(.log-workspace)>.workspace-nav{padding-top:3px;padding-bottom:3px;}
  body:has(.log-workspace)>.workspace-nav a{min-height:26px;padding:3px 12px;}
  .log-controls .log-titlebar{padding:3px 12px;}
  .log-controls .log-titlebar h1{font-size:.94rem;}
  .log-controls .btn{min-height:26px;padding:4px 9px;}
  .log-controls .log-commandbar{padding:3px 12px 5px;}
  .log-controls .log-tab{min-height:28px;padding:6px 10px;font-size:.69rem;}
  .log-controls .log-viewbar{min-height:22px;padding:3px 12px;font-size:.64rem;}
  .log-workspace .log-table-scroll.log-sheet-scroll{min-height:100px;}
  .log-pagination{min-height:30px;padding:4px 12px;}
  .log-pagination .btn{min-height:24px;padding:3px 9px;}
  .log-view-notes{padding:3px 12px;font-size:.65rem;}
}

/* Entry helpers never replace the parent form or its unsent values. */
.date-picker-actions{display:block;margin-top:5px;position:relative}
.date-picker-button{min-height:30px;padding:5px 10px;font-size:.8rem}
.utc-picker{display:block;padding:14px;margin:6px 0;background:#edf6f8;border:1px solid #bdd5de;border-radius:10px}
.utc-picker label{display:block;margin:6px 0}.utc-picker-error{display:block;color:#ad3232}
.workspace-nav .assigned-alert{border:1px solid #bfd3dc;border-radius:8px;background:#fff;color:#153440;padding:7px 13px;font-weight:650;cursor:pointer;white-space:nowrap}
.workspace-nav .assigned-alert.has-unread{border-color:#087b82;background:#dff5ef}
.workspace-nav .assigned-alert.has-unread::before{content:"● ";color:#12814b}
@media(max-height:650px){.workspace-nav .assigned-alert{font-size:.75rem;padding:3px 8px}}
/* Inventory and briefing workspaces: one stable table scroller, fixed-size actions. */
.workspace-nav{overflow-x:auto;white-space:nowrap;flex-wrap:nowrap}.workspace-nav a{flex:0 0 auto;min-width:80px;max-width:none}
.fw-workspace{max-width:1500px;margin:auto}.fw-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:15px 0 20px}.fw-heading h1{font-size:clamp(1.5rem,3vw,2.3rem);margin:.3em 0}.fw-heading .actions{flex-wrap:wrap}.fw-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 0}.fw-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:14px}.fw-filters input:not([type=checkbox]),.fw-filters select{width:100%;min-width:0}.fw-table-wrap{max-height:62vh;overflow:auto;border:1px solid #c8dce1;border-radius:10px;background:white;overscroll-behavior:contain}.fw-table{width:100%;border-collapse:separate;border-spacing:0;min-width:960px;font-size:14px}.fw-table th{background:#153440;color:white;position:sticky;top:0;z-index:2;text-align:left;font-weight:600;padding:11px;white-space:nowrap}.fw-table td{border-bottom:1px solid #dfe8eb;padding:10px;vertical-align:top;max-width:330px;overflow-wrap:anywhere}.fw-table td:first-child{min-width:70px}.fw-table tr:nth-child(even){background:#f6f9fa}.fw-row-link{border:0;background:transparent;color:#117c83;font:inherit;text-align:left;padding:0;text-decoration:underline;cursor:pointer}.fw-table tr.fw-checked{background:#e6f6ed}.fw-table tr.fw-recheck{background:#fff2dc}.fw-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fw-card{display:block;text-decoration:none;color:inherit;margin:0}.fw-card h2{font-size:1.3rem}.fw-form{display:grid;gap:16px}.fw-form label:not(.fw-tick){display:grid;gap:7px}.fw-form .fw-tick{display:flex;gap:12px;align-items:flex-start}.fw-tick input{flex:0 0 auto;margin-top:5px}.fw-form .actions{flex-wrap:wrap}.fw-form select,.fw-form input:not([type=checkbox]),.fw-form textarea{width:100%;min-width:0}.fw-source{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-height:450px;overflow:auto;font-size:12px}.fw-details{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:8px}.fw-details dt{text-transform:capitalize;font-weight:650}.fw-details dd{margin:0;overflow-wrap:anywhere}.fw-count-status{display:flex;flex-wrap:wrap;gap:15px;background:#e8f4f4;padding:15px;border-radius:10px}.fw-prompts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fw-prewrap{white-space:pre-wrap}.fw-ok{color:#08753e}.fw-alert{color:#a54025}.fw-workspace .card{margin-top:16px}.fw-heading .actions .btn{white-space:nowrap}
@media(max-width:760px){.fw-heading{display:block}.fw-heading .actions{margin-top:12px}.fw-filters{grid-template-columns:1fr 1fr}.fw-filters label:first-child{grid-column:1/-1}.fw-table-wrap{max-height:60vh}.fw-cards,.fw-prompts{grid-template-columns:1fr}.fw-toolbar .btn{font-size:13px;padding:10px 12px}.fw-form .actions .btn{flex:1;min-width:130px}.fw-details{grid-template-columns:1fr 1.6fr}}

/* 1.18.0: a shared visual language for the four operational workspaces.
   Presentation only; actions, permissions, saved evidence and drafts are unchanged. */
:root{--focus-ring:#137f88;--panel-border:#d5e2e7;--surface:#fff;--soft-surface:#f6f9fb;}
body{background:#f3f7f9;}
button,a,input,select,textarea{touch-action:manipulation;}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;}
.top{box-shadow:0 2px 12px #102e3b12;}
.workspace-nav{gap:6px;background:#fff;border:1px solid var(--panel-border);border-radius:12px;padding:7px;max-width:1172px;box-shadow:0 2px 7px #15344007;}
.workspace-nav a{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:650;border:0;min-height:42px;padding:9px 15px;}
.workspace-nav a svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.workspace-nav a[aria-current=page]{background:#153440;color:#fff;box-shadow:0 1px 3px #102e3b22;}
.workspace-nav a:hover:not([aria-current=page]){background:#edf5f7;}
.workspace-nav[hidden]{display:none!important;}
.operations-home .dashboard-heading{margin-bottom:22px;}
.operations-home h1{font-size:clamp(1.8rem,3.4vw,2.6rem);letter-spacing:-.025em;}
.dashboard-context{margin-bottom:8px;}
.dashboard-module{border:1px solid var(--panel-border);border-radius:16px;background:white;box-shadow:0 4px 15px #173f4b06;padding:24px;gap:18px;transition:border-color .15s,box-shadow .15s;}
.dashboard-module:hover{border-color:#4b989e;box-shadow:0 5px 18px #173f4b13;}
.dashboard-module-icon{background:#e7f3f3;border-radius:13px;color:#147a81;width:52px;height:52px;flex:none;}
.dashboard-module h2{font-size:1.4rem;line-height:1.2;letter-spacing:-.015em;}
.dashboard-module p{font-size:.92rem;line-height:1.55;margin:8px 0 18px;}
.dashboard-module-action{font-size:.83rem;font-weight:750;}
.dashboard-quick-grid{gap:10px;}
.dashboard-shortcut{border-radius:12px;padding:18px;border:1px solid var(--panel-border);background:#fff;}
.dashboard-shortcut b{font-size:.9rem;}.dashboard-shortcut span{font-size:.8rem;}
.dashboard-unsent{border-radius:12px;border-color:#e3bf77;background:#fff8e8;}
.card,.empty,.dive-card{border-color:var(--panel-border);box-shadow:0 3px 12px #163e4905;border-radius:14px;}
.btn{border-radius:9px;font-weight:650;}
.fw-workspace .fw-heading{border-bottom:1px solid var(--panel-border);padding-bottom:18px;margin-top:6px;}
.fw-heading .muted{max-width:740px;line-height:1.5;}
.fw-heading h1{letter-spacing:-.025em;}
.fw-toolbar{padding:10px 0 14px;gap:7px;}
.fw-filters{background:#fff;border:1px solid var(--panel-border);padding:14px;border-radius:12px;gap:12px;}
.fw-filters label{font-size:.8rem;font-weight:650;display:grid;gap:7px;min-width:0;}
.fw-filters input:not([type=checkbox]),.fw-filters select,.fw-form select,.fw-form input:not([type=checkbox]):not([type=hidden]),.fw-form textarea{border:1px solid #bfcfd7;border-radius:8px;background:#fff;color:#163744;padding:11px 12px;min-height:44px;font:inherit;}
.fw-form textarea{min-height:92px;resize:vertical;line-height:1.5;}
.fw-form h3{border-top:1px solid var(--panel-border);padding-top:20px;margin:14px 0 0;font-size:1.08rem;color:#123c4a;}
.fw-form p{margin:0;line-height:1.6;}
.fw-form label:not(.fw-tick){font-size:.85rem;font-weight:600;}
.fw-form .notice{font-weight:400;}
.fw-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.fw-form .fw-tick{align-items:center;gap:10px;padding:11px 12px;margin:0;border:1px solid var(--panel-border);border-radius:9px;background:#f8fbfc;min-height:46px;cursor:pointer;font-size:.88rem;line-height:1.4;}
.fw-form .fw-tick:has(input:checked){background:#e7f5f1;border-color:#94c8bc;}
.fw-tick input[type=checkbox]{width:19px;height:19px;min-width:19px;margin:0;accent-color:#127d83;}
.fw-table td{padding:11px 12px;}.fw-table td button{font-weight:650;}
.fw-table tr.fw-missing{background:#fff0f2;color:#872c3d;}
.fw-table tr.fw-discrepancy,.fw-table tr.fw-recheck{background:#fff7e1;color:#775816;}
.fw-table tr.fw-checked{color:#1c603e;}
.fw-count-status{border:1px solid var(--panel-border);background:#edf5f7;align-items:center;gap:10px 20px;}
.fw-count-status b{font-variant-numeric:tabular-nums;}
.fw-table-wrap{scrollbar-gutter:stable;}.fw-table tbody tr:hover{box-shadow:inset 3px 0 #137f88;}
#dialog{border:1px solid #bfcfd7;border-radius:16px;box-shadow:0 18px 80px #0b26365c;}
#dialog::backdrop{background:#0c293857;backdrop-filter:blur(2px);}
.modal-head{position:sticky;top:-26px;background:#fff;z-index:8;padding:15px 0;margin-top:-15px;gap:14px;border-bottom:1px solid #dfe8eb;margin-bottom:18px;}
.modal-head h2{font-size:1.35rem;line-height:1.25;margin:0;}.close-button{flex:none;min-width:40px;min-height:40px;background:#eff4f6;}
.modal-footer,.fw-form>.actions:last-child{border-top:1px solid var(--panel-border);padding-top:15px;margin-top:8px;}
.modal .actions{gap:8px;}.modal .actions .btn{line-height:1.3;}
.notice{border-radius:10px;line-height:1.55;}
@media(max-width:600px){
 body:not(:has(.log-workspace)) .top{height:70px;padding:0 15px;gap:10px;}
 body:not(:has(.log-workspace)) .brand-logo img{width:39px;height:39px;}
 body:not(:has(.log-workspace)) .brand-sub{font-size:15px;}
 body:not(:has(.log-workspace)) .brand-sub span{font-size:9px;letter-spacing:.15em;}
 body:not(:has(.log-workspace)) .brand-divider{margin:0 8px;}
 .connection{max-width:148px;white-space:nowrap;font-size:11px;padding:8px 10px;}
 .workspace-nav{border-radius:0;margin:0 auto;padding:5px 8px;gap:3px;max-width:100%;}
 .workspace-nav a{min-width:0;flex:1;padding:6px 4px;gap:4px;flex-direction:column;font-size:10px;min-height:50px;}
 .workspace-nav a svg{height:18px;width:18px;}
 .workspace-nav .assigned-alert{flex:none;font-size:10px;padding:5px;max-width:105px;white-space:normal;}
 #app{padding:20px 14px 60px;}
 .dashboard-heading{margin-top:0;}.dashboard-heading .eyebrow{font-size:9px;}
 .dashboard-account{font-size:11px;flex-wrap:wrap;}
 .operations-home .dashboard-modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .dashboard-module{padding:16px 12px;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;min-height:205px;}
 .dashboard-module-icon{height:38px;width:38px;border-radius:10px;}.dashboard-module-icon svg{width:23px;height:23px;}
 .dashboard-module h2{font-size:1.12rem;}.dashboard-module p{font-size:.79rem;margin:8px 0 14px;}
 .dashboard-module-action{font-size:.73rem;}.dashboard-module-action span{white-space:nowrap;}
 .dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 .dashboard-shortcut{padding:14px 12px;}.dashboard-shortcut b{font-size:.8rem;}.dashboard-shortcut span{font-size:.74rem;}
 .fw-heading .actions{gap:7px;}.fw-heading .actions .btn{font-size:.8rem;padding:10px;}
 .fw-toolbar .btn{font-size:.78rem;min-height:40px;}
 .fw-filters{padding:12px;gap:10px;}.fw-count-status{font-size:.82rem;}
 .fw-choice-grid{grid-template-columns:1fr;}
 .modal{padding:20px;}.modal-head{top:-20px;}
 .fw-form .actions .btn{min-width:110px;}
 body:has(.log-workspace)>.workspace-nav a{flex-direction:row;font-size:10px;padding:5px;min-width:0;gap:3px;}
 body:has(.log-workspace)>.workspace-nav a svg{display:none;}
}
@media(prefers-reduced-motion:reduce){.dashboard-module{transition:none;}}
@media(max-width:600px){
 .dashboard-module{display:flex;}
 body:not(:has(.log-workspace)) .brand{gap:8px;min-width:0;}
 body:not(:has(.log-workspace)) .brand-divider{display:none;}
 body:not(:has(.log-workspace)) .brand-sub{font-size:13px;letter-spacing:1px;}
 body:not(:has(.log-workspace)) .brand-logo img{width:36px;height:36px;}
 body:not(:has(.log-workspace)) .connection{font-size:10px;max-width:112px;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;}
 .dashboard-module h2,.dashboard-module p,.dashboard-shortcut b{overflow-wrap:break-word;}
}
.fw-result-summary{display:none;}
@media(max-width:600px){
 .workspace-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));white-space:normal;overflow:visible;}
 .workspace-nav a{white-space:normal;text-align:center;}
 .workspace-nav .assigned-alert{grid-column:1/-1;max-width:none;width:100%;text-align:left;min-height:30px;padding:5px 10px;font-size:11px;background:#f6fafb;}
 .operations-home .dashboard-modules{grid-auto-rows:1fr;}
 .fw-result-summary{display:block;font-weight:700;font-size:.75rem;margin-top:6px;}
}

@media(max-width:600px){
 body:has(.log-workspace)>.workspace-nav a{min-height:32px;padding:4px;line-height:1.25;}
 body:has(.log-workspace)>.workspace-nav .assigned-alert{min-height:24px;padding:3px 8px;}
}
@media(max-width:600px){
 .log-controls .log-commandbar{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;}
 .log-controls .log-commandbar .btn{flex:none;}
}

/* 1.16: focused operations, independent log window and nested inventory */
.operation-overview{padding:18px 20px;margin:16px 0;background:#edf6f7;border:1px solid #c8dfe4;border-radius:12px;}
.operation-persons,#task-item-picker{max-height:330px;overflow:auto;border:1px solid #c3d6dc;border-radius:10px;padding:12px;}
.operation-persons small,#task-item-picker small{display:block;color:var(--muted);}
.maintenance-steps{display:grid;gap:14px;margin-top:20px;}
.maintenance-step h2{font-size:1.15rem;line-height:1.5;}
.maintenance-reference{max-width:100%;max-height:500px;object-fit:contain;}
.inventory-nested{padding-left:calc(var(--depth,0) * 19px);border-left:2px solid #d2e4e8;}
.inventory-nested small{display:block;color:var(--muted);font-size:.75rem;white-space:normal;}
.inventory-box-toggle{border:1px solid #cadadf;border-radius:5px;background:#fff;color:#15323f;min-width:29px;min-height:28px;margin-right:5px;font-weight:800;cursor:pointer;}
.task-alert-count{background:#ba391f;color:#fff;border-radius:20px;min-width:20px;text-align:center;font-size:11px;padding:2px 5px;}
.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere;}
body.expanded-log-view:has(.log-workspace)>.workspace-nav,body.expanded-log-view:has(.log-workspace)>.app-install-strip{display:none!important;}
body.expanded-log-view:has(.log-workspace)>.top{height:42px;flex-basis:42px;}
body.expanded-log-view:has(.log-workspace)>.top .brand-logo img{width:29px;height:29px;}
body.expanded-log-view:has(.log-workspace)>#app{max-width:none;padding:4px 6px 6px;}
body.detached-log-window>.workspace-nav,body.detached-log-window>.app-install-strip{display:none!important;}
body.detached-log-window>.project-strip{display:block!important;font-size:11px;}
.detached-label{color:#157983;font-weight:700;}
.log-titlebar>.actions{flex-wrap:nowrap;overflow:auto;flex-shrink:0;max-width:70%;}
@media(max-width:650px){.log-titlebar{flex-wrap:wrap!important;}.log-titlebar>.actions{max-width:100%;width:100%;}.log-titlebar>.actions .btn{flex:none;}.fw-heading h1{overflow-wrap:anywhere;}.inventory-nested{padding-left:calc(var(--depth,0)*12px);}.dashboard-module h2{overflow-wrap:anywhere;}}
/* 1.17 asset hub: restrained cards, readable dates and touch-safe links. */
.asset-summary{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px}
.asset-facts{display:grid;grid-template-columns:minmax(110px,.42fr) 1fr;gap:8px 20px;margin:18px 0}
.asset-facts dt{font-weight:650;color:#546b75}.asset-facts dd{margin:0;overflow-wrap:anywhere}
.asset-qr{text-align:center;align-self:start}.asset-qr img{max-width:100%;height:auto;background:#fff;padding:8px;border:1px solid #d7e3e7}
.asset-state{display:inline-block;font-weight:700;padding:5px 9px;border-radius:6px;background:#edf3f5;color:#324d5a}
.asset-danger{background:#fff0f1!important;color:#9b2538!important}.asset-warning{background:#fff5df!important;color:#845307!important}.asset-good{background:#e7f6ed!important;color:#186140!important}
.asset-linked-list{display:grid;gap:8px}.asset-linked-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 10px;border-bottom:1px solid #e0e8ec;flex-wrap:wrap;color:inherit;text-decoration:none}.asset-linked-row b,.asset-linked-row span{overflow-wrap:anywhere}.asset-linked-row span{font-size:.9em;color:#556c76}
a.asset-linked-row:hover{background:#edf8f8}.asset-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.asset-gallery figure{margin:0;padding:10px;border:1px solid #d9e4e9;border-radius:8px}.asset-gallery img{width:100%;height:160px;object-fit:contain}.asset-photo-open{width:100%;border:0;background:white;cursor:zoom-in}.asset-gallery figcaption{overflow-wrap:anywhere;padding:8px 0}.asset-zoom{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:auto}
.certificate-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.certificate-card{display:block;color:inherit;text-decoration:none;margin:0!important}.certificate-card h2{font-size:1.25rem;overflow-wrap:anywhere}.certificate-card:hover{border-color:#127d84}.asset-targets{max-height:360px;overflow:auto;border:1px solid #d2e1e5;border-radius:8px;padding:12px}.asset-targets small{display:block;color:#5c737d}.certificate-step[hidden]{display:none!important}.certificate-step h3{font-size:1.3rem}.asset-alert-list{display:grid;gap:14px}.asset-alert-row{display:flex;justify-content:space-between;gap:20px;text-decoration:none;color:inherit;margin:0!important}.asset-alert-row h2{font-size:1.2rem}
.calendar-tools .actions{align-items:end}.calendar-tools .field{min-width:170px}.calendar-category-picks{display:flex;flex-wrap:wrap;gap:8px 16px}.calendar-category-picks .checkline{padding:5px 8px;background:#eff5f6;border-radius:6px}.calendar-board{background:#fff;border:1px solid #d4e1e6;border-radius:10px;overflow:hidden;margin-bottom:20px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays b{text-align:center;background:#153440;color:white;padding:10px 0;font-size:.9rem}.calendar-cell{min-height:130px;border-right:1px solid #e0e8ec;border-bottom:1px solid #e0e8ec;padding:7px;min-width:0}.calendar-empty{background:#f4f7f8}.calendar-day{border:0;background:transparent;color:#194456;font-weight:700;min-height:32px;min-width:32px;cursor:pointer}.calendar-day small{margin-left:5px;color:#087c83}.calendar-event{display:block;text-decoration:none;color:#234b5c;background:#eef7f9;border-left:3px solid #12808a;margin:4px 0;padding:6px;border-radius:3px;overflow:hidden}.calendar-event span{display:block;font-size:.72rem}.calendar-event b{font-size:.83rem;display:block;overflow-wrap:anywhere}.calendar-event:hover{background:#dff0f4}.calendar-event.cal-certificates{border-color:#a47727;background:#fff7e9}.calendar-event.cal-tasks{border-color:#795499;background:#f4eff9}.calendar-more{font-size:.75rem;border:0;background:transparent;color:#176479;cursor:pointer}.calendar-agenda-row{display:grid;grid-template-columns:110px minmax(0,1fr) 150px;gap:12px;align-items:center;border-bottom:1px solid #dfebee;padding:8px 0}.calendar-agenda-row>span{font-size:.86rem;overflow-wrap:anywhere}.calendar-agenda-row .calendar-event b{font-size:1rem}
@media(max-width:700px){.asset-summary{grid-template-columns:minmax(0,1fr)}.asset-qr{max-width:230px;justify-self:center}.asset-alert-row{display:block}.calendar-cell{min-height:48px;padding:2px}.calendar-cell .calendar-event,.calendar-cell .calendar-more{display:none}.calendar-day{width:100%;min-height:44px}.calendar-weekdays b{font-size:.74rem}.calendar-agenda-row{grid-template-columns:80px minmax(0,1fr)}.calendar-agenda-row>span:last-child{grid-column:2;font-size:.78rem}.certificate-cards{grid-template-columns:minmax(0,1fr)}.asset-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-gallery img{height:120px}.asset-linked-row{align-items:flex-start}.asset-facts{grid-template-columns:minmax(90px,.4fr) 1fr;gap:8px}}

/* Calendar filters remain readable outside a modal form. */
.calendar-tools .actions>label{display:flex;flex-direction:column;gap:.4rem;min-width:180px;flex:1}
.calendar-tools input[type="month"],.calendar-tools select{font:inherit;padding:.6rem;border:1px solid var(--line,#ccdce3);border-radius:.45rem;background:#fff;min-height:42px;width:100%;color:inherit}
.asset-qr img[hidden]{display:none}
/* Verification scanner and explicit recorded relocation. */
.verification-scan-button {display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}
.verification-camera {background:#102d38;color:white;border-radius:10px;overflow:hidden;margin:12px 0}
.verification-camera p{padding:12px;margin:0}
.verification-camera video{display:block;width:100%;max-height:48vh;object-fit:contain;background:#111}
.verification-camera video[hidden]{display:none}
.verification-photo{display:grid;gap:8px;padding:12px 0}
#verify-code-form{display:grid;gap:10px}#verify-code-form input{max-width:100%;box-sizing:border-box}
#verify-camera-start{display:inline-flex;gap:8px;align-items:center}
.verification-relocation{border:1px solid #b8d5de;border-radius:10px;padding:12px;margin:12px 0}
#verify-movement-fields{display:grid;gap:12px}#verify-movement-fields[hidden]{display:none}
#qr-label-options{min-width:0}#qr-label-preview{max-height:180px;overflow:auto;padding-left:24px}

/* Inventory explorer: selections are distinct from physical verification. */
.inventory-breadcrumbs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--line,#cbdde3);border-radius:10px;background:#e8f2f5;margin:10px 0 16px;min-width:0}
.inventory-breadcrumbs strong{overflow-wrap:anywhere}.inventory-selection-help{font-size:13px;color:#486570;background:#edf5f7;padding:10px 14px;border-radius:7px;line-height:1.5}
.fw-table tbody tr.aj-row-selected{background:#d8eef2;box-shadow:inset 4px 0 #117c83}.fw-table tbody tr.aj-row-selected td{background:transparent}.fw-table tbody tr[data-select-row]{cursor:default}.fw-table-wrap:focus-visible{outline:3px solid #168a95;outline-offset:3px}
.inventory-nested{min-width:220px}.inventory-nested small{display:block}.movement-source{padding:14px 18px;border:1px solid #cbdde3;border-radius:9px;background:#f2f7f8}.movement-source ul{margin:8px 0 0;padding-left:18px;max-height:170px;overflow:auto}.movement-source li{padding:4px 0}.movement-source small{display:block;color:#58717f}
#move-review{white-space:pre-line}#move-box-fields[hidden],#move-place-fields[hidden]{display:none!important}.fw-form input[type=checkbox]{min-width:19px;min-height:19px}
@media(pointer:fine){[data-select-row]{user-select:none}[data-select-row] input[type=checkbox]{width:17px;height:17px}.fw-table tbody tr[data-select-row]:hover:not(.aj-row-selected){background:#eef6f8}}
@media(max-width:650px){.inventory-breadcrumbs{padding:10px;font-size:14px}.inventory-selection-help{font-size:12px} .inventory-breadcrumbs .btn{min-height:40px}}
body.inventory-active .app-install-strip{display:none}
.inventory-explorer .fw-heading{padding:0 0 8px;margin:8px 0;border-bottom:1px solid #d3e2e7;gap:10px}
.inventory-explorer .fw-heading .eyebrow{display:none}.inventory-explorer .fw-heading h1{font-size:25px;margin:3px 0 6px;line-height:1.2}.inventory-explorer .fw-heading p{font-size:13px;margin:4px 0 8px}
.inventory-explorer .inventory-breadcrumbs{margin:8px 0;padding:7px 12px;font-size:13px}.inventory-explorer .inventory-breadcrumbs .btn{min-height:34px;padding:6px 11px;font-size:13px}
.inventory-explorer .fw-toolbar{gap:6px;margin:8px 0;align-items:center}.inventory-explorer .fw-toolbar>.btn,.inventory-more>summary{font-size:13px;min-height:38px;padding:8px 12px}
.inventory-more{position:relative}.inventory-more>summary{list-style:none;cursor:pointer}.inventory-more>summary::after{content:' ▾'}.inventory-more-panel{position:absolute;z-index:30;right:0;top:calc(100% + 6px);width:250px;display:flex;flex-direction:column;align-items:stretch;gap:5px;background:white;border:1px solid #bfd5de;border-radius:9px;padding:10px;box-shadow:0 10px 28px #15323f26}.inventory-more-panel .btn{justify-content:flex-start;font-size:13px;min-height:38px}
.inventory-explorer .inventory-selection-help{background:transparent;padding:0;margin:6px 0;font-size:12px}.inventory-explorer .fw-filters{display:flex;flex-wrap:wrap;align-items:end;padding:9px 12px;gap:8px;margin:8px 0}.inventory-explorer .fw-filters>label:first-child{flex:1;min-width:190px}.inventory-explorer .fw-filters>label:not(:first-child){display:none}.inventory-explorer .inventory-filters-open>label:not(:first-child){display:block;flex:1;min-width:170px}.inventory-explorer .fw-filters input,.inventory-explorer .fw-filters select{min-height:36px;padding:7px 10px;font-size:13px}.inventory-explorer .fw-table-wrap{max-height:none;height:clamp(260px,calc(100dvh - 415px),720px);overflow:auto;margin-top:8px}.inventory-explorer .fw-table th{position:sticky;top:0;z-index:3;background:#173846;color:white}
@media(max-width:650px){.inventory-explorer .fw-heading h1{font-size:22px}.inventory-explorer .fw-heading .actions{gap:5px}.inventory-explorer .fw-heading .actions .btn{padding:7px 10px;font-size:12px;min-height:36px}.inventory-explorer .fw-toolbar{flex-wrap:wrap}.inventory-explorer .fw-table-wrap{height:340px}.inventory-more-panel{right:auto;left:0}.inventory-explorer .inventory-breadcrumbs{gap:5px}.inventory-explorer .fw-heading{margin-top:0}.inventory-explorer .inventory-selection-help{font-size:11px}}

/* Keep inventory identifiers legible; horizontal scrolling is preferable to split serials. */
.inventory-explorer .fw-table{min-width:1360px}
.inventory-explorer .fw-table th:nth-child(2),.inventory-explorer .fw-table td:nth-child(2){min-width:260px}
.inventory-explorer .fw-table th:nth-child(3),.inventory-explorer .fw-table td:nth-child(3){min-width:170px}
.inventory-explorer .fw-table td:nth-child(4),.inventory-explorer .fw-table td:nth-child(5){min-width:100px;white-space:nowrap}
.inventory-explorer .fw-table td:nth-child(7){min-width:180px}
.inventory-explorer .fw-table th:nth-child(8){min-width:80px}

/* 1.22 branding only: allow the expanded company name on narrow screens. */
.brand-sub > span { letter-spacing: .08em; }
@media (max-width: 480px) {
  .brand-sub > span { font-size: 8px; letter-spacing: .015em; }
}

/* Wavelink 1.23 attention dashboard: scoped summaries, independent of module navigation. */
.attention-panel{margin:1.4rem 0 2rem;padding:1.3rem;border:1px solid #b9d6d8;border-radius:16px;background:#eef7f7}
.attention-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.attention-heading h2{margin:.15rem 0;color:#153440;font-size:1.4rem}.attention-heading .eyebrow{margin:0}
.attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}
.attention-card{background:#fff;border:1px solid #d9e5e7;border-radius:12px;padding:1rem;min-width:0;display:flex;flex-direction:column}
.attention-card-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.attention-card h3{margin:0;font-size:1.05rem}
.attention-card-title>strong{font-size:1.5rem;color:#117d85}.attention-card p{font-size:.86rem;line-height:1.5;color:#46616a;margin:.5rem 0}
.attention-card ul{list-style:none;padding:0;margin:0 0 .6rem}.attention-card li{border-top:1px solid #e4ecee}
.attention-card li a{display:block;padding:.7rem 0;text-decoration:none;color:#153440;overflow-wrap:anywhere}.attention-card li a:hover b{text-decoration:underline}
.attention-card li span{display:block;font-size:.8rem;color:#566d76;margin-top:.15rem}.attention-more{margin-top:auto;font-size:.87rem;font-weight:700;color:#096b72}
.attention-footnote{font-size:.78rem;color:#526b72;line-height:1.5;margin:1rem 0 0}.attention-status{padding:1rem;background:white;border-radius:8px;line-height:1.6}
@media(max-width:600px){.attention-panel{padding:.85rem}.attention-heading h2{font-size:1.2rem}.attention-heading .btn{padding:.5rem .8rem}}

/* Wavelink 1.24 connected asset workspace. No status colour is a readiness verdict. */
.asset-workspace {min-width:0; max-width:100%}
.asset-snapshot {font-size:.85rem; color:var(--muted,#526776); border-left:3px solid #276d80; padding:.6rem .9rem; background:#edf4f7; overflow-wrap:anywhere}
.asset-section-nav {display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0}
.asset-section-nav .btn {min-height:42px}
.asset-position {display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border-top:4px solid #24818e}
.asset-position h2 {margin:.3rem 0; font-size:1.55rem}
.asset-position p {margin:.55rem 0}
.asset-position>.btn {flex-shrink:0}
.asset-metrics {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin:1rem 0}
.asset-metric {display:flex; flex-direction:column; text-align:left; background:#fff; border:1px solid #ccdce2; border-radius:12px; padding:1rem; gap:.35rem; min-width:0; color:#183845; font:inherit; cursor:pointer}
.asset-metric:hover,.asset-metric:focus-visible {border-color:#238295; background:#f1f9fa; outline:2px solid #238295; outline-offset:2px}
.asset-metric span {font-weight:700; font-size:.94rem}
.asset-metric strong {font-size:2rem; line-height:1.3; overflow-wrap:anywhere}
.asset-metric small {color:#4c6470; line-height:1.45}
.asset-section {margin:1rem 0; scroll-margin-top:85px; min-width:0; overflow-wrap:anywhere}
.asset-section:focus {outline:2px solid #328593; outline-offset:3px}
.asset-section>h2 {font-size:1.45rem; margin:.3rem 0 .8rem}
.asset-section>h3 {margin-top:1.25rem}
.asset-facts-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem}
.asset-facts-grid>div {min-width:0; border-bottom:1px solid #e2eaee; padding-bottom:.65rem}
.asset-facts-grid dt {font-size:.85rem; color:#506570}
.asset-facts-grid dd {margin:.3rem 0 0; font-weight:600; overflow-wrap:anywhere}
.asset-id code {overflow-wrap:anywhere; word-break:break-word}
.asset-parent-path {display:flex; flex-wrap:wrap; gap:.35rem; align-items:center}
.asset-workspace .asset-linked-row {display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; padding:1rem .7rem}
.asset-workspace .asset-linked-row>div {min-width:0}
.asset-workspace .asset-linked-row b,.asset-workspace .asset-linked-row div>span {display:block; overflow-wrap:anywhere}
.asset-workspace .asset-linked-row div>span {font-size:.85rem; line-height:1.5; margin-top:.35rem; color:#516773}
.asset-workspace .asset-linked-row>.asset-state {flex-shrink:0; font-size:.8rem}
.asset-empty {padding:.8rem 1rem; border-radius:8px; background:#f1f5f7; color:#506570; line-height:1.55}
.asset-history-group {margin-top:.8rem; border-top:1px solid #d4e1e6; padding-top:.6rem}
.asset-history-group>summary {cursor:pointer; padding:.55rem; font-weight:600; min-height:44px}
.asset-stock-notice {border-left:3px solid #bd852a; padding:.5rem .8rem; background:#fff9ee}
.asset-timeline {list-style:none; padding:0; margin:1.2rem 0 0}
.asset-timeline li {display:flex; gap:1rem; border-left:2px solid #afcbd3; padding:0 0 1.5rem 1rem; margin-left:.4rem; position:relative}
.asset-timeline h3 {margin:0 0 .4rem; font-size:1.05rem}
.asset-timeline-point {width:10px; height:10px; border-radius:50%; background:#258391; position:absolute; left:-6px; top:5px}
.asset-timeline li>div:last-child {min-width:0}
.asset-event-date {font-size:.85rem; font-weight:600; color:#4e6570; overflow-wrap:anywhere}
.asset-workspace .asset-gallery img:not([src]) {display:none}
.asset-workspace .asset-gallery figure {min-width:0; overflow-wrap:anywhere}
@media(max-width:900px){.asset-metrics {grid-template-columns:repeat(2,minmax(0,1fr))}.asset-position {flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.asset-facts-grid {grid-template-columns:1fr}.asset-section-nav .btn {flex:1 1 42%;font-size:.82rem;padding:.55rem}.asset-workspace .asset-linked-row {flex-direction:column}.asset-metric {padding:.8rem}.asset-metric span {font-size:.85rem}.asset-workspace .asset-summary {grid-template-columns:1fr}.asset-workspace .asset-qr {max-width:100%}.asset-workspace .asset-gallery {grid-template-columns:1fr}}

/* 1.34.19 — focused connected asset sections. Hidden panels are never laid out. */
.asset-section[hidden], .asset-gallery[hidden], [data-asset-child][hidden] {display:none!important}
.asset-section-nav {padding:.65rem;background:var(--panel,#fff);border:1px solid #d4e0e5;border-radius:12px}
.asset-workspace .asset-section-nav .btn[aria-pressed="true"] {background:#154b61;color:#fff;border-color:#154b61;font-weight:700}
.asset-section-nav button:focus-visible {outline:3px solid #157e8b;outline-offset:3px}
.asset-context-actions {border-bottom:1px solid #e0e7eb;padding-bottom:.8rem;margin-bottom:1rem}
.asset-contents-filter {border:1px solid #d9e3e9;border-radius:10px;padding:1rem;margin:1rem 0;background:#f6f9fb}
.asset-contents-filter label {display:block;font-weight:600;margin-bottom:.5rem}
.asset-contents-filter input {min-width:0;flex:1;width:100%;min-height:44px;border:1px solid #bfcfd7;border-radius:8px;background:#fff;color:#163744;padding:10px 12px;font:inherit}
.asset-contents-filter .actions {display:flex;flex-wrap:wrap;gap:.6rem}
.asset-workspace .asset-position {margin-bottom:.75rem;padding:1rem 1.15rem}
.asset-workspace .asset-position h2 {font-size:1.2rem}
.asset-workspace .asset-position p {margin:.4rem 0;line-height:1.45}
.asset-workspace .asset-position .eyebrow {font-size:.7rem}
@media(max-width:560px){
 .asset-section-nav {gap:.4rem;padding:.5rem}
 .asset-section-nav .btn {min-height:44px}
 .asset-context-actions .btn {flex:1 1 45%;min-height:44px}
 .asset-contents-filter input {flex-basis:100%}
}
