.v57-backdrop{position:fixed;inset:0;background:#0009;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}.v57-dialog{width:min(720px,95vw);max-height:92vh;background:#12222e;border:1px solid #b49757;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 24px 90px #000b;color:#e2eaf0}.v57-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #334852;flex:none}.v57-dialog h2{font-size:22px;margin:0}.circled-close{border:1px solid #aab3bc;border-radius:50%;height:30px;width:30px;background:none;color:#fff;font-size:22px;cursor:pointer}.v57-dialog form{display:flex;flex-direction:column;min-height:0}.v57-modal-body{padding:20px 24px;overflow:auto;min-height:0;max-height:68vh}.v57-dialog footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 24px;border-top:1px solid #334852;flex:none}.v57-dialog .modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.profile-tabs{display:flex;gap:10px;margin-bottom:18px}.cert-record{border:1px solid #45616d;border-radius:8px;padding:14px;margin:14px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.cert-record legend{color:#edc786;padding:0 8px}.cert-option{display:flex;align-items:center;gap:9px;margin:10px 0}.cert-option input{width:auto}.task-check-list{display:grid;gap:8px}.task-check-list input{width:auto}.coc-tree,.coc-tree ul{list-style:none;padding-left:25px;border-left:1px solid #587386}.coc-tree{padding:10px;border:0}.coc-person{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:12px 0;padding:14px 20px;border:1px solid #8c764e;border-radius:8px;background:#192c39;color:#e9d09f;cursor:pointer;min-width:230px}.coc-person small{color:#acc0cf}.task-financial{border-top:1px solid #ae955b;padding-top:15px}.task-financial>strong{font-size:26px;color:#e6c47e}.internal-analysis{margin:12px;max-height:42vh;overflow:auto;flex:none}.cost-bars button{display:grid;grid-template-columns:250px 1fr 140px;position:relative;background:#12222e;border:0;width:100%;text-align:left;color:#dbe7ed;gap:12px;padding:9px;border-bottom:1px solid #2e4755;align-items:center}.cost-bars i{background:#b49961;height:12px;max-width:100%}.cost-bars small{grid-column:1 / -1;color:#97afbc}.compact-task-label{position:sticky}.column-resizer{position:absolute;right:0;top:0;width:9px;height:100%;cursor:col-resize;z-index:10;background:#b3985c33;touch-action:none}.schedule-zoom{display:flex;gap:8px;align-items:center;margin-left:auto}.inline-task-cost{color:#e2c681;font-size:10px;max-width:100px;overflow:hidden}.compact-gantt-row.v57-selected .compact-task-label,.compact-gantt-row.v57-selected .compact-resource-cell{background:#3b4f52!important;box-shadow:inset 3px 0 #e5c97d}.compact-resource-cell .resource-assignment{max-width:none;flex:1}.compact-resource-cell small{display:none}.compact-schedule-panel:fullscreen .compact-gantt-row:not(.compact-gantt-header){height:clamp(18px,calc((100vh - 160px)/36),30px)}.attachment-frame{width:100%;height:58vh;border:0;background:#fff}.mail-app{height:calc(100vh - 220px);min-height:500px}.mail-message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.mail-list-item.unread b{color:#edca84}.top-comm-btn{position:relative}.notification-count{position:absolute;top:-5px;right:-5px;background:#ba3541;color:white;min-width:18px;border-radius:12px;font:11px system-ui;padding:2px 4px}.meeting-controls button.muted{position:relative}.meeting-controls button.muted::after{content:'';position:absolute;width:22px;height:2px;background:#e24e55;top:17px;left:calc(50% - 11px);transform:rotate(-45deg)}.top-comm-btn[aria-label="Start audio call"],.top-comm-btn[aria-label="Start video meeting"],button[data-action^="meeting-start:"]{color:#e1656a}.team-message-list{display:flex;flex-direction:column;gap:8px}.team-message-list footer{margin-top:auto;display:flex;gap:8px}.team-message-view{min-width:0;display:flex;flex-direction:column}.chat-history{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.chat-history article{background:#203a4b;padding:12px;border-radius:10px;max-width:85%;align-self:flex-start}.chat-history .my-message{align-self:flex-end;background:#594d35}.chat-history p{white-space:pre-wrap}.team-message-view form{display:flex;gap:12px;padding:14px}.team-message-view textarea{flex:1;min-height:65px}.user-dot{cursor:pointer}.danger{background:#842d35!important;color:#fff!important}[hidden]{display:none!important}.drawer{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%);width:min(720px,95vw)!important;max-height:88vh;overflow:auto;border-radius:14px;border:1px solid #b49757}.compact-schedule-actions{flex-wrap:wrap}.compact-schedule-foot{flex-wrap:wrap}.v57-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:700px){.v57-dialog .modal-form-grid,.cert-record{grid-template-columns:1fr}.cost-bars button{grid-template-columns:130px 1fr 100px}.v57-modal-body{padding:16px}.mail-app{grid-template-columns:110px minmax(130px,1fr) minmax(240px,2fr);overflow:auto}}

.selection-timeline>div{display:grid;grid-template-columns:220px 1fr 120px;gap:12px;align-items:center;margin:12px 0}.selection-timeline section{height:22px;background:#233a48;position:relative}.selection-timeline i{position:absolute;height:10px;top:6px;background:#be9a55}.selection-timeline span{font-size:11px}.selection-timeline b{font-size:11px}.time-entry{border:1px solid #45616d;padding:14px;margin:12px 0;border-radius:8px}.time-entry textarea{width:100%}.compact-gantt-row:not(.compact-gantt-header){height:clamp(16px,calc((100vh - 355px)/36),20px)}
/* Continuous sheets; no inner page-by-page document replacement. */
.source-pdf-canvas-scroll{display:block;padding:18px;scroll-behavior:auto;overflow-anchor:none;isolation:isolate}.drawing-stack{position:relative;display:flex;flex-direction:column;align-items:center;gap:24px;min-height:100%;width:100%}.drawing-sheet{position:relative;flex:none;background:#fff;box-shadow:0 5px 22px #0006;overflow:hidden;max-width:100%}.drawing-sheet-label{position:absolute;top:18px;left:18px;color:#465361;font:14px system-ui}.drawing-sheet canvas{position:absolute;inset:0;box-shadow:none}.source-pdf-controls{flex:none}.source-drawings:fullscreen .source-pdf-pane{height:100%;min-height:0}.source-drawings:fullscreen .source-drawings-index{display:none}.source-drawings:fullscreen .source-drawings-body{grid-template-columns:minmax(0,1fr)}
.top-comm-btn[aria-label="Start audio call"] svg,.top-comm-btn[aria-label="Start video meeting"] svg{stroke:currentColor}button[data-v57="contact-audio"],button[data-v57="contact-video"],button[data-v57="call-answer"],button[data-v57="call-decline"],button[data-v57="call-end"]{color:#f18488;border-color:#9a474d}

/* Mail route: OCC navigation becomes a top banner. */
.mail-shell-mode{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:56px minmax(0,1fr);height:100dvh;overflow:hidden}.mail-shell-mode>.rail{position:relative;grid-row:1;top:auto;height:56px;display:flex;flex-direction:row;align-items:center;width:100%;border-right:0;border-bottom:1px solid #435763}.mail-shell-mode .rail-head{padding:8px 16px;border:0;min-width:184px}.mail-shell-mode .rail-sub,.mail-shell-mode .nav-label,.mail-shell-mode .rail-foot{display:none}.mail-shell-mode .rail-nav{display:flex;align-items:center;flex-direction:row;white-space:nowrap;gap:5px;overflow-x:auto;padding:5px;min-width:0}.mail-shell-mode .nav-item{width:auto;flex:none;padding:8px 10px;margin:0;font-size:12px}.mail-shell-mode .main{display:flex;flex-direction:column;min-height:0;overflow:hidden}.mail-shell-mode .topbar{height:54px;flex:none;position:relative}.mail-shell-mode .content{flex:1;min-height:0;max-width:none;width:100%;padding:0!important;margin:0;overflow:hidden;display:flex;flex-direction:column}.mail-shell-mode .content>.footer-note{display:none}.mail-shell-mode .staff-comms-shell{flex:1;min-height:0;border-radius:0}.mail-shell-mode .comms-mail-active>.comms-toolbar{display:none}.mail-shell-mode .mail-app{height:auto;min-height:0;flex:1;grid-template-columns:minmax(215px,23%) minmax(215px,23%) minmax(380px,1fr);overflow:hidden}.mail-shell-mode .mail-folders{overflow:hidden}.mail-shell-mode .mail-list{min-height:0;overflow:hidden}.mail-shell-mode .mail-list-results{min-height:0;overflow-y:auto}.mail-shell-mode .mail-reading{min-height:0;overflow:hidden;position:relative}.mail-shell-mode .mail-message{overflow:hidden;min-height:0;padding-bottom:55px}.mail-shell-mode .mail-reading:has(.mail-message) .mail-message-body{overflow:hidden;max-height:calc(100% - 100px);white-space:pre-wrap}.mail-shell-mode .mail-reading.is-scrollable .mail-message-body{overflow-y:auto}.mail-shell-mode .mail-read-options{position:absolute;bottom:0;left:0;right:0;display:flex;gap:8px;background:#192a35;border-top:1px solid #405665;padding:6px 12px;height:45px}.mail-shell-mode .mail-app.mail-expanded{grid-template-columns:minmax(170px,22%) minmax(170px,22%) minmax(480px,1fr)}.mail-shell-mode .mail-app:fullscreen{height:100vh;background:#13212c;grid-template-columns:minmax(205px,23%) minmax(205px,23%) minmax(380px,1fr)}@media(max-width:900px){.mail-shell-mode .mail-app{overflow-x:auto}}

/* V5.10: fixed mail layout regardless of legacy shell breakpoints. */
.app-shell:has(.comms-mail-active){display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:60px minmax(0,1fr)!important;width:100vw!important;height:100dvh!important;overflow:hidden!important}
.app-shell:has(.comms-mail-active)>.rail{grid-row:1!important;width:100%!important;max-height:60px!important;min-height:0!important;position:relative!important;display:flex!important;flex-direction:row!important;overflow:hidden!important;border-right:0!important;border-bottom:1px solid #364954!important}
.app-shell:has(.comms-mail-active) .rail-head{flex:none;padding:5px 14px!important}
.app-shell:has(.comms-mail-active) .rail-nav{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;min-height:0!important;gap:5px!important;padding:4px 8px!important}
.app-shell:has(.comms-mail-active) .rail-nav .nav-item{flex:none!important;width:auto!important;white-space:nowrap!important;padding:7px 11px!important;margin:0!important}
.app-shell:has(.comms-mail-active) .rail-foot,.app-shell:has(.comms-mail-active) .rail-sub,.app-shell:has(.comms-mail-active) .nav-label{display:none!important}
.app-shell:has(.comms-mail-active)>.main{grid-row:2!important;min-height:0!important;width:100%!important;max-width:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.app-shell:has(.comms-mail-active) .topbar{height:51px!important;min-height:51px!important;flex:none!important}
.app-shell:has(.comms-mail-active) .content{padding:0!important;margin:0!important;max-height:none!important;height:auto!important;min-height:0!important;overflow:hidden!important;flex:1!important;display:flex!important;flex-direction:column!important;max-width:none!important;width:100%!important}
.app-shell:has(.comms-mail-active) .staff-comms-shell{flex:1!important;min-height:0!important;max-height:100%!important;overflow:hidden!important}
.app-shell:has(.comms-mail-active) .comms-mail-active>.comms-toolbar{display:none!important}
.app-shell:has(.comms-mail-active) .staff-comm-tabs{flex:none!important}
.app-shell:has(.comms-mail-active) .mail-app{height:100%!important;min-height:0!important;max-height:100%!important;grid-template-columns:minmax(190px,21%) minmax(190px,21%) minmax(350px,1fr)!important;overflow:hidden!important;flex:1!important}
.app-shell:has(.comms-mail-active) .mail-app.mail-expanded{grid-template-columns:minmax(155px,17%) minmax(155px,17%) minmax(350px,1fr)!important}
.app-shell:has(.comms-mail-active) .mail-app .mail-folders{min-height:0!important;overflow:hidden!important}
.app-shell:has(.comms-mail-active) .mail-app .mail-list{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.app-shell:has(.comms-mail-active) .mail-list-results{flex:1!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
.app-shell:has(.comms-mail-active) .mail-app .mail-reading{min-height:0!important;max-height:100%!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.app-shell:has(.comms-mail-active) .mail-reading .mail-message{flex:1!important;min-height:0!important;overflow:hidden!important}
.app-shell:has(.comms-mail-active) .mail-reading.is-scrollable .mail-message{overflow-y:auto!important}
.app-shell:has(.comms-mail-active) .mail-read-options{flex:none!important}
.app-shell:has(.comms-mail-active) .footer-note{display:none!important}
.mail-app:fullscreen{width:100vw!important;height:100vh!important;max-height:100vh!important;display:grid!important;grid-template-columns:minmax(190px,21%) minmax(190px,21%) minmax(350px,1fr)!important;background:#0b141d!important;overflow:hidden!important}
.mail-app:fullscreen .mail-list-results{overflow-y:auto!important;min-height:0!important;flex:1!important}
.mail-app:fullscreen .mail-reading{min-height:0!important;overflow:hidden!important}
.v510-call-launch{text-align:center;display:grid;gap:15px;justify-items:center}
.v510-call-orb{display:grid;place-items:center;background:#233847;border:1px solid #b79065;width:96px;height:96px;border-radius:50%;font-size:46px;color:#dfbd7b}
.v510-call-buttons{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;width:100%}.v510-call-buttons>div{background:#1b303e;border:1px solid #3a5160;border-radius:12px;padding:15px;min-width:145px}.v510-call-buttons small{display:block;font-size:11px;color:#a7b5bf;margin-top:8px}

/* V5.11 standard signed-in user profile */
.top-profile{cursor:pointer;border-radius:9px;padding:6px;outline-offset:3px}.top-profile:hover,.top-profile:focus-visible{background:#283a45;outline:1px solid #bb9961}.v511-photo-editor{display:flex;gap:18px;align-items:center;margin-bottom:16px;padding:12px;background:#192d3a;border:1px solid #456071;border-radius:12px}.v511-photo-circle{width:72px;height:72px;flex:none;display:grid;place-items:center;border:2px solid #c5a66d;border-radius:50%;color:#eed4a0;font-size:30px;background:#273d4d}.v511-photo-editor input{max-width:100%}

/* V5.14: Construction Drawings-only zoom + full presentation mode. Preserve BIM viewer assets/controls. */
.source-drawings .source-pdf-controls{min-height:42px;gap:7px;flex-wrap:wrap}
.source-drawings .drawing-zoom-controls{display:inline-flex;align-items:center;gap:5px;padding:0 7px;border-left:1px solid #536473;border-right:1px solid #536473}
.source-drawings .drawing-zoom-controls button{min-width:30px}
.source-drawings #drawing-zoom-level{font:600 11px ui-monospace,monospace;min-width:37px;text-align:center;color:#f0d39b}
.source-drawings .drawing-stack{align-items:center;box-sizing:border-box}
.source-drawings .drawing-sheet{max-width:none}
.source-drawings .source-pdf-canvas-scroll{overflow:auto;overscroll-behavior:contain}
.source-drawings .source-drawings-meeting-panel{display:none;overflow:auto;background:#101f2a;border-left:1px solid #365063;color:#dfebf2;min-height:0}
.source-drawings .source-drawings-meeting-panel header{padding:16px 14px 12px;border-bottom:1px solid #3a5260;display:flex;flex-direction:column;gap:6px}
.source-drawings .source-drawings-meeting-panel strong{font-size:15px}
.source-drawings .drawing-meeting-content{padding:13px 14px}
.source-drawings .drawing-meeting-content dl{display:grid;gap:4px;margin:0}
.source-drawings .drawing-meeting-content dt{font-size:10px;color:#9eb6c6;margin-top:8px;text-transform:uppercase;letter-spacing:.05em}
.source-drawings .drawing-meeting-content dd{margin:0;font-size:13px;overflow-wrap:anywhere}
.source-drawings .drawing-meeting-tools{padding:12px 14px;border-top:1px solid #3a5260;display:flex;flex-direction:column;gap:8px}
.source-drawings .drawing-meeting-tools button{width:100%;text-align:center}
/* Normal fullscreen prioritizes drawing area; meeting fullscreen has both deployed sidebars. */
.source-drawings.is-meeting .source-drawings-body,
.source-drawings.is-meeting:fullscreen .source-drawings-body{display:grid;grid-template-columns:minmax(180px,235px) minmax(0,1fr) minmax(190px,250px)}
.source-drawings.is-meeting .source-drawings-index,
.source-drawings.is-meeting:fullscreen .source-drawings-index{display:block!important;min-width:0}
.source-drawings.is-meeting .source-drawings-meeting-panel,
.source-drawings.is-meeting:fullscreen .source-drawings-meeting-panel{display:block}
.source-drawings:fullscreen .source-pdf-pane{min-height:0}
.source-drawings:fullscreen .source-pdf-canvas-scroll{min-height:0}
.source-drawings:fullscreen .viewer-controlbar{flex:none}
@media(max-width:1050px){.source-drawings.is-meeting .source-drawings-body,.source-drawings.is-meeting:fullscreen .source-drawings-body{grid-template-columns:minmax(140px,190px) minmax(0,1fr) minmax(150px,190px)}.source-drawings .source-pdf-controls{font-size:10px}}
