/* RAB-first application shell. Loaded last to replace the earlier stacked layout. */
.estimator-shell{font:13px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif;background:#f5f7fb;color:#1d3047;letter-spacing:0}
.estimator-shell>header{position:relative;display:flex;align-items:center;gap:38px;padding:0 30px;height:66px;border:0;background:#102a48;color:#fff}
.shell-brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font-size:18px;font-weight:750;white-space:nowrap}.shell-brand small{font-size:10px;font-weight:500;color:#b9cce0;margin-left:5px}.shell-mark{width:32px;height:32px;display:grid;place-items:center;background:#2975ce;border:1px solid #4a8ed8;border-radius:8px;font-size:11px;letter-spacing:.03em}.shell-navigation{display:flex;align-self:stretch;align-items:stretch;gap:28px}.shell-navigation a{display:flex;align-items:center;color:#c7d6e7;text-decoration:none;font-size:12px;border-bottom:3px solid transparent;padding-top:3px}.shell-navigation a.active{color:#fff;border-bottom-color:#62a8f5}.shell-navigation a:hover{color:#fff}.shell-environment{margin-left:auto;border:1px solid #35516c;padding:4px 8px;border-radius:5px;font-size:10px;color:#c6daeb}
.estimator-shell .shell-project-bar{max-width:none;margin:0;border:0;border-bottom:1px solid #e1e7ee;border-radius:0;background:#fff;padding:16px 30px 8px;display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:5px 24px;box-shadow:none}.shell-project-identity{display:flex;align-items:center;gap:15px;min-width:0}.shell-project-identity>label{display:block;min-width:0;width:min(390px,100%)}.shell-project-identity>label>span{display:block;font-size:10px;font-weight:650;color:#748296;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.shell-project-identity #project{width:100%;padding:3px 0;min-height:29px;border:1px solid transparent;background:transparent;border-radius:4px;font-size:17px;font-weight:700;color:#18344f}.shell-project-identity #project:hover,.shell-project-identity #project:focus{background:#f8fbff;border-color:#b9d3f2;padding-left:5px}.shell-save-state{font-size:10px;color:#2e7a58;padding-left:12px;border-left:1px solid #dbe3ec;white-space:nowrap}.shell-save-state::before{content:'●';font-size:8px;margin-right:5px}.shell-save-state.unsaved{color:#a07525}.shell-project-actions{display:flex;align-items:center;gap:8px}.shell-project-actions>.btn{min-height:36px;padding:9px 13px;font-size:11px;border-radius:7px}.shell-project-actions>#db-new{background:transparent;color:#46617d}.shell-app-status{grid-column:1/-1;margin:2px 0 0!important;min-height:16px;font-size:10px!important;color:#76869a!important}.shell-app-status.database-error{color:#b42318!important}
.shell-popover{position:relative}.shell-popover>summary{display:flex;align-items:center;justify-content:center;gap:7px;list-style:none;cursor:pointer;padding:9px 12px;border:1px solid #dce4ee;border-radius:7px;background:#fff;color:#3e5671;font-size:11px;font-weight:600;white-space:nowrap;min-height:36px}.shell-popover>summary::-webkit-details-marker{display:none}.shell-popover[open]>summary{background:#edf4fe;border-color:#9fbfe7;color:#175ba9}.shell-popover-body{position:absolute;right:0;top:calc(100% + 7px);z-index:30;padding:14px;background:#fff;border:1px solid #dae3ee;border-radius:10px;box-shadow:0 12px 34px #152e4d20;min-width:230px;display:flex;flex-direction:column;gap:9px;color:#243d57}.shell-popover-body>strong{font-size:12px}.shell-popover-body select{padding:9px;border:1px solid #d3dfed;border-radius:6px;background:#fff;min-width:0;max-width:100%;font-size:12px}.shell-popover-body .btn{text-align:left;min-height:32px;padding:8px 10px;font-size:11px;white-space:nowrap}.shell-popover-body a{font-size:11px}.shell-price-policy .shell-popover-body{width:325px}.shell-price-policy #project-price-lock{background:transparent;border:0;padding:0;margin:0;font-size:12px;line-height:1.8}.shell-export .shell-popover-body .btn{background:transparent;color:#254b74}.shell-export .shell-popover-body .btn:hover{background:#eef4fc}.shell-project-switcher .shell-popover-body{width:310px}
.estimator-shell>.layout{display:block!important;padding:24px 28px!important;max-width:none!important;width:100%;margin:0}.shell-rab{padding:0!important;background:#fff;border:1px solid #e0e6ee!important;border-radius:12px!important;box-shadow:0 3px 15px #172d4504!important;overflow:visible!important}.shell-rab-heading{padding:22px 22px 18px;align-items:center;gap:20px;border-bottom:1px solid #e9edf3}.shell-eyebrow{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#7a899b}.shell-rab-title h1{font-size:22px;margin:4px 0;color:#173550;letter-spacing:-.025em}.shell-rab-title p{margin:5px 0 0;font-size:11px;color:#728398}.shell-project-total{margin-left:auto;text-align:right}.shell-project-total .rab-total{margin:0;padding:0;background:none;border:0;border-radius:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.shell-project-total .rab-total strong{font-size:10px;color:#6a7d91;text-transform:uppercase;letter-spacing:.05em}.shell-project-total .rab-total small{font-size:10px;color:#7b8c9e;margin:3px 0 0}.shell-project-total .rab-total b{font-size:25px;font-weight:750;color:#126348}.shell-project-total>p{display:none}.shell-rab-toolbar{display:flex;gap:8px;align-items:center;padding:14px 22px 0}.shell-rab-toolbar>.btn{min-height:36px;padding:9px 14px;font-size:11px;border-radius:7px}.shell-group-destination{margin:0 0 0 auto!important;display:flex!important;align-items:center;gap:9px;font-size:10px;color:#708197;font-weight:500!important}.shell-group-destination select{max-width:250px;font-size:11px!important;padding:7px 26px 7px 9px!important;border:1px solid #dce4ed;border-radius:6px;background:#fff;min-height:34px;margin:0!important}.shell-group-tools .shell-popover-body{left:0;right:auto;width:390px}.shell-group-tools label{display:block;font-size:11px;margin-bottom:6px;font-weight:600}.shell-group-tools .rab-control-row{display:flex;flex-direction:column}.shell-group-tools input{width:100%;padding:10px;border:1px solid #cddbeb;border-radius:7px;font-size:12px}.shell-group-tools .btn{font-size:11px;text-align:center}.shell-rab-options .shell-popover-body{width:260px}.shell-rab-options #clear{color:#af3427;background:#fff4f1}.shell-rab #rab-message,.shell-notice{font-size:10px;margin:9px 22px 0;color:#788a9e;min-height:0}.shell-notice:empty{display:none}.shell-notice:not(:empty){color:#206746}.shell-rab #rows{margin-top:14px}.shell-rab .rab-table-scroll{border-left:0;border-right:0;border-bottom:0;border-radius:0}.shell-rab .rab-table{font-size:12px;min-width:1300px}.shell-rab .rab-table th{background:#f3f6fa;color:#566d86;font-size:10px;font-weight:700;padding:11px 9px;border-top:1px solid #e6ecf3;border-bottom:1px solid #e0e7f0}.shell-rab .rab-table td{padding:10px 9px}.shell-rab .rab-table .rab-description{padding-left:26px}.shell-rab .rab-table .rab-group{background:#eaf1fa;color:#20496f}.shell-rab .rab-group td{padding:7px 9px;vertical-align:middle}.shell-rab .rab-group-name{font-size:12px;padding:4px}.shell-rab .rab-group-actions .smallbtn{background:#fff8;color:#41688f;font-size:10px}.shell-rab .rab-group-actions [data-rab-up],.shell-rab .rab-group-actions [data-rab-down],.shell-rab .rab-group-actions [data-rab-delete]{opacity:.35}.shell-rab .rab-group:hover .rab-group-actions button{opacity:1}.shell-rab .rab-group-actions button:disabled{opacity:.2}.shell-rab .rab-item-description{font-size:12px;padding:3px 0;font-weight:600}.shell-rab .rab-price,.shell-rab .rab-qty{background:transparent;border-color:transparent;border-radius:5px;padding:4px;font-size:12px}.shell-rab .rab-price:hover,.shell-rab .rab-qty:hover,.shell-rab .rab-price:focus,.shell-rab .rab-qty:focus{border-color:#a8c7ea;background:#fff}.shell-rab .ahs-code-button{background:transparent;border:1px solid transparent;color:#2566b0;padding:4px 2px;font-size:10px}.shell-rab .ahs-code-button:hover{background:#eef5ff;border-color:#bcd4f0}.shell-rab .rab-item-actions{margin-top:3px;gap:8px}.shell-rab .rab-item-actions .trace-button{font-size:10px;padding:2px 0;background:transparent;color:#5d7fa3}.shell-row-menu>summary{border:0;min-height:18px;padding:0 4px;font-size:9px;line-height:1}.shell-row-menu .shell-popover-body{left:0;right:auto;min-width:240px}.shell-row-menu .rab-move{max-width:none;width:100%;font-size:11px}.shell-row-menu [data-remove]{font-size:11px;color:#ac352d;min-height:30px;padding:7px}.shell-field-caption{font-size:10px;color:#7b8c9e}.shell-rab .rab-item>td:last-child{padding:0}.shell-rab .rab-subtotal{background:#f7f9fc;color:#536c86;font-size:11px}.shell-rab .rab-empty-group{font-size:11px;background:#fcfdff}.shell-rab .rab-measure{font-size:10px}.shell-material-details{margin:16px 22px 20px;border-top:1px solid #e7edf4;padding-top:13px}.shell-material-details>summary{font-size:11px;color:#5d7690;cursor:pointer}.shell-material-details #materialsSummary .recap-materials{margin-top:8px;padding-top:8px;border:0}.shell-rab .empty{padding:60px 25px 65px;text-align:center;max-width:550px;margin:auto}.shell-empty-icon{display:grid;place-items:center;margin:auto auto 13px;width:48px;height:48px;border-radius:12px;background:#edf3fb;color:#6487b2;font-size:26px}.shell-rab .empty h2{font-size:18px;color:#284762;margin:0 0 9px}.shell-rab .empty p{font-size:12px;line-height:1.8;color:#7c8d9f}.shell-rab .empty .btn{margin-top:10px;font-size:11px}.shell-screen-reader{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.shell-job-editor{position:fixed;inset:0 0 0 auto;margin:0;border:0;border-left:1px solid #d5e0ec;border-radius:0;width:min(1220px,94vw);max-width:none;height:100dvh;max-height:100dvh;padding:0;background:#f6f8fc;color:#203c58;overflow:hidden;box-shadow:-12px 0 50px #102b4f20}.shell-job-editor::backdrop{background:#102b4f35}.shell-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 22px;background:#fff;border-bottom:1px solid #dce5ef;height:85px}.shell-editor-heading h2{font-size:19px;letter-spacing:-.02em;margin:4px 0 0}.shell-editor-close{min-height:34px;font-size:11px;padding:8px 12px;background:#eef2f7}.shell-editor-body{height:calc(100dvh - 85px);display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px;padding:16px;overflow:auto;align-items:start}.shell-editor-body #categorySection{position:static;max-height:none;align-self:start;padding:13px;border-radius:10px;font-size:11px}.shell-editor-body #workSection{min-width:0;width:100%;padding:17px;border-radius:10px}.shell-editor-body #icons{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.shell-editor-body #icons .tile{min-height:100px;font-size:11px;padding:10px 7px}.shell-editor-body #icons .ico{width:34px;height:34px;font-size:20px;border-radius:8px}.shell-editor-body #categories .category{font-size:11px;padding:9px 6px}.shell-editor-body .sidebar .footer{font-size:10px;line-height:1.8}.shell-editor-body .mainhead h2{font-size:17px}.shell-editor-body .search{min-width:0;font-size:12px}.shell-editor-body .library-tools{margin-top:12px}.shell-editor-body .est-welcome{display:none}.shell-editor-body .ahsp-card strong{font-size:12px}.shell-editor-body #icons.ahsp-library{grid-template-columns:1fr}.shell-job-editor.editor-calculating .shell-editor-body{grid-template-columns:minmax(0,1fr);padding:16px}.shell-job-editor.editor-calculating #categorySection{display:none!important}.shell-job-editor .calc-input-panel,.shell-job-editor .calc-result-panel{max-height:calc(100dvh - 225px);overflow-y:auto;scrollbar-gutter:stable}.shell-job-editor .calc-result-panel{position:static;top:auto;padding:14px}.shell-job-editor .calc-workspace{gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.shell-job-editor .selection-bar strong{font-size:12px}.shell-job-editor .calc-heading h3{font-size:14px}.shell-job-editor .calc-input-panel .measurement-card{padding:12px}.shell-job-editor .calc-input-panel .fields{gap:10px}.shell-job-editor .calc-input-panel .field label,.shell-job-editor .measure-context label{font-size:11px}.shell-job-editor .field input,.shell-job-editor .field select{padding:9px;font-size:13px}.shell-job-editor .calc-result-panel .answer .val{font-size:27px}.shell-job-editor .trace-equation{font-size:12px}.shell-job-editor .buttonrow .btn{font-size:11px;padding:10px 11px}.shell-job-editor .visualpanel{padding:8px}body:has(#job-editor[open]){overflow:hidden}
@media(max-width:1100px){.shell-project-identity>label{max-width:300px}.shell-save-state{display:none}.shell-project-actions{gap:5px}.shell-project-actions>.btn,.shell-popover>summary{font-size:10px;padding:8px 9px}.shell-project-actions>#db-new{display:block}.shell-project-switcher .shell-popover-body::after{content:'Gunakan Proyek baru untuk estimasi terpisah.';font-size:10px;color:#73859a}.shell-environment{display:none}.estimator-shell>header{gap:24px}.shell-job-editor{width:98vw}.shell-job-editor .calc-workspace{grid-template-columns:1fr 1fr}.shell-job-editor .calc-input-panel,.shell-job-editor .calc-result-panel{max-height:calc(100dvh - 225px)}}
@media(max-width:760px){.estimator-shell>header{height:auto;min-height:60px;padding:13px 15px;flex-wrap:wrap;gap:12px}.shell-brand{font-size:17px}.shell-brand small{display:none}.shell-mark{width:28px;height:28px}.shell-navigation{order:2;width:100%;gap:22px;height:31px}.shell-navigation a{font-size:11px;padding-top:0}.estimator-shell .shell-project-bar{padding:12px 14px 7px;display:block}.shell-project-identity{width:100%}.shell-project-identity>label{width:100%;max-width:none}.shell-project-identity #project{font-size:16px}.shell-project-actions{margin-top:9px;display:flex;gap:6px;flex-wrap:wrap}.shell-project-actions>#db-new{display:block;margin-right:auto}.shell-project-actions>#db-save{padding:8px 11px}.shell-price-policy{display:block}.shell-project-switcher .shell-popover-body{left:0;right:auto;width:min(310px,calc(100vw - 30px))}.shell-project-switcher .shell-popover-body::after{display:none}.shell-app-status{font-size:9px!important;margin-top:6px!important;line-height:1.6}.estimator-shell>.layout{padding:12px 10px!important}.shell-rab-heading{padding:17px 13px;align-items:flex-start;flex-direction:column;gap:13px}.shell-rab-title h1{font-size:19px}.shell-rab-title p{font-size:10px}.shell-project-total{margin-left:0;text-align:left;width:100%}.shell-project-total .rab-total{align-items:flex-start;flex-direction:row-reverse;justify-content:space-between}.shell-project-total .rab-total b{font-size:22px}.shell-project-total .rab-total>div{text-align:right}.shell-project-total .rab-total small{font-size:9px;max-width:145px}.shell-rab-toolbar{padding:12px 11px 0;flex-wrap:wrap;gap:7px}.shell-rab-toolbar>.btn,.shell-rab-toolbar .shell-popover>summary{font-size:10px;padding:8px 9px;min-height:34px}.shell-group-destination{order:3;width:100%;justify-content:space-between;margin-top:2px!important}.shell-group-destination select{max-width:65%}.shell-rab-options{margin-left:auto}.shell-group-tools .shell-popover-body{width:min(350px,calc(100vw - 44px))}.shell-rab #rab-message,.shell-notice{margin-left:12px;margin-right:12px;font-size:9px}.shell-rab .empty{padding:35px 20px}.shell-job-editor{width:100vw;height:100dvh}.shell-editor-heading{padding:14px 15px;height:78px}.shell-editor-heading h2{font-size:17px}.shell-editor-body{height:calc(100dvh - 78px);display:block;padding:10px}.shell-editor-body #categorySection{margin-bottom:10px;padding:11px}.shell-editor-body #workSection{padding:12px}.shell-editor-body #icons{grid-template-columns:repeat(3,minmax(0,1fr))}.shell-editor-body #categories{display:grid!important;grid-template-columns:1fr 1fr;gap:6px}.shell-editor-body .sidebar .footer{display:none}.shell-job-editor.editor-calculating .shell-editor-body{display:block;padding:9px}.shell-job-editor .calc-workspace{grid-template-columns:1fr}.shell-job-editor .calc-input-panel,.shell-job-editor .calc-result-panel{max-height:none;overflow:visible}.shell-job-editor .calc-result-panel{margin-top:0}.shell-editor-body .selection-bar{gap:8px}.shell-editor-body .selection-bar strong{font-size:11px}.shell-editor-body .mainhead{display:block}.shell-editor-body .search{width:100%;margin-top:9px}.shell-row-menu .shell-popover-body{min-width:220px}}
@media print{.estimator-shell>header,.shell-project-bar,.shell-notice,.shell-rab-toolbar,.shell-material-details,.shell-job-editor{display:none!important}.estimator-shell>.layout{padding:0!important}.shell-rab{border:0!important;box-shadow:none!important}.shell-rab-heading{padding:0 0 12px;border:0}.shell-rab-title h1{font-size:20px}.shell-rab-title p,.shell-eyebrow,.shell-screen-reader{display:none!important}.shell-project-total .rab-total b{font-size:20px}.shell-rab #rab-message{display:none}.shell-rab .rab-table{min-width:0!important}.shell-rab .rab-group-actions,.shell-row-menu{display:none!important}.shell-rab .print-takeoffs{display:block!important}}

@media(min-width:761px) and (max-width:1100px){.estimator-shell .shell-project-bar{grid-template-columns:1fr}.shell-project-actions{justify-content:flex-start}.shell-project-identity>label{max-width:450px}}
@media print{.shell-material-details[open]{display:block!important}.shell-material-details>summary{display:none}}
.shell-table-hint{display:none}@media(max-width:760px){.shell-table-hint{display:block;margin:10px 12px 0;font-size:9px;color:#8393a6}}@media print{.shell-table-hint{display:none!important}}
.shell-project-identity>label{position:relative;padding-top:1px}.shell-project-identity #project-identity-edit{position:absolute;right:0;top:0;min-height:0;padding:0;border:0;background:transparent;color:#2563a6;font-size:10px;line-height:14px;box-shadow:none}.shell-project-identity>label>span{padding-right:90px}.shell-project-identity #project[readonly]{cursor:default}
@media(max-width:1100px){.shell-navigation{gap:16px}.shell-brand small{display:none}}@media(max-width:900px){.estimator-shell>header{height:auto;min-height:66px;flex-wrap:wrap;padding:12px 20px;gap:10px}.shell-navigation{width:100%;order:2;min-height:32px}}@media(max-width:760px){.estimator-shell>header{padding:13px 15px}.shell-navigation{height:auto;flex-wrap:wrap;gap:6px 18px}.shell-navigation a,.shell-navigation .schedule-nav-button{min-height:30px}}
