.billing-view{width:100%;max-width:none;margin:0}
.billing-heading{align-items:flex-end}
.billing-heading p{max-width:760px}

/* Queue mode mirrors Shipment Intake: overview first, one focused case second. */
.billing-command{margin-bottom:14px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}
.billing-mailbox{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:11px;padding:13px 14px;background:linear-gradient(120deg,var(--panel),var(--panel-2))}
.billing-mailbox-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent)}
.billing-mailbox-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.billing-mailbox-copy{display:grid;gap:2px;min-width:0}
.billing-mailbox-copy b,.billing-mailbox-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-mailbox-copy small,.billing-mailbox small{color:var(--muted)}
.billing-mailbox-actions{display:flex;align-items:center;gap:7px}
.billing-state{padding:5px 9px;border-radius:999px;background:var(--grey-bg);color:var(--ink-2);font-size:11px;font-weight:800}
.billing-state.good{background:var(--green-bg);color:var(--green)}
.billing-state.bad{background:var(--orange-bg);color:var(--orange)}
.billing-command-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:9px;padding:9px 11px;border-top:1px solid var(--line);background:var(--panel-2)}
.billing-readiness{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.billing-readiness>span,.billing-readiness>button{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:inherit;text-align:left;font:inherit}
.billing-readiness>button{cursor:pointer}
.billing-readiness>button:hover{border-color:var(--accent);background:var(--accent-soft)}
.billing-readiness i{width:7px;height:7px;border-radius:50%;background:var(--orange)}
.billing-readiness i.good{background:var(--green)}
.billing-readiness b{font-size:11px}
.billing-readiness small{min-width:0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.billing-how{min-width:208px}
.billing-how summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);cursor:pointer;font-size:11px;font-weight:750;list-style:none}
.billing-how summary::-webkit-details-marker{display:none}
.billing-how summary::after{content:'›';color:var(--muted);font-size:17px;line-height:1;transform:rotate(90deg)}
.billing-how[open]{grid-column:1/-1}
.billing-how[open] summary::after{transform:rotate(-90deg)}
.billing-how summary small{color:var(--muted);font-size:10px;font-weight:600}
.billing-safety{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:9px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--line)}
.billing-safety>div{display:flex;align-items:center;gap:9px;padding:11px 12px;background:var(--panel)}
.billing-safety span{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800}
.billing-safety p{display:grid;gap:1px;margin:0}
.billing-safety b{font-size:11px}
.billing-safety small{color:var(--muted);font-size:10px;line-height:1.35}

.billing-layout{display:block}
.billing-queue-panel{overflow:hidden;padding:0;border-radius:12px}
.billing-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 15px 11px}
.billing-panel-head h2,.billing-panel-head p{margin:0}
.billing-panel-head h2{font-size:17px}
.billing-panel-head p{margin-top:2px;color:var(--muted);font-size:11px}
.billing-panel-head>span{color:var(--muted);font-size:11px}
.billing-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0 14px 11px}
.billing-kpi{display:grid;gap:3px;min-height:68px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:inherit;text-align:left;cursor:pointer}
.billing-kpi:hover,.billing-kpi[aria-pressed="true"]{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));background:color-mix(in srgb,var(--accent-soft) 58%,var(--panel))}
.billing-kpi small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:9px;font-weight:800}
.billing-kpi b{font-size:20px;line-height:1.05}
.billing-kpi span{color:var(--muted);font-size:10px;line-height:1.3}
.billing-filters{display:grid;grid-template-columns:minmax(260px,1fr) 180px;gap:8px;padding:0 14px 12px}
.billing-filters input,.billing-filters select{width:100%;min-width:0;min-height:38px;padding:8px 10px}
.billing-list-head,.billing-row{display:grid;grid-template-columns:minmax(270px,2fr) minmax(120px,.75fr) minmax(220px,1.4fr) minmax(150px,1fr) 130px;align-items:center;gap:14px}
.billing-list-head{padding:8px 15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.billing-queue{overflow:visible}
.billing-row{width:100%;min-height:72px;padding:11px 15px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer}
.billing-row:hover,.billing-row.active{background:var(--accent-soft)}
.billing-row.active{box-shadow:inset 3px 0 var(--accent)}
.billing-row-main{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-width:0}
.billing-source-glyph{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--grey-bg);color:var(--ink-2);font-size:13px;font-weight:800}
.billing-source-glyph.email{background:var(--accent-soft);color:var(--accent)}
.billing-row-main>span:last-child,.billing-row-value,.billing-row-next,.billing-row-date{display:grid;gap:2px;min-width:0}
.billing-row b,.billing-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-row b{font-size:12px}
.billing-row small{color:var(--ink-2);font-size:11px}
.billing-row-next small{white-space:normal;line-height:1.3}
.billing-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;background:var(--grey-bg);color:var(--ink-2);font-size:9px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.billing-badge.review{background:var(--orange-bg);color:var(--orange)}
.billing-badge.ready{background:var(--blue-bg);color:var(--blue)}
.billing-badge.done{background:var(--green-bg);color:var(--green)}
.billing-badge.blocked{background:var(--red-bg);color:var(--red)}
.billing-workspace{display:none;min-width:0;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;container-type:inline-size}
.billing-empty{display:grid;place-items:center;align-content:center;min-height:420px;padding:42px;text-align:center}
.billing-empty>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--green-bg);color:var(--green);font-size:22px}
.billing-empty h2{margin:12px 0 4px}
.billing-empty p{max-width:470px;margin:0;color:var(--muted)}

