:root{--red:#d22214;--darkred:#b90206;--pink:#ffb3b3;--ink:#171a24;--navy:#071d3e;--muted:#6b7280;--line:#e5e7eb;--bg:#f5f7fb;--white:#fff;--green:#159947;--amber:#d78b00;--blue:#1267cf;--purple:#7251b5;--shadow:0 8px 28px rgba(19,31,55,.08);--radius:14px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Acumin Pro","Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}body{overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--blue)}
.boot{min-height:100vh;display:grid;place-content:center;text-align:center;gap:16px;background:#fff}.boot img{width:240px}.spinner{width:42px;height:42px;border:4px solid #eee;border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(360px,.95fr);background:#fff}.login-brand{background:linear-gradient(145deg,#9e0807,var(--red) 60%,#f04b3d);color:#fff;padding:7vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:460px;height:460px;border:90px solid rgba(255,255,255,.09);border-radius:50%;right:-230px;top:-80px}.login-brand img{width:min(360px,80%);filter:brightness(0) invert(1);margin-bottom:44px;position:relative;z-index:1}.login-brand h1{font-size:clamp(38px,5vw,68px);margin:0 0 14px;line-height:1}.login-brand p{font-size:20px;max-width:620px;line-height:1.5}.login-panel{display:grid;place-content:center;padding:40px}.login-card{width:min(480px,90vw)}.login-card h2{font-size:34px;margin:0 0 8px}.login-card>p{color:var(--muted);margin:0 0 28px}.field{display:grid;gap:7px;margin:14px 0}.field label{font-size:13px;font-weight:700;color:#434955}.field input,.field select,.field textarea{width:100%;border:1px solid #d9dde6;border-radius:10px;padding:12px 13px;background:#fff;outline:none}.field textarea{min-height:92px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(210,34,20,.1)}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--darkred)}.btn-secondary{background:#eef2f7;color:#202632}.btn-outline{background:#fff;color:var(--red);border:1px solid var(--red)}.btn-success{background:var(--green);color:#fff}.btn-warning{background:#fff4dc;color:#8b5a00;border:1px solid #f2cc74}.btn-danger{background:#c72d2d;color:#fff}.btn-sm{padding:7px 10px;font-size:12px}.btn-block{width:100%}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.demo-user{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;text-align:left;font-size:12px}.demo-user b{display:block}.demo-user span{color:var(--muted)}
.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:var(--navy);color:#fff;padding:22px 14px;display:flex;flex-direction:column;z-index:20}.sidebar-logo{height:42px;object-fit:contain;object-position:left;margin:4px 10px 28px;filter:brightness(0) invert(1)}.nav{display:grid;gap:5px}.nav-btn{border:0;background:transparent;color:#dbe6f6;text-align:left;padding:11px 13px;border-radius:9px;display:flex;gap:10px;align-items:center;font-weight:600}.nav-btn:hover,.nav-btn.active{background:linear-gradient(90deg,#0b59ba,#126ee0);color:#fff}.nav-icon{width:24px;text-align:center}.sidebar-bottom{margin-top:auto;padding:14px 10px;border-top:1px solid rgba(255,255,255,.14)}.user-mini{display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-content:center;background:#fff;color:var(--red);font-weight:800}.user-mini small{color:#b8c7db}.main{grid-column:2;min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:10}.topbar h1{font-size:20px;margin:0}.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:10px;width:40px;height:40px;display:grid;place-content:center;position:relative}.badge-dot{position:absolute;right:-3px;top:-5px;background:var(--red);color:#fff;font-size:10px;border-radius:12px;padding:2px 6px}.content{padding:25px;max-width:1680px;margin:auto}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.page-title h2{font-size:28px;margin:0 0 5px}.page-title p{margin:0;color:var(--muted)}
.filters{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px;display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.filters select,.filters input{border:1px solid var(--line);border-radius:8px;padding:9px;min-width:140px}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.kpi{background:#fff;border:1px solid #e6e9ef;border-radius:13px;padding:16px;box-shadow:0 2px 7px rgba(20,36,64,.03);display:grid;grid-template-columns:46px 1fr;gap:12px;min-height:104px}.kpi-icon{width:46px;height:46px;border-radius:50%;display:grid;place-content:center;font-size:22px;background:#eaf2ff;color:var(--blue)}.kpi.warning .kpi-icon{background:#fff1d5;color:var(--amber)}.kpi.danger .kpi-icon{background:#ffe8e8;color:#c82e2e}.kpi.success .kpi-icon{background:#e5f7eb;color:var(--green)}.kpi.purple .kpi-icon{background:#f0eafa;color:var(--purple)}.kpi-label{font-size:12px;color:#596173;font-weight:700}.kpi-value{font-size:25px;font-weight:800;margin:3px 0}.kpi-trend{font-size:11px;color:var(--green)}.dashboard-grid{display:grid;grid-template-columns:1.75fr .9fr;gap:14px;margin-top:14px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 8px rgba(31,45,70,.035)}.card-head{padding:14px 16px;border-bottom:1px solid #edf0f4;display:flex;justify-content:space-between;align-items:center;gap:10px}.card-head h3{margin:0;font-size:15px}.card-body{padding:16px}.pipeline{display:flex;align-items:flex-start;overflow:auto;padding-bottom:8px}.pipe-node{min-width:105px;text-align:center;position:relative;padding:0 8px}.pipe-node:not(:last-child):after{content:"→";position:absolute;right:-8px;top:18px;color:#a7afbc}.pipe-circle{width:43px;height:43px;border-radius:50%;background:#eaf2ff;color:var(--blue);display:grid;place-content:center;margin:0 auto 7px;font-weight:800}.pipe-node:nth-child(4n+2) .pipe-circle{background:#fff0d6;color:var(--amber)}.pipe-node:nth-child(4n+3) .pipe-circle{background:#e7f7ec;color:var(--green)}.pipe-node:nth-child(4n+4) .pipe-circle{background:#efeaf9;color:var(--purple)}.pipe-node b{font-size:11px;display:block;line-height:1.15}.pipe-node span{font-size:18px;font-weight:800}.donut-wrap{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:12px}.donut{width:140px;height:140px;border-radius:50%;position:relative;background:conic-gradient(var(--green) 0 58%,#f2b01e 58% 67%,#d83333 67% 74%,#adb3bd 74%)}.donut:after{content:"";position:absolute;inset:30px;border-radius:50%;background:#fff}.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:1;font-weight:800;font-size:22px}.donut-center small{font-size:11px;color:var(--muted)}.legend{display:grid;gap:8px;font-size:12px}.legend-row{display:flex;justify-content:space-between;gap:10px}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}.two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;margin-top:14px}.bar-chart{height:190px;display:flex;align-items:flex-end;gap:16px;padding:20px 8px 5px;border-bottom:1px solid var(--line)}.bar-item{flex:1;display:grid;align-items:end;justify-items:center;height:100%;gap:5px}.bar{width:min(48px,70%);background:linear-gradient(#3889e6,#1267cf);border-radius:5px 5px 0 0;min-height:3px}.bar-item span{font-size:10px;text-align:center}.finance-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.fin-item{text-align:center;padding:17px 8px;border-right:1px solid var(--line)}.fin-item:last-child{border:0}.fin-item small{display:block;color:var(--muted);font-weight:700}.fin-item b{font-size:20px;display:block;margin-top:7px}.bottom-grid{display:grid;grid-template-columns:1.7fr .8fr;gap:14px;margin-top:14px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;color:#646b78;padding:9px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:10px 9px;border-bottom:1px solid #eef0f4;vertical-align:top}.data-table tbody tr:hover{background:#fafbfc}.pill{display:inline-flex;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:800;background:#edf2f8;color:#4e5867}.pill.red{background:#ffe6e6;color:#b92222}.pill.green{background:#e1f6e8;color:#137a38}.pill.amber{background:#fff0d1;color:#986000}.pill.blue{background:#e6f0ff;color:#1559ad}.critical-list{display:grid;gap:1px}.critical{padding:12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f3}.critical:last-child{border:0}.critical b{color:var(--red)}
.application-layout{display:grid;grid-template-columns:250px minmax(420px,1fr) 340px;gap:14px;min-height:calc(100vh - 125px)}.app-nav,.chat-panel,.summary-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-height:0}.app-nav{padding:14px;overflow:auto}.milestone{display:grid;grid-template-columns:21px 1fr;gap:8px;padding:8px 0;color:#68707d;font-size:12px}.milestone-dot{width:18px;height:18px;border-radius:50%;border:2px solid #cfd5de;display:grid;place-content:center;font-size:10px}.milestone.done .milestone-dot{background:var(--green);border-color:var(--green);color:#fff}.milestone.active{font-weight:800;color:var(--red)}.milestone.active .milestone-dot{border-color:var(--red);box-shadow:0 0 0 4px rgba(210,34,20,.1)}.chat-panel{display:flex;flex-direction:column;overflow:hidden}.chat-head{padding:13px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.chat-log{flex:1;overflow:auto;padding:18px;min-height:430px;max-height:calc(100vh - 310px);display:flex;flex-direction:column;gap:11px;background:linear-gradient(#fbfcfe,#fff)}.msg{max-width:82%;padding:10px 12px;border-radius:13px;background:#f0f3f7;font-size:13px;line-height:1.45;align-self:flex-start}.msg.mine{align-self:flex-end;background:#ffe9e7}.msg.ai{border-left:3px solid var(--red);background:#fff7f6}.msg.internal{background:#fff5d9;border-left:3px solid var(--amber)}.msg-meta{font-size:9px;color:#808895;margin-bottom:4px}.chat-compose{border-top:1px solid var(--line);padding:12px;display:grid;grid-template-columns:1fr auto;gap:8px}.chat-compose textarea{border:1px solid var(--line);border-radius:10px;padding:10px;resize:none;min-height:44px}.summary-panel{overflow:auto;padding:14px}.summary-block{border-bottom:1px solid var(--line);padding:12px 0}.summary-block:first-child{padding-top:0}.summary-block h4{margin:0 0 9px;font-size:12px;color:#606878;text-transform:uppercase;letter-spacing:.04em}.scope-item{border:1px solid var(--line);border-radius:10px;padding:10px;margin:8px 0}.scope-item b{font-size:12px}.scope-item p{font-size:12px;color:#555f70;margin:4px 0}.action-center{margin-top:14px}.action-card{border:1px solid var(--line);border-left:4px solid var(--red);border-radius:10px;padding:12px;margin:8px 0;background:#fff}.action-card h4{margin:0 0 5px}.action-card p{font-size:12px;color:var(--muted)}.doc-list,.task-list{display:grid;gap:7px}.doc-row,.task-row{border:1px solid var(--line);border-radius:9px;padding:9px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px}.tabs{display:flex;gap:4px;overflow:auto;padding:0 0 10px}.tab{border:0;border-bottom:2px solid transparent;background:none;padding:8px 10px;font-weight:700;color:#6a7280;white-space:nowrap}.tab.active{color:var(--red);border-color:var(--red)}
.modal-backdrop{position:fixed;inset:0;background:rgba(4,14,31,.64);display:grid;place-content:center;z-index:100;padding:18px}.modal{background:#fff;border-radius:16px;width:min(820px,95vw);max-height:92vh;overflow:auto;box-shadow:0 25px 80px rgba(0,0,0,.25)}.modal-head{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:2}.modal-head h3{margin:0}.modal-body{padding:20px}.modal-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:#fff}.close-btn{border:0;background:none;font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.scope-editor-row{border:1px solid var(--line);border-radius:11px;padding:12px;margin:10px 0;position:relative}.scope-editor-row .remove{position:absolute;right:9px;top:8px;border:0;background:#fff0f0;color:#b22222;border-radius:8px;padding:5px 8px}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.notice{padding:12px;border-radius:9px;background:#eef6ff;color:#174e87;font-size:12px}.notice.warning{background:#fff3d8;color:#855700}.notice.danger{background:#ffe7e7;color:#962828}.notice.success{background:#e6f7ec;color:#176a34}.empty{text-align:center;color:var(--muted);padding:44px 20px}.toast{position:fixed;right:20px;bottom:20px;z-index:200;background:#172033;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);transform:translateY(100px);opacity:0;transition:.25s;max-width:420px}.toast.show{transform:none;opacity:1}.toast.error{background:#a42121}.toast.success{background:#146f38}.mobile-nav{display:none}.hamburger{display:none}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.application-layout{grid-template-columns:210px 1fr}.summary-panel{grid-column:1/-1}.finance-grid{grid-template-columns:repeat(3,1fr)}.fin-item{border-bottom:1px solid var(--line)}}
@media(max-width:850px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.shell{display:block}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main{grid-column:auto}.hamburger{display:grid}.topbar{padding:0 13px;height:62px}.content{padding:14px 12px 85px}.kpi-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.two-col,.bottom-grid{grid-template-columns:1fr}.application-layout{display:block}.app-nav{display:none}.chat-panel{margin-bottom:12px}.summary-panel{margin-bottom:12px}.chat-log{max-height:52vh}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:68px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:30;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{border:0;background:none;font-size:10px;color:#596273}.mobile-nav button b{display:block;font-size:20px;margin-bottom:2px}.mobile-nav button.active{color:var(--red)}.page-title{align-items:flex-start}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.donut-wrap{grid-template-columns:1fr;justify-items:center}.finance-grid{grid-template-columns:1fr 1fr}.demo-grid{grid-template-columns:1fr}.app-nav.mobile-open{display:block;margin-bottom:12px}.top-actions .user-text{display:none}}
@media(max-width:520px){.kpi-grid{grid-template-columns:1fr}.kpi{min-height:90px}.content{padding-left:9px;padding-right:9px}.card-body{padding:12px}.page-title h2{font-size:23px}.chat-log{min-height:400px}.msg{max-width:92%}.modal-backdrop{padding:4px}.modal{width:100vw;max-height:98vh;border-radius:12px}.finance-grid{grid-template-columns:1fr}.fin-item{border-right:0}.login-panel{padding:25px 18px}.login-card{width:100%}}
[dir=rtl] .sidebar{left:auto;right:0}[dir=rtl] .main{grid-column:1}[dir=rtl] .shell{grid-template-columns:1fr 250px}[dir=rtl] .nav-btn{text-align:right}[dir=rtl] .sidebar-logo{object-position:right}[dir=rtl] .msg.mine{align-self:flex-start}[dir=rtl] .msg:not(.mine){align-self:flex-end}[dir=rtl] .action-card{border-left:1px solid var(--line);border-right:4px solid var(--red)}[dir=rtl] .scope-editor-row .remove{right:auto;left:9px}

/* v1.1 application workspace: fixed-height, independently scrolling columns */
.application-title{margin-bottom:12px}.application-title h2{margin:8px 0 2px}.application-layout{height:calc(100dvh - 160px);min-height:600px;align-items:stretch}.app-nav,.chat-panel,.summary-panel{height:100%;min-height:0}.app-nav,.summary-panel{overflow:auto}.chat-panel{overflow:hidden}.chat-log{min-height:0;max-height:none;flex:1}.chat-head{gap:12px}.chat-subtitle{font-size:11px;color:#6b7280;margin-top:3px;max-width:620px}.internal-toggle{font-size:11px;white-space:nowrap}.ai-status{display:inline-flex;align-items:center;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:800}.ai-status.live{background:#e2f7e9;color:#13743a}.ai-status.local{background:#fff1d7;color:#8b5b00}.chat-action-rail{border-top:1px solid var(--line);padding:9px 12px;background:#fbfcfe}.action-rail-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#697383;font-weight:800;margin-bottom:6px}.action-rail-buttons{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px}.action-rail-buttons .btn{white-space:nowrap}.ai-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.ai-missing{display:grid;gap:4px;margin-top:9px;padding:8px;border-radius:8px;background:#fff2d8;color:#755000;font-size:11px}.ai-missing span:before{content:'• ';}.scope-questions{margin-bottom:9px}.scope-assumption{background:#f7f8fa;border-radius:7px;padding:6px}.muted-small{font-size:11px;color:var(--muted)}.empty.compact{padding:16px 8px}.summary-panel .doc-row,.summary-panel .task-row{align-items:flex-start}.summary-panel .summary-block:last-child{border-bottom:0}.chat-compose textarea{max-height:120px}.msg.ai{max-width:88%}
@media(max-width:1200px){.application-layout{grid-template-columns:205px minmax(420px,1fr) 310px}.summary-panel{grid-column:auto}}
@media(max-width:980px){.application-layout{grid-template-columns:190px minmax(380px,1fr)}.summary-panel{display:none}}
@media(max-width:850px){.application-layout{height:auto;min-height:0}.chat-panel{height:calc(100dvh - 150px);min-height:560px}.summary-panel{display:block;height:auto;max-height:none}.app-nav{height:auto}.chat-action-rail{position:relative}.chat-log{max-height:none}.application-title{gap:8px}}

/* v1.2 task/payment visibility and audit feed */
.task-row{gap:10px}.task-copy{min-width:0;flex:1}.task-controls{display:flex;align-items:flex-end;gap:6px;flex-direction:column;flex:0 0 auto}.task-controls .btn{white-space:nowrap}.fee-card .fee-actions{justify-content:space-between;align-items:center;margin-top:8px}.audit-details{margin-top:10px;border-top:1px solid var(--line);padding-top:9px}.audit-details summary{cursor:pointer;font-size:11px;font-weight:800;color:#4b5563}.audit-list{display:grid;gap:7px;margin-top:9px}.audit-row{display:grid;grid-template-columns:9px 1fr;gap:7px;align-items:start;font-size:11px}.audit-dot{width:7px;height:7px;border-radius:50%;background:var(--red);margin-top:4px}.audit-row small{color:var(--muted)}.ai-config-card .card-head{align-items:center}.ai-config-card .notice{max-width:980px}
@media(max-width:520px){.task-row{align-items:flex-start}.task-controls{align-items:stretch}.task-controls .btn{width:100%}}

/* v1.3 workflow usability fixes */
.invitation-row{background:#fffaf0}.notification-card{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;padding:12px;margin:7px 0;display:flex;align-items:center;justify-content:space-between;gap:14px}.notification-card p{margin:4px 0;color:var(--muted);font-size:12px}.notification-card small{color:#7a8391}.notification-card.clickable{cursor:pointer}.notification-card.clickable:hover{border-color:var(--red);background:#fff8f7}.notification-card strong{color:var(--red);white-space:nowrap}.submission-readiness{margin:10px 12px 0;border-radius:10px;padding:11px 13px;border:1px solid var(--line);font-size:12px}.submission-readiness p{margin:3px 0;color:var(--muted)}.submission-readiness ul{margin:8px 0 0;padding-left:20px;display:grid;gap:4px}.submission-readiness.blocked{background:#fff7e7;border-color:#f1c66c}.submission-readiness.ready{background:#eaf8ef;border-color:#93d5aa;display:flex;justify-content:space-between;align-items:center}.btn-warning{background:#f5a623;color:#1f2937;border-color:#f5a623}.chat-input-wrap{display:grid;gap:4px}.chat-input-wrap small{color:#7a8391;font-size:10px;padding-left:4px}.blocker-list{display:grid;gap:7px;margin-top:12px}.blocker-item{border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.chat-compose{align-items:end}.chat-compose textarea{width:100%;box-sizing:border-box}
.scope-completion-panel{margin:10px 12px 0;border:1px solid #efb0aa;background:#fff4f2;border-radius:11px;padding:13px 14px;display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:12px}.scope-completion-panel p{margin:4px 0;color:#6b4a47}.scope-completion-panel ul{margin:8px 0 0;padding-left:20px;display:grid;gap:4px}.scope-completion-panel .btn{white-space:nowrap}.required-mark{color:var(--red)}.scope-editor-row .field input.loc,.scope-editor-row .field textarea.des{border-width:2px}.modal-body .notice ul{margin:8px 0 0;padding-left:20px;display:grid;gap:4px}
@media(max-width:700px){.scope-completion-panel{align-items:stretch;flex-direction:column}.scope-completion-panel .btn{width:100%}}
.doc-requirement-copy{min-width:0;flex:1}.doc-file-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding-top:6px;border-top:1px dashed #e0e4ea}.doc-file-line a{min-width:0;overflow-wrap:anywhere}.doc-file-actions{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto}.doc-missing-copy{display:block;color:var(--muted);margin-top:4px}.document-remove{white-space:nowrap}.summary-panel .document-remove{padding:5px 7px;font-size:10px}
.doc-file-copy{min-width:0;display:grid;gap:2px}.doc-file-copy small{color:var(--muted);font-size:9px}

.required-mark{color:#b90206;font-size:11px;font-weight:800;text-transform:uppercase;margin-left:6px}

/* v1.10 initial-inspection and rectification workflow */
.inspection-discrepancy-panel{background:#fff4e5;border-color:#efb761}.inspection-discrepancy-panel p{color:#6f4b12}.inspection-photo-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.inspection-photo-links a{font-size:10px;border:1px solid var(--line);border-radius:7px;padding:5px 7px;background:#fff}.inspection-scope-list{display:grid;gap:10px}.inspection-scope-row{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fbfcfe}.inspection-scope-row>div:first-child p{margin:4px 0 8px;color:var(--muted);font-size:12px}.inspection-check-grid{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.inspection-check-grid label{font-size:12px;display:flex;align-items:flex-start;gap:7px}.inspection-check-grid input{margin-top:2px}.modal h4{margin:20px 0 8px}.modal h4:first-of-type{margin-top:4px}
.revision-required-copy{color:#986000;font-weight:700}

/* v1.12 role privacy and PMO messaging modes */
.message-mode-selector{display:inline-flex;border:1px solid var(--line);border-radius:10px;padding:3px;background:#f4f6f9;gap:3px}
.message-mode-btn{border:0;border-radius:7px;padding:7px 10px;background:transparent;color:#616b7a;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}
.message-mode-selector.internal-mode .message-mode-btn[data-mode="INTERNAL_PMO"].active{background:#fff0c9;color:#754d00;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.message-mode-selector.public-mode{border-color:#d22214;background:#fff2f1;box-shadow:0 0 0 3px rgba(210,34,20,.08)}
.message-mode-selector.public-mode .message-mode-btn[data-mode="PROJECT"].active{background:#d22214;color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.16)}
.message-mode-banner{display:flex;align-items:center;gap:12px;padding:9px 13px;border-top:1px solid var(--line);font-size:11px}
.message-mode-banner b{font-size:10px;letter-spacing:.05em}
.message-mode-banner.internal{background:#fff7df;color:#704b00;border-left:4px solid #f2b01e}
.message-mode-banner.public{background:#fff0ef;color:#9e1810;border-left:5px solid #d22214;animation:publicModePulse 1.3s ease-out 1}
@keyframes publicModePulse{0%{box-shadow:inset 0 0 0 999px rgba(210,34,20,.12)}100%{box-shadow:none}}
.developer-approval-panel{background:#fff}
.developer-approval-body{padding:18px;overflow:auto;display:grid;gap:16px}
.approval-section{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfcfe}
.approval-section h3{font-size:13px;margin:0 0 10px}
.approval-summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}
.approval-summary-row:last-child{border-bottom:0}
.approval-summary-row p{font-size:12px;color:var(--muted);margin:4px 0 0}
.developer-approval-panel .action-rail-buttons{flex-wrap:wrap;overflow:visible}
@media(max-width:1100px){.message-mode-selector{max-width:250px;overflow:auto}.message-mode-btn{padding:6px 8px}}

/* v1.15 detailed Compliance Agreement */
.agreement-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.agreement-summary-grid>div{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfcfe}.agreement-summary-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.agreement-summary-grid b{font-size:12px;line-height:1.35}.agreement-document{border:1px solid var(--line);border-radius:12px;background:#fff;max-height:46vh;overflow:auto;padding:6px 16px;margin-top:12px}.agreement-section{padding:12px 0;border-bottom:1px solid var(--line)}.agreement-section:last-child{border-bottom:0}.agreement-section h4{margin:0 0 9px;font-size:14px;color:#15243c}.agreement-section ol{margin:0;padding-left:22px;display:grid;gap:7px}.agreement-section li{font-size:12px;line-height:1.5;color:#35435a;padding-left:3px}.agreement-scope-line{display:grid;gap:3px;padding:8px 0;border-bottom:1px dashed var(--line)}.agreement-scope-line:last-child{border-bottom:0}.agreement-scope-line b{font-size:12px}.agreement-scope-line span{font-size:12px;color:var(--muted);line-height:1.45}.agreement-download-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:12px}.consent-check{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.5;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.consent-check input{margin-top:3px}
@media(max-width:760px){.agreement-summary-grid{grid-template-columns:1fr 1fr}.agreement-document{max-height:50vh}}

/* v1.16 inspector scheduling, notification history and Developer GFA clarity */
.notification-card.read{background:#f7f8fa;border-color:#e2e5e9;opacity:.76}.notification-card.read:hover{opacity:1}.notification-state{display:inline-flex;margin-right:7px;margin-bottom:5px;border-radius:999px;padding:2px 7px;font-size:9px;font-weight:800;text-transform:uppercase}.notification-state.unread{background:#ffe6e3;color:#a81b12}.notification-state.read{background:#e8ebef;color:#667080}.gfa-payment-confirm{display:flex!important;align-items:flex-start;gap:9px;padding:12px;border:1px solid #efc66f;border-radius:10px;background:#fff7e6;color:#6f4c08!important}.gfa-payment-confirm input{width:auto!important;margin-top:2px}.field small{color:var(--muted);font-size:11px;line-height:1.4}.inspection-slot-summary{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfcfe}.notification-card:disabled{cursor:wait}

/* v1.17 administration and structured configuration */
.admin-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.admin-kpi{width:100%;text-align:left;border:1px solid var(--border);cursor:pointer;background:var(--card)}
.admin-kpi:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(13,39,75,.08)}
.admin-dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:16px}
.health-list{display:grid;gap:0}
.health-list>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--border)}
.health-list>div:last-child{border-bottom:0}
.audit-list{display:grid;gap:0}
.audit-row{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--border)}
.audit-row:last-child{border-bottom:0}.audit-row span{font-size:12px;color:var(--muted)}
.text-success{color:#0a8a43}.text-warning{color:#9a6200}
.config-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.config-summary>div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px}
.config-summary b{font-size:26px}.config-summary span{font-size:12px;color:var(--muted)}
.config-tabs{display:flex;gap:8px;overflow:auto;padding:4px 0 14px;position:sticky;top:60px;z-index:6;background:var(--bg)}
.config-tab{border:1px solid var(--border);background:#fff;border-radius:999px;padding:10px 16px;font-weight:700;white-space:nowrap;cursor:pointer}
.config-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}
.config-section{display:none}.config-section.active{display:block}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:2px 0 14px}
.section-heading h3{margin:0 0 3px}.section-heading p{margin:0;color:var(--muted)}
.config-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px}
.config-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}
.config-card>div:first-child{grid-column:1/-1}.config-label{display:block;font-weight:800;font-size:16px}.config-card small{display:block;color:var(--muted);margin-top:4px}
.config-readable{grid-column:1/2;display:flex;flex-wrap:wrap;gap:8px 18px}.config-readable span{display:flex;flex-direction:column}.config-readable small{font-size:10px;text-transform:uppercase;letter-spacing:.04em}.config-readable b{font-size:13px}
.config-card .edit-general-config{grid-column:2/3;grid-row:2/3}
.config-matrix td{vertical-align:top;min-width:180px}.config-matrix td:first-child{min-width:220px}.config-matrix small{display:block;color:var(--muted);margin-top:3px}
.rule-summary{display:flex;flex-direction:column;gap:4px}.rule-summary b{font-size:12px}.rule-summary small{font-size:11px;line-height:1.35}
.mini-tag{display:inline-block;border-radius:999px;background:#eef3f9;padding:3px 7px;font-size:10px;margin:1px}.inactive-row{opacity:.65;background:#fafafa}
.config-search{min-width:260px;max-width:360px}.request-list{display:grid;gap:10px}.config-request{display:flex;justify-content:space-between;align-items:center;gap:16px}
.ai-setup-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.setup-steps ol{padding-left:22px;margin:0}.setup-steps li{margin-bottom:12px;line-height:1.45}.setup-steps p{color:var(--muted);line-height:1.5}
.code-editor{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;min-height:250px;white-space:pre}
.modal-subhead{margin:18px 0 10px}.activity-rule-editor{display:grid;gap:8px;margin-bottom:16px}
.activity-rule-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(110px,.8fr) repeat(3,minmax(95px,.7fr)) minmax(160px,1fr);gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fafbfd}
.activity-rule-row input,.activity-rule-row select{min-width:0}
.notice.success{background:#eaf8f0;border-color:#9bd8b6;color:#075b2d}
@media(max-width:1100px){.admin-dashboard-grid,.ai-setup-grid{grid-template-columns:1fr}.config-summary{grid-template-columns:repeat(2,1fr)}.activity-rule-row{grid-template-columns:1fr 1fr}.activity-rule-row b{grid-column:1/-1}}
@media(max-width:650px){.config-summary{grid-template-columns:1fr 1fr}.config-card-grid{grid-template-columns:1fr}.section-heading{align-items:stretch;flex-direction:column}.config-search{max-width:none;width:100%}.config-request{align-items:flex-start;flex-direction:column}}

/* v1.18 controlled scope comparison, signatures, routing, stamping and separate dilapidation */
.hidden{display:none!important}
.scope-comparison{display:grid;gap:12px}.scope-comparison section{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfcfe}.scope-comparison h4{margin:0 0 8px}.comparison-item{display:grid;gap:3px;border-bottom:1px dashed var(--line);padding:8px 0}.comparison-item:last-child{border-bottom:0}.comparison-item b{font-size:12px}.comparison-item span{font-size:11px;color:var(--muted)}.comparison-modified{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-bottom:1px solid var(--line);padding:9px 0}.comparison-modified:last-child{border-bottom:0}.comparison-modified>div{border:1px solid var(--line);border-radius:9px;padding:8px;background:#fff}.comparison-modified small{display:block;text-transform:uppercase;font-weight:800;color:var(--muted);font-size:9px;margin-bottom:3px}
.signature-panel{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.signature-pad{display:block;width:100%;height:180px;border:2px dashed #9ca6b4;border-radius:10px;background:#fff;touch-action:none;margin:8px 0}.unit-type-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.unit-type-checks label{display:flex;gap:7px;align-items:center;font-size:12px}
.review-response-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfcfe;margin-bottom:9px}.review-response-card p{margin:5px 0;color:#35435a}.review-response-card small{color:var(--muted)}
.stamp-comment{color:#7b5a00!important}.doc-file-actions{flex-wrap:wrap;justify-content:flex-end}.doc-file-actions .btn{white-space:nowrap}
@media(max-width:700px){.comparison-modified{grid-template-columns:1fr}.unit-type-checks{grid-template-columns:1fr}}

/* v1.20 in-application documents, collapsible document groups and formal records */
.application-tabs{display:flex;gap:8px;margin:0 0 14px;padding:5px;background:#fff;border:1px solid var(--border);border-radius:12px;width:max-content}
.application-tab{border:0;background:transparent;border-radius:9px;padding:9px 18px;font-weight:800;cursor:pointer;color:var(--muted)}
.application-tab.active{background:var(--navy);color:#fff}
.application-documents-page{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(440px,1.4fr);gap:16px;margin-bottom:18px}
.generated-doc-grid{display:grid;gap:10px;padding:16px}
.generated-doc-card{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--border);border-radius:12px;padding:13px;background:#fbfcfe}
.generated-doc-card small{display:block;color:var(--muted);margin-top:4px}
.doc-accordion{border:1px solid var(--border);border-radius:11px;margin:8px 0;background:#fff;overflow:hidden}
.doc-accordion>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;font-weight:800;background:#f8fafc}
.doc-accordion>summary::-webkit-details-marker{display:none}.doc-accordion>summary:before{content:'▸';font-size:12px}.doc-accordion[open]>summary:before{content:'▾'}
.doc-accordion-body{padding:8px 12px 12px}.summary-panel .doc-accordion-body{padding:5px 7px 8px}.summary-panel .doc-accordion>summary{padding:9px 10px;font-size:12px}
@media(max-width:1050px){.application-documents-page{grid-template-columns:1fr}}
@media(max-width:650px){.application-tabs{width:100%}.application-tab{flex:1}.generated-doc-card{align-items:flex-start;flex-direction:column}}

/* v1.21 usability and inspection refinements */
@media (min-width:1180px){.application-layout{grid-template-columns:230px minmax(520px,1fr) minmax(410px,470px)}}
.doc-file-line{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;align-items:start!important}.doc-file-copy{min-width:0}.doc-file-copy a,.doc-file-copy b{display:block;overflow-wrap:anywhere;word-break:normal;line-height:1.35}.doc-file-actions{display:flex!important;flex-wrap:wrap;gap:7px;justify-content:flex-start}.doc-file-actions .btn{white-space:nowrap}
.processing-panel{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid #bcd1e8;background:#f2f7fc;border-radius:10px;margin:12px 0}.processing-panel.hidden{display:none}.spinner{display:inline-block;width:24px;height:24px;border:3px solid #d7e0ea;border-top-color:#d22214;border-radius:50%;animation:opspin .8s linear infinite;flex:none}.spinner.small{width:15px;height:15px;border-width:2px;vertical-align:-2px;margin-right:6px}@keyframes opspin{to{transform:rotate(360deg)}}
.worker-import-list{display:grid;gap:8px;margin-top:12px}.worker-import-row{display:grid;grid-template-columns:28px minmax(0,1fr) 34px;gap:9px;align-items:center;border:1px solid #d7e0ea;border-radius:10px;padding:10px;background:#fff}.worker-import-row.valid{border-color:#9ad7ae;background:#f1fbf4}.worker-import-row.invalid{border-color:#ef9b9b;background:#fff4f4}.worker-import-row.pending{grid-template-columns:28px minmax(0,1fr)}.worker-state{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:800;background:#e9eef5}.valid .worker-state{background:#1f9d55;color:#fff}.invalid .worker-state{background:#d22214;color:#fff}.worker-import-row p,.worker-import-row small{margin:3px 0 0;display:block}.worker-reject-remove{border:0;background:#d22214;color:#fff;width:28px;height:28px;border-radius:50%;font-size:21px;line-height:1;cursor:pointer}.import-summary{width:100%}
.inspection-form{display:grid;gap:15px}.inspection-intro{display:flex;gap:10px;align-items:flex-start;background:#eef5fc;border-radius:10px;padding:12px}.inspection-intro p{margin:3px 0 0}.inspection-step{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:#0b4d8a;color:#fff;font-weight:800}.inspection-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.inspection-area-card{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;align-items:center;border:1px solid #d8e0e9;border-radius:9px;padding:10px;background:#fff}.inspection-area-card select{grid-column:2;width:100%;margin-top:4px}.confirmation-card{display:flex;gap:10px;align-items:flex-start;border:1px solid #d8e0e9;border-radius:10px;padding:12px}.confirmation-card small{display:block;margin-top:3px;color:#5c6773}.file-selection-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.file-selection-list span{background:#eef3f8;border-radius:999px;padding:5px 9px;font-size:12px}.decision-checks{display:grid;gap:8px;margin:10px 0}.decision-checks label{padding:10px;border:1px solid #d8e0e9;border-radius:9px}.msg.optimistic{opacity:.8}.msg.optimistic.failed{border-color:#d22214;background:#fff0f0}.toast{max-width:min(560px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:12px}.toast span{flex:1}.toast button{border:0;background:transparent;color:inherit;font-size:20px;cursor:pointer;line-height:1}
@media(max-width:760px){.inspection-area-grid{grid-template-columns:1fr}}
.worker-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.worker-record-remove{border:0;background:#d22214;color:#fff;width:25px;height:25px;border-radius:50%;font-size:19px;line-height:1;cursor:pointer}

/* v1.22 locked workflow, loading state and Scope Items Catalogue */
.application-documents-page{grid-template-columns:1fr}
.creation-chat{margin-top:12px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.creation-chat.hidden{display:none}
.compact-notice{margin-top:9px;padding:9px;font-size:11px}
.discrepancy-reason-field{opacity:.45;pointer-events:none}.inspection-scope-row.has-discrepancy{border-color:#d22214;background:#fff7f7}.inspection-scope-row.has-discrepancy .discrepancy-reason-field{opacity:1;pointer-events:auto}
.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.capability-grid label{display:flex;gap:7px;align-items:center;font-size:12px}
.comparison-change-list{grid-column:1/-1;margin:0 0 8px;padding:8px 24px;border-radius:8px;background:#fff7e8;color:#6f4b00;font-size:11px}
.doc-file-line>small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:700px){.capability-grid{grid-template-columns:1fr}}
.configured-checks{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:11px}.configured-checks li{margin:3px 0}
/* v1.22.1 document workspace and readiness */
.documents-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;margin:0 0 18px;background:linear-gradient(135deg,#f6f9ff,#fff);border:1px solid var(--border);border-radius:18px}.documents-hero h3{font-size:26px;margin:4px 0}.documents-hero p{max-width:720px;margin:0;color:var(--muted)}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--primary)}.documents-count{min-width:120px;text-align:center;padding:14px 18px;background:#fff;border:1px solid var(--border);border-radius:14px}.documents-count b{display:block;font-size:28px;color:var(--primary)}.documents-count span{font-size:12px;color:var(--muted)}
.documents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.documents-grid .doc-accordion{margin:0;border-radius:15px;box-shadow:0 5px 18px rgba(26,55,95,.05)}.documents-grid .doc-accordion>summary{padding:16px 18px;background:#fff}.documents-grid .doc-accordion[open]>summary{background:#f7faff;border-bottom:1px solid var(--border)}.documents-grid .doc-accordion-body{padding:10px 18px 16px}.documents-grid .checklist-card{grid-column:1/-1}.documents-grid .doc-row{padding:13px 0;align-items:flex-start}.documents-grid .doc-file-line{margin-top:7px;padding:10px 12px;background:#f8fafc;border-radius:10px}
.readiness-row .pill.muted{background:#f1f3f5;color:#777}.readiness-row.not_started{opacity:.72}.readiness-row.current{background:#fffaf0;border-radius:8px;padding:8px}.readiness-row.complete b{color:#168548}
@media(max-width:900px){.documents-grid{grid-template-columns:1fr}.documents-grid .checklist-card{grid-column:auto}.documents-hero{align-items:flex-start}.documents-count{display:none}}

/* v1.22.2 Inspector profile and community availability */
.profile-availability-grid{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(420px,1.25fr);gap:18px;align-items:start}
.availability-list{display:grid;gap:10px;margin-top:14px}.availability-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#fbfcfe}.availability-row div{display:flex;flex-direction:column;gap:4px}.availability-row span{font-size:12px;color:var(--muted)}
@media(max-width:900px){.profile-availability-grid{grid-template-columns:1fr}.availability-row{align-items:flex-start}}

/* v1.23 live progress tracker and GFA route */
.tracker-overview{margin:0 0 14px;padding:12px;border-radius:12px;background:#f4f7fb;border:1px solid #dfe6ef;display:flex;flex-direction:column;gap:3px}.tracker-overview b{font-size:16px;color:#153d68}.tracker-overview span{font-size:11px;color:#66778a}.milestone>div:last-child{display:flex;flex-direction:column;gap:2px}.milestone>div:last-child b{font-size:12px}.milestone>div:last-child small{font-size:10px;color:#627387}.milestone.parallel .milestone-dot{background:#e9f2ff;color:#1769aa;border-color:#9dc4ec}.milestone.parallel>div:last-child b{color:#1769aa}.gfa-route-card .btn{margin-top:9px;width:100%}.progress-updated{font-size:10px;color:#7a8794;margin-top:6px}

/* v1.23.1 review visibility, booking prompt and worker management */
.inspection-booking-callout{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:14px 18px 0;padding:16px 18px;border:1px solid #e9c26c;border-left:5px solid #d22214;border-radius:13px;background:#fff9eb;box-shadow:0 5px 18px rgba(107,73,0,.08)}
.inspection-booking-callout b{display:block;font-size:17px;margin:4px 0}.inspection-booking-callout p{margin:0;color:#66552d}.inspection-booking-callout .btn{white-space:nowrap}
.requirement-type{margin-left:8px;font-size:9px}.gfa-coordinator-record .scope-item{border-left:4px solid #d22214}.gfa-coordinator-record small{display:block;margin-top:7px;color:var(--muted)}
.worker-list-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 3px;color:#31435a}.worker-list-heading span{font-size:11px;color:var(--muted)}
.worker-import-details{min-width:0}.worker-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px;margin-top:8px}.worker-detail-grid span{display:flex;flex-direction:column;min-width:0;font-size:11px;overflow-wrap:anywhere}.worker-detail-grid small{margin:0 0 2px;text-transform:uppercase;font-size:8px;font-weight:800;color:#758397}.extraction-mode{margin-top:8px!important;color:#52708f}
.induction-bulk-list{display:grid;gap:12px}.induction-worker-row{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fbfcfe}.induction-worker-name{display:flex;flex-direction:column;margin-bottom:10px}.induction-worker-name small{color:var(--muted);margin-top:3px}.scope-checkbox-list{display:grid;gap:7px;padding:10px;border:1px solid var(--border);border-radius:9px;background:#fff}.scope-checkbox-list label{display:flex;align-items:flex-start;gap:7px;font-size:12px}.scope-checkbox-list input{width:auto;margin-top:2px}
@media(max-width:700px){.inspection-booking-callout{align-items:flex-start;flex-direction:column;margin:10px}.worker-detail-grid{grid-template-columns:1fr 1fr}}

/* v1.24 application inspections, resubmission review and building catalogue */
.message-copy{line-height:1.48}.message-copy strong{font-weight:900;color:#122d4d}.ai-missing small{display:block;margin-top:9px;padding-top:8px;border-top:1px solid rgba(0,0,0,.08);line-height:1.4}
.doc-file-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.new-document-badge{background:#d22214!important;color:#fff!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.06em}
.application-inspections-page{display:grid;gap:16px;margin-bottom:18px}.inspections-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;background:linear-gradient(135deg,#f6f9ff,#fff);border:1px solid var(--border);border-radius:18px}.inspections-hero h3{font-size:26px;margin:4px 0}.inspections-hero p{max-width:760px;margin:0;color:var(--muted)}
.inspection-record-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.inspection-record-card{border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(26,55,95,.06);padding:18px;display:grid;gap:15px}.inspection-record-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.inspection-record-card h4{margin:4px 0 0;font-size:19px}.inspection-record-card section{border-top:1px solid var(--border);padding-top:12px}.inspection-record-card section>p{margin:7px 0 0;line-height:1.5;color:#35435a}.inspection-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}.inspection-record-grid span{display:flex;flex-direction:column;min-width:0;font-size:12px}.inspection-record-grid small{font-size:9px;text-transform:uppercase;font-weight:900;color:var(--muted);margin-bottom:3px}.inspection-check-list{display:grid;gap:7px;margin-top:9px}.inspection-check-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;padding:9px 10px;background:#f8fafc;border-radius:9px}.inspection-check-list small{grid-column:1/-1;color:var(--muted)}
.resubmission-banner{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(460px,1.3fr);gap:22px;margin-bottom:16px;padding:18px 20px;border:1px solid #e9c26c;border-left:5px solid #d22214;border-radius:14px;background:#fff9eb}.resubmission-banner h4{margin:4px 0 6px}.resubmission-banner p{margin:0;color:#66552d}.resubmission-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.resubmission-columns section{background:#fff;border:1px solid #ecd8a7;border-radius:10px;padding:12px}.resubmission-columns ul{margin:8px 0 0;padding-left:18px;max-height:130px;overflow:auto}.resubmission-columns li{margin:4px 0;font-size:11px}.resubmission-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.resubmission-modal-grid section{border:1px solid var(--border);border-radius:11px;padding:13px;background:#fbfcfe}.resubmission-modal-grid h4{margin:0 0 8px}.resubmission-modal-grid ul{margin:0;padding-left:18px}.resubmission-modal-grid li{margin-bottom:8px}
.config-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.toggle-building{white-space:nowrap}
@media(max-width:1050px){.inspection-record-list{grid-template-columns:1fr}.resubmission-banner{grid-template-columns:1fr}.config-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.inspections-hero{align-items:flex-start}.inspections-hero .documents-count{display:none}.inspection-record-grid,.resubmission-columns,.resubmission-modal-grid{grid-template-columns:1fr}.config-summary{grid-template-columns:1fr 1fr}}

/* v1.25 parallel statuses, document requests, workers and registered sub-contractors */
.application-status-stack{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.application-status-chip{display:flex;flex-direction:column;gap:2px;min-width:150px;padding:9px 12px;border-radius:11px;border:1px solid var(--border);background:#f5f8fc}.application-status-chip small{font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:900}.application-status-chip b{font-size:12px;color:#153d68}.application-status-chip.green{background:#edf9f1;border-color:#a8dfbd}.application-status-chip.green b{color:#116936}.application-status-chip.amber{background:#fff8e9;border-color:#efd395}.application-status-chip.amber b{color:#805600}.application-status-chip.red{background:#fff1f1;border-color:#efb2b2}.application-status-chip.red b{color:#a41f1f}
.application-register-page{display:grid;gap:16px;margin-bottom:18px}.register-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;background:linear-gradient(135deg,#f6f9ff,#fff);border:1px solid var(--border);border-radius:18px}.register-hero h3{font-size:26px;margin:4px 0}.register-hero p{max-width:760px;margin:0;color:var(--muted)}.register-toolbar{display:flex;gap:9px;flex-wrap:wrap}.worker-register-list,.subcontractor-register-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.worker-register-card,.subcontractor-register-card{display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:0 4px 15px rgba(26,55,95,.05)}.worker-register-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.worker-register-head>div{display:flex;flex-direction:column;gap:3px}.worker-register-head small,.subcontractor-register-card small{color:var(--muted)}.worker-register-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.worker-register-grid span{display:flex;flex-direction:column;min-width:0;padding:8px;background:#f8fafc;border-radius:8px;overflow-wrap:anywhere}.worker-register-grid small{font-size:8px;text-transform:uppercase;font-weight:900;color:var(--muted);margin-bottom:3px}.worker-register-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.btn-danger{background:#fff;color:#b42318;border-color:#e6a6a0}.scope-chip-list{display:flex;gap:6px;flex-wrap:wrap}.subcontractor-register-card p{margin:0;color:#35435a}.pending-worker-confirmations{display:grid;gap:14px}.pending-worker-card{border:1px solid #e9c26c;border-radius:13px;padding:14px;background:#fffaf0}.pending-confirmation{border-color:#e9c26c!important;background:#fffaf0!important}.requested-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.requested-document-option{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff}.requested-document-option input{width:auto;margin-top:3px}.requested-document-option span{display:flex;flex-direction:column;gap:2px}.requested-document-option small{color:var(--muted)}.requested-documents-details{margin-top:12px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#fbfcfe}.requested-documents-details summary{cursor:pointer;font-weight:800;color:#153d68}.pmo-requested-document{border-left:4px solid #d99b13;padding-left:11px!important;background:#fffaf0}.application-tabs{max-width:100%;flex-wrap:wrap}
@media(max-width:900px){.worker-register-list,.subcontractor-register-list{grid-template-columns:1fr}.worker-register-grid{grid-template-columns:1fr 1fr}.register-hero{align-items:flex-start}.register-hero .documents-count{display:none}}
@media(max-width:650px){.application-title{align-items:flex-start}.application-status-stack{justify-content:flex-start}.application-status-chip{min-width:130px}.requested-document-grid,.worker-register-grid{grid-template-columns:1fr}.application-tab{flex:1 1 42%}}
/* v1.26 application registers, Work Permit and violation controls */
.worker-register-actions .btn,.worker-register-actions a{flex:0 0 auto;white-space:nowrap;max-width:100%}
.worker-register-actions .btn-danger{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #e6a6a0;border-radius:8px;background:#fff;color:#b42318;line-height:1.1}
.worker-register-card{min-width:0;overflow:hidden}.worker-register-grid{min-width:0}.worker-register-actions{min-width:0}
.tab-count{display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:#fee4e2;color:#b42318;font-size:11px;font-weight:900;margin-left:4px}
.violation-register-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.violation-card{display:grid;gap:12px;padding:18px;border:1px solid var(--border);border-left:4px solid #d22214;border-radius:15px;background:#fff}.violation-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.violation-card-head h4{margin:3px 0 0}.violation-card>p{margin:0;color:#35435a}.violation-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.violation-meta-grid span,.permit-auto-summary>div{display:flex;flex-direction:column;gap:3px;padding:10px;background:#f8fafc;border-radius:9px;min-width:0;overflow-wrap:anywhere}.violation-meta-grid small,.permit-auto-summary small{font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:900;color:var(--muted)}
.permit-auto-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.permit-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:9px 0 18px}.permit-check-grid label{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid var(--border);border-radius:9px;background:#fff}.permit-check-grid input{width:auto;margin-top:2px}.design-change-documents,.design-review-assignments{display:grid;gap:10px;margin-bottom:10px}.design-change-document-row,.design-review-assignment{display:grid;grid-template-columns:1fr .45fr auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fbfcfe}.design-change-document-row .full{grid-column:1/3}.design-review-assignment .btn,.design-change-document-row .btn{margin-bottom:2px}.compact-notice p{margin:5px 0 0}
@media(max-width:900px){.violation-register-list{grid-template-columns:1fr}.permit-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-change-document-row,.design-review-assignment{grid-template-columns:1fr 1fr}.design-change-document-row .full{grid-column:1/-1}}
@media(max-width:650px){.permit-auto-summary,.violation-meta-grid,.permit-check-grid{grid-template-columns:1fr}.design-change-document-row,.design-review-assignment{grid-template-columns:1fr}.design-change-document-row .full{grid-column:auto}.worker-register-actions .btn,.worker-register-actions a{width:auto}.register-toolbar .btn{width:100%}}

/* v1.27 visual alignment, responsive application canvas and new workflow modules */
html,body,#app,.shell,.main,.content{max-width:100%;min-width:0}
.content{overflow-x:hidden}
.page-title>*{min-width:0}
.application-title{display:flex;flex-wrap:wrap}
.application-status-stack{max-width:100%;flex-wrap:wrap;justify-content:flex-end}
.application-tabs{max-width:100%;width:max-content;flex-wrap:wrap}
.application-layout,.chat-panel,.summary-panel,.app-nav{min-width:0}
.application-layout{grid-template-columns:minmax(205px,230px) minmax(0,1fr) minmax(330px,430px)}
.chat-panel,.summary-panel{width:100%}
.summary-panel{overflow-wrap:anywhere}
.milestone{grid-template-columns:22px minmax(0,1fr);align-items:start}
.milestone-dot{margin-top:0;line-height:1;text-align:center}
.milestone>div:last-child{min-width:0;padding-top:1px}
.milestone>div:last-child b,.milestone>div:last-child small{display:block;overflow-wrap:anywhere}

.admin-kpi-grid{align-items:stretch}
.admin-kpi{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;min-height:134px;padding:18px}
.admin-kpi>div:last-child{display:grid;grid-template-rows:minmax(34px,auto) auto 20px;align-content:start;min-width:0;height:100%}
.admin-kpi .kpi-label{line-height:1.25;align-self:start}
.admin-kpi .kpi-value{line-height:1;margin:5px 0 4px;align-self:start}
.admin-kpi .kpi-trend{align-self:end;margin:0;white-space:normal}
.admin-dashboard-grid .finance-grid{height:100%;align-items:stretch}
.admin-dashboard-grid .fin-item{display:grid;grid-template-rows:minmax(40px,auto) auto;align-content:start;justify-items:center;min-width:0}
.admin-dashboard-grid .fin-item small{display:flex;align-items:flex-start;justify-content:center;text-align:center;line-height:1.25}
.admin-dashboard-grid .fin-item b{line-height:1.1;white-space:nowrap}

.deposit-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.deposit-summary-row:first-of-type{margin-top:7px}
.deposit-summary-row span:first-child{font-size:11px;color:var(--muted)}
.deposit-summary-row b{white-space:nowrap}

.violation-choice-list{display:grid;gap:8px;max-height:330px;overflow:auto;padding-right:3px}
.violation-choice{display:grid;grid-template-columns:auto minmax(0,1fr) 120px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}
.violation-choice>span{display:grid;gap:3px}
.violation-choice small{color:var(--muted)}
.violation-choice .violation-item-fine{width:100%;min-width:0}
.violation-total{display:flex;justify-content:space-between;align-items:center;background:#f8fafc}
.violation-total strong{font-size:18px;color:var(--red)}

.activity-rule-row{grid-template-columns:minmax(145px,1fr) minmax(100px,.7fr) repeat(5,minmax(95px,.65fr));align-items:center}
.activity-rule-row b{line-height:1.25}

.support-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(340px,1.15fr);gap:18px;align-items:start}
.support-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.support-step>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800}
.support-step p{margin:4px 0 0;color:var(--muted);font-size:12px}
.faq-list{display:grid;gap:8px}.faq-list details{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.faq-list summary{cursor:pointer;font-weight:800}.faq-list p{line-height:1.55;color:#4d5868}.faq-list small{color:var(--muted)}
.complaint-list{display:grid;gap:10px}.complaint-card{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border:1px solid var(--line);border-radius:12px;padding:14px}.complaint-card>div{min-width:0}.complaint-card h4{margin:8px 0 4px}.complaint-card p{margin:0 0 7px;color:#566172;line-height:1.45}

@media(max-width:1380px){
 .application-layout{grid-template-columns:210px minmax(0,1fr)}
 .summary-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;height:auto;max-height:none}
 .summary-panel .summary-block{min-width:0}
}
@media(max-width:1050px){
 .application-layout{display:block;height:auto}
 .app-nav{display:block;height:auto;margin-bottom:12px}
 .summary-panel{display:block;margin-top:12px}
 .chat-panel{height:auto;min-height:650px}
 .support-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
 .application-tabs{width:100%}.application-tab{flex:1 1 130px;padding:9px 10px}
 .deposit-summary-row{grid-template-columns:1fr auto}.deposit-summary-row .pill{grid-column:1/-1;width:max-content}
 .violation-choice{grid-template-columns:auto minmax(0,1fr)}.violation-choice .violation-item-fine{grid-column:2}
 .activity-rule-row{grid-template-columns:1fr}.activity-rule-row b{grid-column:auto}
 .admin-kpi{min-height:120px}
}

/* OnePermit registration authentication UI */
.auth-logo{width:190px;max-width:55%;margin-bottom:30px}
.auth-wide{width:min(760px,92vw);padding:24px 0}
.registration-panel{place-content:start center;overflow:auto;padding-top:38px;padding-bottom:38px}
.auth-brand-note{position:relative;z-index:1;margin-top:44px;display:grid;gap:6px;max-width:520px;padding:18px 20px;border:1px solid rgba(255,255,255,.24);border-radius:14px;background:rgba(255,255,255,.08)}
.auth-brand-note b{font-size:15px}.auth-brand-note span{font-size:14px;line-height:1.45}
.auth-divider{display:flex;align-items:center;gap:12px;margin:25px 0 17px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}
.auth-actions{display:grid;gap:9px}
.auth-back,.auth-link{border:0;background:none;color:var(--red);font-weight:700;padding:0;cursor:pointer;text-align:left}
.auth-back{margin-bottom:24px}.auth-link{margin-top:12px}
.auth-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}
.auth-choice{border:1px solid var(--line);border-radius:16px;background:#fff;padding:22px;text-align:left;display:grid;gap:11px;cursor:pointer;transition:.18s}
.auth-choice:hover{border-color:var(--red);box-shadow:0 10px 28px rgba(27,35,50,.09);transform:translateY(-2px)}
.auth-choice-icon{width:42px;height:42px;border-radius:50%;background:#fff0ee;color:var(--red);display:grid;place-items:center;font-weight:800}
.auth-choice b{font-size:21px}.auth-choice p{margin:0;color:var(--muted);line-height:1.5}.auth-choice strong{color:var(--red);font-size:13px}
.auth-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:25px 0}
.auth-step{display:flex;align-items:center;gap:8px;color:#8a929f;border-bottom:3px solid #e5e8ee;padding:0 0 10px}
.auth-step span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#eef1f5;font-size:12px;font-weight:800}
.auth-step b{font-size:12px}.auth-step.active{color:var(--red);border-color:var(--red)}.auth-step.active span{background:var(--red);color:#fff}
.registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.registration-grid .full{grid-column:1/-1}
.registration-section{margin:25px 0 18px;padding-top:22px;border-top:1px solid var(--line)}
.registration-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.registration-section-head span{font-size:11px;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.08em}
.registration-section-head h3{margin:4px 0 0}.registration-section-head p{max-width:300px;color:var(--muted);font-size:13px}
.terms-check{display:flex;gap:11px;align-items:flex-start;margin:22px 0;font-size:13px;line-height:1.5}
.terms-check input{margin-top:3px}.field small{color:var(--muted);font-size:11px;line-height:1.4}
.auth-error{margin-bottom:18px}
.verification-list{display:grid;gap:14px;margin:22px 0}
.verification-card{border:1px solid var(--line);border-radius:15px;padding:19px}
.verification-card.verified{border-color:#9bd4ae;background:#f5fcf7}
.verification-card header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}
.verification-card header div{display:grid;gap:4px}.verification-card header span:first-child{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase}.verification-card header b{font-size:14px;word-break:break-word}
.otp-form>label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}
.otp-row{display:grid;grid-template-columns:1fr auto;gap:9px}
.otp-row input{font-size:22px;font-weight:800;letter-spacing:.28em;text-align:center;border:1px solid #d9dde6;border-radius:10px;padding:10px}
.verification-success{font-weight:800;color:var(--green)}
.registration-complete{text-align:center;border:1px solid var(--line);border-radius:18px;padding:30px 22px;margin:24px 0}
.registration-complete.success{border-color:#9bd4ae;background:#f4fcf6}.registration-complete.warning{border-color:#f2cc74;background:#fffbf1}
.registration-complete-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:var(--red);color:#fff;font-size:30px;font-weight:800}
.registration-complete h3{margin:0 0 8px}.registration-complete p{margin:0;color:var(--muted);line-height:1.5}
.registration-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}
.registration-summary div{border:1px solid var(--line);border-radius:11px;padding:12px;display:grid;gap:4px}
.registration-summary small{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.registration-summary b{font-size:13px;word-break:break-word}
.test-accounts{margin-top:22px;border-top:1px solid var(--line);padding-top:15px}.test-accounts summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:700}
.auth-spinner{width:15px;height:15px;border-width:2px}
@media(max-width:700px){.auth-choice-grid,.registration-grid,.registration-summary{grid-template-columns:1fr}.registration-grid .full{grid-column:auto}.registration-section-head{display:block}.registration-panel{padding:24px 18px}.auth-step b{display:none}.otp-row{grid-template-columns:1fr}.auth-wide{width:100%}}

/* Registration viewport clipping fix */
.login-panel{
    min-width:0;
}

.login-card.auth-wide{
    width:min(760px,100%);
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
}

.registration-panel{
    overflow-x:hidden;
}


/* v1.28 registration, mobile navigation and responsive dashboard */
html,body,#app,.shell,.main,.content{max-width:100%;min-width:0}

/* Registration alignment and document-first workflow */
.auth-logo{display:block;max-width:190px;margin:0 0 26px}
.auth-back{display:block;clear:both;width:max-content;max-width:100%;margin:0 0 24px;text-align:left}
.auth-stepper-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.registration-grid,.registration-route-grid{align-items:start}
.registration-grid>.field,.registration-route-grid>.field{align-self:start;align-content:start;min-width:0}
.registration-grid>.field>small,.field-help-placeholder{display:block;min-height:16px}
.registration-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.registration-route-note{margin:4px 0 18px}
.registration-document-list{display:grid;gap:14px;margin:22px 0}
.registration-document-card{border:1px solid var(--line);border-radius:15px;padding:18px;background:#fff;min-width:0}
.registration-document-card.uploaded{border-color:#a8d7b7;background:#f8fdf9}
.registration-document-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.registration-document-card header div{display:grid;gap:4px;min-width:0}
.registration-document-card header span:first-child{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.registration-document-card h3{margin:0;font-size:18px}
.registration-document-card p{color:var(--muted);line-height:1.5}
.registration-document-card>small{display:block;margin-top:10px;color:var(--muted);overflow-wrap:anywhere}
.document-upload-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:14px}
.document-upload-control input{min-width:0;width:100%;border:1px dashed #b8c2cf;border-radius:10px;padding:10px;background:#fff}
.registration-extraction-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.registration-extraction-preview>span{display:grid;gap:3px;padding:9px 10px;background:#fff;border:1px solid #e4e9ef;border-radius:9px;min-width:0}
.registration-extraction-preview>span.full{grid-column:1/-1}
.registration-extraction-preview small{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}
.registration-extraction-preview b{font-size:12px;overflow-wrap:anywhere}
.registration-review-sections{display:grid;gap:18px}
.registration-review-sections>section{border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}
.registration-review-sections h4{margin:0 0 12px}
.activity-match-review{display:grid;gap:8px;margin-top:12px}
.activity-match-review>div{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}
.activity-match-review>div>span:first-child{display:grid;gap:3px;min-width:0}
.activity-match-review small{color:var(--muted);overflow-wrap:anywhere}
.registration-payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}
.registration-payment-summary>div{border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}
.registration-payment-summary small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}
.registration-payment-summary b{display:block;margin-top:5px}
.registration-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.registration-admin-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px;display:grid;gap:12px;min-width:0}
.registration-admin-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.registration-admin-card h3{margin:0 0 4px;font-size:17px;overflow-wrap:anywhere}
.registration-admin-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.registration-admin-meta>span{display:grid;gap:3px;padding:9px;border-radius:9px;background:#f7f9fc;min-width:0}
.registration-admin-meta small{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}
.registration-admin-meta b{overflow-wrap:anywhere}

/* Mobile sidebar: independently scrollable navigation with persistent account controls */
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}
.sidebar-head .sidebar-logo{margin:4px 10px 28px;min-width:0}
.sidebar-close{display:none;width:38px;height:38px;flex:none;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:25px;line-height:1}
.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(5,16,35,.48);z-index:39;opacity:0;transition:opacity .2s}
.sidebar-backdrop.show{opacity:1}
.sidebar-signout{width:100%;margin-top:12px}
body.sidebar-open{overflow:hidden;touch-action:none}

@media(max-width:850px){
 html,body,#app,.shell,.main,.content{width:100%;max-width:100%;overflow-x:hidden}
 .shell{display:block;min-width:0}
 .main{width:100%;min-width:0}
 .sidebar{display:flex;height:100dvh;max-height:100dvh;top:0;bottom:auto;width:min(330px,88vw);padding:16px 14px 0;z-index:40;overflow:hidden;transform:translateX(-105%)}
 .sidebar.open{transform:translateX(0)}
 .sidebar-backdrop{display:block;pointer-events:none}
 .sidebar-backdrop.show{pointer-events:auto}
 .sidebar-close{display:grid;place-content:center;margin:-4px 2px 20px 0}
 .sidebar-head .sidebar-logo{height:38px;margin:0 10px 22px}
 .sidebar .nav{display:grid;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 2px 14px;align-content:start}
 .sidebar-bottom{flex:none;margin-top:0;padding:14px 10px calc(82px + env(safe-area-inset-bottom));background:var(--navy);position:relative;z-index:1}
 .topbar{width:100%;max-width:100%;min-width:0}
 .topbar .inline{min-width:0}.topbar h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .content{width:100%;max-width:100%;min-width:0;padding:14px 12px calc(86px + env(safe-area-inset-bottom));margin:0}
 .content>*{max-width:100%;min-width:0}
 .page-title{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
 .page-title .btn{width:100%}
 .filters{display:grid;grid-template-columns:1fr 1fr;width:100%;min-width:0}
 .filters select,.filters input,.filters .btn{width:100%;min-width:0;max-width:100%}
 .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .kpi{min-width:0;grid-template-columns:42px minmax(0,1fr);padding:13px;gap:9px}
 .kpi-label,.kpi-value,.kpi-trend{overflow-wrap:anywhere}
 .dashboard-grid,.two-col,.bottom-grid{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}
 .card,.card-body,.card-head{min-width:0;max-width:100%}
 .pipeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;overflow:visible;padding:0}
 .pipe-node{min-width:0;width:100%;padding:10px 6px;border:1px solid #edf0f4;border-radius:10px}
 .pipe-node:not(:last-child):after{display:none}
 .pipe-node b{overflow-wrap:anywhere}
 .donut-wrap{grid-template-columns:minmax(0,1fr);justify-items:center;width:100%;gap:18px}
 .legend{width:min(100%,320px)}
 .bar-chart{width:100%;height:auto;min-height:220px;display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));align-items:end;gap:9px;overflow:visible;padding:22px 4px 6px}
 .bar-item{min-width:0;height:180px}.bar-item span{max-width:100%;overflow-wrap:anywhere}
 .finance-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .fin-item{min-width:0;border-right:0;border-bottom:1px solid var(--line)}
 .fin-item b{font-size:16px;overflow-wrap:anywhere}
 .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .mobile-nav{z-index:35}
 .registration-admin-grid{grid-template-columns:1fr}
}

@media(max-width:700px){
 .auth-stepper-five{grid-template-columns:repeat(5,minmax(0,1fr))}
 .auth-stepper-five .auth-step{justify-content:center}.auth-stepper-five .auth-step b{display:none}
 .registration-route-grid,.registration-extraction-preview,.registration-payment-summary,.registration-admin-meta{grid-template-columns:1fr}
 .registration-extraction-preview>span.full{grid-column:auto}
 .document-upload-control{grid-template-columns:1fr}.document-upload-control .btn{width:100%}
 .activity-match-review>div{display:grid}
}

@media(max-width:520px){
 .filters{grid-template-columns:1fr}
 .kpi-grid{grid-template-columns:1fr}
 .finance-grid{grid-template-columns:1fr}
 .bar-chart{grid-template-columns:repeat(3,minmax(0,1fr))}
 .registration-document-card{padding:14px}
}
.registration-flag-list{display:grid;gap:9px}.registration-flag-list .notice{margin:0}

/* v1.29 stabilization: non-blocking feedback, required-action priority and editable profiles */
.global-loader{position:fixed;inset:0;z-index:10000;background:rgba(8,31,65,.28);display:none;align-items:center;justify-content:center;backdrop-filter:blur(1px)}
.global-loader.show{display:flex}.global-loader-card{display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 18px 50px rgba(0,0,0,.2);font-size:14px}.global-loader-card .spinner{width:24px;height:24px}
body.is-loading{cursor:progress}
.action-rail-buttons{flex-wrap:wrap;overflow:visible}.action-rail-buttons .btn{max-width:100%;white-space:normal;text-align:center}
.chat-alerts{border-bottom:1px solid var(--line);background:#fff}.chat-alerts>summary{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;cursor:pointer;background:#fff8e6;color:#835600;font-size:12px}.chat-alerts>summary::marker{display:none}.chat-alerts-body{display:grid;gap:8px;padding:8px;max-height:260px;overflow:auto}.chat-alerts-body>div{margin:0}
.profile-page-grid{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(460px,1.25fr);gap:18px;align-items:start}.property-profile-list{display:grid;gap:12px}.property-profile-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.property-profile-card.archived{opacity:.7;background:#f7f8fa}.property-profile-card header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.property-profile-card h3{margin:4px 0}.property-profile-card p{margin:0;color:var(--muted)}.property-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.property-profile-grid span{display:flex;flex-direction:column}.property-profile-grid small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.registration-section .owner-contact-registration{align-content:start}
@media(max-width:900px){.profile-page-grid{grid-template-columns:1fr}.property-profile-grid{grid-template-columns:1fr}.chat-alerts-body{max-height:210px}}

/* v1.29 inspection discrepancy and scope-revision controls */
.discrepancy-reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:6px}
.discrepancy-reason-grid label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border,#dce3ec);border-radius:10px;background:#fff}
.scope-comparison-grid{display:grid;gap:14px;margin:12px 0}
.scope-comparison-grid section{border:1px solid var(--border,#dce3ec);border-radius:14px;padding:14px;background:#fff}
.scope-diff-item{padding:10px 0;border-bottom:1px solid #edf1f5}.scope-diff-item:last-child{border-bottom:0}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:12px}.before-after>div{padding:10px;border-radius:10px;background:#f6f8fb}
@media(max-width:700px){.discrepancy-reason-grid,.before-after{grid-template-columns:1fr}}


/* v1.29.3 registration session isolation, editable navigation and fixed brand panel */
.registration-shell{height:100dvh;min-height:100dvh;overflow:hidden;align-items:stretch}
.registration-shell .login-brand{height:100dvh;min-height:100dvh;position:sticky;top:0;align-self:start}
.registration-shell .registration-panel{height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.auth-step{width:100%;border:0;border-bottom:3px solid #e5e8ee;background:transparent;text-align:left;cursor:default}
.auth-step.available{cursor:pointer}
.auth-step.available:hover{color:var(--red);border-color:#f2aaa3;background:#fff8f7}
.auth-step:disabled{opacity:1}
@media(max-width:850px){.registration-shell{height:auto;min-height:100vh;overflow:visible}.registration-shell .registration-panel{height:auto;min-height:100vh;overflow:visible}.registration-shell .login-brand{display:none}}

/* v1.29.3 consolidated document, inspection and payment workflow corrections */
.document-category-picker{display:grid;gap:7px;max-height:320px;overflow:auto;padding:5px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.document-category-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid transparent;border-radius:9px;background:#fff;color:var(--navy);font:inherit;text-align:left;cursor:pointer}
.document-category-option:hover{border-color:#efaaa4;background:#fff8f7}.document-category-option.selected{border-color:var(--red);box-shadow:0 0 0 2px rgba(210,34,20,.08);background:#fff}
.required-mini{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:var(--red);background:#ffe7e4;border-radius:999px;padding:5px 7px;white-space:nowrap}
.optional-mini{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:#637083;background:#edf1f6;border-radius:999px;padding:5px 7px;white-space:nowrap}
.inspection-record-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.inspection-reschedule-note{display:block;max-width:520px;color:#7a5b16}
.inspection-history-list{display:grid;gap:8px;margin-top:8px}.inspection-history-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:9px;background:#f6f8fb}.inspection-history-list small{color:var(--muted)}
.inspection-not-conducted-reason{border-left:4px solid var(--red);background:#fff3f2;padding:12px;border-radius:8px}.btn-danger{background:#b42318;color:#fff;border-color:#b42318}.btn-danger:hover{background:#8f1c14}
.payment-diagnostics{margin-bottom:16px}.payment-diagnostic-row{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(4,minmax(90px,.55fr));gap:10px 14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:start}.payment-diagnostic-row:last-child{border-bottom:0}.payment-diagnostic-row>div,.payment-diagnostic-row>span{display:flex;flex-direction:column}.payment-diagnostic-row small{color:var(--muted);font-size:10px;text-transform:uppercase}.payment-diagnostic-row p{grid-column:1/-2;margin:0;color:#4d5968}.payment-diagnostic-row code{justify-self:end;font-size:11px}.diagnostic-ref{display:block;margin-top:4px;color:#8b1d14;font-size:10px}
@media(max-width:800px){.inspection-record-actions{display:grid}.payment-diagnostic-row{grid-template-columns:1fr 1fr}.payment-diagnostic-row p,.payment-diagnostic-row code{grid-column:1/-1;justify-self:start}}

/* v1.29.4 PMO brand alignment, registration performance and dashboard geometry */
:root{--navy:#33363b;--blue:#b42318;--purple:#6b5b59;--bg:#f6f6f5;--line:#e3e0dd;--shadow:0 8px 28px rgba(58,46,43,.08)}
a{color:var(--red)}
.login-brand{background:var(--red);padding:clamp(34px,4vw,72px)}
.registration-shell{grid-template-columns:minmax(260px,25vw) minmax(0,1fr)}
.registration-shell .login-brand{width:min(33.333vw,100%);max-width:33.333vw;padding:clamp(28px,3vw,56px)}
.registration-shell .login-brand img{width:min(230px,80%);margin-bottom:30px}
.registration-shell .login-brand h1{font-size:clamp(34px,4vw,58px)}
.registration-shell .login-brand p{font-size:clamp(16px,1.5vw,20px)}
.registration-shell .registration-panel{padding:36px clamp(30px,4vw,70px)}
.sidebar{background:#fff;color:#292d32;border-right:1px solid var(--line);box-shadow:4px 0 18px rgba(39,32,30,.04)}
.sidebar-logo{filter:none;max-width:150px}
.nav-btn{color:#4b4f55}.nav-btn:hover{background:#fff1ef;color:var(--red)}.nav-btn.active{background:var(--red);color:#fff}
.sidebar-bottom{border-top:1px solid var(--line);background:#fff}.user-mini small{color:#777d84}.avatar{background:#fff0ee;border:1px solid #f1c5c0}
.kpi-icon,.pipe-circle{background:#fff0ee;color:var(--red)}
.pipe-node:nth-child(4n+2) .pipe-circle{background:#fff1d8;color:var(--amber)}
.pipe-node:nth-child(4n+3) .pipe-circle{background:#e7f7ec;color:var(--green)}
.pipe-node:nth-child(4n+4) .pipe-circle{background:#f2edeb;color:#6b5b59}
.bar{background:var(--red)}
.global-loader{background:rgba(45,37,34,.26)}
.dashboard-summary-row{align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
.dashboard-summary-row>.card{display:flex;flex-direction:column;min-height:320px}
.dashboard-summary-row>.card>.card-body{flex:1;display:flex;align-items:stretch;padding:18px 20px}
.dashboard-summary-row .bar-chart{height:235px;min-height:235px;width:100%;padding-top:24px}
.dashboard-summary-row .finance-grid{height:235px;min-height:235px;width:100%;align-items:stretch}
.dashboard-summary-row .fin-item{display:grid;grid-template-rows:minmax(48px,auto) auto;align-content:center;justify-items:center;padding:20px 10px}
.dashboard-summary-row .fin-item small{display:flex;align-items:flex-end;justify-content:center;min-height:48px;text-align:center}
.dashboard-summary-row .fin-item b{min-height:34px;display:flex;align-items:flex-start;justify-content:center;text-align:center}
.extraction-progress-notice{display:flex;align-items:center;gap:12px;margin-bottom:14px}.small-spinner{width:28px;height:28px;flex:0 0 auto}.inline-spinner{display:inline-block;width:12px;height:12px;border-width:2px;margin:0 5px 0 0;vertical-align:-2px}
.registration-document-card.processing{border-color:#efc66d;background:#fffdf6}.property-confirmation-section{border-color:#e5b9b4}.property-confirmation-section .registration-section-head{border-bottom-color:#f1d1ce}
@media(max-width:1200px){.dashboard-summary-row{grid-template-columns:1fr}.registration-shell{grid-template-columns:minmax(250px,30vw) minmax(0,1fr)}}
@media(max-width:850px){.registration-shell{grid-template-columns:1fr}.registration-shell .login-brand{display:none}.registration-shell .registration-panel{padding:24px 16px}.dashboard-summary-row>.card{min-height:0}.dashboard-summary-row .bar-chart,.dashboard-summary-row .finance-grid{height:auto;min-height:220px}.sidebar-bottom{background:#fff}}

/* v1.29.4 final PMO visual-system overrides: no decorative blue gradients */
.login-brand{background:var(--red)}
.documents-hero,.inspections-hero,.register-hero{background:#fffafa;border-color:#eadfdd}
.chat-log{background:#fff}
.inspection-intro{background:#f7f3f2}.inspection-step{background:var(--red)}
.documents-count b,.eyebrow{color:var(--red)}
.pill.blue{background:#f2eceb;color:#694b47}
.file-selection-list span,.requested-documents-details{background:#faf7f6}
.requested-documents-details summary{color:var(--red)}
.sidebar-backdrop{background:rgba(45,37,34,.48)}
@media(max-width:850px){.sidebar-close{border-color:#e4d9d7;background:#fff4f2;color:var(--red)}}
