/* RPA content system. Shell navigation is defined separately in rpa-shell.css. */
/* Shared icons stay compact even in links without a page-specific icon rule. */
.dash-icon { display: inline-block; width: 20px; height: 20px; flex-shrink: 0; vertical-align: middle; }
.rpa-app .content .production-cost-link { display: inline-flex; max-width: 100%; align-items: center; gap: 6px; white-space: normal; }
.rpa-app .content .production-cost-link .dash-icon { width: 16px; height: 16px; flex: 0 0 16px; }
.rpa-app,
.rpa-login {
    --green-950: var(--rpa-theme-deep, #123f32);
    --green-900: var(--rpa-theme-900, #164a3a);
    --green-800: var(--rpa-theme-800, #1b5c43);
    --green-700: var(--rpa-theme-primary, #087650);
    --green-600: var(--rpa-theme-600, #16855d);
    --green-500: var(--rpa-theme-500, #4a9974);
    --green-100: var(--rpa-theme-100, #e1efe5);
    --green-50: var(--rpa-theme-50, #eff6f0);
    --gold-600: var(--rpa-theme-accent-600, #8a641f);
    --gold-500: var(--rpa-theme-accent-500, #c99938);
    --gold-400: var(--rpa-theme-accent-400, #d5ae59);
    --gold-100: var(--rpa-theme-accent-100, #f8edce);
    --gold-50: var(--rpa-theme-accent-50, #fcf8ec);
    --rpa-on-primary: var(--rpa-theme-on-primary, #fff);
    --blue-600: #3e719b;
    --blue-100: #e7eff6;
    --orange-600: #b86e3a;
    --orange-100: #faeee4;
    --red-600: #b24f49;
    --red-100: #fae9e7;
    --ink-950: #253c32;
    --ink-900: #2c4338;
    --ink-800: #354b40;
    --ink-700: #4a6053;
    --ink-600: #566c5c;
    --ink-500: #5b6f60;
    --ink-400: #637367;
    --line: #dfe7df;
    --line-soft: #eaf0e9;
    --canvas: var(--rpa-theme-canvas, #f6f7f3);
    --border: var(--line);
    --muted: var(--ink-600);
    --primary: var(--green-700);
    --shadow: 0 4px 20px #1b3d2505;
    --shadow-float: 0 16px 42px #203f271a;
    --rpa-font: "Segoe UI", ui-sans-serif, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
    --rpa-radius: 13px;
    color: var(--ink-950);
    background: var(--canvas);
    font-family: var(--rpa-font);
    font-size: 13px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
.rpa-app .content { color: var(--ink-950); }
.rpa-app .content .ops-polished { --ops-muted: var(--ink-500); }
.rpa-app .content .purchase-overview { --purchase-muted: var(--ink-500); }
.rpa-app .content .dash-overview { --dash-muted: var(--ink-500); --dash-green: var(--green-800); --dash-gold: var(--gold-600); }
.rpa-app .content .production-resume { --resume-muted: var(--ink-500); }
.rpa-app .content .ledger-import-review { --ledger-muted: var(--ink-500); }
.rpa-app .content .journal-edit-page { --journal-edit-muted: var(--ink-500); --journal-edit-green: var(--green-800); }
.rpa-app .content :is(h1, h2, h3, h4, p, dl, fieldset) { min-width: 0; }
.rpa-app .content h1 { font-size: 26px; line-height: 1.3; letter-spacing: -.025em; }
.rpa-app .content h2 { font-size: 17px; line-height: 1.4; letter-spacing: -.015em; }
.rpa-app .content h3 { font-size: 14px; line-height: 1.45; letter-spacing: -.005em; }
.rpa-app .content h4 { font-size: 13px; line-height: 1.5; }
.rpa-app .content p { line-height: 1.65; }
.rpa-app .content small { font-size: 11px; line-height: 1.6; }
.rpa-app .content :is(.eyebrow, .section-kicker) { font-size: 10px; font-weight: 700; letter-spacing: .09em; }
.rpa-app .content .page-intro { gap: 18px; margin-bottom: 22px; }
.rpa-app .content .page-intro > div:first-child { min-width: 0; }
.rpa-app .content .page-intro h1 { overflow-wrap: anywhere; }
.rpa-app .content .page-intro p { font-size: 13px; }
.rpa-app .content .card { border-color: var(--line); border-radius: var(--rpa-radius); box-shadow: var(--shadow); }
.rpa-app .content :is(.page-actions, .form-actions, .ops-actions, .purchase-actions, .table-actions) { flex-wrap: wrap; }
.rpa-app .content :is(.button, .table-button, .purchase-action, .receipts-view-link, .journal-link, .ledger-page-link) { font-size: 12px; font-weight: 650; line-height: 1.45; border-radius: 9px; }
.rpa-app .content .button { min-height: 40px; padding: 9px 14px; gap: 7px; }
.rpa-app .content .button.primary { color: var(--rpa-on-primary); background: var(--green-700); border-color: var(--green-700); box-shadow: 0 3px 10px #08765015; }
.rpa-app .content .button.primary:hover { background: var(--green-800); border-color: var(--green-800); }
.rpa-app .content .button.secondary { border-color: var(--green-100); background: #fff; color: var(--green-800); }
.rpa-app .content .button.secondary:hover { border-color: var(--green-500); background: var(--green-50); }
.rpa-app .content .button.danger { color: #fff; background: var(--red-600); border-color: var(--red-600); }
.rpa-app .content :is(.ops-actions, .ops-pagination, .table-actions, .purchase-actions, .ledger-pagination-controls) :is(.button, .purchase-action, .ledger-page-link) { min-height: 34px; padding: 6px 10px; font-size: 12px; }
.rpa-app .content .table-button { min-width: 32px; min-height: 32px; }
.rpa-app .content :is(.actions a, .actions .link, .hpp-edit-trigger) { font-size: 12px; line-height: 1.5; }
.rpa-app .content :is(button, input, select, textarea) { font-family: var(--rpa-font); }
.rpa-app .content :is(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid var(--green-700); outline-offset: 3px; }
.rpa-app .content .button:disabled { opacity: .48; cursor: not-allowed; }

/* Form controls retain their original grids, values, numeric steps and visibility. */
.rpa-app .content :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea) {
    min-height: 40px;
    color: var(--ink-800);
    font-size: 13px;
    line-height: 1.5;
    border-radius: 9px;
}
.rpa-app .content :is(.form-field, .form-stack, .filter-grid, .accounting-cash-form, .cold-setting-fields) :is(input, select, textarea) { border-color: #d9e3d8; background-color: #fcfdfb; font-size: 13px; }
.rpa-app .content :is(.form-field, .form-stack, .filter-grid, .accounting-cash-form, .cold-setting-fields) :is(input, select, textarea):focus { border-color: var(--green-500); box-shadow: 0 0 0 3px var(--green-50); }
.rpa-app .content :is(.form-field, .form-stack, .filter-grid, .accounting-cash-form, .cold-setting-fields) :is(input, select, textarea):disabled { color: #8b998f; background-color: #f0f3ed; }
.rpa-app .content :is(.form-field > span, .form-field > label, .form-stack label > span, .filter-grid label > span, .accounting-cash-form label > span, .report-period-fields label > span, .stage5-filter-fields label > span, .trace-correction-form label > span, .stage-action-field > span, .backfill-hero form label span, .ledger-filter-form label > span) { font-size: 11px; line-height: 1.5; color: var(--ink-700); }
.rpa-app .content :is(.ops-page, .purchase-overview, .receipts-index, .production-resume) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: 13px; min-height: 40px; }
.rpa-app .content :is(.ops-filter, .purchase-filter, .receipts-filter) > span { font-size: 11px; }
.rpa-app .content :is(.data-search, .purchase-input) { min-height: 40px; }
.rpa-app .content :is(.data-search, .purchase-input) input { font-size: 13px; }
.rpa-app .content .data-search input { min-height: 32px; }
.rpa-app .content .purchase-input :is(input, select) { min-height: 38px; }
.rpa-app .content :is(.input-suffix > span, .input-suffix > b, .production-unit-input > span, .production-weight-input > span, .addition-uom, .supply-issue-line > [data-issue-uom], .supply-issue-line > [data-issue-stock]) { font-size: 11px; }
.rpa-app .content :is(.class-line, .advanced-line).is-piece-unit .production-weight-input::after { font-size: 11px; }
.rpa-app .content :is(.line-head, .addition-line-head, .supply-issue-line-head) { color: var(--ink-600); background: #f2f6ef; font-size: 11px; line-height: 1.5; }
.rpa-app .content :is(.po-line, .gr-line, .sales-line, .delivery-line, .class-line, .advanced-line, .overhead-line, .addition-line, .supply-issue-line) :is(input, select) { font-size: 13px; min-height: 40px; }
.rpa-app .content :is(.po-line output, .sales-line > strong, .overhead-readonly, .overhead-line > [data-overhead-amount]) { font-size: 12px; font-variant-numeric: tabular-nums; }
.rpa-app .content :is(.form-summary > span, .grand-total > span, .calculated-field small, .balance-banner span, .overhead-total small, .overhead-total b, .cold-footer-total, .stock-addition-summary span, .stock-addition-summary small) { font-size: 11px; }
.rpa-app .content :is(.form-summary > strong, .grand-total > strong, .calculated-field strong) { font-size: 17px; font-variant-numeric: tabular-nums; }
.rpa-app .content :is(.calculated-field, .balance-banner) { border-color: #d3e4d6; background-color: #f0f6ed; }
.rpa-app .content :is(.form-head, .section-head, .data-toolbar, .ops-heading, .purchase-list-head, .receipts-list-heading) h2 { color: var(--green-950); font-size: 17px; }
.rpa-app .content :is(.form-head p, .section-head p, .data-toolbar p, .ops-heading p, .purchase-list-head p, .receipts-list-heading p, .transaction-lines p, .action-card p, .next-action p, .danger-zone p, .stage-action-copy p, .stage-action-form > p, .trace-correction-head p, .superadmin-date-correction > header p) { font-size: 11px; color: var(--ink-600); line-height: 1.65; }
.rpa-app .content .section-head.compact > a { font-size: 11px; }
.rpa-app .content :is(.action-card h3, .transaction-lines h3, .journal-edit-row legend, .cold-lot-panel h3, .cold-settings-panel h3) { font-size: 14px; }

/* Tables and numerical metadata. Column widths and specialised scroll areas stay local. */
.rpa-app .content table { font-size: 12px; }
.rpa-app .content table th { padding-top: 12px; padding-bottom: 12px; color: var(--green-800); border-bottom-color: var(--line); background: var(--green-50); font-size: 11px; line-height: 1.5; font-weight: 700; letter-spacing: .015em; }
.rpa-app .content table td { padding-top: 13px; padding-bottom: 13px; font-size: 12px; line-height: 1.6; border-bottom-color: var(--line-soft); }
.rpa-app .content table :is(td strong, td b, .ops-primary, .ops-number, .receipts-document strong, .receipts-supplier strong, .ledger-reference strong) { font-size: 12px; line-height: 1.5; }
.rpa-app .content table :is(td small, .ops-muted, .ops-meta, .ops-status-detail, .stock-price-cell > small, .receipts-unit-detail) { font-size: 11px; line-height: 1.6; }
.rpa-app .content .receipts-index .receipts-table td em { font-size: 11px; }
.rpa-app .content .ops-page table :is(th, td) { font-size: 12px; }
.rpa-app .content .ops-page table :is(th, td) :is(strong, b, .ops-primary, .ops-number) { font-size: 12px; }
.rpa-app .content .ops-page table :is(small, .ops-muted, .ops-meta, .ops-status-detail) { font-size: 11px; }
.rpa-app .content :is(.numeric, .ops-number, .journal-amount, .ledger-summary-amount, .stock-price-cell > strong) { font-variant-numeric: tabular-nums; }
.rpa-app .content :is(.ops-primary, .receipts-document strong, .receipts-supplier strong) { font-size: 12px; }
.rpa-app .content :is(.table-footer, .purchase-footer, .ops-list-footer p, .ops-pagination > span, .receipts-result-count, .receipts-scroll-hint, .receipts-table-note p, .ops-note, .ledger-filter-note, .ledger-pagination-count, .ledger-reference small, .ledger-status-cell > small, .ledger-row-number) { font-size: 11px; line-height: 1.6; }
.rpa-app .content :is(.purchase-footer strong, .purchase-toolbar label, .purchase-toolbar label > span, .muted, .receipts-section-nav b, .dash-stage-legend > div) { font-size: 11px; }
.rpa-app .content :is(.ops-lot-list summary, .ops-lots span, .ops-jumps a, .receipts-section-nav a, .dash-jumps a, .purchase-count) { font-size: 11px; }
.rpa-app .content :is(.status, .ops-badge, .type-pill, .purchase-type, .purchase-historical, .purchase-status, .receipts-type, .source-pill, .balanced-pill, .count-badge, .cash-type, .activity-action, .activity-method, .activity-live-pill, .receipts-section-count) { font-size: 10px; line-height: 1.5; border-radius: 7px; }
.rpa-app .content :is(.status, .ops-badge, .purchase-status) { min-height: 27px; }
.rpa-app .content :is(.status.success, .alert.success, .balanced-pill, .balance-check.success) { color: #24734e; border-color: #d4eadd; background: #eaf7ef; }
.rpa-app .content :is(.alert.success, .balance-check.success) > span { background: #d4eadd; }
.rpa-app .content :is(.status.warning, .alert.warning) { color: #8a641f; border-color: #eee0bb; background: #fcf8ec; }
.rpa-app .content .alert.warning > span { background: #f8edce; }
.rpa-app .content :is(.empty-state strong) { font-size: 14px; }
.rpa-app .content :is(.empty-state p, .empty-state small, .security-note, .hpp-safety-note, .error-list) { font-size: 11px; line-height: 1.65; }
.rpa-app .content :is(.alert, .alert.compact) { font-size: 12px; line-height: 1.65; border-radius: 10px; }
.rpa-app .content .alert :is(strong, p, li) { font-size: 12px; }

/* Summaries, dashboard, production costing, and accounting reports. */
.rpa-app .content :is(.metric-card, .summary-card, .ops-stat, .purchase-stat, .resume-metrics article) { border-radius: var(--rpa-radius); box-shadow: var(--shadow); }
.rpa-app .content :is(.metric-card small, .metric-card div > span, .summary-card small, .metric-strip small, .ops-stat > p, .ops-stat > small, .ops-stat-top > small, .ops-stat-top > span, .dash-stat-top small, .purchase-stat-top, .purchase-stat > p, .resume-metrics small, .resume-metrics span) { font-size: 11px; line-height: 1.55; }
.rpa-app .content :is(.ops-stat > strong, .purchase-stat > strong, .metric-card strong) { font-size: 24px; line-height: 1.3; overflow-wrap: anywhere; }
.rpa-app .content :is(.dash-stat-money > strong, .purchase-stat-money > strong, .resume-currency, .resume-hpp-value) { font-size: 18px; line-height: 1.45; }
.rpa-app .content .accounting-metrics .metric-card:nth-child(-n+3) strong { font-size: 18px; }
.rpa-app .content :is(.metric-strip strong, .summary-card strong, .resume-metrics strong) { font-size: 20px; line-height: 1.4; }
.rpa-app .content :is(.ops-stat > strong > span, .ops-stat > strong > small, .purchase-stat > strong > span, .resume-metrics strong em, .metric-strip strong > small) { font-size: 11px; }
.rpa-app .content :is(.resume-metrics .resume-currency, .resume-metrics .resume-hpp-value) { font-size: 18px; }
.rpa-app .content :is(.dash-hero h1, .purchase-hero h1, .ops-hero h1) { font-size: 26px; }
.rpa-app .content :is(.dash-section-title h2, .dash-period-title h2, .dash-card-heading h2, .ledger-review-heading h2, .resume-section-heading h2) { font-size: 17px; }
.rpa-app .content :is(.dash-hero-meta, .dash-section-title > p, .dash-period-head p, .dash-period-shortcuts a, .dash-stage-head p, .dash-stage-head > span, .dash-stage-legend span, .dash-pipeline-meta, .dash-attention article > p, .dash-pipeline article p, .dash-warehouse p, .dash-warehouse > small, .dash-units span, .dash-stat-detail, .dash-chart-head p, .dash-chart-tools > span, .dash-chart-legend span, .dash-chart-data summary) { font-size: 11px; line-height: 1.6; }
.rpa-app .content :is(.dash-attention article > strong, .dash-pipeline article > strong) { font-size: 23px; }
.rpa-app .content :is(.dash-attention article > strong > span, .dash-pipeline article > strong > span) { font-size: 11px; }
.rpa-app .content :is(.dash-chart-head h3, .dash-attention h3, .dash-pipeline h3, .dash-warehouse h3) { font-size: 14px; }
.rpa-app .content :is(.dash-chart-legend strong, .dash-warehouse > strong) { font-size: 16px; }
.rpa-app .content :is(.resume-stage-flow small, .resume-stage-flow p, .resume-hpp-formula small, .resume-hpp-formula p, .resume-cost-breakdown small, .resume-cost-breakdown p, .resume-mass-balance span, .resume-table-note, .production-control-note, .production-next-copy p, .production-summary p, .production-stagebar i, .production-stagebar b) { font-size: 11px; line-height: 1.6; }
.rpa-app .content :is(.resume-stage-flow strong, .resume-hpp-formula strong, .resume-cost-breakdown strong, .resume-mass-balance strong, .cost-breakdown b) { font-size: 14px; font-variant-numeric: tabular-nums; }
.rpa-app .content :is(.resume-flow small, .resume-flow p, .resume-flow-note, .resume-table-note p, .resume-equation small, .resume-cost-note, .resume-lot-summary > span, .resume-context dt, .production-control-list dt, .production-qc-summary > span, .production-overhead-totals span) { font-size: 11px; line-height: 1.6; }
.rpa-app .content :is(.resume-context dd, .production-control-list dd) { font-size: 13px; }
.rpa-app .content :is(.resume-formula-label, .resume-step) { font-size: 10px; }
.rpa-app .content :is(.resume-cost-total strong, .production-overhead-totals strong) { font-size: 18px; }
.rpa-app .content :is(.production-stage-list li strong, .production-qc-summary > span strong) { font-size: 12px; }
.rpa-app .content :is(.detail-list dt, .journal-meta-grid dt, .ledger-summary-grid dt, .accounting-result dt, .detail-grid dt, .activity-detail-grid dt) { font-size: 11px; line-height: 1.5; }
.rpa-app .content :is(.detail-list dd, .journal-meta-grid dd, .accounting-result dd, .activity-detail-grid dd) { font-size: 13px; line-height: 1.6; }
.rpa-app .content :is(.timeline-card small, .timeline-card p, .attachment-card small, .approval-card p, .approval-card footer, .approval-impact small, .comparison-grid small, .comparison-grid span, .payable-hero small, .queue-grid p, .queue-grid small, .temperature-gauge small, .health-list small, .mapping-item small, .sticky-form-actions small, .ledger-summary small, .ledger-summary span, .balance-check small) { font-size: 11px; line-height: 1.6; }
.rpa-app .content :is(.timeline-card strong, .attachment-card strong, .health-list strong, .mapping-item strong, .queue-grid strong) { font-size: 12px; }
.rpa-app .content :is(.report-filter-copy small, .report-heading-badge small, .report-kpi small, .report-kpi em, .report-summary-bar small, .report-panel-head p, .report-panel-head > div > span, .report-tabs button > b, .statement-group > div > span, .statement-group > div > span > b, .accounting-health header small, .accounting-health header > span, .backfill-hero p, .backfill-grid small, .result-metrics span) { font-size: 11px; line-height: 1.6; }
.rpa-app .content :is(.report-kpi strong, .report-summary-bar strong, .backfill-grid > article > span) { font-size: 21px; line-height: 1.35; }
.rpa-app .content :is(.report-tabs button, .tabs a, .check-item, .check-grid .check span, .backfill-grid strong, .journal-entry-hint, .journal-entry-hint > span, .debit-credit) { font-size: 12px; }
.rpa-app .content :is(.cold-workspace-title p, .cold-workspace-head .cold-selected-total > small, .cold-settings-panel p, .cold-lot-panel p, .cold-batch-head small, .cold-lot-row small, .cold-workspace-actions > div:first-child > span, .cold-workspace-actions p, .cold-group-summary small, .cold-group-summary b, .blast-lot-list li > span small, .cold-confirm-weight > small, .cold-confirm-weight em, .stage-action-lock, .date-correction-document > small, .output-correction-metrics article span, .output-correction-impact span) { font-size: 11px; line-height: 1.6; }
.rpa-app .content :is(.cold-batch-head strong, .cold-batch-head b, .cold-lot-row strong, .cold-lot-check, .cold-check-all, .blast-lot-weight, .date-correction-document > span, .output-correction-impact > strong) { font-size: 12px; }
.rpa-app .content :is(.activity-metrics p, .activity-filter-head small, .activity-event-name, .activity-pagination > span, .activity-pagination a, .activity-detail-main small, .activity-detail-main p, .activity-detail-grid dd small, .activity-payload-card header small, .activity-no-data) { font-size: 11px; line-height: 1.6; }
.rpa-app .content :is(.activity-payload-card pre, .activity-table code) { font-size: 12px; line-height: 1.65; }
.rpa-app .content .activity-detail-main :is(p, small) { color: #d9e7dd; }
.rpa-app .content :is(.legend span, .batch-card > span, .batch-card p, .invoice-mini small, .cold-hero > div:first-child > small, .cold-hero > div:first-child > p, .resume-hero small, .resume-hero span, .mass-balance small, .stage5-filter-title small, .cash-category > span, .legacy-stock-card .compact-grid label > span, .hpp-product-summary small, .hpp-source-comparison small, .hpp-source-comparison span, .journal-summary-copy small, .journal-balance-indicator small, .trace-correction-stages article > span, .trace-correction-stages small, .trace-correction-card > footer) { font-size: 11px; line-height: 1.6; }
.rpa-app .content :is(.invoice-mini strong, .report-heading-badge strong, .attention-card header > span, .activity-detail-status strong, .trace-correction-stages strong, .sticky-form-actions strong) { font-size: 12px; }
.rpa-app .content .supply-issue-detail-metrics article:last-child strong { font-size: 13px; line-height: 1.6; }
.rpa-app .content .cold-section-number { font-size: 10px; }
.rpa-app .content :is(.flow-step > small, .flow-step > b, .flow-info-badge, .flow-info > div:nth-child(2) p, .flow-info-stats small, .stage-progress span > small, .warehouse-bars small, .warehouse-bars span strong, .warehouse-bars span b, .attention-card a small, .attention-card a strong, .capacity-card header small, .capacity-card header > span) { font-size: 11px; line-height: 1.55; }
.rpa-app .content :is(.flow-number, .production-stagebar i) { font-size: 10px; }

/* Secondary copy has sufficient contrast on both white cards and the warm canvas. */
.rpa-app .content :is(.dash-overview .dash-stat-top small, .dash-overview .ops-stat > p, .dash-overview .dash-stat-detail, .dash-overview .dash-period-details p, .dash-overview .dash-attention p, .dash-overview .dash-attention strong span, .dash-overview .dash-card-heading p, .dash-overview .dash-stage-head p, .dash-overview .dash-pipeline p, .dash-overview .dash-warehouse small, .dash-overview .dash-warehouse p, .dash-overview .dash-period label, .dash-overview .dash-shortcuts a, .dash-chart-head p, .dash-chart-empty small, .dash-chart-tools > span, .dash-chart-legend span, .dash-chart-switch button, .ledger-row-number, .ledger-page-gap) { color: var(--ink-500); }
.rpa-app .content :is(.purchase-overview .purchase-hero p, .purchase-overview .purchase-toolbar .ops-filter, .purchase-overview .purchase-toolbar label, .purchase-overview .purchase-toolbar label > span, .purchase-overview .ops-list-footer p, .purchase-overview .ops-pagination > span, .purchase-overview .purchase-table :is(small, .ops-muted), .purchase-overview .purchase-footer, .pending-po-row small, .import-dropzone small) { color: var(--ink-500); }
.rpa-app .content .purchase-overview .purchase-quantity-detail { color: #3e719b; }
.rpa-app .content .import-warning-card p { color: #786137; }
.rpa-app .content .dash-overview .dash-period-notice { color: var(--gold-600) !important; }
.rpa-app .content .dash-chart-axis { fill: var(--ink-500); }
.rpa-app .content .production-stage-list li:not(.done):not(.current) > i { color: var(--ink-500); }
.rpa-app .content .permission-group .check-item strong { color: var(--ink-700); font-size: 12px; line-height: 1.5; }
.rpa-app .content .permission-group .check-item small { color: var(--ink-500); font-size: 11px; line-height: 1.6; }
.rpa-app .content :is(input, textarea)::placeholder { color: var(--ink-400); opacity: 1; }

/* Brand panels follow the account palette; status and unit colours stay semantic. */
.rpa-app .content :is(.ops-polished .ops-hero, .purchase-overview .purchase-hero) { border-color: var(--green-100); background: linear-gradient(115deg, var(--green-50), #fff 65%, var(--gold-50)); }
.rpa-app .content .dash-overview .dash-hero { border-color: var(--green-800); background: linear-gradient(118deg, var(--green-800), var(--green-950)); }
.rpa-app .content :is(.import-flow-card, .legacy-flow-card, .resume-hpp-formula) { background: linear-gradient(135deg, var(--green-800), var(--green-950)); }
.rpa-app .content :is(.ops-heading-icon, .purchase-heading-icon, .dash-section-icon:not(.is-gold), .dash-chart-icon) { color: var(--green-700); border-color: var(--green-100); background: var(--green-50); }
.rpa-app .content :is(.ops-polished .ops-hero .ops-heading-icon, .purchase-overview .purchase-hero .purchase-heading-icon) { background: #fff; }
.rpa-app .content :is(.purchase-overview .purchase-hero h1, .purchase-overview .purchase-list-head h2, .dash-overview .dash-period h2, .dash-overview .dash-section-title h2, .dash-overview .dash-card-heading h2, .dash-chart-head h3) { color: var(--green-950); }
.rpa-app .content :is(.purchase-overview .purchase-hero .eyebrow, .ops-page .ops-jumps a, .ops-page .ops-lot-list summary, .purchase-overview .purchase-action, .dash-overview .dash-stat-detail a, .dash-overview .dash-period-details a, .dash-overview .dash-attention a, .dash-overview .dash-pipeline a, .dash-chart-data summary) { color: var(--green-800); }
.rpa-app .content :is(.dash-overview .dash-shortcuts a.is-selected, .dash-chart-switch button[aria-pressed="true"]) { color: var(--green-800); border-color: var(--green-100); background: var(--green-50); }
.rpa-app .content :is(.ops-polished .ops-stat.tone-green, .purchase-overview .purchase-stat.tone-green) { --stat-accent: var(--green-700); --stat-bg: var(--green-50); --stat-line: var(--green-100); --purchase-accent: var(--green-700); --purchase-tint: var(--green-50); --purchase-border: var(--green-100); }
.rpa-app .content .dash-overview .ops-stat:not(.is-gold):not(.is-teal) .dash-stat-icon { color: var(--green-700); border-color: var(--green-100); background: var(--green-50); }
.rpa-app .content .dash-overview .ops-stat::before { background: var(--green-100); }
.rpa-app .content .dash-overview .ops-stat.is-gold::before { background: var(--gold-100); }
.rpa-app .content .dash-overview .ops-stat.is-teal::before { background: var(--blue-100); }
.rpa-app .content .dash-overview .ops-stat > strong { color: var(--green-900); }
.rpa-app .content .activity-payload-card pre { background: var(--green-950); }
.rpa-app .content .dash-overview .dash-capacity-bar i { background: linear-gradient(90deg, var(--green-500), var(--green-800)); }
.rpa-app .content .resume-cost-track i { background: linear-gradient(90deg, var(--green-600), var(--green-100)); }
.rpa-app .content .journal-edit-notice { color: var(--green-800); border-color: var(--green-100); background: var(--green-50); }
.rpa-app .content :is(.batch-card p, .cold-hero > div:first-child > small, .cold-hero > div:first-child > p, .stock-addition-summary span, .stock-addition-summary small, .journal-summary-copy small, .journal-summary-copy > span) { color: #d9e7dd; }

/* Select2 menus may live directly beneath the body, outside .content. */
.rpa-app .select2-container .select2-selection--single { min-height: 40px; border-color: #d9e3d8; border-radius: 9px; }
.rpa-app .select2-container .select2-selection--single .select2-selection__rendered { min-height: 38px; font-size: 13px; line-height: 38px; }
.rpa-app .select2-container .select2-selection--single .select2-selection__arrow { min-height: 38px; }
.rpa-app .form-field > .sales-customer-select2 + .select2-container .select2-selection__rendered { font-size: 13px; }
.rpa-app .select2-dropdown { border-color: #d9e3d8; box-shadow: var(--shadow-float); }
.rpa-app .select2-results__option { font-size: 13px; line-height: 1.55; }
.rpa-app .select2-search--dropdown .select2-search__field { min-height: 40px; font-size: 13px; }
.rpa-app :is(.sales-customer-option, .sales-item-option, .advanced-item-option, .advanced-supply-option, .purchase-item-option, .partner-option, .account-option, .production-option) { font-size: 12px; line-height: 1.5; }
.rpa-app :is(.sales-customer-option, .sales-item-option, .advanced-item-option, .advanced-supply-option, .purchase-item-option, .partner-option, .account-option, .production-option) small { font-size: 11px; line-height: 1.5; }
/* These named label rules counter the existing 9px !important option names only. */
.rpa-app :is(.sales-item-option, .purchase-item-option, .partner-option, .account-option, .production-option) strong { font-size: 12px !important; line-height: 1.5; }
.rpa-app :is(.sales-customer-option, .advanced-item-option, .advanced-supply-option) strong { font-size: 12px; line-height: 1.5; }

/* Authentication: the same RPA identity, with an independent responsive layout. */
.rpa-login.login-body { min-height: 100vh; background: var(--canvas); }
.rpa-login .login-shell { display: grid; grid-template-columns: minmax(380px, 1fr) minmax(420px, 1fr); min-height: 100vh; }
.rpa-login .login-visual { display: flex; position: relative; padding: clamp(30px, 4vw, 64px); overflow: hidden; color: #f6faf5; background: linear-gradient(145deg, #174b3a, #123f32 75%); }
.rpa-login .login-visual::after { width: 420px; height: 420px; right: -220px; bottom: -230px; border-color: #ffffff10; box-shadow: 0 0 0 80px #ffffff03, 0 0 0 160px #ffffff02; pointer-events: none; }
.rpa-login .login-brand { gap: 13px; position: relative; z-index: 1; }
.rpa-login .login-brand .brand-mark.large { width: 52px; height: 52px; flex-basis: 52px; border-radius: 12px; box-shadow: 0 5px 14px #0a281d18; }
.rpa-login .login-brand .brand-mark.large img { width: 92px; }
.rpa-login .login-brand strong { font-size: 20px; line-height: 1.2; letter-spacing: .035em; }
.rpa-login .login-brand small { font-size: 11px; color: #d1dfd3; line-height: 1.5; letter-spacing: .015em; }
.rpa-login .login-copy { max-width: 560px; margin: auto 0; padding: 44px 0; }
.rpa-login .login-identity { display: inline-flex; align-items: center; gap: 9px; color: #e2ca8d; font-size: 11px; font-weight: 650; letter-spacing: .07em; }
.rpa-login .login-identity .dash-icon { width: 25px; height: 25px; }
.rpa-login .login-copy h1 { margin: 18px 0 16px; font-size: clamp(28px, 2.6vw, 34px); line-height: 1.3; font-weight: 700; letter-spacing: -.025em; }
.rpa-login .login-copy h1 em { color: #e5ca8c; }
.rpa-login .login-copy > p { max-width: 470px; color: #cfddd1; font-size: 13px; line-height: 1.85; }
.rpa-login .login-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 28px; padding: 0; list-style: none; }
.rpa-login .login-flow li { display: flex; min-width: 0; gap: 10px; padding: 13px 12px; border: 1px solid #ffffff15; border-radius: 11px; background: #ffffff05; }
.rpa-login .login-flow-icon { display: inline-flex; width: 29px; height: 29px; flex: 0 0 29px; align-items: center; justify-content: center; padding: 0; color: #e3ca90; border: 0; border-radius: 8px; background: #ffffff08; }
.rpa-login .login-flow .dash-icon { width: 17px; height: 17px; }
.rpa-login .login-flow li > div { min-width: 0; }
.rpa-login .login-flow strong { display: block; color: #f0f5ee; font-size: 12px; font-weight: 650; line-height: 1.4; }
.rpa-login .login-flow small { display: block; margin-top: 4px; color: #bdcebf; font-size: 11px; line-height: 1.5; }
.rpa-login .login-version { color: #afc5b5; font-size: 11px; letter-spacing: .015em; }
.rpa-login .login-form-wrap { min-width: 0; padding: 42px 36px; background: var(--canvas); }
.rpa-login .login-card { width: 100%; max-width: 420px; padding: 32px; border: 1px solid #dfe7db; border-radius: 17px; background: #fff; box-shadow: 0 10px 34px #213a2710; }
.rpa-login .login-card .eyebrow { color: #5d7b64; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.rpa-login .login-card .eyebrow i { background: #c99938; }
.rpa-login .login-card h2 { margin: 9px 0 9px; color: #123f32; font-size: 24px; line-height: 1.35; letter-spacing: -.02em; }
.rpa-login .login-card > p { margin-bottom: 25px; color: var(--ink-500); font-size: 13px; line-height: 1.75; }
.rpa-login .login-card .form-field { margin-top: 17px; gap: 7px; }
.rpa-login .login-card .form-field > span { color: #4a6351; font-size: 12px; font-weight: 650; }
.rpa-login .input-icon { height: 46px; gap: 10px; padding: 0 12px; border-color: #dce5d8; border-radius: 9px; background: #fcfdfb; }
.rpa-login .input-icon .dash-icon { width: 18px; height: 18px; flex: 0 0 18px; color: #829985; }
.rpa-login .input-icon input { min-height: 40px; padding: 0; color: #334c3b; font-size: 13px; border: 0; background: transparent; box-shadow: none; }
.rpa-login .input-icon input:focus { border: 0; box-shadow: none; outline: 0; }
.rpa-login .input-icon:focus-within { border-color: #72a586; box-shadow: 0 0 0 3px #72a58615; }
.rpa-login .input-icon button { min-height: 32px; padding: 5px 3px; color: #39704f; font-size: 11px; }
.rpa-login .login-submit { min-height: 45px; height: auto; margin-top: 23px; padding: 12px 14px; font-size: 13px; background: #087650; border-color: #087650; box-shadow: 0 4px 12px #08765018; }
.rpa-login .login-submit:hover { background: #165d40; border-color: #165d40; }
.rpa-login .login-submit .dash-icon { width: 17px; height: 17px; margin-left: auto; }
.rpa-login .login-help { align-items: flex-start; flex-direction: column; gap: 8px; margin-top: 18px; padding-top: 17px; border-top: 1px solid #e9eee5; font-size: 11px; line-height: 1.6; }
.rpa-login .login-help > span { gap: 7px; color: var(--ink-600); }
.rpa-login .login-help .dash-icon { width: 14px; height: 14px; }
.rpa-login .login-help small { font-size: 11px; color: var(--ink-500); }
.rpa-login .login-card .alert { margin: 18px 0 8px; padding: 12px; font-size: 12px; line-height: 1.6; }
.rpa-login .login-mobile-logo { align-items: center; gap: 11px; margin-bottom: 24px; }
.rpa-login .login-mobile-logo strong { display: block; color: #234f37; font-size: 16px; letter-spacing: .025em; }
.rpa-login .login-mobile-logo small { display: block; margin-top: 2px; color: var(--ink-500); font-size: 11px; }
.rpa-login input::placeholder { color: var(--ink-400); opacity: 1; }
.rpa-login :is(a, button, input):focus-visible { outline: 3px solid #9cc3a8; outline-offset: 3px; }

@media (max-width: 1100px) {
    .rpa-login .login-shell { grid-template-columns: minmax(340px, .95fr) minmax(380px, 1.05fr); }
    .rpa-login .login-visual { padding: 32px; }
    .rpa-login .login-form-wrap { padding: 30px; }
    .rpa-login .login-flow { grid-template-columns: 1fr; gap: 8px; }
    .rpa-login .login-flow li { padding: 10px 12px; }
}
@media (max-width: 820px) {
    .rpa-login .login-shell { grid-template-columns: minmax(0, 1fr); }
    .rpa-login .login-visual { display: none; }
    .rpa-login .login-form-wrap { min-height: 100vh; padding: 30px 22px; }
    .rpa-login .login-mobile-logo { display: flex; }
    .rpa-login .login-card { max-width: 440px; }
}
@media (max-width: 650px) {
    .rpa-app .content h1,
    .rpa-app .content :is(.dash-hero h1, .purchase-hero h1, .ops-hero h1) { font-size: 24px; }
    .rpa-app .content :is(.ops-stat > strong, .purchase-stat > strong, .metric-card strong) { font-size: 22px; }
    .rpa-app .content :is(.dash-stat-money > strong, .purchase-stat-money > strong, .resume-metrics .resume-currency, .resume-metrics .resume-hpp-value) { font-size: 18px; }
    .rpa-app .content :is(.page-actions, .form-actions) { gap: 8px; }
    .rpa-login .login-form-wrap { padding: 20px 16px; }
    .rpa-login .login-card { padding: 25px 22px; border-radius: 14px; }
    .rpa-login .login-card h2 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
    .rpa-app .content .button,
    .rpa-login .button { transition: none; }
}
.rpa-login .login-shell :is(.login-brand,.login-mobile-logo) .brand-mark.brand-custom img { position: static; width: 100%; height: 100%; object-fit: contain; transform: none; }