/* Focused review workspace — deliberately follows Shipment Intake. */
.billing-view.review-open>.page-ai-overview,.billing-view.review-open>.billing-command,.billing-view.review-open .billing-queue-panel{display:none!important}
.billing-view.review-open>.billing-heading{align-items:center;margin-bottom:12px}
.billing-view.review-open>.billing-heading p,.billing-view.review-open #billingUploadButton{display:none}
.billing-view.review-open .billing-workspace{display:block}
.billing-review-shell{width:100%;max-width:100%;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}
.billing-review-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 16px;padding:12px 15px;border-bottom:1px solid var(--line);background:var(--panel)}
.billing-review-back{appearance:none;justify-self:start;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.billing-review-back:hover{text-decoration:underline}
.billing-review-back:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.billing-review-case-id{color:var(--ink-3);font:650 9.5px/1 var(--mono)}
.billing-review-identity{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:7px 14px;min-width:0}
.billing-review-identity h2{margin:0;padding-right:14px;border-right:1px solid var(--line);font-size:17px}
.billing-review-identity>span:not(.billing-badge){max-width:100%;color:var(--ink-3);font-size:10.5px;overflow-wrap:anywhere}
.billing-review-identity>span b{color:var(--ink-2);font-family:var(--mono)}
.billing-review-actions{display:flex;align-items:center;margin-left:auto}
.billing-review-grid{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;min-height:560px}
.billing-evidence-rail{position:sticky;top:calc(var(--app-topbar-height,60px) + 10px);display:grid;align-content:start;gap:9px;min-width:0;padding:14px;border-right:1px solid var(--line);background:var(--panel-2)}
.billing-evidence-heading{display:flex;align-items:end;justify-content:space-between;gap:9px}
.billing-evidence-heading h3{margin:2px 0 0;font-size:13px}
.billing-evidence-heading strong{color:var(--green);font:750 12px/1 var(--mono)}
.billing-evidence-track{height:5px;overflow:hidden;border-radius:999px;background:var(--line)}
.billing-evidence-track i{display:block;height:100%;border-radius:inherit;background:var(--orange)}
.billing-evidence-track.complete i{background:var(--green)}
.billing-evidence-list{display:grid;gap:6px}
.billing-evidence-item{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
.billing-evidence-item>div{display:grid;min-width:0;gap:1px}
.billing-evidence-item b,.billing-evidence-item small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-evidence-item b{font-size:10.5px}
.billing-evidence-item small{color:var(--ink-3);font-size:10px}
.billing-evidence-state{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--orange-bg);color:var(--orange);font:750 9px/1 var(--mono)}
.billing-evidence-item.complete .billing-evidence-state{background:var(--green-bg);color:var(--green)}
.billing-evidence-item.email{border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}
.billing-evidence-item.email .billing-evidence-state{background:var(--accent-soft);color:var(--accent)}
.billing-evidence-item .btn{padding-right:7px;padding-left:7px}
.billing-file-pending{color:var(--orange);font-size:9px;font-weight:800;text-transform:uppercase}
.billing-evidence-blocker,.billing-evidence-ready{display:grid;gap:2px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--red) 30%,var(--line));border-radius:7px;background:var(--red-bg)}
.billing-evidence-blocker b,.billing-evidence-ready b{color:var(--red);font-size:10px}
.billing-evidence-blocker span,.billing-evidence-ready span{color:var(--ink-2);font-size:10px;line-height:1.35}
.billing-evidence-ready{border-color:color-mix(in srgb,var(--green) 30%,var(--line));background:var(--green-bg)}
.billing-evidence-ready b{color:var(--green)}
.billing-evidence-note{color:var(--ink-3);font-size:10px;line-height:1.4}
.billing-review-main{min-width:0}
.billing-review-section-label{display:grid;padding:14px 16px 0}
.billing-review-section-label h3{margin:2px 0 0;font-size:15px}
.billing-review-section-label p{margin:3px 0 0;color:var(--ink-3);font-size:10px}
.billing-review-body{display:grid;gap:12px;min-width:0;padding:12px 16px 16px}
.billing-analysis-state{min-height:430px}

