/* Reporting styles are scoped; existing invoice layout and touch controls stay intact. */
.reporting-module .r-report-group{margin:24px 0}.reporting-module .r-report-group>h2{border-left:3px solid #147bb9;padding-left:10px}
.reporting-module .r-config-section{border:1px solid #d7e2ec;border-radius:8px;background:#fff;padding:18px;margin:16px 0}
.reporting-module .r-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0}
.reporting-module .r-source-choice{min-width:0}.reporting-module select[multiple]{min-height:135px}.reporting-module .r-option{padding:12px;background:#f3f7fb;border-radius:6px}
.reporting-module .r-source-checks{max-height:230px;overflow:auto;border:1px solid #d7e2ec;border-radius:6px;padding:8px;margin-top:8px}.reporting-module .r-source-checks .r-check{padding:8px;border-bottom:1px solid #edf1f6;align-items:flex-start;overflow-wrap:anywhere}.reporting-module .r-source-checks input{flex:0 0 18px;margin:2px 0}
.reporting-module .r-danger{border-color:#b43e3e;color:#a52626;background:#fff}.reporting-module .r-danger:hover{background:#fff1ef}
@media(max-width:800px){.reporting-module .r-source-grid{grid-template-columns:1fr}.reporting-module .r-config-section{padding:12px}}
.reporting-module{min-height:0;overflow:auto;padding:20px;background:#f6f8fb;border:1px solid #d7e2ec;border-radius:10px;scrollbar-gutter:stable;}
.reporting-module[hidden]{display:none!important}
.reporting-module h1{font-size:25px;margin:0 0 7px}.reporting-module h2{font-size:18px;margin:0 0 12px}
.reporting-module p{max-width:100ch;line-height:1.55;margin:7px 0 15px}
.reporting-module .r-muted{color:#527089;font-size:13px}.reporting-module .r-error{color:#9b2020;background:#fff0ed;padding:12px;border-radius:6px;overflow-wrap:anywhere}
.reporting-module .r-message{padding:12px;background:#eaf5ff;border-left:3px solid #137cc1;border-radius:5px;overflow-wrap:anywhere}
.reporting-module .r-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;margin:16px 0}
.reporting-module .r-card{display:flex;flex-direction:column;text-align:left;border:1px solid #d7e2ec;background:white;padding:18px;border-radius:9px;gap:6px;min-width:0}
.reporting-module button.r-card{white-space:normal;min-height:142px;align-items:flex-start;color:#092846;transition:border-color .15s}
.reporting-module button.r-card:hover{border-color:#137cc1;background:#fafdff}.reporting-module .r-card strong{font-size:16px}.reporting-module .r-card span{font-size:13px;font-weight:400;line-height:1.5}
.reporting-module .r-badge{display:inline-block;font-size:11px;background:#edf3fa;color:#45647e;padding:3px 6px;border-radius:4px;width:fit-content}
.reporting-module .r-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.reporting-module button,.reporting-module .button{min-height:34px;white-space:normal;max-width:100%;}
.reporting-module .r-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;border:1px solid #d7e2ec;border-radius:9px;background:white;margin:14px 0}
.reporting-module label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:13px}.reporting-module input,.reporting-module select{width:100%;min-width:0;max-width:100%;box-sizing:border-box;min-height:38px}
.reporting-module .r-full{grid-column:1/-1}.reporting-module .r-check{flex-direction:row;align-items:center}.reporting-module .r-check input{width:18px;min-height:18px}
.reporting-module .r-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:14px 0}
.reporting-module details{grid-column:1/-1;border-top:1px solid #e1e8ef;padding-top:12px}.reporting-module summary{cursor:pointer;font-weight:600}
.reporting-module .r-table{overflow-x:auto;background:white;border:1px solid #d7e2ec;border-radius:7px;margin:12px 0}.reporting-module table{width:100%;border-collapse:collapse;font-size:13px}.reporting-module th{background:#eaf0f7;text-align:left}.reporting-module th,.reporting-module td{padding:10px 12px;border-bottom:1px solid #e1e8ef;vertical-align:top;overflow-wrap:anywhere}
.reporting-module td:first-child{max-width:420px}.reporting-module .r-status{font-weight:600;white-space:normal}.reporting-module .r-empty{padding:24px;background:white;border:1px dashed #cedce9;border-radius:8px}
.reporting-module .r-steps{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#527089;margin-top:16px}.reporting-module .r-step{background:#eaf0f7;border-radius:20px;padding:5px 11px}
.module-nav{flex-wrap:wrap}
.reporting-module .r-selection-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 14px;background:#fff;border:1px solid #cedce9;border-radius:8px;margin:16px 0}
.reporting-module .r-selection-bar>strong{font-size:12px;color:#527089;margin-left:auto}.reporting-module .r-selection-bar label{margin:0;font-weight:500}
.reporting-module .r-select-card{padding:15px;transition:background .15s,border-color .15s;gap:13px}.reporting-module .r-select-card.is-selected{background:#eef6ff;border-color:#1985ce;box-shadow:inset 0 0 0 1px #1985ce}
.reporting-module .r-report-choice{display:grid;grid-template-columns:20px minmax(0,1fr);grid-template-rows:min-content 1fr;gap:9px 10px;cursor:pointer;margin:0;flex:1}
.reporting-module .r-report-choice input{width:18px;height:18px;min-height:18px;margin:1px 0;accent-color:#006caf}.reporting-module .r-report-choice strong{font-size:15px;line-height:1.35}
.reporting-module .r-report-description{grid-column:2;color:#527089!important;font-weight:400;font-size:12px!important;line-height:1.5}
.reporting-module .r-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.reporting-module .r-subtle{font-size:12px;min-height:30px;padding:5px 10px;font-weight:500;background:transparent}
.reporting-module .r-kicker{font-size:10px;letter-spacing:.08em;color:#527089}.reporting-module .r-presentation{border-top:3px solid #117bac;justify-content:center;padding:15px}
.reporting-module progress{width:100%;height:10px;accent-color:#117bac}.reporting-module .r-selection-bar input{width:18px;min-height:18px;accent-color:#006caf}
.reporting-module .r-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.reporting-module .r-heading>.r-toolbar{margin:0;justify-content:flex-end}.reporting-module .r-heading p{margin-bottom:0}.reporting-module .r-check input{order:-1}
@media(max-width:1000px){.reporting-module .r-heading{grid-template-columns:1fr;gap:12px}.reporting-module .r-heading>.r-toolbar{justify-content:flex-start}}
@media(max-width:800px){.reporting-module .r-selection-bar>strong{margin-left:0}.reporting-module .r-selection-bar>.primary{flex:1 1 100%}.reporting-module .r-select-card .r-subtle{min-height:44px}}
@media(max-width:800px){.reporting-module{padding:12px;overflow:visible}.reporting-module .r-form{grid-template-columns:1fr;padding:12px}.reporting-module .r-grid{grid-template-columns:1fr}.reporting-module button{min-height:44px}.reporting-module td,.reporting-module th{padding:9px}.reporting-module .r-options{grid-template-columns:1fr}}

/* Pulpit only. No selectors below change another module or the shared shell. */
#module-home{background:#f5f8fc;padding:22px 24px;color:#07264b;overflow-x:hidden}
#module-home *{box-sizing:border-box}
#module-home .h-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
#module-home .h-heading h1{font-size:25px;letter-spacing:-.025em;margin:3px 0 0}
#module-home .h-eyebrow{font-size:10px;letter-spacing:.14em;font-weight:700;color:#56718f}
#module-home .h-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
#module-home .h-updated{font-size:12px;color:#62758a}
#module-home svg{width:23px;height:23px;display:block;flex:none}
#module-home .h-refresh{display:flex;align-items:center;gap:8px;background:white;color:#006de5;border:1px solid #d7e4f2;min-height:40px;padding:8px 13px;border-radius:8px;font-size:12px}
#module-home .h-refresh svg{width:16px;height:16px}
#module-home .h-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,1fr);overflow:hidden;min-height:174px;border:1px solid #dce9f6;border-radius:14px;background:linear-gradient(106deg,#edf6ff 0%,#fff 58%,#e3edf8 100%);margin-bottom:24px}
#module-home .h-welcome{padding:24px 30px;position:relative;z-index:1}
#module-home .h-user{display:inline-block;font-size:11px;color:#426589;letter-spacing:.025em;font-weight:650}
#module-home .h-hero h2{font-size:32px;letter-spacing:-.04em;line-height:1.2;margin:8px 0 7px}
#module-home .h-hero p{font-size:14px;line-height:1.5;color:#52718e;max-width:65ch;margin:0 0 15px}
#module-home .h-today{font-size:11px;color:#52718e;text-transform:capitalize}
#module-home .h-parking{position:relative;min-width:0;overflow:hidden;align-self:stretch;background:linear-gradient(160deg,transparent 20%,#e1ebf5 20.5%,#f9fcff 22%,transparent 22.5%,transparent 42%,#dee9f4 42.5%,#fff 44%,transparent 44.5%);mask-image:linear-gradient(90deg,transparent,#000 30%)}
#module-home .h-parking:before{content:"";position:absolute;inset:58% -15% -45% 0;transform:skewY(-13deg);border-top:2px solid white;background:repeating-linear-gradient(90deg,transparent 0,transparent 88px,#fff 89px,#fff 91px,transparent 92px,transparent 130px),linear-gradient(#dde8f3,#cadbe9)}
#module-home .h-parking-sign{position:absolute;right:48%;top:30%;display:grid;place-items:center;width:70px;height:86px;border-radius:3px;font-size:60px;line-height:1;font-weight:750;background:#056dcc;color:white;box-shadow:12px 6px 0 #004780;transform:skewY(-5deg)}
#module-home .h-parking-brand{position:absolute;right:6%;top:39%;font-size:clamp(20px,2.4vw,38px);font-weight:800;letter-spacing:-.025em;color:#073058}
#module-home .h-parking-lines{position:absolute;inset:12% 7% auto auto;width:55%;height:1px;background:#bfd4e9;box-shadow:0 12px 0 #c4d8eb,0 24px 0 #cbddec}
#module-home .h-shortcuts>h2{font-size:15px;margin-bottom:12px}
#module-home .h-modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin-bottom:22px}
#module-home .h-module{position:relative;display:flex;align-items:flex-start;flex-direction:column;gap:9px;min-width:0;min-height:164px;border:1px solid #dce6f1;background:white;border-radius:11px;padding:17px;text-align:left;white-space:normal;color:inherit;box-shadow:0 2px 6px #15396603}
#module-home .h-module:hover{background:#fafdff;border-color:#76b7f6;box-shadow:0 3px 14px #1174c60b}
#module-home .h-module:focus-visible,#module-home .h-refresh:focus-visible,#module-home .h-link:focus-visible{outline:3px solid #3099ff;outline-offset:3px}
#module-home .h-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:#087cf0;background:linear-gradient(145deg,#f1f8ff,#e6f3ff);flex:none}
#module-home .h-module>strong{font-size:14px;line-height:1.25}
#module-home .h-muted{color:#5e7691;font-size:12px;line-height:1.5;font-weight:400}
#module-home .h-module>.h-muted{font-size:12px;margin:0 0 14px}
#module-home .h-arrow{display:grid;place-items:center;background:#edf6ff;border:1px solid #dfecf9;border-radius:50%;width:25px;height:25px;color:#087cf0;margin-top:auto}
#module-home .h-arrow svg{width:15px;height:15px}
#module-home .h-planned{margin-top:auto;background:#f1f4f8;border-radius:5px;padding:4px 7px;color:#60748c;font-size:10px;font-weight:600}
#module-home .h-filters{display:grid;grid-template-columns:minmax(150px,230px) minmax(150px,215px) minmax(0,1fr);gap:16px;align-items:end;padding:15px 18px;border:1px solid #dce6f1;border-radius:10px;background:white;margin:0 0 16px}
#module-home .h-filters label{font-size:11px;font-weight:600;gap:6px}
#module-home .h-filters input,#module-home .h-filters select{margin:0;font-size:13px;min-height:39px;border-radius:7px;max-width:100%}
#module-home .h-filters p{margin:0 0 4px;max-width:62ch;font-size:11px}
#module-home .h-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:13px;margin-bottom:18px}
#module-home .h-metric{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto 1fr;align-content:start;gap:7px 13px;background:white;border:1px solid #dce6f1;border-radius:10px;padding:18px 20px;min-width:0}
#module-home .h-metric>.h-icon{grid-row:1/4}
#module-home .h-metric h2{font-size:12px;font-weight:600;margin:0;line-height:1.45}
#module-home .h-number{grid-column:2;font-size:28px;font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.035em;color:#062855}
#module-home .h-metric p{grid-column:2;font-size:11px;margin:0;line-height:1.4}
#module-home .h-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#module-home .h-panel{min-width:0;background:white;border:1px solid #dce6f1;border-radius:11px;padding:20px 22px}
#module-home .h-panel>h2{font-size:16px;letter-spacing:-.01em;margin:0 0 6px}
#module-home .h-panel>p{font-size:11px;line-height:1.5;margin:0 0 14px}
#module-home .h-scope{color:#365d84;font-weight:600;font-size:12px;margin:0 0 18px}
#module-home .h-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;font-size:12px;margin:16px 0}
#module-home .h-status-row strong{font-variant-numeric:tabular-nums}
#module-home .h-bar{grid-column:1/-1;height:7px;background:#edf3f9;overflow:hidden;border-radius:8px}
#module-home .h-bar>span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#0877ed,#63b9ff)}
#module-home .h-bar>span.is-warning{background:#d59327}
#module-home .h-job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid #edf2f7;padding:12px 0}
#module-home .h-job:first-child{padding-top:3px}
#module-home .h-job>div{display:flex;flex-direction:column;gap:4px;min-width:0}
#module-home .h-job strong{font-size:12px;line-height:1.5}
#module-home .h-job .h-muted{font-size:11px;overflow-wrap:anywhere}
#module-home .h-job-status{border-radius:6px;padding:5px 8px;font-size:10px;line-height:1.35;background:#edf3fa;color:#4c6380;max-width:145px;overflow-wrap:anywhere}
#module-home .h-job-status[data-status="COMPLETED"],#module-home .h-job-status[data-status="VALIDATED"]{background:#e7f8ef;color:#137952}
#module-home .h-job-status[data-status="RUNNING"],#module-home .h-job-status[data-status="QUEUED"]{background:#eaf4ff;color:#0874dc}
#module-home .h-job-status[data-status="FAILED"],#module-home .h-job-status[data-status="INTERRUPTED"]{background:#fff0ec;color:#a0472b}
#module-home .h-small{color:#647a91;font-size:10px;line-height:1.5;margin:14px 0 8px}
#module-home .h-link{display:inline-flex;align-items:center;justify-content:center;background:#f2f8ff;border:1px solid #dceaf9;color:#066bdd;border-radius:7px;font-size:11px;min-height:36px;padding:8px 12px;margin-top:10px}
#module-home .h-source-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 0;border-bottom:1px solid #edf2f7}
#module-home .h-source-row strong{font-size:12px}
#module-home .h-source-row span{font-size:11px}
#module-home .h-amount{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:15px 0;border-bottom:1px solid #edf2f7}
#module-home .h-amount>span:first-child{font-size:12px;font-weight:650}
#module-home .h-amount>strong{font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere;text-align:right}
#module-home .h-amount>.h-muted{grid-column:1/-1;font-size:11px}
#module-home .h-warning{color:#8b591e;font-size:12px;background:#fff8eb;padding:10px 12px;border-radius:7px}
#module-home .h-empty{color:#60768e;font-size:13px;line-height:1.65;padding:16px 0;margin:0}
#module-home .h-waiting{max-width:800px;margin:16px 0}
#module-home .h-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #dce6f1;margin:24px 0 0;padding-top:15px;color:#687f96;font-size:10px;line-height:1.6}
#module-home .h-footer>span:last-child{max-width:100ch}
@media(min-width:1700px){#module-home .h-welcome{padding:27px 34px}#module-home .h-hero{min-height:185px}#module-home .h-modules{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}
@media(max-width:1000px){#module-home{padding:18px}#module-home .h-modules{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}#module-home .h-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#module-home .h-details{grid-template-columns:1fr}#module-home .h-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#module-home .h-filters p{grid-column:1/-1}#module-home .h-parking-brand{font-size:24px}#module-home .h-parking-sign{width:50px;height:67px;font-size:44px}}
@media(max-width:600px){#module-home{padding:13px;border-radius:9px}#module-home .h-heading{align-items:start;margin-bottom:14px}#module-home .h-heading h1{font-size:23px}#module-home .h-actions{gap:6px;flex-direction:column;align-items:flex-end}#module-home .h-updated{font-size:10px;max-width:150px;text-align:right}#module-home .h-refresh{min-height:44px}#module-home .h-hero{display:block;min-height:174px}#module-home .h-welcome{padding:21px}#module-home .h-hero h2{font-size:29px}#module-home .h-hero p{font-size:12px;max-width:30ch}#module-home .h-parking{display:none}#module-home .h-modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#module-home .h-module{padding:13px;min-height:173px}#module-home .h-module>strong{font-size:13px}#module-home .h-module>.h-muted{font-size:11px}#module-home .h-filters{padding:12px;gap:12px}#module-home .h-filters input,#module-home .h-filters select{min-height:44px}#module-home .h-metrics{gap:9px}#module-home .h-metric{display:flex;flex-direction:column;padding:14px 12px;gap:9px}#module-home .h-metric h2{font-size:11px}#module-home .h-number{font-size:27px}#module-home .h-metric p{font-size:10px}#module-home .h-panel{padding:17px 14px}#module-home .h-panel>h2{font-size:15px}#module-home .h-job{gap:8px}#module-home .h-job-status{max-width:110px}#module-home .h-amount>strong{font-size:18px}#module-home .h-link{min-height:44px}#module-home .h-footer{font-size:10px}}
