/* Multi-unit platform shell */
#buddy,#toggleBuddy~.unused{display:none!important}.buddy-open main,main{margin-right:0!important}.buddy-open .overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-group{margin:8px 0;border-top:1px solid #dce8e0;padding-top:7px}.nav-group summary{font-size:16px;font-weight:600;cursor:pointer;padding:13px 14px;color:#2d644b}.nav-group button{font-size:14px;margin:3px 0;padding:10px 12px 10px 24px}.nav-group button.active{background:#dcefe3}aside{overflow:auto}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0 28px}.module-tile{min-height:92px;padding:22px;text-align:left;font-size:22px;font-weight:600;color:#116644;background:linear-gradient(130deg,#fff,#eaf6ef);border:1px solid #cce2d5;box-shadow:0 5px 20px #274c3306}.module-grid .module-tile:hover{border-color:#69aa87}.group-landing{padding:25px 0;min-height:350px}.group-landing>h3{font-size:26px}.group-landing>p{font-size:16px;color:#56705e;line-height:1.9}.group-mode>#kpis,.group-mode>.chart-grid,.group-mode>.insight,.group-mode>.details,.group-mode>.detail-extra{display:none!important}.scope-coverage{padding:15px 20px;background:#eaf3ed;border:1px solid #d0e4d7;border-radius:12px;font-size:14px;color:#456b54;line-height:1.8}#unitScope{min-width:190px}.filters{flex-wrap:wrap}.filters label{font-size:14px}.assistant-result{margin:36px 0 28px;padding-bottom:20px;scroll-margin-top:25px}.assistant-result #buddyMessages{max-height:none;overflow:visible;min-height:160px;padding:22px 30px}.assistant-result .buddy-message{max-width:100%;margin:15px 0}.assistant-result .visual-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.assistant-result .report-scope,.assistant-result .report-original{grid-column:1/-1}.assistant-result .report-block{margin:0}.assistant-result .report-block:first-of-type{grid-column:1/-1}.assistant-result .buddy-chart{height:300px}.pet-chat{position:fixed;right:28px;bottom:125px;width:370px;max-width:calc(100vw - 24px);background:white;border:1px solid #c7dfce;box-shadow:0 14px 55px #183f2a25;border-radius:20px;z-index:45;overflow:hidden}.pet-chat-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#eff8f2;color:#12673f}.pet-chat-head button{font-size:13px;border:0;background:transparent}.pet-shortcuts{padding:12px 18px;display:flex;flex-wrap:wrap;gap:7px}.pet-shortcuts button{font-size:13px;padding:8px}.pet-chat .buddy-compose{padding:14px 18px}.pet-chat #buddyQuestion{min-height:80px;font-size:15px}#postalPet{position:fixed;right:24px;bottom:15px;background:transparent;border:0;padding:0;width:102px;height:110px;z-index:44}#postalPet svg{width:95px;height:110px;animation:pet-breathe 3s ease-in-out infinite}.pet-greeting{position:absolute;bottom:95px;right:0;white-space:nowrap;background:#fff;color:#17673e;border:1px solid #c2ddcc;border-radius:15px 15px 3px 15px;padding:10px 14px;font-size:14px;box-shadow:0 4px 20px #234b3210}.pet-arm{transform-origin:32px 84px;animation:pet-wave 4s ease-in-out infinite}@keyframes pet-breathe{50%{transform:translateY(-4px)}}@keyframes pet-wave{0%,70%,100%{transform:rotate(0)}80%{transform:rotate(14deg)}90%{transform:rotate(-9deg)}}#adminDialog{width:1050px;max-height:90vh;overflow:auto}#adminTools{display:flex;gap:10px;margin:22px 0}#adminBody{overflow:auto;max-height:62vh}#adminBody th,#adminBody td{font-size:14px;white-space:normal;min-width:75px;padding:12px}#adminBody label{font-size:15px}.grant-box details{margin:16px 0;padding:12px;background:#f5faf7;border-radius:10px}.grant-box summary{font-size:16px;cursor:pointer}.grant-box input{width:18px;height:18px}.grant-box p{font-size:13px}#userEditor>label input,#userEditor>label select{min-width:240px}#userEditor>label input[type=checkbox]{min-width:0;display:inline}#adminMessage,#setupMessage{color:#a74732;white-space:pre-wrap}#setupDialog{width:480px}.import-modules{display:flex;flex-wrap:wrap;gap:10px}.import-modules label{font-size:14px;display:flex;align-items:center;gap:5px}.import-modules input{width:17px;height:17px;margin:0}#importPreview{white-space:pre-line}.content footer{padding-right:115px}header{padding-right:35px}.nav-overview{font-size:16px!important}
@media(max-width:1500px){.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.buddy-open .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.module-grid{grid-template-columns:1fr}.module-tile{min-height:70px;font-size:20px}.assistant-result .visual-result{grid-template-columns:1fr}.assistant-result #buddyMessages{padding:16px}.assistant-result .report-block{grid-column:1}#postalPet{right:12px;width:80px;height:95px}#postalPet svg{width:80px;height:95px}.pet-greeting{font-size:12px;bottom:82px}.pet-chat{right:12px;bottom:115px}nav{display:block;max-height:280px;overflow:auto}.nav-group summary{padding:10px}.nav-group button{width:100%;white-space:normal}#unitScope{max-width:100%;min-width:155px}#adminTools{flex-wrap:wrap}.scope-coverage{font-size:13px}#adminBody{max-height:55vh}.content footer{padding-right:70px}}
@media(prefers-reduced-motion:reduce){#postalPet svg,.pet-arm{animation:none!important}}

/* Spacious, explicit first-run and sign-in forms. */
#loginForm select{width:100%;min-height:48px;border:1px solid #d8e4df;border-radius:12px;background:#fff;color:#193e35;padding:10px 14px;font:inherit}
#loginEntryHint{font-size:13px;color:#647e75;margin:-8px 0 14px;line-height:1.5}
#login .login-box{max-width:440px;padding-top:24px;padding-bottom:24px}
#login .login-form{overflow:auto}#loginForm label[hidden]{display:none}
#setupDialog{width:min(500px,calc(100vw - 32px));box-sizing:border-box;padding:32px;border:1px solid #e2ebe7;border-radius:24px;max-height:calc(100dvh - 32px);overflow:auto}
#setupDialog h2{margin:12px 0;font-size:27px}#setupDialog>p{line-height:1.7;color:#627970}
.setup-badge{color:#118361;font-size:13px;letter-spacing:2px}
#setupForm label{display:block;margin:16px 0 8px;font-size:14px}#setupForm input:not([type=checkbox]){display:block;box-sizing:border-box;width:100%;margin-top:8px;min-height:48px;padding:12px;border:1px solid #d8e4df;border-radius:12px;font-size:16px}
#setupForm .password-visibility{display:flex;gap:8px;align-items:center}#setupForm .password-visibility input{width:16px;height:16px;margin:0}
#setupMessage{font-size:14px;line-height:1.6;min-height:23px;color:#9c472c}#setupForm button{width:100%;min-height:48px}#setupForm button:disabled{opacity:.6;cursor:wait}
@media(max-height:800px){#login{height:auto;min-height:100dvh}#login .login-form{padding-top:20px;padding-bottom:28px}#login h1{font-size:32px;margin:10px 0}#login .login-mark{display:none}}

#loginEntryHint{margin:8px 0 16px}#login .login-footer{position:relative;bottom:auto;padding:0 0 20px}#login .login-form{min-height:calc(100dvh - 40px)}

/* Bottom-third assistant window overlays the dashboard without moving charts. */
.assistant-result{position:fixed;left:260px;right:18px;bottom:12px;height:33.333dvh;min-height:210px;max-height:calc(100dvh - 24px);z-index:60;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #a9cfc0;border-radius:20px;box-shadow:0 -12px 50px #153e352b;background:#fff}
.assistant-result[hidden]{display:none!important}.assistant-result[data-size=large]{height:78dvh}.assistant-result[data-size=small]{height:112px;min-height:112px}
.assistant-window-head{flex:none;min-height:52px;padding:10px 18px!important;background:#edf8f2;display:flex;align-items:center;justify-content:space-between}.assistant-window-head h3{font-size:17px;margin:0}.assistant-window-actions{display:flex;gap:7px}.assistant-window-actions button{width:34px;height:32px;padding:0;border:1px solid #cfe0d8;border-radius:9px;background:white;color:#245b49;font-size:23px;line-height:1}.assistant-window-actions button:hover{background:#d9eee3}.assistant-history-toolbar{display:flex;gap:8px;flex:none;padding:7px 18px;border-bottom:1px solid #e5eee9}.assistant-history-toolbar button{font-size:12px;padding:4px 12px}
.assistant-result #buddyMessages{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;padding:12px 22px;position:relative;scroll-behavior:auto}.assistant-result[data-size=small] #buddyMessages{display:none}.assistant-result .buddy-message{margin:6px 0 16px}.assistant-result .buddy-chart{height:240px}
#postalPet{z-index:65;bottom:15px}.pet-chat{z-index:66;max-height:calc(100dvh - 145px);overflow:auto}.pet-choices{display:flex;padding:12px 18px 0;gap:10px}.pet-choices button{flex:1;color:#0b7352;font-size:14px}.pet-history{max-height:155px;overflow:auto;padding:8px 18px}.pet-history button{display:block;width:100%;text-align:left;white-space:normal;margin:5px 0;padding:8px 10px;font-size:13px;background:#f3f8f5}.pet-history p{font-size:13px;color:#819189}.pet-paw{transform-origin:34px 105px;animation:pet-wave 4s ease-in-out infinite}.pet-tail{transform-origin:104px 111px;animation:pet-wag 2.5s ease-in-out infinite}@keyframes pet-wag{50%{transform:rotate(-12deg)}}
#nav .pending-module,.module-grid .pending-module{color:#87928d!important;background:#f1f3f2!important;border-color:#e0e5e2!important;box-shadow:none}.pending-module:hover{color:#65756d!important;background:#e9eeeb!important}#nav .empty-module{color:#6b8175}
@media(max-width:760px){.assistant-result{left:8px;right:8px;bottom:8px;height:33.333dvh;min-height:190px}.assistant-result[data-size=large]{height:85dvh}.assistant-result[data-size=small]{min-height:110px;height:110px}.assistant-window-head{padding:8px 12px!important}.assistant-result #buddyMessages{padding:10px 14px}.assistant-result .visual-result{grid-template-columns:1fr}.assistant-history-toolbar{padding:6px 10px}.assistant-window-head h3{font-size:15px}.pet-greeting{display:none}}
@media(prefers-reduced-motion:reduce){.pet-paw,.pet-tail{animation:none!important}}
body:has(#assistantResult:not([hidden])) #postalPet{bottom:calc(33.333dvh + 24px)}
body:has(#assistantResult:not([hidden])) .pet-greeting{display:none}
body:has(#assistantResult[data-size=large]:not([hidden])) #postalPet{bottom:calc(78dvh + 18px)}
body:has(#assistantResult[data-size=small]:not([hidden])) #postalPet{bottom:136px}
@media(max-width:760px){body:has(#assistantResult[data-size=large]:not([hidden])) #postalPet{bottom:calc(85dvh + 12px)}}

.grant-bulk{background:#eef7f2;border:1px solid #cfe2d7;border-radius:14px;padding:16px;margin:18px 0}.grant-bulk>strong{font-size:17px;color:#205a40}.grant-bulk-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0}.grant-bulk-filters label{display:flex;flex-direction:column;gap:7px;margin:0!important}.grant-bulk-filters select{width:100%;min-width:0;padding:9px;border:1px solid #cbded2;border-radius:9px;background:white;font:inherit}.grant-bulk-buttons,.grant-unit-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.grant-unit-buttons button{font-size:13px;padding:7px 12px}.grant-bulk button:disabled{opacity:.5;cursor:default}.grant-bulk p{line-height:1.6;margin:7px 0;color:#506e5e}#grantBulkNote{color:#116644}#grantBulkNote:empty{display:none}@media(max-width:760px){.grant-bulk-filters{grid-template-columns:1fr}.grant-bulk-buttons button{flex:1;white-space:nowrap}}

/* Overview has no entity dimension; author display rules must respect hidden. */
.filters label[hidden]{display:none!important}

.data-quality-panel{margin:12px 0 20px;padding:16px 22px;border:1px solid #e5cf92;border-left:4px solid #b98820;border-radius:12px;background:#fffaf0;color:#684e1e;font-size:14px;line-height:1.65}.data-quality-panel h3{margin:0 0 8px}.data-quality-panel p{margin:6px 0}.detail-filters[hidden]{display:none!important}

.hint-source{display:none!important}
.explanation-trigger{display:inline-flex!important;align-items:center;justify-content:center;width:21px!important;height:21px!important;min-width:21px;padding:0!important;margin:0 0 0 7px;border:1px solid #a4bdb2;border-radius:50%;background:transparent;color:#587a69;font:600 13px/1 Arial;vertical-align:middle;cursor:pointer;box-shadow:none}
.explanation-trigger:hover,.explanation-trigger:focus-visible{background:#e4f2eb;color:#087d59;border-color:#087d59;outline:2px solid #b1d8c6;outline-offset:2px}
.explanation-trigger[hidden]{display:none!important}
.explanation-dialog{max-height:80dvh;overflow:auto;width:850px}.explanation-content{font-size:14px;line-height:1.8;color:#3c5d4e}.explanation-content p{font-size:14px}.explanation-content details{margin-top:12px}

/* One shared filter row. Wrap only when controls cannot retain readable widths. */
.toolbar{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.toolbar .filters{display:flex;align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;width:100%;gap:8px;margin:0;padding:12px 0}
.toolbar .filters label{display:flex;flex-direction:column;gap:5px;margin:0;min-width:0;flex:0 0 auto;font-size:14px;line-height:1.4}
.toolbar .filters .detail-filters:not([hidden]){display:contents}
.toolbar .filters input,.toolbar .filters select{box-sizing:border-box;margin:0;height:42px;padding:8px 9px;min-width:0;max-width:100%;font-size:14px}
.toolbar .filters #unitScope{width:145px}.toolbar .filters #entity{width:130px}
.toolbar .filters input[type=month],.toolbar .filters input[type=date]{width:132px}
.toolbar .filters #detailSearch{width:150px}
.toolbar .filters button:not(.explanation-trigger){height:42px;white-space:nowrap;padding:8px 13px;font-size:14px;flex-shrink:0;margin:0}
main,header>div,.header-actions,.panel,.business-chart-panel,.overview-card,.kpi{min-width:0}
header{gap:16px;flex-wrap:wrap}.header-actions{flex-wrap:wrap}
.panel h3,.business-chart-panel h3,.cross-panel h3,.overview-card-head,.kpi-label{white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.business-controls{align-items:flex-end;gap:8px}.business-controls input,.business-controls select{max-width:100%;min-width:0}
.business-chart-grid,.management-charts,.chart-grid{min-width:0}.chart,.business-chart{max-width:100%}
@media(min-width:1650px){.toolbar .filters #unitScope{width:190px}.toolbar .filters #entity{width:170px}.toolbar .filters #detailSearch{width:230px}.toolbar .filters input[type=date],.toolbar .filters input[type=month]{width:150px}.toolbar .filters{gap:12px}}
@media(max-width:1100px){.management-charts,.chart-grid,.business-chart-grid{grid-template-columns:minmax(0,1fr)}.business-chart-panel.wide{grid-column:auto}}
@media(max-width:760px){.toolbar .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.toolbar .filters label{width:auto}.toolbar .filters #unitScope,.toolbar .filters #entity,.toolbar .filters #detailSearch,.toolbar .filters input[type=date],.toolbar .filters input[type=month]{width:100%}.toolbar .filters button{max-width:100%}.header-actions{justify-content:flex-start}.business-controls{display:flex;flex-wrap:wrap}.business-controls>*{max-width:100%;box-sizing:border-box}.cross-panel{padding:14px}.kpi strong{font-size:clamp(25px,5vw,38px);overflow-wrap:anywhere}}

.header-actions #postalPet{position:relative!important;inset:auto!important;width:52px!important;height:58px!important;flex:0 0 52px;padding:0!important;margin:0!important;z-index:auto}.header-actions #postalPet svg{width:52px!important;height:58px!important}.header-actions #postalPet .pet-greeting{display:none!important}.header-actions #postalPet[hidden]{display:none!important}

.business-scope-inline>.toolbar{display:none!important}
.business-controls>.unit-scope-control{margin-left:auto;display:flex;flex-direction:column;gap:5px;min-width:0;font-size:14px;line-height:1.4}
.business-controls>.unit-scope-control select{height:42px;min-width:150px!important;width:150px;padding:8px}
.business-scope-inline #groupLanding{padding-top:6px}.business-scope-inline #groupLanding>.business-controls{align-items:flex-end;gap:8px;flex-wrap:wrap}
.business-scope-inline #groupLanding>.business-controls>input{width:145px}.business-scope-inline #groupLanding>.business-controls>button{padding:10px 9px;font-size:14px;height:42px;white-space:nowrap}
.piece-review-list{margin-top:20px;padding:16px;border:1px solid #dce8e0;border-radius:12px;background:#fff}.piece-review-list>div{overflow:auto;max-height:380px}.piece-review-list summary{cursor:pointer;color:#805f24}
.nav-branch{color:#126f51;font-weight:600;margin:8px 0}
@media(max-width:760px){.business-controls>.unit-scope-control{margin-left:0;width:100%}.business-controls>.unit-scope-control select{width:100%}}

.business-more{position:relative;flex-shrink:0}.business-more>summary{cursor:pointer;background:white;border:1px solid #c6ded6;border-radius:10px;padding:10px 14px;white-space:nowrap}.business-more>div{position:absolute;right:0;top:100%;z-index:30;display:grid;gap:6px;background:white;padding:10px;box-shadow:0 8px 30px #173c3226;min-width:160px;border-radius:12px}.business-more:not([open])>div{display:none}

.audit-filters{display:grid;grid-template-columns:minmax(95px,1fr) minmax(130px,1.5fr) minmax(110px,1fr) 145px 145px auto auto;gap:10px;align-items:end;margin:14px 0}.audit-filters label{display:grid;gap:7px;min-width:0}.audit-filters input,.audit-filters select{width:100%;min-width:0;box-sizing:border-box;height:43px}.audit-filters button{height:43px;white-space:nowrap}.audit-count{display:flex;gap:12px;align-items:center;margin:12px 0}.audit-count details{position:relative}.audit-count summary{cursor:pointer;border:1px solid #91b5a9;border-radius:50%;width:21px;height:21px;text-align:center;list-style:none}.audit-count details[open] p{position:absolute;z-index:5;top:18px;left:0;width:300px;background:white;padding:16px;box-shadow:0 5px 25px #163b3326}.audit-view table{table-layout:fixed;min-width:950px;width:100%;font-size:14px}.audit-view th:nth-child(1){width:125px}.audit-view th:nth-child(2){width:90px}.audit-view th:nth-child(3){width:125px}.audit-view th:nth-child(4){width:80px}.audit-view th:nth-child(5){width:100px}.audit-view th:nth-child(6){width:280px}.audit-view th:nth-child(7){width:140px}.audit-view th:nth-child(8){width:90px}.audit-view td{white-space:normal!important;overflow-wrap:anywhere;vertical-align:top;line-height:1.65}.audit-view td button{white-space:nowrap;padding:8px}.audit-view td:nth-child(6){text-align:left}@media(max-width:760px){.audit-filters{grid-template-columns:1fr 1fr}.audit-filters label:nth-child(2){grid-column:2}.audit-filters button{width:100%}}
#adminBody .audit-filters>label,#adminBody .audit-filters>button,#adminBody .audit-filters input,#adminBody .audit-filters select{margin:0!important}#adminBody .audit-filters label{width:auto!important}#adminBody.audit-view .business-table-wrap td{min-width:0}

#adminDialog:has(.audit-view){width:min(1420px,96vw);max-width:96vw}#adminBody.audit-view table{min-width:1100px}

#postalPet.in-dialog{position:fixed;right:22px;bottom:18px;width:64px;height:72px;z-index:100}#postalPet.in-dialog svg{width:64px;height:72px}#postalPet.in-dialog .pet-greeting{display:none}dialog .pet-chat{position:fixed;right:20px;bottom:100px;max-width:calc(100vw - 40px)}
@media(max-width:760px){.header-actions #postalPet:not([hidden]){display:block!important}}