.billing-section{display:grid;gap:11px;min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel-2) 55%,var(--panel))}
.billing-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.billing-section-title>div{display:flex;align-items:center;gap:9px;min-width:0}
.billing-section-title>div>div{display:grid;gap:1px;min-width:0}
.billing-section-title h3{margin:0;font-size:14px}
.billing-section-title p{margin:0;color:var(--muted);font-size:10.5px;line-height:1.35}
.billing-section-step{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:850}
.billing-section-title>.subtle{font-size:10px}
.billing-form-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.billing-form-grid label,.billing-line label{display:grid;gap:4px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.billing-form-grid input,.billing-form-grid select,.billing-line input,.billing-line select{width:100%;max-width:100%;min-width:0;min-height:34px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);font-size:12px;letter-spacing:normal;text-transform:none;color-scheme:light dark}
.billing-form-grid input::placeholder,.billing-line input::placeholder,.billing-filters input::placeholder{color:var(--ink-3);opacity:1}
.billing-form-grid input:hover,.billing-form-grid select:hover,.billing-line input:hover,.billing-line select:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}
.billing-form-grid input:focus-visible,.billing-form-grid select:focus-visible,.billing-line input:focus-visible,.billing-line select:focus-visible{border-color:var(--accent);outline:3px solid color-mix(in srgb,var(--accent) 18%,transparent);outline-offset:0}
.billing-wide{grid-column:1/-1}
.billing-vendor-field{position:relative}
.billing-vendor-memory{display:flex;align-items:center;gap:4px;margin-top:2px;color:var(--green);font-size:9.5px;font-weight:650;letter-spacing:normal;text-transform:none}
.billing-vendor-memory b{color:var(--green)}
.billing-search-results{position:absolute;z-index:12;top:54px;right:0;left:0;display:grid;gap:4px;max-height:245px;overflow:auto;padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--panel);box-shadow:var(--shadow)}
.billing-search-results:empty{display:none}
.billing-search-result{display:flex;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);text-align:left}
.billing-search-result:hover{border-color:var(--accent);background:var(--accent-soft)}

