:root{--bg:#f4f7f8;--panel:#fff;--ink:#17202a;--muted:#64748b;--line:#d9e2ec;--brand:#126a72;--brand2:#0d4e55;--gold:#f2b84b;--danger:#b42318;--warn:#b26a00;--ok:#18864b;--blue:#1f63b5;--shadow:0 10px 28px rgba(15,23,42,.08)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}.app-header{background:#0b3f46;color:#fff;padding:18px 24px;border-bottom:4px solid var(--gold);display:flex;align-items:center;justify-content:space-between;gap:16px}.app-header h1{margin:0;font-size:23px}.app-header p{margin:4px 0 0;color:#d5e6e9;font-size:13px}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 82px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:14px;position:sticky;top:0;height:calc(100vh - 82px)}.content{padding:18px}.nav{width:100%;border:0;background:#fff;text-align:left;padding:11px 12px;margin-bottom:6px;border-radius:7px;font-weight:700;cursor:pointer;color:var(--ink)}.nav:hover,.nav.active{background:var(--brand);color:#fff}.page{display:none}.page.active{display:block}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.page-head h2{margin:0;font-size:25px}.page-head p{margin:5px 0 0;color:var(--muted);font-size:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:15px;margin-bottom:14px;box-shadow:var(--shadow)}.card h3{margin:0 0 12px}.grid{display:grid;gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.metric{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;box-shadow:var(--shadow);min-height:100px}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:10px;font-size:23px}.form-grid{display:grid;gap:11px;margin-bottom:12px}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}label{display:block;font-size:12px;font-weight:700;color:#334155;margin-bottom:9px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:9px;font-size:14px;background:#fff;color:var(--ink);margin-top:5px}textarea{min-height:86px}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:6px;padding:9px 12px;font-weight:700;cursor:pointer}.btn:hover{background:var(--brand2)}.btn.secondary{background:#fff;color:var(--brand)}.btn.secondary:hover{background:#e6f2f3}.btn.danger{background:var(--danger);border-color:var(--danger)}.hint{color:var(--muted);font-size:12px;margin-bottom:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}table{width:100%;border-collapse:collapse;font-size:13px;min-width:880px}th,td{border-bottom:1px solid var(--line);padding:9px;text-align:left;vertical-align:top}th{background:#eef3f7;color:#27364a;white-space:nowrap}tr:last-child td{border-bottom:0}.num{text-align:right;white-space:nowrap}.center{text-align:center}.muted{color:var(--muted)}.pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#e9f6ef;color:var(--ok);white-space:nowrap}.pill.warn{background:#fff4df;color:var(--warn)}.pill.bad{background:#ffe7e4;color:var(--danger)}.bar-row{display:grid;grid-template-columns:180px 1fr 72px;gap:10px;align-items:center;margin-bottom:10px;font-size:13px}.bar{height:13px;background:#dfe8ef;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:var(--brand)}.bar i.cost{background:var(--warn)}@media(max-width:980px){.app-header,.page-head{flex-direction:column}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.nav{margin-bottom:0}.metrics,.grid.two,.form-grid.four{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr}}@media print{.app-header,.sidebar,.no-print,.btn,button{display:none!important}.app-shell{display:block}.content{padding:0}.page:not(.active){display:none}.card,.metric{box-shadow:none;border:1px solid #999}body{background:#fff}}
.login-screen{display:none;min-height:100vh;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#0b3f46 0%,#126a72 52%,#eef3f7 52%,#eef3f7 100%)}body.auth-locked .login-screen{display:flex}body.auth-locked .app-header,body.auth-locked .app-shell{display:none}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 50px rgba(15,23,42,.24);padding:24px}.login-card h2{margin:0 0 6px;font-size:26px}.login-card p{color:var(--muted);font-size:14px}.login-mark{width:54px;height:54px;border-radius:8px;background:#0b3f46;color:#fff;display:grid;place-items:center;font-weight:800;margin-bottom:16px;border-bottom:4px solid var(--gold)}.login-error{min-height:18px;color:var(--danger)!important;font-weight:700}.user-info{align-self:center;color:#d5e6e9;font-size:13px;font-weight:700;padding:0 4px}@media(max-width:640px){.login-screen{background:#eef3f7}.login-card{box-shadow:var(--shadow)}}

/* Database and reference menus */
.table-wrap{max-height:68vh}.table-wrap thead th{position:sticky;top:0;z-index:1}.selected-row td{background:#e7f4f5}.edit-table{max-height:46vh}.edit-table table{min-width:760px}.edit-table input,.edit-table select{min-width:96px;padding:7px;margin-top:0}.edit-actions{margin-top:12px}.card h4{margin:14px 0 10px;color:#334155}.hint b{color:var(--ink)}.page .grid.two > .card{min-width:0}.num b{font-variant-numeric:tabular-nums}td b,th{letter-spacing:0}.database-note{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px}.form-grid label input::placeholder{color:#94a3b8}@media(max-width:980px){.table-wrap{max-height:none}.page .grid.two{grid-template-columns:1fr}}

/* Merged AHSP workflow */
.sidebar-toggle{min-width:72px}.app-shell{transition:grid-template-columns .2s ease}body.sidebar-collapsed .app-shell{grid-template-columns:0 1fr}body.sidebar-collapsed .sidebar{padding-left:0;padding-right:0;overflow:hidden;border-right:0}.row-actions{gap:6px;flex-wrap:nowrap}.row-actions .btn{padding:7px 9px;font-size:12px}.ahsp-sheet{background:#fff;color:#000;overflow:auto}.ahsp-sheet-title{display:grid;grid-template-columns:100px minmax(420px,1fr) 160px;gap:10px;align-items:center;font-size:14px;margin-bottom:4px}.ahsp-sheet-title span{font-weight:700}.ahsp-sheet-title input{margin:0;padding:5px;font-weight:700}.ahsp-edit-meta{margin:8px 0}.ahsp-calc-table{min-width:960px;border-collapse:collapse;font-size:13px}.ahsp-calc-table th,.ahsp-calc-table td{border:1px solid #111;padding:3px 5px;vertical-align:middle}.ahsp-calc-table th{background:#fff;color:#000;text-align:center;font-weight:400}.ahsp-calc-table input{margin:0;border:1px solid #9ca3af;border-radius:0;padding:4px 5px;font-size:12px}.ahsp-group td{background:#fff;font-weight:400}.ahsp-subtotal td,.ahsp-total td{font-weight:700;background:#fafafa}.ahsp-subtotal td:first-child{text-align:center}.ahsp-total td{background:#f7f7f7}.ahsp-calc-table .num{text-align:right}.ahsp-calc-table .center{text-align:center}@media(max-width:980px){body.sidebar-collapsed .app-shell{grid-template-columns:1fr}body.sidebar-collapsed .sidebar{display:none}.row-actions{flex-wrap:wrap}.ahsp-sheet-title{grid-template-columns:1fr}.ahsp-sheet-title b:last-child{text-align:left}}

/* Production cleanup panels */
.collapsible-panel[hidden],.inline-editor[hidden]{display:none!important}.inline-editor{box-shadow:none;margin:12px 0;background:#f8fafc}.btn.mini{padding:5px 8px;font-size:12px}.ahsp-calc-table .btn.mini{margin:0}.ahsp-calc-table input{min-width:92px}.ahsp-calc-table td:nth-child(2) input{min-width:240px}.page-head .actions:empty{display:none}.mechanical-actions{margin-top:10px}

/* Reliable sidebar open/close */
.app-shell{position:relative;grid-template-columns:264px minmax(0,1fr)}.sidebar{overflow:hidden;transition:width .2s ease,padding .2s ease,border-color .2s ease}.content{min-width:0;padding-left:24px}.sidebar-float-toggle{position:sticky;top:12px;align-self:start;z-index:20;grid-column:1 / 3;width:max-content;margin:12px 0 0 12px;border:1px solid var(--brand);background:#fff;color:var(--brand);border-radius:6px;padding:8px 11px;font-weight:800;cursor:pointer;box-shadow:var(--shadow)}.sidebar-float-toggle:hover{background:#e6f2f3}body.sidebar-collapsed .app-shell{grid-template-columns:0 minmax(0,1fr)}body.sidebar-collapsed .sidebar{width:0;padding:0;border:0;visibility:hidden}body.sidebar-collapsed .content{grid-column:2;padding-left:24px}body.sidebar-collapsed .sidebar-float-toggle{grid-column:1 / 3;margin-left:12px;background:var(--brand);color:#fff}.app-shell > .sidebar-float-toggle + .sidebar{grid-column:1}.app-shell > .content{grid-column:2}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar-float-toggle{position:sticky;top:8px;grid-column:1;margin:8px 0 0 8px}.app-shell > .sidebar-float-toggle + .sidebar{grid-column:1}.app-shell > .content{grid-column:1}.sidebar{height:auto;position:static}.content{padding-left:18px}body.sidebar-collapsed .app-shell{grid-template-columns:1fr}body.sidebar-collapsed .content{grid-column:1;padding-left:18px}}

/* Header and action polish */
.app-header .actions{align-items:center}.app-header .btn{min-height:38px;padding:9px 15px;border-radius:7px;background:#fff;color:var(--brand);border-color:#d8eef0}.app-header .btn:hover{background:#edf8f9}.app-header .btn.danger{background:#c62828;color:#fff;border-color:#c62828}.app-header .btn.danger:hover{background:#a91f1f}.user-info{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border-radius:7px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);color:#fff;font-weight:800}.sidebar-float-toggle{width:50px;height:46px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;border-radius:8px;background:#fff;color:#263445;border-color:#d8e2ea;box-shadow:0 8px 18px rgba(15,23,42,.12)}.sidebar-float-toggle span{display:block;width:22px;height:3px;border-radius:999px;background:#263445;transition:transform .18s ease,opacity .18s ease}.sidebar-float-toggle:hover{background:#f8fbfd}.sidebar-float-toggle.is-closed{background:var(--brand);border-color:var(--brand)}.sidebar-float-toggle.is-closed span{background:#fff}.sidebar-float-toggle.is-closed span:nth-child(1){transform:translateY(8px) rotate(45deg)}.sidebar-float-toggle.is-closed span:nth-child(2){opacity:0}.sidebar-float-toggle.is-closed span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.price-actions{margin-bottom:12px}@media(max-width:760px){.app-header .actions{width:100%;justify-content:flex-start}.user-info{order:-1;width:100%;justify-content:center}.app-header .btn{flex:1 1 auto}}

/* Compact page actions */
.page-head{align-items:center}.page-head .action-top{margin-left:auto;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap}.page-head .action-top .btn,.card-head-row .btn{min-height:34px;padding:7px 11px;font-size:13px;border-radius:6px}.card-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.card-head-row h3{margin:0}.card.no-print:has(.actions:only-child){padding:10px 12px}.inline-editor{border-style:dashed}.row-actions{justify-content:flex-end}.row-actions .btn{min-height:30px}.content > .page > .card{margin-bottom:12px}.page-head + .card{margin-top:0}@media(max-width:760px){.page-head{align-items:stretch}.page-head .action-top{margin-left:0;justify-content:flex-start}.page-head .action-top .btn{flex:1 1 auto}.card-head-row{align-items:flex-start;flex-direction:column}}


/* Pagination for large master data */
.pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:10px 0 0}.pagination .page-info{font-size:13px;font-weight:800;color:var(--muted);padding:0 4px}.pagination .btn{min-height:32px;padding:6px 10px;font-size:13px}.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}@media(max-width:760px){.pagination{justify-content:flex-start}.pagination .btn{flex:1 1 auto}.pagination .page-info{width:100%;text-align:center;order:-1}}

/* AHSP master item selector */
.ahsp-calc-table select{margin:0;border:1px solid #9ca3af;border-radius:0;padding:4px 5px;font-size:12px;min-width:260px;background:#fff}
.ahsp-calc-table input[readonly]{background:#f3f6f8;color:#334155}
.ahsp-calc-table td:nth-child(2) select{width:100%}


/* Professional construction login */
body.auth-locked{background:#0f1f25}.login-screen{display:none;min-height:100vh;align-items:center;justify-content:center;padding:28px;background:#0f1f25;color:#17202a;position:relative;overflow:hidden}.login-screen:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;opacity:.55}.login-screen:after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:#f2b84b;clip-path:polygon(0 62%,100% 18%,100% 100%,0 100%);opacity:.95}body.auth-locked .login-screen{display:flex}.login-shell{width:min(1080px,100%);min-height:620px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);position:relative;z-index:1;background:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:0 28px 70px rgba(0,0,0,.34);overflow:hidden}.login-brand-panel{position:relative;background:#123d45;color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:620px}.login-brand-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:72px 72px}.login-brand-panel:after{content:"";position:absolute;right:-70px;bottom:44px;width:340px;height:180px;border:18px solid rgba(242,184,75,.42);transform:skewX(-18deg)}.login-brand-panel>*{position:relative;z-index:1}.login-brand-top{display:flex;align-items:center;gap:16px}.login-mark{width:66px;height:66px;border-radius:8px;background:#f2b84b;color:#10252c;display:grid;place-items:center;font-weight:900;font-size:20px;letter-spacing:0;border:0;box-shadow:inset 0 -5px 0 rgba(0,0,0,.18);margin:0}.login-kicker{margin:0 0 6px!important;text-transform:uppercase;letter-spacing:.08em;font-size:11px!important;font-weight:900;color:#f2b84b!important}.login-brand-panel h1{margin:0;font-size:34px;line-height:1.05;color:#fff}.login-lead{max-width:590px;margin:0;color:#dcecef!important;font-size:18px!important;line-height:1.6}.login-project-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.login-project-card>div{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:14px 13px;border-radius:7px}.login-project-card span{display:block;color:#b8d0d5;font-size:12px;font-weight:800}.login-project-card strong{display:block;margin-top:8px;color:#fff;font-size:21px}.login-status-strip{display:grid;grid-template-columns:14px 1fr;gap:5px 10px;align-items:center;background:#0b2c33;border-left:4px solid #f2b84b;padding:14px 16px;border-radius:7px}.login-status-strip span{width:11px;height:11px;border-radius:50%;background:#32d583;box-shadow:0 0 0 5px rgba(50,213,131,.15)}.login-status-strip b{font-size:14px}.login-status-strip small{grid-column:2;color:#b8d0d5;font-weight:700}.login-card{width:100%;border:0;border-radius:0;box-shadow:none;padding:52px 44px;background:#fff;display:flex;flex-direction:column;justify-content:center}.login-card-head{margin-bottom:20px}.login-card h2{margin:0 0 8px;font-size:30px;color:#14222d;letter-spacing:0}.login-card p{color:#64748b;font-size:14px;line-height:1.55}.login-card label{font-size:13px;color:#243447;margin-bottom:14px}.login-card input{height:46px;margin-top:7px;border-radius:7px;border-color:#cbd7e1;background:#f8fafc;font-size:15px}.login-card input:focus{outline:3px solid rgba(18,106,114,.16);border-color:#126a72;background:#fff}.login-submit{height:48px;margin-top:6px;border-radius:7px;background:#126a72;border-color:#126a72;font-size:15px}.login-submit:hover{background:#0d4e55}.login-error{min-height:22px;margin:12px 0 0!important;color:#b42318!important;font-weight:800}.login-footnote{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e2e8f0;padding-top:14px;color:#64748b;font-size:12px;font-weight:700}.login-footnote b{display:inline-flex;align-items:center;justify-content:center;min-width:64px;border-radius:999px;background:#e7f4f5;color:#126a72;padding:6px 10px;font-size:12px}.login-card .hint{display:none}@media(max-width:900px){.login-screen{padding:18px}.login-shell{grid-template-columns:1fr;min-height:auto}.login-brand-panel{min-height:auto;padding:28px}.login-brand-panel:after{display:none}.login-project-card{grid-template-columns:1fr}.login-card{padding:30px 24px}.login-brand-panel h1{font-size:28px}.login-lead{font-size:15px!important}}@media(max-width:520px){.login-screen{padding:0;align-items:stretch}.login-shell{min-height:100vh}.login-brand-panel{padding:24px 20px}.login-brand-top{align-items:flex-start}.login-mark{width:54px;height:54px;font-size:17px}.login-card{padding:28px 20px}.login-card h2{font-size:25px}.login-footnote{align-items:flex-start;flex-direction:column}.login-status-strip{grid-template-columns:12px 1fr}}


/* Polished workspace shell and sidebar */
body{background:#f3f6f8}.app-header{min-height:88px;padding:18px 22px;background:#0b444b;border-bottom:4px solid #f2b84b;box-shadow:0 2px 16px rgba(15,23,42,.12)}.app-header h1{font-size:28px;letter-spacing:0}.app-header p{font-size:14px}.app-header .actions{align-items:center;gap:10px}.app-header .btn{border-radius:8px;min-height:42px}.user-info{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);border-radius:8px}.app-shell{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:calc(100vh - 88px);position:relative;transition:grid-template-columns .2s ease;background:#f3f6f8}.sidebar{grid-column:1;position:sticky;top:0;height:calc(100vh - 88px);padding:16px;background:#fff;border-right:1px solid #d8e2ea;box-shadow:8px 0 26px rgba(15,23,42,.04);overflow:hidden;transition:padding .2s ease}.content{grid-column:2;min-width:0;padding:24px 32px 40px}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #edf2f7}.sidebar-brand{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-mark{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:#0b444b;color:#fff;font-weight:900;border-bottom:4px solid #f2b84b;flex:0 0 auto}.sidebar-title{display:flex;flex-direction:column;min-width:0}.sidebar-title b{font-size:14px;color:#17202a;line-height:1.1}.sidebar-title small{margin-top:3px;color:#64748b;font-size:11px;font-weight:700;white-space:nowrap}.sidebar-menu{display:flex;flex-direction:column;gap:5px}.nav{position:relative;width:100%;min-height:43px;margin:0;padding:11px 13px 11px 16px;border-radius:8px;background:transparent;color:#17202a;font-weight:800;letter-spacing:0;transition:background .15s ease,color .15s ease,transform .15s ease}.nav:before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:3px;border-radius:999px;background:transparent}.nav:hover{background:#eef7f8;color:#0d4e55}.nav.active{background:#126a72;color:#fff;box-shadow:0 8px 20px rgba(18,106,114,.18)}.nav.active:before{background:#f2b84b}.sidebar-float-toggle{position:static!important;grid-column:auto!important;z-index:auto;width:42px!important;height:38px!important;min-width:42px;margin:0!important;padding:0!important;border-radius:8px;border:1px solid #d8e2ea;background:#f8fafc;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-direction:column}.sidebar-float-toggle:hover{background:#eaf3f4;border-color:#b9d5d9}.sidebar-float-toggle span{width:20px;height:2px;background:#263445;border-radius:999px}.sidebar-float-toggle.is-closed{background:#126a72;border-color:#126a72}.sidebar-float-toggle.is-closed span{background:#fff}.sidebar-float-toggle.is-closed span:nth-child(1){transform:translateY(6px) rotate(45deg)}.sidebar-float-toggle.is-closed span:nth-child(2){opacity:0}.sidebar-float-toggle.is-closed span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}body.sidebar-collapsed .app-shell{grid-template-columns:72px minmax(0,1fr)!important}body.sidebar-collapsed .sidebar{width:auto!important;visibility:visible!important;padding:14px 10px;border-right:1px solid #d8e2ea}body.sidebar-collapsed .content{grid-column:2!important;padding-left:28px}body.sidebar-collapsed .sidebar-head{justify-content:center;border-bottom:0;padding-bottom:0;margin-bottom:0}body.sidebar-collapsed .sidebar-brand{display:none}.page-head{margin-bottom:16px;padding:0 0 2px}.page-head h2{font-size:29px;color:#10202b}.page-head p{font-size:15px;color:#52677f}.metrics{gap:14px;margin-bottom:16px}.metric{min-height:112px;border-color:#d7e3ed;border-radius:8px;padding:18px;background:#fff;box-shadow:0 14px 35px rgba(15,23,42,.07)}.metric span{font-size:14px;color:#52677f}.metric strong{font-size:27px;margin-top:9px;color:#071827}.card{border-radius:8px;border-color:#d7e3ed;padding:18px;box-shadow:0 14px 35px rgba(15,23,42,.06)}.card h3{font-size:22px;margin-bottom:14px;color:#071827}.grid{gap:14px}.grid.two{gap:14px}.table-wrap{border-color:#d7e3ed;border-radius:8px}th{background:#eef4f7;color:#10243a}.btn{border-radius:7px;min-height:38px}.btn.secondary{border-color:#126a72;background:#fff}.page-head>.btn.secondary{min-width:70px}@media(max-width:980px){.app-header{align-items:flex-start}.app-shell{grid-template-columns:1fr!important}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid #d8e2ea;padding:12px}.sidebar-head{margin-bottom:10px}.sidebar-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.content{grid-column:1!important;padding:18px}.nav{min-height:40px}body.sidebar-collapsed .app-shell{grid-template-columns:1fr!important}body.sidebar-collapsed .sidebar{display:block!important;height:auto;padding:10px}body.sidebar-collapsed .sidebar-head{justify-content:flex-start}body.sidebar-collapsed .sidebar-menu{display:none}body.sidebar-collapsed .content{grid-column:1!important;padding-left:18px}.metrics,.grid.two{grid-template-columns:1fr}}@media(max-width:680px){.app-header{padding:16px}.app-header h1{font-size:24px}.app-header .actions{width:100%}.app-header .btn{flex:1 1 auto}.sidebar-menu{grid-template-columns:1fr}.content{padding:14px}.page-head h2{font-size:25px}.metric{min-height:auto}.card{padding:14px}}


/* AHSP table footer controls */
.table-footer-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:12px}.table-footer-controls label{display:flex;align-items:center;gap:8px;margin:0;color:#52677f;font-size:13px}.table-footer-controls select{width:auto;min-width:92px;margin:0;padding:7px 28px 7px 9px}.table-footer-controls .pagination{padding:0;margin-left:auto}.table-footer-controls .pagination .page-info{white-space:nowrap}@media(max-width:760px){.table-footer-controls{align-items:stretch}.table-footer-controls label{justify-content:space-between;width:100%}.table-footer-controls select{width:120px}.table-footer-controls .pagination{width:100%;margin-left:0}}


/* Refined construction menu logo */
.sidebar-brand{gap:12px}.sidebar-mark{position:relative;width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:#0b444b;color:#fff;box-shadow:inset 0 -5px 0 rgba(0,0,0,.18),0 8px 18px rgba(11,68,75,.18);border:1px solid rgba(255,255,255,.18);overflow:hidden}.sidebar-mark:before{content:"";position:absolute;inset:auto -8px 0 -8px;height:12px;background:#f2b84b;transform:skewX(-22deg)}.sidebar-mark:after{content:"";position:absolute;left:9px;bottom:11px;width:24px;height:19px;border:2px solid #fff;border-bottom:0;border-radius:2px 2px 0 0;background:linear-gradient(90deg,transparent 0 30%,rgba(255,255,255,.28) 30% 37%,transparent 37% 63%,rgba(255,255,255,.28) 63% 70%,transparent 70%)}.sidebar-mark i{position:absolute;left:14px;bottom:12px;width:4px;height:8px;background:#fff;border-radius:1px}.sidebar-mark em{position:absolute;right:8px;top:8px;width:12px;height:12px;border:2px solid #f2b84b;border-radius:50%;font-style:normal}.sidebar-mark em:after{content:"";position:absolute;right:-5px;bottom:-5px;width:7px;height:2px;background:#f2b84b;transform:rotate(45deg);border-radius:99px}.sidebar-title b{font-size:15px;color:#10202b}.sidebar-title small{font-size:11.5px;color:#65788d}.sidebar-head{background:linear-gradient(180deg,#ffffff 0%,#f9fbfc 100%);border:1px solid #eef3f7;border-radius:10px;padding:10px;margin-bottom:13px}body.sidebar-collapsed .sidebar-head{background:transparent;border:0;padding:0}body.sidebar-collapsed .sidebar-brand{display:none}@media(max-width:980px){.sidebar-head{padding:9px}.sidebar-title b{font-size:14px}.sidebar-mark{width:40px;height:40px}}


/* Sidebar menu icons and collapsed rail */
.nav{display:flex;align-items:center;gap:11px}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-icon{position:relative;width:22px;height:22px;flex:0 0 22px;display:inline-grid;place-items:center;border-radius:6px;color:currentColor}.nav-icon:before,.nav-icon:after{content:"";position:absolute;box-sizing:border-box}.nav-dashboard:before{width:17px;height:12px;border:2px solid currentColor;border-radius:3px;bottom:4px}.nav-dashboard:after{width:7px;height:7px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);top:3px}.nav-price:before{width:16px;height:16px;border:2px solid currentColor;border-radius:50%}.nav-price:after{width:3px;height:10px;background:currentColor;border-radius:2px}.nav-ahsp:before{width:16px;height:18px;border:2px solid currentColor;border-radius:3px}.nav-ahsp:after{width:9px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor;left:7px;top:6px}.nav-mechanical:before{width:18px;height:8px;border:2px solid currentColor;border-radius:2px;transform:rotate(-35deg)}.nav-mechanical:after{width:5px;height:5px;background:currentColor;border-radius:50%;right:3px;bottom:4px;box-shadow:-11px 0 0 currentColor}.nav-rab:before{width:15px;height:18px;border:2px solid currentColor;border-radius:3px}.nav-rab:after{width:8px;height:2px;background:currentColor;top:7px;box-shadow:0 5px 0 currentColor}.nav-monitor:before{width:18px;height:14px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;left:2px;bottom:4px}.nav-monitor:after{width:15px;height:9px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:skew(-25deg) rotate(-10deg);left:5px;top:6px}.nav-report:before{width:15px;height:18px;border:2px solid currentColor;border-radius:3px}.nav-report:after{width:10px;height:2px;background:currentColor;top:7px;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor}.nav-user:before{width:8px;height:8px;border:2px solid currentColor;border-radius:50%;top:2px}.nav-user:after{width:16px;height:9px;border:2px solid currentColor;border-radius:10px 10px 3px 3px;bottom:2px}.nav-format:before{width:17px;height:14px;border:2px solid currentColor;border-radius:3px;bottom:3px}.nav-format:after{width:2px;height:14px;background:currentColor;left:8px;bottom:3px;box-shadow:6px 0 0 currentColor}.nav.active .nav-icon{background:rgba(255,255,255,.14)}body.sidebar-collapsed .app-shell{grid-template-columns:78px minmax(0,1fr)!important}body.sidebar-collapsed .sidebar{padding:12px 10px}body.sidebar-collapsed .sidebar-menu{display:flex!important;gap:8px;margin-top:12px}body.sidebar-collapsed .nav{justify-content:center;width:54px;height:46px;min-height:46px;padding:0;margin:0 auto;border-radius:10px}body.sidebar-collapsed .nav:before{display:none}body.sidebar-collapsed .nav-label{display:none}body.sidebar-collapsed .nav-icon{width:24px;height:24px;flex-basis:24px}body.sidebar-collapsed .nav.active{box-shadow:0 8px 18px rgba(18,106,114,.22)}body.sidebar-collapsed .sidebar-head{justify-content:center;border-bottom:1px solid #edf2f7;padding-bottom:10px;margin-bottom:0}body.sidebar-collapsed .sidebar-float-toggle{width:46px!important;height:40px!important}.nav[title]:hover:after{display:none}@media(max-width:980px){body.sidebar-collapsed .sidebar-menu{display:none!important}.nav{gap:9px}}


/* RAB production workflow */
.rab-approval-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f8fbfc;border-left:4px solid var(--gold)}.rab-approval-bar strong{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:18px;color:#0b444b}.rab-entry-grid .card h3{font-size:19px}.rab-project-print{margin:4px 0 14px;color:#000}.rab-project-print h3{text-align:center;margin:0 0 18px;font-size:18px}.rab-project-grid{display:grid;grid-template-columns:190px 14px minmax(220px,1fr);gap:6px 8px;max-width:760px;font-size:13px}.rab-project-grid span{color:#111}.rab-project-grid strong{font-weight:500}.rab-table-wrap{max-height:none;border-color:#111;border-radius:0}.rab-sheet-table{min-width:1220px;border-collapse:collapse;font-size:12px;color:#000}.rab-sheet-table th,.rab-sheet-table td{border:1px solid #111;padding:4px 5px;vertical-align:middle}.rab-sheet-table th{background:#cfcfcf;color:#000;text-align:center;font-weight:800}.rab-section-row td{background:#d8d8d8;font-weight:800;text-transform:uppercase}.rab-total-row td{background:#e5e5e5;font-weight:800}.rab-grand-row td{background:#c9c9c9;font-weight:900}.rab-sheet-table .btn.mini{min-height:28px;padding:5px 8px;font-size:12px}.rab-sheet-card .table-wrap thead th{position:sticky;top:0;z-index:2}@media print{.rab-project-print{display:block}.rab-sheet-card{border:0!important;padding:0!important}.rab-table-wrap{border:0!important}.rab-sheet-table{font-size:10px;min-width:0}.rab-sheet-table th,.rab-sheet-table td{padding:2px 3px}.rab-approval-bar,.rab-entry-grid,#rabSummary{display:none!important}}@media(max-width:980px){.rab-approval-bar{align-items:flex-start;flex-direction:column}.rab-project-grid{grid-template-columns:120px 10px 1fr}.rab-sheet-table{font-size:11px}}


/* Compact RAB add-item panels */
.rab-add-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.rab-add-toolbar h3{margin-bottom:4px}.rab-item-target{min-width:260px;max-width:360px;flex:1}.rab-add-actions{justify-content:flex-end}.rab-add-actions .btn.active,.rab-add-actions .btn.secondary.active{background:var(--brand);color:#fff;border-color:var(--brand)}.rab-entry-grid{display:block}.rab-entry-panel{margin-top:0;border-left:4px solid var(--brand)}.rab-entry-panel[hidden]{display:none!important}.rab-entry-panel .card-head-row{margin-bottom:14px}.rab-entry-panel .form-grid.four{grid-template-columns:repeat(4,minmax(150px,1fr))}@media(max-width:980px){.rab-add-toolbar{align-items:flex-start;flex-direction:column}.rab-item-target{width:100%;max-width:none}.rab-add-actions{width:100%;justify-content:flex-start}.rab-add-actions .btn{flex:1 1 180px}.rab-entry-panel .form-grid.four{grid-template-columns:1fr}}


/* RAB register and work groups */
.rab-group-manager .card-head-row{align-items:flex-start}.button-label{display:flex;align-items:flex-end}.button-label .btn{width:100%;margin-top:5px}.rab-register-status{display:inline-flex}.rab-add-toolbar{border-left:4px solid var(--brand)}#rabRegisterTable .row-actions{justify-content:flex-start}.rab-entry-panel input[readonly]{background:#f5f8fa;color:#64748b}@media(max-width:980px){.button-label .btn{width:auto}}


/* Clear separation between RAB group headers and priced manual items */
.rab-group-manager{border-left:4px solid var(--gold);background:#fffdf8}.rab-group-manager .pill{align-self:flex-start}.rab-entry-panel#rabManualPanel{border-left-color:var(--warn)}.rab-entry-panel#rabManualPanel .card-head-row h3:after{content:"Harga Manual";display:inline-flex;margin-left:8px;padding:3px 7px;border-radius:999px;background:#fff4df;color:var(--warn);font-size:11px;vertical-align:middle}.rab-group-manager input,.rab-group-manager select{background:#fff}


/* Searchable dropdowns and group import */
.select-source-hidden{display:none!important}.searchable-select{display:block;margin-top:5px}.searchable-select-input{margin-top:0}.rab-group-manager .actions{margin-top:6px}.rab-group-manager .btn.mini{min-height:30px}.button-label input[type=file]{display:none!important}


/* Guided RAB creation flow */
.rab-step-card .rab-step-head,.rab-add-toolbar{align-items:flex-start}.step-badge{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:8px;border-radius:8px;background:#0b444b;color:#fff;font-weight:900;border-bottom:3px solid var(--gold)}.rab-step-head h3,.rab-add-toolbar h3{display:inline-block;vertical-align:middle}.rab-step-card.is-collapsed #projectDataBody,.rab-step-card.is-collapsed #rabStatus{display:none!important}.rab-step-card.is-collapsed{padding-bottom:14px}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(15,23,42,.42);padding:20px}.modal-backdrop[hidden]{display:none!important}.modal-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:0 22px 60px rgba(15,23,42,.28)}.bad-text{color:var(--danger);font-weight:800;min-height:18px}.rab-group-manager .button-label .btn{min-height:42px}@media(max-width:760px){.modal-card{padding:14px}.rab-step-head{align-items:flex-start;flex-direction:column}}


/* Explicit RAB group rows */
.form-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.rab-empty-group td{background:#fbfdff;color:var(--muted);font-style:italic}.rab-section-row .btn.mini{float:right}@media(max-width:1180px){.form-grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.form-grid.five{grid-template-columns:1fr}}

/* Editable RAB detail rows */
.print-only{display:none}.rab-volume-input{width:82px;min-width:72px;margin:0;padding:4px 5px;border-radius:3px;text-align:right;font-size:12px;background:#fff}.rab-sheet-table .rab-volume-input{border:1px solid #9ca3af}@media print{.print-only{display:inline!important}.rab-volume-input{display:none!important}}

/* Approved RAB lock and compact table controls */
.rab-sheet-table th{white-space:normal;line-height:1.15;text-align:center;vertical-align:middle}.rab-sheet-table th:nth-child(1){width:34px}.rab-sheet-table th:nth-child(2){min-width:260px}.rab-sheet-table th:nth-child(3){width:88px}.rab-sheet-table th:nth-child(4){width:52px}.rab-sheet-table th:nth-child(5),.rab-sheet-table th:nth-child(7){width:118px}.rab-sheet-table th:nth-child(6),.rab-sheet-table th:nth-child(8){width:150px}.rab-sheet-table th:nth-child(9){width:210px}.rab-sheet-table th:nth-child(10){width:118px}.rab-sheet-table th:nth-child(11){width:70px}.rab-sheet-table th:nth-child(12){width:50px}.btn.btn-x{width:34px;min-width:34px;min-height:32px;padding:0;font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.rab-section-row .btn.btn-x{float:right}.rab-sheet-table td:nth-child(2){white-space:normal;line-height:1.2}.rab-sheet-table td:nth-child(12){text-align:center}

/* Final RAB audit and PDF signature form */
.rab-audit{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid #d7e3ed;border-left:4px solid var(--brand);border-radius:8px;background:#f8fbfc;color:#415872;font-size:12px}.rab-audit b{color:#0b444b;margin-right:2px}.rab-signatures{margin-top:42px;color:#000;background:linear-gradient(#e6e6e6 1px,transparent 1px),linear-gradient(90deg,#e6e6e6 1px,transparent 1px);background-size:36px 24px;padding:28px 28px 18px;border:1px solid transparent}.signature-date{text-align:right;font-size:12px;margin-bottom:8px;padding-right:18px}.signature-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:26px;text-align:center;align-items:end}.signature-grid div{min-height:132px;display:flex;flex-direction:column;justify-content:flex-end}.signature-grid span{font-size:12px;margin-bottom:auto}.signature-grid b{display:block;text-decoration:underline;font-size:12px}.signature-grid small{display:block;font-size:12px;color:#000}@media(max-width:980px){.signature-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:16px}.signature-date{text-align:left}}

@page{size:A4 landscape;margin:9mm}@media print{.rab-signatures{display:block;break-inside:avoid;margin-top:38px;padding:24px 24px 14px;border:0}.signature-grid{grid-template-columns:repeat(5,1fr);gap:18px}.signature-grid div{min-height:118px}.signature-date{font-size:10px}.signature-grid span,.signature-grid b,.signature-grid small{font-size:10px}.rab-sheet-table th{white-space:normal!important}.rab-sheet-table th:nth-child(12),.rab-sheet-table td:nth-child(12){display:none!important}.rab-sheet-table{width:100%!important}.rab-project-print h3{font-size:14px}.rab-project-grid{font-size:10px;grid-template-columns:150px 10px 1fr}.rab-sheet-table th,.rab-sheet-table td{border-color:#111!important}}

/* Dedicated clean PDF template */
.rab-signatures{display:none!important}.rab-print-template{display:none}.rab-print-page{font-family:Arial,Helvetica,sans-serif;color:#000;background:#fff;padding:0}.rab-print-page h1{margin:0 0 18px;text-align:center;font-size:17px;line-height:1.25}.rab-print-meta{display:grid;grid-template-columns:150px 12px minmax(280px,1fr);gap:5px 8px;margin:0 0 16px;font-size:12px}.rab-print-meta strong{font-weight:400}.rab-print-table{width:100%;border-collapse:collapse;font-size:10.5px;table-layout:fixed}.rab-print-table th,.rab-print-table td{border:1px solid #111;padding:4px 5px;vertical-align:middle}.rab-print-table th{background:#d0d0d0;text-align:center;font-weight:800;white-space:normal;line-height:1.1}.rab-print-table td:nth-child(1){width:30px;text-align:center}.rab-print-table td:nth-child(2){width:260px}.rab-print-table .num{text-align:right;white-space:nowrap}.rab-print-section td{background:#d8d8d8;font-weight:800;text-transform:uppercase}.rab-print-total td{background:#e3e3e3;font-weight:800}.rab-print-grand td{background:#c9c9c9;font-weight:900}.rab-print-signatures{margin-top:38px;background:linear-gradient(#e5e5e5 1px,transparent 1px),linear-gradient(90deg,#e5e5e5 1px,transparent 1px);background-size:36px 24px;padding:28px 20px 10px;break-inside:avoid}.rab-print-signatures .signature-date{text-align:right;font-size:10.5px;margin-bottom:8px;padding-right:34px}.rab-print-signatures .signature-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;text-align:center}.rab-print-signatures .signature-grid div{min-height:118px;display:flex;flex-direction:column;justify-content:flex-end}.rab-print-signatures .signature-grid span{font-size:10.5px;margin-bottom:auto}.rab-print-signatures .signature-grid b{font-size:10.5px;text-decoration:underline}.rab-print-signatures .signature-grid small{font-size:10.5px;color:#000}@media print{body.printing-rab{background:#fff!important}body.printing-rab .app-header,body.printing-rab .app-shell,body.printing-rab .login-screen{display:none!important}body.printing-rab .rab-print-template{display:block!important}body.printing-rab .rab-print-page{display:block!important}body.printing-rab .rab-print-table th:nth-child(1){width:30px}body.printing-rab .rab-print-table th:nth-child(2){width:265px}body.printing-rab .rab-print-table th:nth-child(3){width:48px}body.printing-rab .rab-print-table th:nth-child(4){width:42px}body.printing-rab .rab-print-table th:nth-child(5){width:90px}body.printing-rab .rab-print-table th:nth-child(6){width:120px}body.printing-rab .rab-print-table th:nth-child(7){width:90px}body.printing-rab .rab-print-table th:nth-child(8){width:118px}body.printing-rab .rab-print-table th:nth-child(9){width:180px}body.printing-rab .rab-print-table th:nth-child(10){width:95px}body.printing-rab .rab-print-table th:nth-child(11){width:58px}}

.rab-print-table{border:1.25px solid #111}.rab-print-table tr{break-inside:avoid}.rab-print-summary td,.rab-print-total td,.rab-print-grand td{border-top:1.25px solid #111!important;border-bottom:1.25px solid #111!important}.rab-print-summary td:first-child,.rab-print-total td:first-child,.rab-print-grand td:first-child{border-left:1.25px solid #111!important}.rab-print-summary td:last-child,.rab-print-total td:last-child,.rab-print-grand td:last-child{border-right:1.25px solid #111!important}

/* App confirmation dialog */
body.dialog-open{overflow:hidden}.app-dialog-backdrop{z-index:80;background:rgba(7,24,39,.56);backdrop-filter:blur(3px)}.app-dialog{width:min(520px,calc(100vw - 32px));background:#fff;border:1px solid rgba(215,227,237,.95);border-radius:14px;box-shadow:0 28px 80px rgba(7,24,39,.34);padding:24px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;position:relative;overflow:hidden}.app-dialog:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#0b444b,#126a72,#f2b84b)}.app-dialog-icon{width:58px;height:58px;border-radius:16px;background:#e7f4f5;display:grid;place-items:center;border:1px solid #c9e4e7}.app-dialog-icon span{position:relative;width:26px;height:26px;border:2px solid #0b444b;border-radius:6px;display:block}.app-dialog-icon span:before{content:"";position:absolute;left:6px;top:-8px;width:10px;height:10px;border:2px solid #f2b84b;border-bottom:0;border-radius:10px 10px 0 0}.app-dialog-icon span:after{content:"";position:absolute;left:6px;top:6px;width:10px;height:2px;background:#0b444b;box-shadow:0 5px 0 #0b444b}.app-dialog-body{min-width:0}.app-dialog-kicker{margin:2px 0 5px;color:#126a72;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}.app-dialog h3{margin:0 0 8px;font-size:22px;line-height:1.2;color:#071827}.app-dialog p{color:#52677f;line-height:1.55}.app-dialog-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.app-dialog-actions .btn{min-width:112px;border-radius:9px;min-height:42px}.app-dialog-actions .btn.secondary{border-color:#d7e3ed;color:#0b444b}.app-dialog-actions .btn.secondary:hover{background:#f5fafb}.app-dialog-actions .btn:focus{outline:3px solid rgba(18,106,114,.2);outline-offset:2px}@media(max-width:560px){.app-dialog{grid-template-columns:1fr;padding:20px}.app-dialog-icon{width:52px;height:52px}.app-dialog-actions{flex-direction:column-reverse}.app-dialog-actions .btn{width:100%}}

/* Mechanical profile price resolved from the Harga & Upah master */
.mechanical-price-cell{min-width:230px;white-space:normal}.mechanical-price-cell .muted{display:inline-block;margin-top:3px;font-size:12px;line-height:1.25}.mechanical-price-kg{min-width:135px;white-space:nowrap}.price-unmatched{color:#a64020;font-weight:800}

/* RAB workflow status */
.pill.info{background:#e7f0ff;color:#1f63b5}
.rab-register-status-cell{min-width:120px;max-width:150px;text-align:center}.rab-register-status-cell .pill{white-space:normal;text-align:center;justify-content:center;line-height:1.2;max-width:140px}

/* Mobilization toggle */
.toggle-field{display:flex;flex-direction:column;justify-content:flex-end}.toggle-control{display:flex;align-items:center;gap:9px;min-height:40px;margin-top:5px}.toggle-control input{position:absolute;opacity:0;pointer-events:none}.toggle-track{position:relative;width:44px;height:24px;border-radius:999px;background:#cbd5df;border:1px solid #b5c2ce;transition:background .18s ease,border-color .18s ease;cursor:pointer}.toggle-track:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.25);transition:transform .18s ease}.toggle-control input:checked+.toggle-track{background:var(--brand);border-color:var(--brand)}.toggle-control input:checked+.toggle-track:after{transform:translateX(20px)}.toggle-control b{color:#334155}.toggle-control input:focus-visible+.toggle-track{outline:3px solid rgba(18,106,114,.2);outline-offset:2px}

/* RAB version history */
.modal-card-wide{width:min(1180px,calc(100vw - 36px));max-height:90vh;overflow:auto}.rab-history-detail{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.rab-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.rab-history-head h3{margin:0}.rab-history-head p{margin:0;color:var(--muted)}@media(max-width:760px){.rab-history-head{flex-direction:column}}

/* Detail RAB with item code column */
.rab-sheet-table th:nth-child(1){width:34px}.rab-sheet-table th:nth-child(2){width:68px;min-width:68px}.rab-sheet-table th:nth-child(3){min-width:250px}.rab-sheet-table th:nth-child(4){width:88px}.rab-sheet-table th:nth-child(5){width:52px}.rab-sheet-table th:nth-child(6),.rab-sheet-table th:nth-child(8){width:118px}.rab-sheet-table th:nth-child(7),.rab-sheet-table th:nth-child(9){width:150px}.rab-sheet-table th:nth-child(10){width:210px}.rab-sheet-table th:nth-child(11){width:118px}.rab-sheet-table th:nth-child(12){width:70px}.rab-sheet-table th:nth-child(13){width:50px}.rab-sheet-table td:nth-child(3){white-space:normal;line-height:1.2}.rab-sheet-table td:nth-child(13){text-align:center}
.rab-print-table td:nth-child(2){width:55px;text-align:center}.rab-print-table td:nth-child(3){width:225px}
@media print{.rab-sheet-table th:nth-child(12),.rab-sheet-table td:nth-child(12){display:table-cell!important}.rab-sheet-table th:nth-child(13),.rab-sheet-table td:nth-child(13){display:none!important}body.printing-rab .rab-print-table th:nth-child(1){width:28px}body.printing-rab .rab-print-table th:nth-child(2){width:55px}body.printing-rab .rab-print-table th:nth-child(3){width:220px}body.printing-rab .rab-print-table th:nth-child(4){width:46px}body.printing-rab .rab-print-table th:nth-child(5){width:40px}body.printing-rab .rab-print-table th:nth-child(6){width:88px}body.printing-rab .rab-print-table th:nth-child(7){width:112px}body.printing-rab .rab-print-table th:nth-child(8){width:88px}body.printing-rab .rab-print-table th:nth-child(9){width:112px}body.printing-rab .rab-print-table th:nth-child(10){width:170px}body.printing-rab .rab-print-table th:nth-child(11){width:92px}body.printing-rab .rab-print-table th:nth-child(12){width:55px}}

/* RAB Subkon negotiation and labor allocation */
.nav-subkon:before{width:17px;height:13px;border:2px solid currentColor;border-radius:3px;bottom:3px}.nav-subkon:after{width:8px;height:5px;border:2px solid currentColor;border-bottom:0;border-radius:3px 3px 0 0;top:2px}
.subkon-offer-card{border-left:4px solid var(--brand)}.subkon-negotiation-grid{display:grid;grid-template-columns:1.15fr .75fr 1fr .75fr 1fr 1.15fr;gap:12px;align-items:end;margin:16px 0}.subkon-source-value,.subkon-bound{min-height:69px;border:1px solid var(--line);border-radius:7px;padding:11px 13px;background:#f7fafc;display:flex;flex-direction:column;justify-content:center}.subkon-source-value{border-left:4px solid var(--brand)}.subkon-bound.lower{border-left:4px solid var(--gold)}.subkon-bound.upper{border-left:4px solid #437b83}.subkon-source-value span,.subkon-bound span{color:var(--muted);font-size:12px}.subkon-source-value strong,.subkon-bound strong{margin-top:4px;font-size:18px;color:#071827}.subkon-rule{min-height:78px;border:1px solid #cce0e3;border-radius:7px;padding:12px 14px;background:#f3fafb;display:flex;flex-direction:column;justify-content:center}.subkon-rule b{color:var(--brand);margin-bottom:4px}.subkon-rule span{color:#52677f;font-size:13px;line-height:1.45}.input-error{border-color:var(--danger)!important;box-shadow:0 0 0 3px rgba(190,42,30,.12)!important}.subkon-detail-card{border-top:4px solid var(--brand)}.subkon-table{min-width:1080px}.subkon-table th:nth-child(1){width:34px}.subkon-table th:nth-child(2){width:70px;min-width:70px}.subkon-table th:nth-child(3){width:auto;min-width:260px}.subkon-table th:nth-child(4){width:70px}.subkon-table th:nth-child(5){width:55px}.subkon-table th:nth-child(6),.subkon-table th:nth-child(7),.subkon-table th:nth-child(8),.subkon-table th:nth-child(9){width:145px}.subkon-table th:nth-child(10){width:95px}.subkon-table td:nth-child(3){white-space:normal}.subkon-table td:nth-child(10){text-align:right}
@media(max-width:1200px){.subkon-negotiation-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media(max-width:760px){.subkon-negotiation-grid{grid-template-columns:1fr}.subkon-source-value,.subkon-bound{min-height:62px}}
@media print{body.printing-subkon .app-header,body.printing-subkon .sidebar,body.printing-subkon #rabSubkon>.page-head,body.printing-subkon #rabSubkon>.subkon-offer-card,body.printing-subkon #rabSubkon>.card:not(.subkon-detail-card){display:none!important}body.printing-subkon .app-shell{display:block!important}body.printing-subkon .content{padding:0!important}body.printing-subkon .page{display:none!important}body.printing-subkon #rabSubkon{display:block!important}body.printing-subkon .subkon-detail-card{display:block!important;border:0!important;box-shadow:none!important;padding:0!important}body.printing-subkon .subkon-detail-card .card-head-row{display:none!important}body.printing-subkon .subkon-table{width:100%!important;min-width:0!important;font-size:9.5px}body.printing-subkon .subkon-table th,body.printing-subkon .subkon-table td{padding:3px 4px!important;border-color:#111!important}body.printing-subkon .rab-project-print h3{font-size:14px}body.printing-subkon .rab-project-grid{font-size:10px;grid-template-columns:145px 10px 1fr}}
.subkon-table{min-width:1180px}.subkon-table th:nth-child(3){min-width:250px}.subkon-table th:nth-child(6),.subkon-table th:nth-child(7),.subkon-table th:nth-child(8),.subkon-table th:nth-child(9),.subkon-table th:nth-child(10){width:135px}.subkon-table th:nth-child(11){width:90px}.subkon-table td:nth-child(10),.subkon-table td:nth-child(11){text-align:right}

/* Final RAB Subkon print and contract */
.subkon-bound.retention{border-left:4px solid #6c5f9a}.subkon-sign-settings{margin:16px 0 0;border:1px solid var(--line);border-radius:7px;background:#fbfdff}.subkon-sign-settings summary{cursor:pointer;padding:12px 14px;color:var(--brand);font-weight:800}.subkon-sign-settings .form-grid{padding:0 14px 14px}.subkon-table{min-width:1040px}.subkon-table th:nth-child(1){width:34px}.subkon-table th:nth-child(2){width:72px;min-width:72px}.subkon-table th:nth-child(3){width:auto;min-width:280px}.subkon-table th:nth-child(4){width:70px}.subkon-table th:nth-child(5){width:55px}.subkon-table th:nth-child(6),.subkon-table th:nth-child(7),.subkon-table th:nth-child(8){width:155px}.subkon-table th:nth-child(9){width:92px}.subkon-table td:nth-child(9){text-align:right}.subkon-print-signatures{display:none;margin-top:38px;color:#000}.subkon-signature-date{text-align:right;font-size:11px;margin-bottom:8px;padding-right:28px}.subkon-signature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}.subkon-signature-grid>div{min-height:125px;display:flex;flex-direction:column;justify-content:flex-end}.subkon-signature-grid span{margin-bottom:auto;font-size:11px}.subkon-signature-grid b{font-size:11px;text-decoration:underline}.subkon-signature-grid small{font-size:10px;color:#000}.subkon-contract-print{display:none}.subkon-contract-page{page:subkon-contract;font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff;font-size:11.5px;line-height:1.45}.subkon-contract-page>header{display:flex;align-items:center;gap:13px;border-bottom:2px solid #0b444b;padding-bottom:9px;margin-bottom:16px}.subkon-contract-page>header>div:last-child{display:flex;flex-direction:column}.subkon-contract-page>header span{font-size:10px;color:#46576b}.contract-brand{width:66px;height:42px;border:2px solid #0b444b;display:grid;place-items:center;color:#0b444b;font-weight:900;font-size:18px}.subkon-contract-page h1{text-align:center;font-size:16px;margin:0 0 3px}.contract-number{text-align:center;margin:0 0 18px}.contract-meta{border-collapse:collapse;margin:10px 0 16px;width:100%}.contract-meta td{padding:2px 4px;vertical-align:top}.contract-meta td:first-child{width:145px}.contract-meta td:nth-child(2){width:12px}.subkon-contract-page section{margin:0 0 10px;break-inside:avoid}.subkon-contract-page h2{font-size:12px;margin:0 0 3px}.subkon-contract-page p{margin:0 0 7px;text-align:justify}.contract-scope{list-style:none;margin:6px 0 0;padding:0 0 0 12px;columns:2;column-gap:24px}.contract-scope li{break-inside:avoid;margin-bottom:2px}.contract-closing{margin-top:14px!important}.contract-signatures{display:grid;grid-template-columns:1fr 1fr;gap:100px;text-align:center;margin-top:28px;break-inside:avoid}.contract-signatures>div{min-height:130px;display:flex;flex-direction:column;justify-content:flex-end}.contract-signatures span{margin-bottom:auto}.contract-signatures b{text-decoration:underline}.contract-signatures small{font-size:10px}
@page subkon-contract{size:A4 portrait;margin:14mm}@media print{body.printing-subkon .subkon-print-signatures{display:block!important}body.printing-subkon .subkon-table{min-width:0!important;font-size:9.5px}body.printing-subkon .subkon-table th:nth-child(1){width:28px}body.printing-subkon .subkon-table th:nth-child(2){width:55px}body.printing-subkon .subkon-table th:nth-child(3){width:270px}body.printing-subkon .subkon-table th:nth-child(4){width:48px}body.printing-subkon .subkon-table th:nth-child(5){width:42px}body.printing-subkon .subkon-table th:nth-child(6),body.printing-subkon .subkon-table th:nth-child(7),body.printing-subkon .subkon-table th:nth-child(8){width:122px}body.printing-subkon .subkon-table th:nth-child(9){width:74px}body.printing-subkon-contract .app-header,body.printing-subkon-contract .app-shell,body.printing-subkon-contract .login-screen,body.printing-subkon-contract #rabPrintTemplate{display:none!important}body.printing-subkon-contract .subkon-contract-print{display:block!important}body.printing-subkon-contract{background:#fff!important}}

/* Compact guided Subkon offer form */
.subkon-form-section{padding:15px 0;border-top:1px solid #e2eaf1}.subkon-form-section:first-of-type{border-top:0;padding-top:4px}.subkon-section-label{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#0b444b}.subkon-section-label span{width:23px;height:23px;display:grid;place-items:center;border-radius:6px;background:#0b444b;color:#fff;font-size:12px;font-weight:900}.subkon-section-label b{font-size:14px}.subkon-value-grid{display:grid;grid-template-columns:minmax(210px,1fr) minmax(260px,1.25fr) minmax(260px,1.1fr);gap:14px;align-items:end}.subkon-value-grid .subkon-source-value,.subkon-value-grid .subkon-bound{min-height:72px}.subkon-value-grid label{margin:0}.subkon-bound.offer-range{border-left:4px solid var(--gold)}.subkon-bound small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.subkon-value-hint{margin:8px 0 0}.form-grid.one{grid-template-columns:1fr}.subkon-form-section textarea{min-height:72px}.subkon-document-settings{margin-top:10px}.subkon-document-settings summary{display:flex;align-items:center;gap:8px}.subkon-document-settings summary:before{content:"⚙";font-size:16px}.subkon-settings-intro{padding:0 14px;margin:0 0 12px}.subkon-settings-divider{display:flex;align-items:center;gap:10px;padding:2px 14px 12px;color:#52677f;font-size:12px;font-weight:800;text-transform:uppercase}.subkon-settings-divider:before,.subkon-settings-divider:after{content:"";height:1px;background:#dce5ec;flex:1}.subkon-contract-settings{border-bottom:1px solid #e5edf3;margin-bottom:12px}.subkon-offer-card>.edit-actions{margin-top:14px}
@media(max-width:1050px){.subkon-value-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.subkon-value-grid label{grid-column:1/-1}}@media(max-width:680px){.subkon-value-grid{grid-template-columns:1fr}.subkon-value-grid label{grid-column:auto}.subkon-section-label{margin-bottom:8px}.subkon-form-section{padding:12px 0}}
.subkon-document-settings summary:before{content:"";width:14px;height:14px;border:2px solid currentColor;border-radius:50%;box-shadow:inset 0 0 0 3px #fff}

/* Create RAB calculation and document settings */
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.rab-document-settings{margin-top:15px;border:1px solid var(--line);border-radius:7px;background:#fbfdff}.rab-document-settings summary{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;color:var(--brand);font-weight:800}.rab-document-settings summary:before{content:"";width:14px;height:14px;border:2px solid currentColor;border-radius:50%;box-shadow:inset 0 0 0 3px #fff}.rab-document-settings .settings-intro{padding:0 14px;margin:0 0 12px}.rab-calculation-settings{padding:0 14px 14px;border-bottom:1px solid #e4ebf1}.settings-divider{display:flex;align-items:center;gap:10px;padding:14px 14px 11px;color:#52677f;font-size:12px;font-weight:800;text-transform:uppercase}.settings-divider:before,.settings-divider:after{content:"";height:1px;background:#dce5ec;flex:1}.rab-sign-meta{padding:0 14px 12px}.rab-sign-settings-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:0;padding:0 14px 14px}.rab-sign-settings-grid>div{padding:0 12px;border-left:1px solid #dce5ec}.rab-sign-settings-grid>div:first-child{padding-left:0;border-left:0}.rab-sign-settings-grid>div:last-child{padding-right:0}.rab-sign-settings-grid>div>b{display:block;margin-bottom:8px;color:#0b444b;font-size:12px}.rab-sign-settings-grid label+label{margin-top:8px}
@media(max-width:1200px){.rab-sign-settings-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px}.rab-sign-settings-grid>div,.rab-sign-settings-grid>div:first-child,.rab-sign-settings-grid>div:last-child{padding:0;border-left:0}}@media(max-width:760px){.form-grid.three,.rab-sign-settings-grid{grid-template-columns:1fr}.rab-sign-settings-grid{gap:14px}}

/* Subcontract availability and compact list-first workflow */
.subkon-offer-card[hidden]{display:none!important}.rab-subkon-state{min-width:118px;text-align:center}.rab-subkon-state .pill{white-space:normal;justify-content:center;text-align:center;line-height:1.15}.pill.muted-pill{background:#edf2f6;color:#607286}.subkon-offer-card .card-head-row>.actions{align-items:center}.subkon-offer-card .card-head-row>.actions .pill{margin:0}

/* Compact RAB register columns */
.rab-register-user{min-width:145px}.rab-register-user b,.rab-register-user span,.rab-addendum-line{display:block}.rab-register-user span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.25}.rab-register-status-cell .rab-addendum-line{margin-top:6px;color:#52677f;font-size:11px;font-weight:800;line-height:1.2}.rab-register-status-cell{vertical-align:middle}

/* Compact work-group actions */
.rab-group-action-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;align-items:end;gap:12px}.rab-group-action-row>.btn{min-height:42px;white-space:nowrap}.rab-group-picker{min-width:0}.rab-group-utilities{display:flex;align-items:center;gap:6px;padding-bottom:1px}.rab-group-utilities .btn.mini{min-height:34px;padding:6px 10px;font-size:12px;white-space:nowrap}.rab-group-utilities input[type=file]{display:none!important}@media(max-width:1100px){.rab-group-action-row{grid-template-columns:minmax(260px,1fr) auto auto}.rab-group-utilities{grid-column:2/-1;justify-content:flex-end}}@media(max-width:720px){.rab-group-action-row{grid-template-columns:1fr}.rab-group-action-row>.btn{width:100%}.rab-group-utilities{grid-column:auto;justify-content:flex-start}}

/* Labor-only RAB Subkon table */
.subkon-table{min-width:940px}.subkon-table th:nth-child(6),.subkon-table th:nth-child(7){width:160px}.subkon-table th:nth-child(8){width:92px}.subkon-table td:nth-child(8){text-align:right}@media print{body.printing-subkon .subkon-table th:nth-child(6),body.printing-subkon .subkon-table th:nth-child(7){width:130px}body.printing-subkon .subkon-table th:nth-child(8){width:74px}}

/* Material needs and subcontractor opname */
.nav-material:before{width:17px;height:13px;border:2px solid currentColor;border-radius:2px;bottom:3px}.nav-material:after{width:8px;height:4px;border:2px solid currentColor;border-bottom:0;border-radius:4px 4px 0 0;top:3px}.nav-opname:before{width:17px;height:17px;border:2px solid currentColor;border-radius:3px}.nav-opname:after{width:8px;height:4px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);top:7px}.material-source-card{border-left:4px solid var(--brand)}.material-metrics:empty{display:none}.material-request-qty{min-width:100px;width:120px;text-align:right}.material-need-check{width:18px;height:18px;accent-color:var(--brand)}#materialNeedTable th:first-child{width:54px}#materialNeedTable th:nth-child(4){width:80px}#materialNeedTable th:nth-child(5){width:135px}#materialNeedTable th:nth-child(6),#materialNeedTable th:nth-child(7){width:145px}#materialNeedTable th:nth-child(8){width:130px}.opname-source-card{border-left:4px solid var(--brand)}.opname-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(330px,.72fr);gap:16px;align-items:start}.opname-items-card{min-width:0}.opname-side{display:grid;gap:14px;position:sticky;top:18px}.opname-summary{background:#0d2f35;color:#e7f0f2;border-radius:8px;padding:19px;box-shadow:0 12px 28px rgba(8,40,46,.18)}.opname-summary-title{color:#7fd3dc;text-transform:uppercase;font-size:11px;font-weight:900;margin-bottom:12px}.opname-summary-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:12px}.opname-summary-row span{color:#b7c8cd}.opname-summary-row b{white-space:nowrap;color:#fff}.opname-summary-row.deduction b{color:#ff8894}.opname-summary-row.emphasis span,.opname-summary-row.emphasis b{color:#9cccf5;font-weight:900}.opname-summary-row.success span,.opname-summary-row.success b{color:#5de0b1}.opname-net{margin-top:14px;border:1px solid #277884;border-radius:7px;padding:15px;background:#133f48}.opname-net span{display:block;color:#9ed8df;text-transform:uppercase;font-size:10px;font-weight:900}.opname-net strong{display:block;margin-top:5px;font-size:25px;color:#fff}.opname-group-row td{background:#eef4f7;font-weight:900;color:#0b444b}.opname-progress-input{width:110px;text-align:right;font-weight:800}.opname-previous{display:inline-block;padding:4px 8px;border-radius:5px;background:#edf3fa;color:#35628d;font-weight:800}.opname-field-card h3{font-size:16px}.opname-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:90px;border:2px dashed #bfd3dc;border-radius:7px;background:#f8fbfc;cursor:pointer;text-align:center}.opname-upload b{color:var(--brand)}.opname-upload span{margin-top:4px;color:var(--muted);font-size:11px}.opname-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.opname-photo-grid>p{grid-column:1/-1}.opname-photo-grid figure{position:relative;margin:0;min-width:0}.opname-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:5px}.opname-photo-grid figcaption{margin-top:3px;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opname-photo-grid .btn-x{position:absolute;right:4px;top:4px;width:26px;min-width:26px;min-height:26px;font-size:17px}.opname-field-card textarea{resize:vertical}.opname-submit{width:100%;min-height:46px}.opname-detail-notes{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.opname-detail-notes h4{margin:0 0 8px}.opname-detail-notes p{white-space:pre-wrap;color:#52677f}.opname-detail-notes .opname-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){.opname-layout{grid-template-columns:1fr}.opname-side{position:static;grid-template-columns:1fr 1fr}.opname-summary,.opname-submit{grid-column:1/-1}}@media(max-width:760px){.opname-side{grid-template-columns:1fr}.opname-summary,.opname-submit{grid-column:auto}.opname-detail-notes{grid-template-columns:1fr}.opname-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* List-first Material and Opname workflows */
#materialRequestFormPanel[hidden],#opnameEntryPanel[hidden],#materialRequestListCard[hidden],#opnameListCard[hidden]{display:none!important}#materialRequestFormPanel,#opnameEntryPanel{animation:panel-in .16s ease-out}@keyframes panel-in{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}#materialNeedTable th:nth-child(5),#materialNeedTable th:nth-child(6),#materialNeedTable th:nth-child(7),#materialNeedTable th:nth-child(8){width:135px}#materialNeedTable td:nth-child(5),#materialNeedTable td:nth-child(6),#materialNeedTable td:nth-child(7){text-align:right}.purchase-signatures{margin-top:38px;color:#000}.purchase-signature-date{text-align:right;margin-bottom:8px;font-size:12px}.purchase-signature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}.purchase-signature-grid>div{min-height:125px;display:flex;flex-direction:column;justify-content:flex-end}.purchase-signature-grid span{margin-bottom:auto;font-size:12px}.purchase-signature-grid b{text-decoration:underline;font-size:12px}.purchase-signature-grid small{font-size:11px;color:#000}.material-request-print{display:none}.material-request-print-page{page:material-request;font-family:Arial,Helvetica,sans-serif;color:#000;background:#fff;font-size:11px}.material-request-print-page h1{text-align:center;font-size:17px;margin:0 0 18px}.request-print-meta{display:grid;grid-template-columns:130px 12px 1fr;gap:5px 8px;margin-bottom:16px}.request-print-meta strong{font-weight:400}.material-request-print-page table{width:100%;border-collapse:collapse;table-layout:fixed}.material-request-print-page th,.material-request-print-page td{border:1px solid #111;padding:5px;vertical-align:middle}.material-request-print-page th{background:#d7d7d7;text-align:center}.material-request-print-page th:first-child{width:34px}.material-request-print-page th:nth-child(2){width:85px}.material-request-print-page th:nth-child(4){width:65px}.material-request-print-page th:nth-child(5){width:110px}.material-request-print-page th:nth-child(6){width:190px}.material-request-print-page .num{text-align:right}
@page material-request{size:A4 portrait;margin:14mm}@media print{body.printing-material-request .app-header,body.printing-material-request .app-shell,body.printing-material-request .login-screen,body.printing-material-request #rabPrintTemplate,body.printing-material-request #subkonContractPrintTemplate{display:none!important}body.printing-material-request .material-request-print{display:block!important}body.printing-material-request{background:#fff!important}}
@media(max-width:760px){.purchase-signature-grid{grid-template-columns:repeat(2,1fr)}}

/* Opname report view and dedicated print template */
.opname-print-template{display:none}.opname-report-view{background:#eef2f5;padding:14px;border-radius:7px}.opname-report{font-family:Arial,Helvetica,sans-serif;color:#000;background:#fff;padding:18px;line-height:1.4;font-size:11px}.opname-report-header{text-align:center;border-bottom:3px solid #1e293b;padding-bottom:10px;margin-bottom:15px}.opname-report-header h1{margin:0;color:#1e293b;text-transform:uppercase;font-size:18px}.opname-report-header p{margin:5px 0 0;font-size:11px}.report-section-title{margin:15px 0 9px;padding:5px 0;font-size:12px;color:#111}.report-info-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:15px}.report-info-table td{padding:6px;border-bottom:1px solid #e8edf2;vertical-align:top}.report-info-table .label{width:18%;background:#f7f9fb;font-weight:800}.report-blue{color:#2563eb}.report-main-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:15px;font-size:9px}.report-main-table th{padding:6px;border:1px solid #cbd5e1;background:#eef2f6;color:#1e293b;text-align:center;white-space:normal}.report-main-table td{padding:5px;border:1px solid #cbd5e1;vertical-align:middle}.report-main-table small{display:block;margin-top:2px;font-size:8px}.report-payment-table th:first-child{width:15%}.report-payment-table th:nth-child(3),.report-payment-table th:nth-child(4){width:20%}.report-budget-row{background:#fefce8}.report-empty{padding:15px!important;background:#f3f3f3}.report-category{background:#f8fafc;font-weight:900;color:#1e293b}.report-total-row{background:#eef2f6;font-weight:900}.report-final-row{background:#1e293b;color:#fff;font-weight:900;text-transform:uppercase}.report-negative{color:#dc3545}.report-emphasis{background:#f1f5f9;font-weight:900}.report-wage-summary{margin:20px 0 15px;padding:14px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;break-inside:avoid}.report-wage-summary h3{margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid #1e293b;color:#1e293b;text-transform:uppercase;font-size:11px}.report-wage-summary table{width:100%;border-collapse:collapse;line-height:1.8}.report-wage-summary td{padding:3px 6px}.report-net-row{background:#1e293b;color:#fff;font-size:13px;font-weight:900;text-transform:uppercase}.report-field-section{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;padding:12px;border:1px solid #d8e0e7;background:#fafcfd;break-inside:avoid}.report-field-section h4{margin:0 0 7px}.report-field-section p{white-space:pre-wrap;margin:0}.report-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.report-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #cbd5e1}.report-photo-grid figure{margin:0}.report-photo-grid figcaption{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-signatures{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;margin-top:35px;break-inside:avoid}.report-signatures>div{min-height:110px;display:flex;flex-direction:column;justify-content:flex-end}.report-signatures span{margin-bottom:auto}.report-signatures b{text-decoration:underline;text-transform:uppercase}.report-signatures small{font-size:9px}.opname-report footer{margin-top:28px;padding-top:7px;border-top:1px solid #e2e8f0;text-align:right;font-size:8px}.opname-report .num{text-align:right}.opname-report .center{text-align:center}
@page opname-report{size:A4 portrait;margin:9mm}.opname-print-template .opname-report{page:opname-report;padding:0}@media print{body.printing-opname-report .app-header,body.printing-opname-report .app-shell,body.printing-opname-report .login-screen,body.printing-opname-report #rabPrintTemplate,body.printing-opname-report #subkonContractPrintTemplate,body.printing-opname-report #materialRequestPrintTemplate{display:none!important}body.printing-opname-report .opname-print-template{display:block!important}body.printing-opname-report{background:#fff!important}.opname-print-template .opname-report{font-size:9.5px}.opname-print-template .report-info-table td{padding:4px}.opname-print-template .report-main-table th,.opname-print-template .report-main-table td{padding:4px}.opname-print-template .report-wage-summary{margin:12px 0;padding:10px}.opname-print-template .report-field-section{padding:8px}.opname-print-template .report-signatures{margin-top:24px}.opname-print-template .report-signatures>div{min-height:85px}}
@media(max-width:760px){.opname-report-view{padding:5px}.opname-report{padding:10px}.report-field-section{grid-template-columns:1fr}.report-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-signatures{grid-template-columns:repeat(2,1fr)}}

.opname-detail-page{width:100%}.opname-detail-page .page-head{margin-bottom:12px;padding:15px 18px;border:1px solid #d6e1e8;border-radius:7px;background:#fff}.opname-detail-page .opname-report-view{overflow-x:auto;border:1px solid #d6e1e8}.opname-detail-page .opname-report{max-width:1050px;margin:0 auto}.opname-detail-table .col-work{width:31%}.opname-detail-table .col-volume{width:7%}.opname-detail-table .col-unit{width:6%}.opname-detail-table .col-price{width:13%}.opname-detail-table .col-total{width:13%}.opname-detail-table .col-weight{width:9%}.opname-detail-table .col-progress{width:9%}.opname-detail-table .col-achieved{width:12%}.documentation-note{min-height:55px;padding:12px;border:1px solid #cbd5e1;background:#f8fafc;white-space:pre-wrap}.documentation-photo-grid{font-size:0}.documentation-photo-grid figure{display:inline-block;width:48%;margin:0 2% 12px 0;vertical-align:top;page-break-inside:avoid}.documentation-photo-grid figure:nth-child(even){margin-right:0}.documentation-photo-grid img{display:block;width:100%;height:220px;object-fit:cover;border:1px solid #cbd5e1}.documentation-photo-grid figcaption{padding:5px 0;font-size:9px;color:#475569}.pdf-control-value{display:inline-block;min-width:38px;padding:3px 5px;border:1px solid #94a3b8;background:#fff}.pdf-document .opname-report{padding:0;font-size:8.5px}.pdf-document .opname-report-header{margin-bottom:9px;padding-bottom:7px}.pdf-document .opname-report-header h1{font-size:14px}.pdf-document .report-section-title{margin:9px 0 5px;font-size:10px}.pdf-document .report-info-table{margin-bottom:8px;font-size:8px}.pdf-document .report-info-table td{padding:3px}.pdf-document .report-main-table{margin-bottom:8px;font-size:7.3px}.pdf-document .report-main-table th,.pdf-document .report-main-table td{padding:3px 2px}.pdf-document .report-wage-summary{margin:9px 0;padding:7px}.pdf-document .report-wage-summary table{line-height:1.35;font-size:8px}.pdf-document .report-signatures{display:table;width:100%;table-layout:fixed;margin-top:20px}.pdf-document .report-signatures>div{display:table-cell;height:65px;min-height:0;padding:0 5px;vertical-align:bottom}.pdf-document .report-signatures>div span{display:block;height:38px}.pdf-document .report-signatures b,.pdf-document .report-signatures small{display:block}.pdf-document .documentation-photo-grid img{height:205px}.pdf-document .documentation-note{font-size:9px}.pdf-document .card,.pdf-document .opname-report-view{border:0!important;box-shadow:none!important;background:#fff!important;padding:0!important}.pdf-document .table-wrap{overflow:visible!important}.pdf-document footer{page-break-inside:avoid}
.pdf-document table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important}.pdf-document th,.pdf-document td{overflow-wrap:anywhere;word-wrap:break-word}.pdf-document .opname-report{width:100%;max-width:none}

/* Grouped navigation and documentation gallery */
.sidebar-menu{max-height:calc(100vh - 190px);overflow-y:auto;padding-right:3px}.sidebar-group-label{margin:10px 10px 3px;color:#8a9aac;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.sidebar-group-label:first-child{margin-top:2px}body.sidebar-collapsed .sidebar-group-label{display:none}.nav-gallery:before{width:18px;height:15px;border:2px solid currentColor;border-radius:3px;bottom:2px}.nav-gallery:after{width:6px;height:6px;border:2px solid currentColor;border-radius:50%;top:2px;right:1px;box-shadow:-8px 7px 0 -2px currentColor}.subkon-progress-cell b,.subkon-progress-cell span{display:block}.subkon-progress-cell b{color:#126a72}.subkon-progress-cell span{margin-top:3px;color:#64748b;font-size:11px;white-space:nowrap}.documentation-gallery-grid{display:flex;flex-direction:column;gap:22px}.gallery-project-group{padding:0 0 20px;border-bottom:1px solid #d7e3ed}.gallery-project-group:last-child{border-bottom:0}.gallery-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.gallery-group-head h3{margin:0;color:#10202b;font-size:20px}.gallery-group-head p{margin:4px 0 0;color:#52677f}.gallery-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery-photo-card{overflow:hidden;border:1px solid #d7e3ed;border-radius:8px;background:#fff;box-shadow:0 10px 25px rgba(15,23,42,.06)}.gallery-photo-card a{display:block;aspect-ratio:4/3;overflow:hidden;background:#e8eef2}.gallery-photo-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.gallery-photo-card a:hover img{transform:scale(1.025)}.gallery-photo-meta{display:flex;flex-direction:column;gap:4px;padding:11px}.gallery-photo-meta b{color:#0b444b;font-size:13px}.gallery-photo-meta span,.gallery-photo-meta small{color:#64748b;font-size:11px}.gallery-photo-meta p{margin:5px 0 0;padding-top:7px;border-top:1px solid #edf2f7;color:#334155;font-size:12px;line-height:1.4}.gallery-empty{text-align:center}.gallery-filter-card{margin-bottom:18px}@media(max-width:1200px){.gallery-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.gallery-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-group-label{display:none}}@media(max-width:520px){.gallery-photo-grid{grid-template-columns:1fr}}

/* Documentation gallery grouped by RAB */
.subkon-rab-print-template{display:none!important}.gallery-filter-card{border-top:3px solid var(--brand);box-shadow:0 8px 24px rgba(15,23,42,.06)}.gallery-rab-group{overflow:hidden;border:1px solid #d4e0e7;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.07)}.gallery-rab-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 19px;background:#f7fafb;border-bottom:1px solid #dbe5ea}.gallery-rab-title{min-width:0}.gallery-rab-kicker{display:block;margin-bottom:5px;color:var(--brand);font-size:10px;font-weight:900;letter-spacing:.08em}.gallery-rab-title h3{margin:0;overflow-wrap:anywhere;color:#10202b;font-size:18px}.gallery-rab-title p{margin:5px 0 2px;color:#334155;font-size:13px}.gallery-rab-title small{color:#64748b}.gallery-rab-stats{display:grid;grid-template-columns:repeat(3,75px);gap:8px;flex:0 0 auto}.gallery-rab-stats>div{padding:8px;border:1px solid #d6e2e8;border-radius:6px;background:#fff;text-align:center}.gallery-rab-stats span,.gallery-rab-stats b{display:block}.gallery-rab-stats span{color:#64748b;font-size:9px;text-transform:uppercase}.gallery-rab-stats b{margin-top:4px;color:#0b4d55;font-size:14px}.gallery-rab-group .gallery-photo-grid{padding:16px}.gallery-photo-card a{position:relative}.gallery-photo-progress{position:absolute;right:8px;top:8px;padding:4px 7px;border-radius:4px;background:rgba(11,63,70,.9);color:#fff;font-size:11px;font-weight:800}.gallery-empty{padding:44px 20px}.gallery-empty-icon{margin:0 auto 12px;width:46px;height:46px;border:2px solid #b8cbd4;border-radius:8px;color:#6e8793;font-size:28px;line-height:42px}@media(max-width:760px){.gallery-rab-head{align-items:flex-start;flex-direction:column}.gallery-rab-stats{width:100%;grid-template-columns:repeat(3,1fr)}}

/* Application and company settings */
.nav-settings:before{width:16px;height:16px;border:2px solid currentColor;border-radius:50%}.nav-settings:after{width:5px;height:5px;border:2px solid currentColor;border-radius:50%;top:6px;left:6px}.settings-layout{display:grid;gap:14px}.settings-company-card{border-top:3px solid var(--brand)}.settings-password-card{border-top:3px solid var(--gold)}.company-settings-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px}.company-logo-panel{padding:14px;border:1px solid #d8e3e9;border-radius:7px;background:#f8fbfc;text-align:center}.company-logo-preview{display:flex;align-items:center;justify-content:center;width:100%;height:120px;margin-bottom:12px;border:1px dashed #b9ccd5;border-radius:6px;background:#fff;color:#7a8c97;font-weight:800}.company-logo-preview img{display:block;max-width:90%;max-height:96px;object-fit:contain}.company-logo-upload{display:block;margin-bottom:8px;cursor:pointer}.company-logo-panel .btn{width:100%}.settings-lock{position:relative;width:30px;height:26px;border:2px solid var(--brand);border-radius:5px}.settings-lock:before{content:"";position:absolute;left:6px;top:-12px;width:14px;height:14px;border:2px solid var(--brand);border-bottom:0;border-radius:10px 10px 0 0}.password-guidance{display:flex;gap:8px;margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--brand);background:#f1f7f8;color:#52677f;font-size:12px}.password-guidance b{color:#0b4d55}@media(max-width:900px){.company-settings-grid{grid-template-columns:1fr}.company-logo-panel{max-width:320px}}

/* Letterhead preview inside reports */
.pdf-letterhead{display:flex;align-items:center;gap:20px;width:100%;min-height:92px;margin:0 0 18px;padding:12px 16px;border-bottom:3px solid #145860;background:#fff}.pdf-letterhead-logo{display:flex;flex:0 0 280px;align-items:center;justify-content:center;min-width:0}.pdf-letterhead-logo img{display:block;width:auto;height:auto;max-width:270px;max-height:78px;object-fit:contain}.pdf-letterhead-mark{display:flex;flex:0 0 72px;align-items:center;justify-content:center;width:72px;height:64px;border:2px solid #145860;border-radius:7px;color:#145860;font-size:30px;font-weight:900}.pdf-letterhead-copy{min-width:0;flex:1}.pdf-letterhead-copy b{display:block;margin:0 0 6px;color:#12343a;font-size:18px;line-height:1.2;text-transform:uppercase}.pdf-letterhead-copy span{display:block;color:#52677f;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.opname-report>.pdf-letterhead{padding-left:0;padding-right:0}@media(max-width:760px){.pdf-letterhead{align-items:flex-start;flex-direction:column}.pdf-letterhead-logo{flex-basis:auto;width:100%;justify-content:flex-start}.pdf-letterhead-logo img{max-width:min(100%,270px)}}

/* Interactive dashboard and report center */
.dashboard-filter-card{padding:11px 14px;border-left:4px solid var(--brand);box-shadow:none}.dashboard-filter-card .form-grid{max-width:820px;margin:0}.dashboard-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.dashboard-metric{min-height:112px;padding:14px;border:1px solid #d7e2e8;border-top:3px solid #607286;border-radius:7px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.05)}.dashboard-metric span,.dashboard-metric strong,.dashboard-metric small{display:block}.dashboard-metric span{color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase}.dashboard-metric strong{margin-top:10px;color:#10202b;font-size:21px;overflow-wrap:anywhere}.dashboard-metric small{margin-top:7px;color:#64748b;font-size:11px}.dashboard-metric.teal{border-top-color:#126a72}.dashboard-metric.blue{border-top-color:#2563a6}.dashboard-metric.gold{border-top-color:#d99820}.dashboard-metric.violet{border-top-color:#7656a8}.dashboard-metric.green{border-top-color:#1b8a55}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px}.dashboard-secondary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dashboard-panel{min-width:0}.pipeline-row{display:grid;grid-template-columns:145px 1fr 28px;align-items:center;gap:10px;margin:11px 0;font-size:12px}.pipeline-track{height:10px;overflow:hidden;border-radius:2px;background:#e4ebef}.pipeline-track i{display:block;height:100%;min-width:2px;background:var(--brand)}.pipeline-row b{text-align:right}.dashboard-summary-list{display:grid;gap:0}.dashboard-summary-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e7edf1}.dashboard-summary-list>div:last-child{border-bottom:0}.dashboard-summary-list span{color:#64748b;font-size:12px}.dashboard-summary-list b{color:#0b4d55;text-align:right}.activity-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid #e8eef2}.activity-row:last-child{border-bottom:0}.activity-row i{flex:0 0 9px;width:9px;height:9px;margin-top:4px;border:2px solid var(--brand);border-radius:50%}.activity-row b,.activity-row span{display:block}.activity-row b{font-size:12px}.activity-row span{margin-top:3px;color:#64748b;font-size:10px}.report-tabs{display:flex;gap:5px;margin-bottom:14px;padding:5px;overflow-x:auto;border:1px solid #d6e1e8;border-radius:7px;background:#eaf0f3}.report-tab{flex:0 0 auto;min-height:38px;padding:8px 13px;border:0;border-radius:5px;background:transparent;color:#42576b;font-weight:800;cursor:pointer}.report-tab:hover{background:#fff}.report-tab.active{background:var(--brand);color:#fff;box-shadow:0 4px 10px rgba(18,106,114,.2)}.report-panel{display:none}.report-panel.active{display:block}.report-panel>.card{border-top:3px solid var(--brand)}.report-note-warn{color:#b26a00;font-size:10px;font-weight:800}.input-warning{border-color:#d99820!important;background:#fffbeb!important;box-shadow:0 0 0 2px rgba(217,152,32,.12)}@media(max-width:1300px){.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.dashboard-main-grid,.dashboard-secondary-grid{grid-template-columns:1fr}.dashboard-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.dashboard-metrics,.dashboard-secondary-grid{grid-template-columns:1fr}.pipeline-row{grid-template-columns:120px 1fr 24px}.report-tab{flex:1 0 auto}}

/* Help center and application feedback */

/* Work request assignment and team task monitoring */
.compact-check{display:inline-flex;align-items:center;gap:8px;margin:0;color:#0b4d55;font-size:12px;font-weight:900}
.compact-check input{width:auto;margin:0;accent-color:var(--brand)}
.request-handler{display:inline-flex;flex-direction:column;gap:2px}
.request-handler small{color:#64748b;font-size:11px;font-weight:700}
.request-rating-stars{color:#d99820;font-weight:900;letter-spacing:1px;white-space:nowrap}
.request-client-comment{white-space:pre-wrap}
.task-deadline-input{min-width:135px}
.task-progress{display:grid;gap:6px;min-width:118px}
.task-progress b{color:#0b4d55}
.task-progress span{display:block;height:8px;overflow:hidden;border:1px solid #c8d8df;border-radius:999px;background:#e9f1f4}
.task-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#126a72,#1aa4a6)}
.role-access-list,.table-wrap{scrollbar-color:rgba(11,77,85,.28) transparent;scrollbar-width:thin}
.role-access-list::-webkit-scrollbar,.table-wrap::-webkit-scrollbar,.sidebar-menu::-webkit-scrollbar{width:8px;height:8px}
.role-access-list::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb,.sidebar-menu::-webkit-scrollbar-thumb{background:rgba(11,77,85,.24);border-radius:999px}
.role-access-list::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track,.sidebar-menu::-webkit-scrollbar-track{background:transparent}
.help-page-head{align-items:center}.help-version{padding:7px 10px;border:1px solid #c9d9df;border-radius:5px;background:#fff;color:#53687a;font-size:11px;font-weight:800}.help-hero{margin-bottom:16px;padding:20px;border:1px solid #bfd5d9;border-left:5px solid var(--brand);border-radius:8px;background:linear-gradient(110deg,#f8fcfc 0%,#eef6f7 65%,#fff8e8 100%)}.help-eyebrow{color:var(--brand);font-size:10px;font-weight:900;letter-spacing:.08em}.help-hero h3{margin:5px 0 4px;font-size:22px}.help-hero>div>p{margin:0;color:#53687a;font-size:12px}.help-flow{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr 24px 1fr;align-items:center;gap:7px;margin-top:18px}.help-flow>div{min-width:0;padding:11px;border:1px solid #cfdee3;border-radius:6px;background:#fff}.help-flow b{display:flex;align-items:center;justify-content:center;width:25px;height:25px;margin-bottom:8px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px}.help-flow span,.help-flow small{display:block}.help-flow span{font-weight:900}.help-flow small{margin-top:3px;color:#6a7d8e;font-size:10px;line-height:1.35}.help-flow i{height:2px;background:#d8a027;position:relative}.help-flow i:after{content:"";position:absolute;right:-1px;top:-3px;border-left:6px solid #d8a027;border-top:4px solid transparent;border-bottom:4px solid transparent}.help-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:16px;align-items:start}.help-side{display:grid;gap:16px}.help-sop-card,.help-feedback-card{margin:0}.sop-list{display:grid;gap:8px;margin-top:14px}.sop-list details{overflow:hidden;border:1px solid #d6e2e8;border-radius:7px;background:#fff}.sop-list summary{display:flex;align-items:center;gap:11px;padding:12px 13px;cursor:pointer;list-style:none}.sop-list summary::-webkit-details-marker{display:none}.sop-list summary>span{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border:1px solid #a9c4ca;border-radius:5px;color:var(--brand);font-size:11px;font-weight:900}.sop-list summary div{min-width:0}.sop-list summary b,.sop-list summary small{display:block}.sop-list summary small{margin-top:2px;color:#6b7e90;font-size:10px}.sop-list summary:after{content:"+";margin-left:auto;color:var(--brand);font-size:20px;font-weight:500}.sop-list details[open] summary{border-bottom:1px solid #dbe6ea;background:#f4f9fa}.sop-list details[open] summary:after{content:"−"}.sop-list ol{margin:0;padding:12px 18px 6px 44px;color:#314455;font-size:11px;line-height:1.55}.sop-list li{padding:2px 0}.sop-control{margin:7px 12px 12px;padding:9px 10px;border-left:3px solid #d8a027;background:#fff9e9;color:#6b5215;font-size:10px}.feedback-user-line{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:12px 0;padding:10px;border:1px solid #d9e5e9;border-radius:6px;background:#f7fafb}.feedback-user-line span{grid-row:span 2;color:#6d8091;font-size:10px;text-transform:uppercase}.feedback-user-line b{font-size:12px}.feedback-user-line small{color:#64748b}.help-contact-card{margin:0;border-top:3px solid #d8a027}.help-response-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:12px 0}.help-response-flow div{text-align:center}.help-response-flow b{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0 auto 5px;border-radius:50%;background:#e8f2f3;color:var(--brand)}.help-response-flow span{display:block;color:#52677a;font-size:9px;font-weight:800}.feedback-my-card{margin:0}.feedback-ticket-mini{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 0;border-bottom:1px solid #e4ebef}.feedback-ticket-mini:last-child{border-bottom:0}.feedback-ticket-mini b,.feedback-ticket-mini span,.feedback-ticket-mini small{display:block}.feedback-ticket-mini span{margin-top:2px;font-size:11px}.feedback-ticket-mini small{margin-top:3px;color:#718294;font-size:9px}.feedback-ticket-mini>div:last-child{text-align:right}.feedback-ticket-mini p{max-width:190px;margin:6px 0 0;color:#52677a;font-size:9px}.feedback-admin-panel{margin-top:16px;border-top:4px solid var(--brand)}.feedback-admin-panel[hidden]{display:none!important}.feedback-admin-stats{display:flex;gap:7px}.feedback-admin-stats span{padding:7px 9px;border:1px solid #d5e2e7;border-radius:5px;color:#607385;font-size:10px}.feedback-admin-stats b{color:var(--brand);font-size:13px}.feedback-filters{margin:14px 0}.feedback-inbox{display:grid;gap:10px}.feedback-ticket{overflow:hidden;border:1px solid #d5e1e7;border-left:4px solid #3f7181;border-radius:7px;background:#fff}.feedback-ticket.critical{border-left-color:#bf2b20}.feedback-ticket header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 14px;background:#f6f9fa}.feedback-ticket-number{color:var(--brand);font-size:10px;font-weight:900}.feedback-ticket h4{margin:3px 0;font-size:15px}.feedback-ticket header small{color:#6d8091}.feedback-ticket-badges{display:flex;gap:5px}.feedback-ticket-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:10px 14px;border-top:1px solid #e1eaed;border-bottom:1px solid #e1eaed}.feedback-ticket-meta span,.feedback-ticket-meta b{display:block}.feedback-ticket-meta span{font-size:10px}.feedback-ticket-meta b{margin-bottom:2px;color:#6b7f90;font-size:9px;text-transform:uppercase}.feedback-ticket-content{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:12px 14px}.feedback-ticket-content b{font-size:10px;text-transform:uppercase}.feedback-ticket-content p{margin:5px 0 0;color:#304455;font-size:11px;line-height:1.5;white-space:pre-wrap}.feedback-ticket-action{display:grid;grid-template-columns:180px 1fr auto;align-items:end;gap:10px;padding:12px 14px;border-top:1px solid #e1eaed;background:#fbfcfd}.feedback-response-label textarea{min-height:58px}.feedback-empty{padding:18px;border:1px dashed #cbd9df;border-radius:6px;color:#708292;text-align:center;font-size:11px}
@media(max-width:1100px){.help-layout{grid-template-columns:1fr}.help-flow{grid-template-columns:1fr}.help-flow i{width:2px;height:13px;margin:auto}.help-flow i:after{right:-3px;top:auto;bottom:-1px;border-top:6px solid #d8a027;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:0}.feedback-ticket-action{grid-template-columns:1fr}.feedback-ticket-meta,.feedback-ticket-content{grid-template-columns:1fr}}
@media(max-width:680px){.help-hero{padding:14px}.help-hero h3{font-size:18px}.help-version{display:none}.help-response-flow{grid-template-columns:repeat(2,1fr)}.feedback-admin-stats{flex-wrap:wrap}.feedback-ticket header{display:block}.feedback-ticket-badges{margin-top:8px}.feedback-ticket-mini{grid-template-columns:1fr}.feedback-ticket-mini>div:last-child{text-align:left}}
.help-feedback-card .span-2{grid-column:1/-1}

/* Terra login - construction cost blueprint */
body.auth-locked{background:#e7edef}.login-screen{padding:24px;background:#e7edef;color:#17202a;overflow:auto}.login-screen:before{inset:0;background:linear-gradient(rgba(7,61,66,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(7,61,66,.055) 1px,transparent 1px);background-size:32px 32px;opacity:.65}.login-screen:after{inset:24px auto auto 24px;width:82px;height:7px;background:#e5ad35;clip-path:none;opacity:1}.login-shell{width:min(1320px,100%);min-height:min(800px,calc(100vh - 48px));grid-template-columns:minmax(0,1.38fr) minmax(390px,.62fr);border:0;border-radius:8px;background:#fff;box-shadow:0 26px 70px rgba(23,43,49,.2)}.login-brand-panel{min-height:0;padding:38px 42px 30px;background:#073d42;justify-content:flex-start;gap:25px;overflow:hidden}.login-brand-panel:before{background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:36px 36px;opacity:.85}.login-brand-panel:after{right:32px;bottom:30px;width:92px;height:92px;border:1px solid rgba(242,184,75,.55);transform:none;background:linear-gradient(90deg,transparent 49%,rgba(242,184,75,.45) 50%,transparent 51%),linear-gradient(transparent 49%,rgba(242,184,75,.45) 50%,transparent 51%);background-size:18px 18px}.login-brand-top{justify-content:flex-start}.login-mark{position:relative;width:62px;height:62px;flex:0 0 62px;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:#0a5359;box-shadow:inset 0 -7px 0 #e5ad35;overflow:hidden}.login-mark:before{content:"";position:absolute;left:18px;top:13px;width:28px;height:21px;border:2px solid #fff;border-bottom:0}.login-mark i{position:absolute;left:12px;top:11px;width:37px;height:2px;background:#e5ad35;transform:rotate(-18deg);transform-origin:left}.login-mark span{position:absolute;left:25px;top:20px;width:2px;height:29px;background:#fff;box-shadow:12px 0 0 rgba(255,255,255,.75)}.login-mark em{position:absolute;left:12px;bottom:12px;width:39px;height:2px;background:#fff}.login-brand-top h1{font-size:35px}.login-brand-top small{display:block;margin-top:4px;color:#adc8cc;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.login-brand-copy{max-width:720px;margin-top:7px}.login-edition{display:inline-block;margin-bottom:10px;color:#e5ad35;font-size:10px;font-weight:900;letter-spacing:.08em}.login-brand-copy h2{margin:0;color:#fff;font-size:32px;line-height:1.22}.login-brand-copy p{max-width:670px;margin:12px 0 0;color:#c5d9dc;font-size:14px;line-height:1.65}.login-blueprint{padding:0;border:1px solid rgba(255,255,255,.22);background:rgba(2,34,38,.4)}.login-blueprint-head{display:flex;justify-content:space-between;padding:8px 11px;border-bottom:1px solid rgba(255,255,255,.16);color:#9fc0c4;font-size:9px;font-weight:900;letter-spacing:.06em}.login-blueprint-head b{color:#e5ad35}.login-blueprint-route{display:grid;grid-template-columns:1fr 25px 1fr 25px 1fr 25px 1fr;align-items:center;padding:16px 14px}.login-blueprint-route>div{min-width:0}.login-blueprint-route b,.login-blueprint-route span,.login-blueprint-route small{display:block}.login-blueprint-route b{color:#e5ad35;font-size:10px}.login-blueprint-route span{margin-top:3px;color:#fff;font-size:12px;font-weight:900}.login-blueprint-route small{margin-top:3px;color:#9fbdc1;font-size:9px}.login-blueprint-route i{height:1px;background:rgba(229,173,53,.7);position:relative}.login-blueprint-route i:after{content:"";position:absolute;right:0;top:-3px;border-left:5px solid #e5ad35;border-top:3px solid transparent;border-bottom:3px solid transparent}.login-blueprint-scale{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:5px;padding:6px 11px;border-top:1px solid rgba(255,255,255,.16);color:#83a9ad;font-size:8px}.login-blueprint-scale i{height:1px;background:rgba(255,255,255,.14)}.login-project-card{margin-top:auto}.login-project-card>div{padding:11px 12px;border-color:rgba(255,255,255,.17);border-radius:5px;background:rgba(255,255,255,.055)}.login-project-card span{font-size:9px;text-transform:uppercase;letter-spacing:.04em}.login-project-card strong{margin-top:5px;font-size:19px}.login-project-card small{display:block;margin-top:2px;color:#91b2b6;font-size:9px}.login-status-strip{display:grid;grid-template-columns:11px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.15);border-left:3px solid #e5ad35;border-radius:4px;background:#052f33}.login-status-strip>span{width:8px;height:8px}.login-status-strip div b,.login-status-strip div small{display:block}.login-status-strip div b{font-size:11px}.login-status-strip div small{margin-top:2px;color:#91b2b6;font-size:9px}.login-status-strip time{color:#91b2b6;font-size:9px}.login-card{position:relative;padding:48px 48px 32px;justify-content:center;background:#fff}.login-form-index{position:absolute;left:48px;right:48px;top:30px;display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #dce5e8;color:#738695;font-size:9px;font-weight:900;letter-spacing:.07em}.login-form-index b{color:#0a5960;font-size:13px}.login-card-head{margin:48px 0 26px}.login-card-head .login-kicker{color:#0a5960!important}.login-card h2{font-size:29px}.login-card-head p:last-child{max-width:390px;margin-bottom:0}.login-field{margin-bottom:16px}.login-field>span{display:block;color:#314653;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.login-field>div{position:relative;margin-top:7px}.login-card .login-field input{height:50px;margin:0;padding:10px 46px;border-radius:5px;border-color:#cbd8dd;background:#f8fafb}.login-field>div>i{position:absolute;z-index:1;left:16px;top:16px;width:16px;height:16px}.login-user-icon:before{content:"";position:absolute;left:5px;top:0;width:6px;height:6px;border:1.5px solid #607886;border-radius:50%}.login-user-icon:after{content:"";position:absolute;left:2px;bottom:0;width:12px;height:6px;border:1.5px solid #607886;border-radius:7px 7px 0 0}.login-lock-icon:before{content:"";position:absolute;left:3px;top:6px;width:11px;height:9px;border:1.5px solid #607886;border-radius:2px}.login-lock-icon:after{content:"";position:absolute;left:5px;top:0;width:7px;height:8px;border:1.5px solid #607886;border-bottom:0;border-radius:7px 7px 0 0}.login-field #btnToggleLoginPassword{position:absolute;right:8px;top:7px;width:36px;height:36px;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer}.login-field #btnToggleLoginPassword span{position:absolute;left:9px;top:12px;width:18px;height:11px;border:1.5px solid #6b7f8c;border-radius:50%}.login-field #btnToggleLoginPassword span:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:5px;border-radius:50%;background:#6b7f8c}.login-field #btnToggleLoginPassword.visible{background:#e7f2f3}.login-field #btnToggleLoginPassword.visible span{border-color:#0a5960}.login-field #btnToggleLoginPassword.visible span:after{background:#0a5960}.login-submit{display:flex;align-items:center;justify-content:space-between;height:50px;margin-top:4px;padding:0 17px;border-radius:5px;background:#0a5960}.login-submit b{font-size:20px;font-weight:400}.login-error{margin:10px 0 0!important}.login-footnote{margin-top:12px;padding-top:14px}.login-footnote>span{display:grid;grid-template-columns:10px 1fr;gap:1px 8px;align-items:center}.login-footnote>span>i{grid-row:span 2;width:8px;height:8px;border-radius:50%;background:#26a269}.login-footnote>span>b,.login-footnote>span>small{display:block}.login-footnote>span>b{color:#344955;font-size:10px}.login-footnote>span>small{font-size:9px;font-weight:500}.login-footnote em{color:#0a5960;font-size:10px;font-style:normal;font-weight:900}.login-support{margin:22px 0 0!important;padding-top:15px;border-top:1px solid #edf1f3;color:#81909c!important;font-size:10px!important;text-align:center}
@media(max-width:980px){.login-screen{padding:15px}.login-shell{grid-template-columns:1fr;min-height:auto}.login-brand-panel{padding:25px}.login-brand-copy h2{font-size:25px}.login-blueprint{display:none}.login-project-card{margin-top:0}.login-card{padding:36px 28px}.login-form-index{position:static;margin-bottom:28px}.login-card-head{margin:0 0 22px}}
@media(max-width:600px){.login-screen{padding:0}.login-shell{min-height:100vh;border-radius:0}.login-brand-panel{padding:21px 20px;gap:16px}.login-brand-copy h2{font-size:21px}.login-brand-copy p{font-size:12px}.login-project-card{grid-template-columns:repeat(3,1fr)}.login-project-card>div{padding:8px}.login-project-card strong{font-size:15px}.login-project-card small{display:none}.login-status-strip{display:none}.login-card{padding:28px 20px}.login-form-index{margin-bottom:24px}.login-card-head{margin-bottom:20px}.login-card h2{font-size:25px}}

/* Terra blueprint workspace theme */
body:not(.auth-locked){background-color:#eaf0f1;background-image:linear-gradient(rgba(9,76,82,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(9,76,82,.04) 1px,transparent 1px);background-size:32px 32px}.app-header{position:relative;isolation:isolate;overflow:hidden;background:#073f45;border-bottom:4px solid #e5ad35;box-shadow:0 5px 20px rgba(7,44,48,.18)}.app-header:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:32px 32px}.app-header:after{content:"";position:absolute;right:22px;bottom:0;width:108px;height:6px;background:#e5ad35}.app-header h1{position:relative;padding-left:17px}.app-header h1:before{content:"";position:absolute;left:0;top:4px;width:5px;height:25px;background:#e5ad35}.app-header p{padding-left:17px;color:#bdd3d6}.app-shell{background:transparent}.content{position:relative;background-color:rgba(239,244,245,.82);background-image:linear-gradient(rgba(9,76,82,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(9,76,82,.045) 1px,transparent 1px);background-size:32px 32px}.content:before{content:"";position:absolute;left:32px;top:0;width:92px;height:5px;background:#e5ad35}.sidebar{background-color:#f9fbfb;background-image:linear-gradient(rgba(9,76,82,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(9,76,82,.035) 1px,transparent 1px);background-size:28px 28px;border-right-color:#cad9dc;box-shadow:8px 0 26px rgba(7,61,66,.055)}.sidebar-head{position:relative;overflow:hidden;padding:11px;border-color:#155d63;background:#073f45;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px;box-shadow:0 8px 20px rgba(7,61,66,.15)}.sidebar-head:after{content:"";position:absolute;left:0;bottom:0;width:75px;height:3px;background:#e5ad35}.sidebar-title b{color:#fff}.sidebar-title small{color:#b8d0d4}.sidebar-head .sidebar-float-toggle{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.1)}.sidebar-head .sidebar-float-toggle span{background:#fff}.sidebar-head .sidebar-float-toggle:hover{background:rgba(255,255,255,.18)}.sidebar-group-label{position:relative;margin-top:13px;padding-left:10px;color:#6f858f;letter-spacing:.09em}.sidebar-group-label:before{content:"";position:absolute;left:0;top:3px;width:3px;height:8px;background:#e5ad35}.nav{border:1px solid transparent}.nav:hover{border-color:#d1e1e4;background:rgba(255,255,255,.82)}.nav.active{border-color:#0e666d;background:#0c6970;box-shadow:0 8px 20px rgba(12,105,112,.18)}.page-head{position:relative;min-height:63px;padding:10px 13px 10px 18px;border-left:4px solid #0c6970;background:rgba(255,255,255,.68);box-shadow:inset 0 -1px 0 #cfdddf}.page-head:before{content:"";position:absolute;left:-4px;bottom:0;width:72px;height:3px;background:#e5ad35}.page-head h2{letter-spacing:0;color:#0a3035}.page-head p{color:#5a707a}.page-head .actions,.page-head>.btn{align-self:center}.card{position:relative;border-color:#cfdddf;background:rgba(255,255,255,.96);box-shadow:0 11px 28px rgba(21,48,55,.065)}.card:before{content:"";position:absolute;left:-1px;top:-1px;width:40px;height:3px;background:#0c6970}.card:after{content:"";position:absolute;left:-1px;top:-1px;width:3px;height:18px;background:#e5ad35}.card h3{color:#0a3035}.metric,.dashboard-metric{position:relative;overflow:hidden;border-color:#cfdddf;background-color:#fff;background-image:linear-gradient(rgba(9,76,82,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(9,76,82,.025) 1px,transparent 1px);background-size:22px 22px}.metric:after,.dashboard-metric:after{content:"";position:absolute;right:10px;bottom:10px;width:26px;height:1px;background:#e5ad35;box-shadow:0 -5px 0 rgba(12,105,112,.22)}.table-wrap{border-color:#cbdadd;box-shadow:0 5px 16px rgba(21,48,55,.035)}.table-wrap thead th,th{border-bottom-color:#b8cdd1;background-color:#e8f0f1;background-image:linear-gradient(90deg,rgba(9,76,82,.035) 1px,transparent 1px);background-size:18px 18px;color:#173a40}.table-wrap tbody tr:hover td{background-color:#f7fbfb}.form-grid label{color:#304b54}.form-grid input,.form-grid select,.form-grid textarea,.page input,.page select,.page textarea{border-color:#cad8dc}.page input:focus,.page select:focus,.page textarea:focus{outline:2px solid rgba(12,105,112,.13);border-color:#0c6970;box-shadow:inset 3px 0 0 #e5ad35}.btn{border-color:#0c6970;background:#0c6970}.btn:hover{background:#084f55}.btn.secondary{border-color:#0c6970;color:#0a6067}.pill.info{border:1px solid #c8dadd;background:#eaf3f4;color:#0b6269}.pipeline-track,.bar{border:1px solid #d3e0e2;border-radius:3px;background-color:#e5edef;background-image:linear-gradient(90deg,rgba(9,76,82,.08) 1px,transparent 1px);background-size:18px 100%}.report-tabs{border-color:#c7d8db;background-color:#e5edef;background-image:linear-gradient(rgba(9,76,82,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(9,76,82,.035) 1px,transparent 1px);background-size:18px 18px}.report-tab.active{background:#0c6970}.help-hero{background-color:#f6faf9;background-image:linear-gradient(rgba(9,76,82,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(9,76,82,.035) 1px,transparent 1px);background-size:24px 24px}.gallery-photo-card{border-color:#cbdadd}.opname-report-view{background-color:#e9eff0;background-image:linear-gradient(rgba(9,76,82,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(9,76,82,.035) 1px,transparent 1px);background-size:24px 24px}
.chip-grid{display:flex;flex-wrap:wrap;gap:7px}.check-chip{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 9px;border:1px solid #d1e1e4;border-radius:999px;background:#fff;color:#304b54;font-size:12px;font-weight:800;white-space:nowrap}.check-chip input{width:auto;margin:0;accent-color:#0c6970}#roleAccessTable td:nth-child(3),#roleAccessTable td:nth-child(4){min-width:260px}#roleAccessTable select{min-width:135px}
@media(max-width:980px){.content:before{left:18px}.page-head{min-height:0}.sidebar-head{background-color:#073f45}.sidebar{background-size:24px 24px}}
@media(max-width:680px){.content{background-size:24px 24px}.content:before{left:14px;width:62px}.page-head{padding:10px 11px 10px 14px}.app-header:after{width:68px}}
@media print{body,.content,.sidebar,.app-shell{background:#fff!important;background-image:none!important}.content:before,.card:before,.card:after,.page-head:before{display:none!important}}

/* Sidebar uses the global app header as its only brand identity. */
body:not(.auth-locked) .sidebar-head{
  min-height:44px;
  margin:0 0 8px;
  padding:0 3px 8px;
  justify-content:flex-end;
  overflow:visible;
  border:0;
  border-bottom:1px solid #dce7e9;
  background:transparent;
  background-image:none;
  box-shadow:none;
}
body:not(.auth-locked) .sidebar-head:after{display:none}
body:not(.auth-locked) .sidebar-head .sidebar-float-toggle{
  width:42px!important;
  height:38px!important;
  border-color:#c7d9dc;
  background:#fff;
}
body:not(.auth-locked) .sidebar-head .sidebar-float-toggle span{background:#173d43}
body:not(.auth-locked) .sidebar-head .sidebar-float-toggle:hover{background:#edf6f6}
body.sidebar-collapsed:not(.auth-locked) .sidebar-head{
  justify-content:center;
  padding:0 0 10px;
  border-bottom:1px solid #dce7e9;
}
body.sidebar-collapsed:not(.auth-locked) .sidebar-head .sidebar-float-toggle{
  background:#0c6970;
  border-color:#0c6970;
}
body.sidebar-collapsed:not(.auth-locked) .sidebar-head .sidebar-float-toggle span{background:#fff}

/* Floating sidebar control: it must not reserve an empty header row. */
body:not(.auth-locked) .sidebar{overflow:visible}
body:not(.auth-locked) .sidebar-head{
  position:absolute;
  z-index:30;
  top:14px;
  right:-21px;
  width:42px;
  min-height:0;
  height:38px;
  margin:0;
  padding:0;
  border:0;
  pointer-events:none;
}
body:not(.auth-locked) .sidebar-head .sidebar-float-toggle{
  pointer-events:auto;
  box-shadow:0 7px 18px rgba(7,61,66,.18);
}
body:not(.auth-locked) .sidebar-menu{padding-top:4px}
body.sidebar-collapsed:not(.auth-locked) .sidebar-head{
  left:50%;
  right:auto;
  top:12px;
  width:46px;
  height:40px;
  padding:0;
  border:0;
  transform:translateX(-50%);
}
body.sidebar-collapsed:not(.auth-locked) .sidebar-menu{margin-top:48px}
@media(max-width:980px){
  body:not(.auth-locked) .sidebar-head{top:10px;right:10px}
  body:not(.auth-locked) .sidebar-menu{padding-top:0;padding-right:54px}
  body.sidebar-collapsed:not(.auth-locked) .sidebar-head{left:auto;right:10px;transform:none}
  body.sidebar-collapsed:not(.auth-locked) .sidebar-menu{margin-top:0;padding-right:0}
}

/* Keep the main Terra header visible while scrolling */
body:not(.auth-locked) .app-header{
  position:sticky!important;
  top:0;
  z-index:1000;
}
body:not(.auth-locked) .sidebar{
  top:88px!important;
  height:calc(100vh - 88px)!important;
}
@media(max-width:980px){
  body:not(.auth-locked) .sidebar{
    top:0!important;
    height:auto!important;
  }
}

/* Softer sidebar scrollbar, especially in collapsed icon mode */
.sidebar-menu{
  scrollbar-width:thin;
  scrollbar-color:rgba(15,23,42,.22) transparent;
}
.sidebar-menu::-webkit-scrollbar{
  width:5px;
  height:5px;
}
.sidebar-menu::-webkit-scrollbar-track{
  background:transparent;
}
.sidebar-menu::-webkit-scrollbar-thumb{
  background:rgba(15,23,42,.22);
  border-radius:999px;
}
.sidebar-menu::-webkit-scrollbar-thumb:hover{
  background:rgba(15,23,42,.34);
}
.sidebar-menu::-webkit-scrollbar-button{
  display:none;
  width:0;
  height:0;
}
body.sidebar-collapsed .sidebar-menu{
  padding-right:0;
  scrollbar-width:none;
}
body.sidebar-collapsed .sidebar-menu::-webkit-scrollbar{
  width:0;
  height:0;
}

/* Client contract PDF */
.client-contract-print{display:none}
.client-contract-page{
  page:client-contract;
  font-family:Arial,Helvetica,sans-serif;
  color:#111;
  background:#fff;
  font-size:11px;
  line-height:1.45;
  padding:0;
}
.client-contract-page h1{
  margin:12px 0 2px;
  text-align:center;
  font-size:16px;
  letter-spacing:.2px;
  text-transform:uppercase;
}
.client-contract-page .contract-number{
  margin:0 0 16px;
  text-align:center;
  font-weight:700;
}
.client-contract-page section{
  margin:0 0 10px;
  break-inside:avoid;
}
.client-contract-page h2{
  margin:0 0 4px;
  font-size:12px;
  color:#0b444b;
}
.client-contract-page p{
  margin:0 0 7px;
  text-align:justify;
}
.client-contract-page .contract-clean-list{
  margin:5px 0 0 18px;
  padding:0;
}
.client-contract-page .contract-clean-list li{
  margin:0 0 4px;
  text-align:justify;
}
.client-contract-page .contract-meta{
  width:100%;
  border-collapse:collapse;
  margin:10px 0 14px;
}
.client-contract-page .contract-meta td{
  padding:2px 4px;
  vertical-align:top;
}
.client-contract-page .contract-meta td:first-child{width:145px;font-weight:700}
.client-contract-page .contract-meta td:nth-child(2){width:12px}
.client-contract-page .contract-signatures{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  text-align:center;
  margin-top:34px;
  break-inside:avoid;
}
.client-contract-page .contract-signatures>div{
  min-height:120px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.client-contract-page .contract-signatures span{margin-bottom:auto}
.client-contract-page .contract-signatures b{text-decoration:underline}
.client-contract-page .contract-signatures small{font-size:10px}
@page client-contract{size:A4 portrait;margin:14mm}

.report-import-card{margin-bottom:14px}
.report-period-filter{min-width:min(440px,100%);margin:0}
[data-report-panel="budget"] .table-wrap,[data-report-panel="ar"] .table-wrap{overflow-x:auto}
[data-report-panel="budget"] table{min-width:1320px}
[data-report-panel="ar"] table{min-width:1120px}
@media(max-width:760px){.report-period-filter{min-width:100%}.report-import-card .card-head-row{align-items:stretch}.report-import-card .actions{justify-content:flex-start}}

.nav-request:before{content:"";position:absolute;inset:3px 2px 2px;border:1.8px solid currentColor;border-radius:2px}.nav-request:after{content:"+";position:absolute;right:-1px;top:-5px;width:10px;height:10px;border-radius:50%;background:currentColor;color:#fff;font-size:8px;line-height:10px;text-align:center}
.nav-complaint:before{content:"";position:absolute;inset:2px;border:1.8px solid currentColor;border-radius:50%}.nav-complaint:after{content:"!";position:absolute;inset:0;text-align:center;font-size:12px;font-weight:900;line-height:17px}
.nav-team-tasks:before{content:"";position:absolute;left:4px;top:3px;width:14px;height:17px;border:1.8px solid currentColor;border-radius:3px}.nav-team-tasks:after{content:"";position:absolute;left:8px;top:7px;width:8px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor}.nav-team-tasks{box-shadow:inset 0 0 0 0 currentColor}.nav-team-tasks span{display:none}
.request-detail-grid{display:grid;grid-template-columns:150px minmax(0,1fr) 150px minmax(0,1fr);gap:10px 14px;padding:16px;border:1px solid #d2e0e2;background:#f8fbfb}.request-detail-grid span{color:#687f87}.request-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.request-scope-grid>div{padding:16px;border-left:3px solid #e5ad35;background:#f8fbfb}.request-scope-grid p{white-space:pre-wrap;line-height:1.55;color:#405b63}.request-detail-card textarea{min-height:86px}
@media(max-width:900px){.request-detail-grid{grid-template-columns:125px 1fr}.request-scope-grid{grid-template-columns:1fr}}
.request-rating-stars{display:inline-block;color:#e5ad35;font-size:18px;line-height:1;letter-spacing:1px;white-space:nowrap}.request-client-comment{font-weight:700;white-space:pre-wrap;line-height:1.45;color:#304f56}

/* Compact application chrome and clearer navigation hierarchy */
body:not(.auth-locked) .app-header{
  min-height:64px;
  padding:9px 20px;
  border-bottom-width:3px;
  gap:14px;
}
body:not(.auth-locked) .app-header h1{
  font-size:23px;
  line-height:1.05;
}
body:not(.auth-locked) .app-header p{
  margin-top:3px;
  font-size:12px;
  line-height:1.2;
}
body:not(.auth-locked) .app-header .actions{gap:7px}
body:not(.auth-locked) .app-header .btn,
body:not(.auth-locked) .app-header .user-info{
  min-height:34px;
  padding:6px 11px;
  border-radius:6px;
  font-size:12px;
}
body:not(.auth-locked) .app-shell{
  min-height:calc(100vh - 64px);
}
body:not(.auth-locked) .sidebar{
  top:64px!important;
  height:calc(100vh - 64px)!important;
}
.sidebar-group-label{
  margin-top:10px;
  margin-bottom:1px;
  font-size:10px;
  line-height:1.25;
}
.sidebar-menu{gap:3px}
.nav{
  min-height:38px;
  padding-top:8px;
  padding-bottom:8px;
  margin-bottom:1px;
}
@media(max-width:680px){
  body:not(.auth-locked) .app-header{padding:10px 12px}
  body:not(.auth-locked) .app-header .actions{width:100%}
  body:not(.auth-locked) .app-header .user-info{width:auto;order:0}
}

/* Full-height navigation and a clearer floating collapse control. */
body:not(.auth-locked) .sidebar-menu{
  max-height:calc(100vh - 76px);
  height:calc(100vh - 76px);
  padding:4px 5px 22px 0;
  overscroll-behavior:contain;
}
body:not(.auth-locked) .sidebar-head{
  right:-19px;
  width:38px;
  height:38px;
}
body:not(.auth-locked) .sidebar-head .sidebar-float-toggle{
  position:relative;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  border:1px solid #b9d1d4;
  border-radius:50%;
  background:#fff;
  color:#0c6970;
  box-shadow:0 8px 20px rgba(7,61,66,.2),0 0 0 4px rgba(234,240,241,.88);
}
body:not(.auth-locked) .sidebar-head .sidebar-float-toggle span{
  position:absolute;
  left:13px;
  width:11px;
  height:2px;
  margin:0;
  background:#0c6970;
  transition:transform .18s ease,background .18s ease;
}
body:not(.auth-locked) .sidebar-head .sidebar-float-toggle span:nth-child(1){transform:translateY(-3px) rotate(-45deg)}
body:not(.auth-locked) .sidebar-head .sidebar-float-toggle span:nth-child(2){display:none}
body:not(.auth-locked) .sidebar-head .sidebar-float-toggle span:nth-child(3){transform:translateY(3px) rotate(45deg)}
body:not(.auth-locked) .sidebar-head .sidebar-float-toggle:hover{
  background:#0c6970;
  border-color:#0c6970;
  transform:translateX(-2px);
}
body:not(.auth-locked) .sidebar-head .sidebar-float-toggle:hover span{background:#fff}
body.sidebar-collapsed:not(.auth-locked) .sidebar-head{
  width:38px;
  height:38px;
}
body.sidebar-collapsed:not(.auth-locked) .sidebar-head .sidebar-float-toggle{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  background:#0c6970;
  border-color:#0c6970;
}
body.sidebar-collapsed:not(.auth-locked) .sidebar-head .sidebar-float-toggle span{left:14px;background:#fff}
body.sidebar-collapsed:not(.auth-locked) .sidebar-head .sidebar-float-toggle span:nth-child(1){transform:translateY(-3px) rotate(45deg)}
body.sidebar-collapsed:not(.auth-locked) .sidebar-head .sidebar-float-toggle span:nth-child(3){transform:translateY(3px) rotate(-45deg)}
body.sidebar-collapsed:not(.auth-locked) .sidebar-menu{
  height:calc(100vh - 124px);
  max-height:calc(100vh - 124px);
  padding:0 2px 18px;
}
@media(max-width:980px){
  body:not(.auth-locked) .sidebar-menu{height:auto;max-height:none;padding:0 54px 8px 0}
  body.sidebar-collapsed:not(.auth-locked) .sidebar-menu{height:auto;max-height:none;padding:0}
}

/* Compact role access editor. */
.role-access-list{display:grid;gap:9px;margin-bottom:14px}.role-access-item{overflow:hidden;border:1px solid #cddde0;border-radius:7px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.role-access-item[open]{border-color:#8eb9bd;box-shadow:0 10px 24px rgba(7,61,66,.08)}.role-access-item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;cursor:pointer;list-style:none;background:#fbfdfd}.role-access-item summary::-webkit-details-marker{display:none}.role-access-item summary:hover{background:#f3f9f9}.role-access-name{display:flex;align-items:center;gap:11px;min-width:0}.role-access-name>div{min-width:0}.role-access-name b,.role-access-name small{display:block}.role-access-name b{color:#12343a;font-size:14px}.role-access-name small{margin-top:2px;color:#71858c;font-size:10px}.role-access-avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:6px;background:#e5f1f2;color:#0c6970;font-size:11px;font-weight:900}.role-access-overview{display:flex;align-items:center;justify-content:flex-end;gap:9px;color:#637980;font-size:11px}.role-access-overview>span:not(.role-mode){padding:5px 8px;border-left:1px solid #dce7e9}.role-access-overview b{color:#173d43}.role-mode{padding:5px 9px;border-radius:999px;background:#e4f4ef;color:#16724c;font-size:10px;font-weight:900}.role-mode.view{background:#edf1f5;color:#5d6f7c}.role-access-overview i{width:9px;height:9px;margin-left:3px;border-right:2px solid #547078;border-bottom:2px solid #547078;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}.role-access-item[open] .role-access-overview i{transform:rotate(225deg) translate(-2px,-1px)}.role-access-editor{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,.65fr);gap:18px;padding:17px;border-top:1px solid #d9e5e7;background:#f8fbfb}.role-access-editor section{padding-left:17px;border-left:1px solid #d9e5e7}.role-access-editor h4{margin:0;color:#12343a;font-size:13px}.role-access-editor section p{margin:3px 0 10px;color:#758990;font-size:10px}.role-mode-field{margin:0}.role-access-locked{display:flex;flex-direction:column;gap:3px;padding:15px 17px;border-top:1px solid #d9e5e7;background:#f5faf9;color:#49666d}.role-access-locked b{color:#17694e;font-size:12px}.role-access-locked span{font-size:10px}.role-access-save{justify-content:flex-end}.role-access-save .btn{min-width:190px}@media(max-width:980px){.role-access-editor{grid-template-columns:1fr}.role-access-editor section{padding:14px 0 0;border-left:0;border-top:1px solid #d9e5e7}}@media(max-width:620px){.role-access-item summary{align-items:flex-start}.role-access-overview{display:grid;grid-template-columns:auto auto}.role-access-overview i{position:absolute;right:16px}.role-access-overview .role-mode{grid-column:1/-1}.role-access-name small{display:none}.role-access-overview>span:not(.role-mode){border:0;padding:2px 4px}.role-access-avatar{width:34px;height:34px;flex-basis:34px}.role-access-save .btn{width:100%}}
.portal-access-picker{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.portal-access-row{display:flex;flex-wrap:wrap;gap:6px}.subkon-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px 14px;border:1px solid #f4c66b;border-left:4px solid #e0a11a;border-radius:7px;background:#fff8e6;color:#513b05}.subkon-alert strong,.subkon-alert span{display:block}.subkon-alert strong{font-size:13px}.subkon-alert span{margin-top:2px;font-size:11px;color:#6f5a24}.subkon-alert.success{border-color:#9fd5ba;border-left-color:#18835a;background:#edf9f2;color:#114a34}.subkon-alert.danger{border-color:#efb4aa;border-left-color:#c5281d;background:#fff1ef;color:#681a13}.subkon-alert .actions{flex:0 0 auto}
/* Team assignment and operational audit */
.request-handler{display:flex;flex-direction:column;gap:3px;min-width:125px}.request-handler small{color:#60758a;font-size:11px}.nav-audit:before{content:"";position:absolute;inset:3px;border:2px solid currentColor;border-radius:50%}.nav-audit:after{content:"";position:absolute;left:9px;top:5px;width:2px;height:6px;background:currentColor;box-shadow:3px 5px 0 -0.5px currentColor;transform-origin:bottom}
.audit-filter-card{margin-bottom:14px}.audit-metrics{grid-template-columns:repeat(5,minmax(150px,1fr))}.audit-summary-grid{align-items:stretch}.audit-summary-grid>.card{min-width:0}.audit-bar-row{margin:16px 0}.audit-bar-row>div:first-child{display:flex;justify-content:space-between;gap:16px;margin-bottom:7px}.audit-bar{height:12px;background:#e8f0f2;border:1px solid #d4e1e4}.audit-bar i{display:block;height:100%;background:#167981}.audit-bar i.ontime{background:#168357}.audit-bar i.late{background:#c83a2e}.audit-bar i.active{background:#df9d16}.audit-bar i.cancelled{background:#73808d}#auditDetailTable td{vertical-align:top}#auditDetailTable .pill{white-space:normal;text-align:center}
@media(max-width:1200px){.audit-metrics{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:760px){.audit-metrics{grid-template-columns:1fr 1fr}.audit-summary-grid{grid-template-columns:1fr}}
/* Terra application logo */
.terra-app-logo{display:block;object-fit:contain}.login-app-logo{width:72px;height:72px;flex:0 0 72px;filter:drop-shadow(0 7px 10px rgba(0,0,0,.2))}.app-header-brand{display:flex;align-items:center;gap:12px;min-width:0}.header-app-logo{width:46px;height:46px;flex:0 0 46px}.app-header-brand>div{min-width:0}@media(max-width:600px){.login-app-logo{width:58px;height:58px;flex-basis:58px}.header-app-logo{width:40px;height:40px;flex-basis:40px}}

/* Separate ERP Accounting application entry. */
.nav-external{position:relative;text-decoration:none;border:1px solid #bfd7da;background:#f2f8f8;color:#0a5960}.nav-external:hover{border-color:#0c6970;background:#e5f2f3;color:#084f55}.nav-external-mark{margin-left:auto;color:#6b848a;font-size:13px;font-weight:900}.nav-erp:before{width:17px;height:19px;border:2px solid currentColor;border-radius:3px}.nav-erp:after{left:6px;top:5px;width:10px;height:3px;border:1px solid currentColor;box-shadow:0 5px 0 -1px currentColor,4px 5px 0 -1px currentColor,0 9px 0 -1px currentColor,4px 9px 0 -1px currentColor}.nav-external:hover .nav-external-mark{color:currentColor}body.sidebar-collapsed .nav-external-mark{display:none}
.nav-warehouse:before{width:18px;height:14px;border:2px solid currentColor;border-radius:2px;bottom:3px}.nav-warehouse:after{width:8px;height:8px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);top:1px}

/* Main account menu aligned with Terra mobile portals. */
.app-header{position:sticky;top:0;z-index:60}.header-account{position:relative;margin-left:auto}.header-account-trigger{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#fff;color:#07545b;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.header-account-trigger:hover,.header-account-trigger[aria-expanded="true"]{transform:translateY(-1px);box-shadow:0 7px 18px rgba(0,0,0,.2)}.header-account-trigger>span,.header-account-avatar{position:relative;display:block;width:20px;height:20px}.header-account-trigger>span:before,.header-account-avatar:before{content:"";position:absolute;left:6px;top:0;width:8px;height:8px;border:2px solid currentColor;border-radius:50%}.header-account-trigger>span:after,.header-account-avatar:after{content:"";position:absolute;left:2px;bottom:0;width:16px;height:9px;border:2px solid currentColor;border-bottom:0;border-radius:12px 12px 0 0}.header-account-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:292px;padding:12px;background:#fff;color:#17202a;border:1px solid #cbdadd;border-radius:8px;box-shadow:0 18px 45px rgba(5,34,39,.22);z-index:100}.header-account-dropdown:before{content:"";position:absolute;right:16px;top:-7px;width:12px;height:12px;background:#fff;border-left:1px solid #cbdadd;border-top:1px solid #cbdadd;transform:rotate(45deg)}.header-account-identity{display:flex;align-items:center;gap:13px;padding:8px 8px 13px;border-bottom:1px solid #dbe5e7}.header-account-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#e4f4f2;color:#078078}.header-account-avatar:before{left:14px;top:8px}.header-account-avatar:after{left:10px;bottom:7px}.header-account-identity b,.header-account-identity small,.header-account-identity em{display:block}.header-account-identity b{font-size:15px}.header-account-identity small{margin-top:2px;color:#56727b}.header-account-identity em{margin-top:3px;color:#71878e;font-size:11px;font-style:normal}.header-account-actions{padding-top:8px}.header-account-actions button{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:9px 10px;border:0;border-radius:5px;background:transparent;color:#12353b;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.header-account-actions button:hover{background:#eaf5f4;color:#076b68}.header-account-actions button.danger{color:#c52d24}.header-account-actions button.danger:hover{background:#fff0ee}.account-action-icon{position:relative;display:block;width:18px;height:18px;flex:0 0 18px}.account-lock-icon:before{content:"";position:absolute;left:3px;bottom:1px;width:11px;height:10px;border:2px solid currentColor;border-radius:2px}.account-lock-icon:after{content:"";position:absolute;left:6px;top:0;width:6px;height:8px;border:2px solid currentColor;border-bottom:0;border-radius:7px 7px 0 0}.account-backup-icon:before,.account-restore-icon:before{content:"";position:absolute;left:2px;top:3px;width:13px;height:11px;border:2px solid currentColor;border-radius:2px}.account-backup-icon:after{content:"↓";position:absolute;left:5px;top:-5px;font-size:15px}.account-restore-icon:after{content:"↻";position:absolute;left:4px;top:-4px;font-size:15px}.account-logout-icon:before{content:"";position:absolute;left:1px;top:3px;width:9px;height:12px;border:2px solid currentColor;border-right:0}.account-logout-icon:after{content:"→";position:absolute;right:0;top:-3px;font-size:19px}
.account-reset-icon:before{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border:2px solid currentColor;border-radius:50%}.account-reset-icon:after{content:"x";position:absolute;left:6px;top:-2px;font-size:18px;font-weight:900}

/* The sticky header uses overflow for decoration; account menu must escape it. */
body:not(.auth-locked) .app-header{overflow:visible!important}
body:not(.auth-locked) .header-account{position:relative;z-index:10001}
body:not(.auth-locked) .header-account-dropdown{position:fixed;top:72px;right:18px;z-index:10002;max-height:calc(100vh - 88px);overflow-y:auto}
body:not(.auth-locked) .header-account-dropdown:before{right:18px}
@media(max-width:600px){body:not(.auth-locked) .header-account-dropdown{top:66px;right:12px}}

/* Structured work-request detail. */
.request-detail-card{padding:0;overflow:hidden}.request-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:19px 20px;background:#073f44;color:#fff;border-bottom:3px solid #e6aa20}.request-detail-header span{display:block;color:#f0b52b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.request-detail-header h3{margin:5px 0 3px;color:#fff;font-size:23px}.request-detail-header p{margin:0;color:#c8dadd;font-size:12px}.request-detail-header .btn.secondary{background:#fff;border-color:#fff;color:#07545b}.request-detail-section{padding:18px 20px;border-bottom:1px solid #dbe5e7}.request-detail-section:last-child{border-bottom:0}.request-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px}.request-section-heading>span{display:grid;place-items:center;width:29px;height:29px;border-radius:6px;background:#07545b;color:#fff;font-weight:900}.request-section-heading b,.request-section-heading small{display:block}.request-section-heading b{font-size:15px;color:#12353b}.request-section-heading small{margin-top:2px;color:#667e87;font-size:11px}.request-detail-grid{display:grid;grid-template-columns:150px minmax(0,1fr) 150px minmax(0,1fr);gap:0;border:1px solid #d3e1e4}.request-detail-grid span,.request-detail-grid b{padding:9px 11px;border-bottom:1px solid #e0e9eb}.request-detail-grid span{background:#f2f6f7;color:#5f7780;font-weight:600}.request-detail-grid b{background:#fff;color:#182a30;overflow-wrap:anywhere}.request-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.request-scope-grid>div{min-height:112px;padding:14px 16px;border:1px solid #d3e1e4;border-left:4px solid #e6aa20;background:#fbfcfc}.request-scope-grid b{color:#12353b}.request-scope-grid p{margin:8px 0 0;color:#45606a;line-height:1.55;white-space:pre-wrap}.request-assignment-grid{padding:14px;background:#f5f8f9;border:1px solid #d8e4e6}.request-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.request-detail-footer .actions{margin-left:auto}@media(max-width:900px){.request-detail-header,.request-detail-footer{display:block}.request-detail-header .actions,.request-detail-footer .actions{margin-top:12px}.request-detail-grid{grid-template-columns:125px 1fr}.request-scope-grid{grid-template-columns:1fr}.header-account-dropdown{right:-4px}}@media(max-width:600px){.request-detail-header{padding:16px}.request-detail-section{padding:15px}.request-detail-grid{grid-template-columns:1fr}.request-detail-grid span{border-bottom:0;padding-bottom:3px}.request-detail-grid b{padding-top:3px}.header-account-trigger{width:40px;height:40px}.header-account-dropdown{position:fixed;right:12px;top:66px;width:calc(100vw - 24px)}}

/* Clickable sorting controls for operational list tables. */
th.sortable-th{position:relative;padding-right:28px!important;cursor:pointer;user-select:none;transition:background .16s ease,color .16s ease}
th.sortable-th:hover,th.sortable-th:focus{background:#e9f3f4!important;color:#063f45;outline:none}
th.sortable-th .sort-indicator{position:absolute;right:10px;top:50%;width:9px;height:16px;transform:translateY(-50%);opacity:.52}
th.sortable-th .sort-indicator:before,th.sortable-th .sort-indicator:after{content:"";position:absolute;left:1px;border-left:4px solid transparent;border-right:4px solid transparent}
th.sortable-th .sort-indicator:before{top:1px;border-bottom:5px solid #789098}
th.sortable-th .sort-indicator:after{bottom:1px;border-top:5px solid #789098}
th.sortable-th.sort-asc,th.sortable-th.sort-desc{background:#e4f1f2!important;color:#063f45}
th.sortable-th.sort-asc .sort-indicator,th.sortable-th.sort-desc .sort-indicator{opacity:1}
th.sortable-th.sort-asc .sort-indicator:before{border-bottom-color:#0b777d}
th.sortable-th.sort-asc .sort-indicator:after{border-top-color:#b8c7cc}
th.sortable-th.sort-desc .sort-indicator:before{border-bottom-color:#b8c7cc}
th.sortable-th.sort-desc .sort-indicator:after{border-top-color:#0b777d}
/* Inline detail links used inside data tables */
.link-button{border:0;background:transparent;color:var(--brand);padding:0;margin:0;font:inherit;text-align:left;cursor:pointer;text-decoration:none}
.link-button:hover{text-decoration:underline;color:var(--brand2)}
.link-button.strong{font-weight:800}

/* Roomier tables and cleaner read-only team task cells */
.table-wrap{max-height:none!important}
.table-wrap table{min-height:auto}
#teamTaskTable{min-width:1320px}
#teamTaskTable th:nth-child(1){min-width:210px}
#teamTaskTable th:nth-child(2){min-width:210px}
#teamTaskTable th:nth-child(3){min-width:120px}
#teamTaskTable th:nth-child(4){min-width:170px}
#teamTaskTable th:nth-child(5){min-width:270px}
#teamTaskTable th:nth-child(6){min-width:130px}
.task-readonly-box{display:flex;flex-direction:column;gap:4px;min-height:58px;border:1px solid #d8e7ea;border-left:4px solid var(--brand);border-radius:8px;background:#f8fbfc;padding:10px 12px;color:#17333a;line-height:1.35}
.task-readonly-box b{font-size:14px;color:#092f35}
.task-readonly-box span{color:#64748b;font-size:12px}
.task-notice-box{min-height:86px;white-space:pre-wrap}
.task-notice-box span{font-size:13px}
.task-notice-input{min-height:96px;line-height:1.35}
.task-deadline-input{min-height:42px}


/* RAB register bulk workflow. */
.bulk-action-bar,.rab-document-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 12px;padding:11px 13px;border:1px solid #cfe0e3;border-left:4px solid var(--brand);border-radius:8px;background:#f7fbfb}
.bulk-action-bar b,.bulk-action-bar span{display:block}.bulk-action-bar b{color:#11383d;font-size:13px}.bulk-action-bar span{margin-top:2px;color:#627b84;font-size:11px}.compact-col{width:42px;min-width:42px}.rab-bulk-check,#rabBulkSelectAll{width:16px;height:16px;accent-color:var(--brand)}.rab-document-actions{justify-content:flex-end;background:#fbfdfd}.rab-document-actions .pill{margin-right:auto}
@media(max-width:760px){.bulk-action-bar{display:block}.bulk-action-bar .actions{margin-top:10px}.rab-document-actions .actions{align-items:stretch}.rab-document-actions .btn{width:100%}}