.billing-line-table-wrap{min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.billing-line-table{width:100%;min-width:1050px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.billing-line-table th{padding:8px 9px;border-bottom:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-align:left;text-transform:uppercase}
.billing-line-table th:nth-child(1){width:25%}.billing-line-table th:nth-child(2){width:9%}.billing-line-table th:nth-child(3){width:16%}.billing-line-table th:nth-child(4){width:11%}.billing-line-table th:nth-child(5){width:27%}.billing-line-table th:nth-child(6){width:12%}
.billing-line>td{position:relative;padding:10px 8px;vertical-align:top;border-bottom:1px solid var(--line);background:var(--panel)}
.billing-line>td:first-child{border-left:3px solid var(--orange)}
.billing-line.is-resolved>td:first-child{border-left-color:var(--green)}
.billing-line.needs-coding>td{background:color-mix(in srgb,var(--orange-bg) 22%,var(--panel))}
.billing-line:hover>td{background:color-mix(in srgb,var(--accent-soft) 30%,var(--panel))}
.billing-line-title{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:5px}
.billing-line-title>span:first-child{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.billing-line-state{display:inline-flex;padding:3px 6px;border-radius:999px;background:var(--orange-bg);color:var(--orange);font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.billing-line.is-resolved .billing-line-state{background:var(--green-bg);color:var(--green)}
.billing-field-plain{display:block!important}
.billing-field-plain input{font-weight:700}
.billing-supplier-code{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px!important;margin-top:5px;text-transform:none!important;letter-spacing:normal!important}
.billing-supplier-code span{color:var(--muted);font-size:9px;white-space:nowrap}
.billing-supplier-code input{min-height:28px!important;padding:5px 7px!important;font-size:10px!important}
.billing-line-price{display:grid;gap:6px}
.billing-currency{display:block;margin-top:4px;color:var(--muted);font-size:9px}
.billing-line-search{position:relative;display:grid;gap:5px}
.billing-line-posting select{font-size:10.5px}
.billing-line-results{position:absolute;z-index:15;top:73px;right:0;left:0;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}
.billing-line-results button{display:grid;width:100%;padding:8px;border:0;border-bottom:1px solid var(--line);background:var(--panel);color:var(--ink);text-align:left}
.billing-line-results button:hover{background:var(--accent-soft)}
.billing-line-results small{color:var(--muted)}
.billing-remember{display:flex!important;grid-template-columns:none!important;align-items:center;gap:6px!important;margin:1px 0 0;text-transform:none!important;letter-spacing:normal!important;color:var(--muted)!important;font-size:9px!important;font-weight:650!important}
.billing-remember input{width:auto!important;min-height:0!important;margin:0}
.billing-no-sku{color:var(--muted);font-size:9px}
.billing-ai-suggestion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;padding:8px;border:1px solid color-mix(in srgb,var(--orange) 40%,var(--line));border-left:3px solid var(--orange);border-radius:7px;background:color-mix(in srgb,var(--orange-bg) 58%,var(--panel));color:var(--ink);letter-spacing:normal;text-transform:none}
.billing-ai-suggestion>div{display:grid;gap:2px;min-width:0}
.billing-ai-suggestion span{color:var(--orange);font-size:8.5px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.billing-ai-suggestion b{overflow:hidden;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.billing-ai-suggestion small{color:var(--ink-2);font-size:8.5px;line-height:1.35}
.billing-ai-suggestion button{align-self:center;min-height:30px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--orange) 55%,var(--line));border-radius:6px;background:var(--panel);color:var(--orange);font-size:9px;font-weight:800;cursor:pointer}
.billing-ai-suggestion button:hover{border-color:var(--orange);background:var(--orange-bg)}
.billing-ai-suggestion em{grid-column:1/-1;color:var(--muted);font-size:8px;font-style:normal}
.billing-ai-suggestion.high{border-color:color-mix(in srgb,var(--green) 42%,var(--line));border-left-color:var(--green);background:color-mix(in srgb,var(--green-bg) 56%,var(--panel))}
.billing-ai-suggestion.high span,.billing-ai-suggestion.high button{color:var(--green)}
.billing-ai-suggestion.high button{border-color:color-mix(in srgb,var(--green) 50%,var(--line))}
.billing-ai-suggestion.low{border-color:color-mix(in srgb,var(--red) 36%,var(--line));border-left-color:var(--red);background:color-mix(in srgb,var(--red-bg) 48%,var(--panel))}
.billing-ai-suggestion.low span,.billing-ai-suggestion.low button{color:var(--red)}
.billing-ai-suggestion.no-match{border-color:color-mix(in srgb,var(--muted) 38%,var(--line));border-left-color:var(--muted);background:color-mix(in srgb,var(--panel-2) 72%,var(--panel))}
.billing-ai-suggestion.no-match span,.billing-ai-suggestion.no-match button{color:var(--ink-2)}
.billing-ai-suggestion.no-match button{border-color:var(--line)}
.billing-due-date-field{align-self:start}
.billing-due-date-guidance{display:block;margin-top:5px;padding:6px 8px;border-left:3px solid var(--line);border-radius:5px;background:var(--panel-2);color:var(--ink-2);font-size:9px;font-weight:650;line-height:1.35;letter-spacing:0;text-transform:none}
.billing-due-date-guidance.printed{border-left-color:var(--green);background:color-mix(in srgb,var(--green-bg) 55%,var(--panel));color:var(--green)}
.billing-due-date-guidance.calculated{border-left-color:var(--blue);background:color-mix(in srgb,var(--blue-bg) 55%,var(--panel));color:var(--blue)}
.billing-due-date-guidance.memory{border-left-color:var(--orange);background:color-mix(in srgb,var(--orange-bg) 60%,var(--panel));color:var(--orange)}
.billing-due-date-guidance.manual{border-left-color:var(--green);color:var(--green)}
.billing-due-date-guidance.missing{border-left-color:var(--muted);color:var(--muted)}
.billing-line-memory{display:grid;gap:2px;padding:6px 7px;border:1px solid color-mix(in srgb,var(--ink-3) 25%,var(--line));border-radius:6px;background:var(--panel-2);color:var(--ink-2)}
.billing-line-memory b{font-size:9.5px;color:var(--ink)}
.billing-line-memory span{font-size:8.5px;line-height:1.3}
.billing-line-memory.expense{border-color:color-mix(in srgb,var(--blue) 32%,var(--line));background:var(--blue-bg);color:var(--blue)}
.billing-line-memory.price-increased,.billing-line-memory.warning{border-color:color-mix(in srgb,var(--red) 36%,var(--line));background:var(--red-bg);color:var(--red)}
.billing-line-memory.price-increased b,.billing-line-memory.warning b{color:var(--red)}
.billing-line-memory.price-decreased{border-color:color-mix(in srgb,var(--green) 36%,var(--line));background:var(--green-bg);color:var(--green)}
.billing-line-memory.price-decreased b{color:var(--green)}
.billing-line-memory.price-same{border-color:color-mix(in srgb,var(--green) 24%,var(--line));background:color-mix(in srgb,var(--green-bg) 58%,var(--panel));color:var(--green)}
.billing-line-table tfoot td{padding:9px 10px;background:var(--panel-2);color:var(--muted);font-size:10px;text-align:right}
.billing-line-table tfoot strong{color:var(--ink);font-size:12px}

.billing-completed-history{display:grid;gap:12px;min-width:0}
.billing-history-difference{display:grid;gap:3px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--orange) 45%,var(--line));border-left:3px solid var(--orange);border-radius:9px;background:var(--orange-bg)}
.billing-history-difference b{color:var(--orange);font-size:11px}
.billing-history-difference span{color:var(--ink-2);font-size:10px;line-height:1.4}
.billing-history-section{background:color-mix(in srgb,var(--panel-2) 38%,var(--panel))}
.billing-history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.billing-history-grid>div{display:grid;align-content:start;gap:3px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.billing-history-grid>div.wide{grid-column:span 2}
.billing-history-grid dt{color:var(--muted);font-size:8.5px;font-weight:800;letter-spacing:.065em;text-transform:uppercase}
.billing-history-grid dd{display:grid;gap:3px;min-width:0;margin:0}
.billing-history-grid strong{min-width:0;overflow-wrap:anywhere;font-size:11px}
.billing-history-id{display:block;max-width:100%;overflow-wrap:anywhere;color:var(--ink-3);font:650 8.5px/1.35 var(--mono)}
.billing-history-line-wrap{min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.billing-history-line-table{width:100%;min-width:940px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.billing-history-line-table th{padding:8px 9px;border-bottom:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:8.5px;font-weight:800;letter-spacing:.065em;text-align:left;text-transform:uppercase}
.billing-history-line-table th:nth-child(1){width:31%}.billing-history-line-table th:nth-child(2){width:9%}.billing-history-line-table th:nth-child(3){width:11%}.billing-history-line-table th:nth-child(4){width:13%}.billing-history-line-table th:nth-child(5){width:22%}.billing-history-line-table th:nth-child(6){width:14%}
.billing-history-line-table td{padding:10px 9px;vertical-align:top;border-bottom:1px solid var(--line);background:var(--panel);font-size:10px;line-height:1.4}
.billing-history-line-table tr:last-child td{border-bottom:0}
.billing-history-line-table td>strong,.billing-history-line-table td>small{display:block}
.billing-history-line-table td>small{margin-top:3px;color:var(--muted)}
.billing-history-line-number{display:block;margin-bottom:3px;color:var(--accent);font-size:8px;font-weight:850;letter-spacing:.065em;text-transform:uppercase}
.billing-history-posting{display:grid;gap:2px;min-width:0}
.billing-history-posting small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.billing-history-posting strong{overflow-wrap:anywhere}
.billing-history-empty{padding:20px!important;color:var(--muted);text-align:center}
.billing-history-totals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.billing-history-totals span{display:grid;gap:3px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.billing-history-totals span.zoho{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:var(--green-bg)}
.billing-history-totals small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.billing-history-totals b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.billing-history-totals .zoho b{color:var(--green)}
.billing-history-tax-list{display:grid;gap:0;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);list-style:none}
.billing-history-tax-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 9px;border-bottom:1px solid var(--line);color:var(--ink-2);font-size:10px}
.billing-history-tax-list li:last-child{border-bottom:0}

.billing-validation{display:grid;gap:9px;padding:11px 12px;border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:10px;background:linear-gradient(120deg,color-mix(in srgb,var(--orange-bg) 50%,var(--panel)),var(--panel-2))}
.billing-validation.ready{border-left-color:var(--green);background:linear-gradient(120deg,color-mix(in srgb,var(--green-bg) 58%,var(--panel)),var(--panel-2))}
.billing-validation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.billing-validation-head>div{display:grid;gap:2px}
.billing-validation h3{margin:0;font-size:13px}
.billing-validation p{margin:0;color:var(--ink-2);font-size:10px}
.billing-validation-head>span{display:inline-flex;flex:0 0 auto;padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:8.5px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
.billing-validation-head>span.balanced{border-color:color-mix(in srgb,var(--green) 36%,var(--line));background:var(--green-bg);color:var(--green)}
.billing-validation-head>span.variance{border-color:color-mix(in srgb,var(--red) 42%,var(--line));background:var(--red-bg);color:var(--red)}
.billing-reconciliation{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.billing-reconciliation span{display:grid;gap:2px;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--panel) 92%,transparent)}
.billing-reconciliation small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.billing-reconciliation b{overflow:hidden;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.billing-reconciliation .balanced{border-color:color-mix(in srgb,var(--green) 38%,var(--line));color:var(--green)}
.billing-reconciliation .variance{border-color:color-mix(in srgb,var(--red) 38%,var(--line));color:var(--red)}
.billing-validation details{border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent)}
.billing-validation details>summary{cursor:pointer;list-style:none}
.billing-validation details>summary::-webkit-details-marker{display:none}
.billing-validation-decisions>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px}
.billing-validation-decisions>summary>span:first-child{display:grid;gap:1px}
.billing-validation-decisions>summary b{font-size:10.5px}
.billing-validation-decisions>summary small{color:var(--muted);font-size:9px}
.billing-validation-decisions>summary>span:last-child{color:var(--orange);font-size:9px;font-weight:800;text-transform:uppercase}
.billing-validation-decisions>summary>span:last-child::after{content:'⌄';margin-left:5px}
.billing-validation-decisions[open]>summary>span:last-child::after{content:'⌃'}
.billing-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:8px}
.billing-check{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:39px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--orange) 28%,var(--line));border-radius:7px;background:color-mix(in srgb,var(--orange-bg) 42%,var(--panel));color:var(--ink);text-align:left;cursor:pointer}
.billing-check:hover:not(:disabled){border-color:var(--orange);background:color-mix(in srgb,var(--orange-bg) 68%,var(--panel))}
.billing-check:disabled{cursor:default;opacity:1}
.billing-check>span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--orange-bg);color:var(--orange);font-size:9px;font-weight:850}
.billing-check b{min-width:0;font-size:10px;line-height:1.3}
.billing-check small{color:var(--orange);font-size:8.5px;font-weight:750;white-space:nowrap}
.billing-validation-warnings summary{width:max-content;max-width:100%;padding-top:8px;color:var(--ink-2);font-size:10px;font-weight:700}
.billing-validation-warnings ul{display:grid;gap:4px;margin:7px 0 0;padding-left:18px;color:var(--ink-2);font-size:10px}
.billing-line.review-focus>td,.billing-bill-fields.review-focus{box-shadow:inset 0 0 0 2px var(--accent),0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}

.billing-approval-bar{position:sticky;z-index:8;bottom:0;display:flex;align-items:center;gap:9px;margin:12px -16px -16px;padding:11px 220px 11px 16px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 -8px 22px color-mix(in srgb,var(--ink) 8%,transparent);backdrop-filter:blur(8px)}
.billing-approval-bar p{flex:1;margin:0;color:var(--muted);font-size:10px}
.billing-approval-bar p b{color:var(--blue)}
.billing-approval-bar .btn:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.46}
.billing-save-state{color:var(--green);font-weight:800}
.billing-save-state:not(:empty){margin-right:5px}
.billing-save-state.bad{color:var(--red)}
.billing-loading,.billing-error{padding:22px}
.billing-error{margin:16px;border:1px solid color-mix(in srgb,var(--red) 40%,var(--line));border-radius:10px;background:linear-gradient(120deg,var(--red-bg),var(--panel-2));color:var(--red);line-height:1.55}
.billing-toast{position:fixed;z-index:1000;right:24px;bottom:92px;padding:11px 14px;border-radius:10px;background:var(--ink);color:var(--panel);box-shadow:var(--shadow)}
.billing-toast.bad{border:1px solid color-mix(in srgb,var(--red) 38%,var(--line));background:var(--red-bg);color:var(--red)}
.billing-history-lines>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 15px;cursor:pointer;list-style:none}
.billing-history-lines>summary::-webkit-details-marker{display:none}
.billing-history-lines>summary span:nth-child(2){display:grid;gap:2px;min-width:0}
.billing-history-lines>summary b{font-size:13px}
.billing-history-lines>summary small{color:var(--ink-2);font-size:11px;font-weight:500}
.billing-history-lines>summary strong{color:var(--ink-2);font-size:11px;white-space:nowrap}
.billing-history-lines[open]>summary{border-bottom:1px solid var(--line)}
.billing-kpi:focus-visible,.billing-row:focus-visible,.billing-search-result:focus-visible,.billing-readiness>button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 72%,transparent);outline-offset:2px}

/* Read-only email copy. */
body.billing-dialog-open{overflow:hidden}
.billing-email-backdrop{position:fixed;z-index:1001;inset:0;display:grid;place-items:center;padding:24px;background:rgba(8,18,29,.56);backdrop-filter:blur(3px)}
.billing-email-backdrop[hidden]{display:none!important}
.billing-email-dialog{width:min(760px,100%);max-height:min(760px,calc(100dvh - 48px));overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.billing-email-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 17px;border-bottom:1px solid var(--line)}
.billing-email-dialog h2{margin:2px 0 0;font-size:17px}
.billing-email-dialog-content{max-height:calc(100dvh - 150px);overflow:auto;padding:16px}
.billing-email-dialog-content dl{display:grid;grid-template-columns:85px minmax(0,1fr);gap:6px 10px;margin:0;color:var(--ink-2);font-size:11px}
.billing-email-dialog-content dt{color:var(--muted)}
.billing-email-dialog-content dd{margin:0;overflow-wrap:anywhere}
.billing-email-body{max-height:480px;overflow:auto;margin-top:13px;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);font-size:12px;line-height:1.55;white-space:pre-wrap}
.billing-docs{display:flex;gap:7px;flex-wrap:wrap;padding:11px 15px;border-bottom:1px solid var(--line)}
.billing-doc{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit;font-size:11px;text-decoration:none}

body:has(#view-billing.review-open:not([hidden]) .billing-approval-bar) .assistant-dock:has(#assistantPanel[hidden]){bottom:78px}

@media(max-width:1280px){
  .billing-list-head,.billing-row{grid-template-columns:minmax(245px,1.7fr) 115px minmax(190px,1.2fr) 145px 120px;gap:10px}
  .billing-review-grid{grid-template-columns:200px minmax(0,1fr)}
  .billing-evidence-rail{padding:12px}
  .billing-approval-bar{padding-right:190px}
}
@media(max-width:1040px){
  .billing-list-head{display:none}
  .billing-row{grid-template-columns:minmax(230px,1.5fr) 120px minmax(190px,1fr) 120px}
  .billing-row-date{display:none}
  .billing-review-grid{grid-template-columns:180px minmax(0,1fr)}
  .billing-reconciliation{grid-template-columns:repeat(3,minmax(0,1fr))}
  .billing-checklist{grid-template-columns:1fr}
  .billing-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .billing-history-totals{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
  .billing-command-foot{grid-template-columns:1fr}.billing-how{min-width:0}.billing-how[open]{grid-column:auto}
  .billing-review-grid{grid-template-columns:1fr}
  .billing-evidence-rail{position:static;grid-template-columns:minmax(160px,.8fr) minmax(0,1.6fr);align-items:start;border-right:0;border-bottom:1px solid var(--line)}
  .billing-evidence-heading,.billing-evidence-track,.billing-evidence-ready,.billing-evidence-blocker,.billing-evidence-note{grid-column:1}
  .billing-evidence-list,.billing-evidence-item.email{grid-column:2}
  .billing-evidence-list{grid-row:1/7}
  .billing-approval-bar{padding-right:160px}
}
@media(max-width:700px){
  .billing-view.review-open>.billing-heading{align-items:flex-start}
  .billing-mailbox{grid-template-columns:auto minmax(0,1fr) auto;padding:12px}.billing-mailbox-actions{grid-column:2/-1;justify-content:flex-end;flex-wrap:wrap}
  .billing-readiness,.billing-safety{grid-template-columns:1fr 1fr}
  .billing-kpis{grid-template-columns:1fr 1fr}
  .billing-filters{grid-template-columns:1fr}
  .billing-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .billing-row-value,.billing-row-next{display:grid;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;padding-left:39px}
  .billing-row-value small,.billing-row-next small{white-space:normal}
  .billing-row .billing-badge{justify-self:end}
  .billing-review-head,.billing-review-identity,.billing-review-main,.billing-review-body,.billing-section{max-width:100%;min-width:0}
  .billing-review-identity h2{width:100%;min-width:0;padding:0 0 7px;border-right:0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
  .billing-review-identity>span{min-width:0}
  .billing-evidence-rail{display:grid;grid-template-columns:1fr;padding:11px}
  .billing-evidence-heading,.billing-evidence-track,.billing-evidence-ready,.billing-evidence-blocker,.billing-evidence-note,.billing-evidence-list,.billing-evidence-item.email{grid-column:auto;grid-row:auto}
  .billing-form-grid{grid-template-columns:1fr 1fr}
  .billing-wide{grid-column:1/-1}
  .billing-history-line-table{min-width:0}
  .billing-history-line-table thead{display:none}
  .billing-history-line-table tbody{display:grid;gap:9px;padding:9px}
  .billing-history-line-table tr{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:9px}
  .billing-history-line-table td,.billing-history-line-table tr:last-child td{display:grid;align-content:start;gap:3px;padding:8px;border:0;border-bottom:1px solid var(--line)}
  .billing-history-line-table td:first-child{grid-column:1/-1}
  .billing-history-line-table td::before{content:attr(data-label);color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
  .billing-history-line-table td:first-child::before{display:none}
  .billing-history-line-table td:last-child{border-bottom:0}
  .billing-history-lines>summary{grid-template-columns:auto minmax(0,1fr);padding:12px}
  .billing-history-lines>summary strong{grid-column:2;white-space:normal}
  .billing-line-table{min-width:0;border-collapse:separate}
  .billing-line-table thead{display:none}
  .billing-line-table tbody{display:grid;gap:9px;padding:9px}
  .billing-line{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:9px}
  .billing-line.is-resolved{border-left-color:var(--green)}
  .billing-line>td{display:grid;gap:4px;padding:8px;border:0;border-bottom:1px solid var(--line)}
  .billing-line>td:first-child{grid-column:1/-1;border-left:0}
  .billing-line>td::before{content:attr(data-label);color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
  .billing-line>td:first-child::before{display:none}
  .billing-line-posting{grid-column:1/-1}
  .billing-line-table tfoot{display:table;width:100%}
  .billing-line-table tfoot tr{display:table-row}.billing-line-table tfoot td{display:table-cell}
  .billing-approval-bar{align-items:stretch;flex-direction:column;margin:12px -16px -16px;padding:11px 16px}
  .billing-approval-bar .btn{width:100%}
  body:has(#view-billing.review-open:not([hidden]) .billing-approval-bar) .assistant-dock:has(#assistantPanel[hidden]){bottom:174px}
}
@media(max-width:480px){
  .billing-mailbox{grid-template-columns:auto minmax(0,1fr)}.billing-state{justify-self:start}.billing-mailbox-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}.billing-mailbox-actions .btn{width:100%}
  .billing-readiness,.billing-safety,.billing-kpis{grid-template-columns:1fr}
  .billing-form-grid{grid-template-columns:1fr}.billing-wide{grid-column:auto}
  .billing-history-grid,.billing-history-totals{grid-template-columns:1fr}
  .billing-history-grid>div.wide{grid-column:auto}
  .billing-history-line-table tr{grid-template-columns:1fr}
  .billing-history-line-table td,.billing-history-line-table td:first-child{grid-column:auto}
  .billing-reconciliation{grid-template-columns:1fr 1fr}
  .billing-review-head{grid-template-columns:minmax(0,1fr);padding:11px}.billing-review-case-id{display:none}
  .billing-line{grid-template-columns:1fr}.billing-line>td,.billing-line-posting{grid-column:auto}
  .billing-email-backdrop{padding:10px}
}
