/* Shared workspace presentation. Deliberately excludes navigation and the sidebar. */
:root {
    --ux-ink: #192a42;
    --ux-muted: #586a80;
    --ux-line: #dce4ee;
    --ux-blue: #2459bd;
    --ux-radius: 14px;
    --ux-gap: 20px;
}
.main-content { color: var(--ux-ink); }
.main-content article > div { min-width: 0; }
.main-content .page-heading {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 16px; margin-bottom: 8px;
}
.main-content h1 { color: var(--ux-ink); font-size: clamp(1.55rem, 2.6vw, 2.15rem); font-weight: 750; letter-spacing: -.035em; }
.main-content .page-description { margin: 4px 0 0; color: var(--ux-muted); line-height: 1.6; }
.main-content .eyebrow { margin: 0 0 6px; color: #42699d; font-size: .72rem; letter-spacing: .1em; font-weight: 750; text-transform: uppercase; }
.main-content :is(.sales-form-page, .cash-form-page) { max-width: 1440px; width: 100%; margin-inline: auto; gap: 24px; }
.main-content :is(.form-card, .fixed-asset-form-card) {
    min-width: 0; background: #fff; border: 1px solid var(--ux-line);
    border-radius: var(--ux-radius); box-shadow: 0 4px 18px #152c4a06;
}
.main-content :is(.form-card-heading, .fixed-asset-form-heading) {
    padding: 20px 24px; border-bottom: 1px solid #e8edf4;
}
.main-content :is(.form-card-heading, .fixed-asset-form-heading) h2 { margin: 0; font-size: 1rem; font-weight: 750; color: var(--ux-ink); }
.main-content :is(.form-card-heading, .fixed-asset-form-heading) p { margin: 5px 0 0; color: var(--ux-muted); font-size: .82rem; }
.main-content :is(.form-grid, .fixed-asset-form-grid) {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 24px; padding: 24px;
}
.main-content .form-field { min-width: 0; }
.main-content .form-field-wide { grid-column: 1 / -1; }
.main-content .form-field > label { display: block; margin-bottom: 7px; color: #34465d; font-size: .82rem; font-weight: 650; }
.main-content :is(.form-control, .filter-control) {
    min-height: 44px; padding: 10px 12px; border: 1px solid #cbd7e5;
    border-radius: 8px; color: #22354d; background-color: #fff; font-size: .88rem;
}
.main-content .form-control { width: 100%; }
.main-content :is(.form-control, .filter-control):focus {
    border-color: #5786d2; outline: 2px solid #d8e7ff; outline-offset: 1px;
    box-shadow: none;
}
.main-content :is(.form-control, .filter-control):disabled { background: #f1f4f8; color: #59697c; cursor: not-allowed; }
.main-content .form-control[readonly] { background: #f4f7fc; color: #35527b; font-weight: 650; }
.main-content .field-help { display: block; margin-top: 6px; font-size: .78rem; line-height: 1.5; color: var(--ux-muted); }
.main-content .form-field .radio-option { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.main-content .radio-group { gap: 20px; }
.main-content .form-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; margin-top: 20px; }
.main-content form.form-card > .form-actions { padding: 20px 24px; margin: 0; border-top: 1px solid #e8edf4; }
.main-content :is(.form-alert, .validation-summary-errors) { margin: 16px 24px; padding: 12px 16px; border: 1px solid #f0bdb8; border-radius: 8px; color: #9e2921; background: #fff5f4; }
.main-content .validation-message { color: #a92b23; font-size: .8rem; margin-top: 5px; }
.main-content :is(.invalid, .form-control.invalid) { border-color: #bb3329; outline-color: #bb3329; }
.main-content button:disabled { opacity: .6; cursor: not-allowed; }
.main-content .invoice-items-heading { padding: 20px 24px 0; margin-top: 0; }
.main-content .invoice-items-heading p { color: var(--ux-muted); line-height: 1.6; }
.main-content .invoice-items-table { margin: 16px 24px 24px; }
.main-content .invoice-items-table .cash-table { min-width: 980px; }
.main-content .invoice-items-table td:first-child { min-width: 240px; }
.main-content .invoice-items-table .quantity-control { min-width: 90px; }
.main-content .invoice-items-table .price-control { min-width: 140px; max-width: none; }
.main-content .invoice-totals { margin: 20px 24px 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.main-content .invoice-totals > div { padding: 16px; background: #f7f9fc; border-color: #e0e7f0; }
.main-content .invoice-totals span { font-size: .73rem; color: var(--ux-muted); }
.main-content .invoice-totals strong { font-size: 1.15rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.main-content .invoice-totals .invoice-total-final { background: #edf4ff; border-color: #b9d0f2; }
.main-content .invoice-total-final strong { color: #194c9c; font-size: 1.3rem; }
.main-content .detail-grid { gap: 0 28px; padding: 8px 24px 24px; }
.main-content .detail-grid > div { min-width: 0; padding: 16px 0; }
.main-content .detail-grid dd { overflow-wrap: anywhere; }
.main-content table { width: 100%; border-collapse: collapse; }
.main-content table th { color: #53657c; background: #f5f8fc; font-weight: 700; line-height: 1.4; }
.main-content table :is(th, td) { padding: 13px 16px; vertical-align: middle; }
.main-content table td { border-bottom: 1px solid #edf1f6; }
.main-content table tbody tr:hover { background: #f6f9fe; }
.main-content table :is(.amount-column, .line-total, .numeric) { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.main-content .table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.main-content .table-scroll:focus-visible { outline: 2px solid #5786d2; outline-offset: 2px; }
.main-content :is(.summary-list dd, .metric-value, .current-balance) { font-variant-numeric: tabular-nums; }
.main-content :is(.cash-summary-grid, .sales-summary-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 16px; }
.main-content :is(.sales-summary-grid, .cash-summary-grid) strong { font-size: 1.3rem; overflow-wrap: anywhere; }
.main-content :is(.field-help, .form-card-heading p, .table-context) { color: var(--ux-muted); }
.main-content .empty-table-state { padding: 36px 24px; color: var(--ux-muted); text-align: center; }
.main-content :is(.entry-context, .entry-summary) { min-width: 0; }
.entry-context { margin: 16px 24px; }
.form-field > .entry-context, .form-field-wide > .entry-context { margin: 0; }
.entry-summary { padding: 18px 20px; border: 1px solid #cdddf1; border-radius: 12px; background: #f3f7fe; }
.entry-summary-heading h3 { margin: 0; color: #244774; font-size: .9rem; font-weight: 750; }
.entry-summary-heading p { margin: 5px 0 0; color: #52677f; font-size: .77rem; line-height: 1.55; }
.entry-summary-values { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 16px; margin: 16px 0 0; }
.entry-summary-values > div { min-width: 0; }
.entry-summary-values dt { color: #516881; font-size: .76rem; font-weight: 550; }
.entry-summary-values dd { margin: 5px 0 0; color: #243e61; font-size: 1.15rem; font-weight: 750; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.entry-summary-values .summary-emphasis { padding-left: 14px; border-left: 3px solid #4f82ca; }
.entry-summary-values .summary-emphasis dd { color: #194c9c; }
.context-notice { padding: 12px 16px; border: 1px solid #d5e2f3; border-radius: 8px; margin: 12px 0; background: #f5f8fd; color: #405a7a; font-size: .83rem; }
.context-notice.warning, .entry-summary.warning { color: #815500; background: #fff9eb; border-color: #ead39b; }
.context-notice.danger, .entry-summary.danger { color: #a32b23; background: #fff4f2; border-color: #edbeb8; }
.entry-summary.danger .summary-emphasis dd { color: #a32b23; }
.context-retry { color: inherit; font: inherit; font-weight: 700; margin-left: 8px; padding: 4px 10px; background: #fff; border: 1px solid currentColor; border-radius: 6px; }
.stock-availability { display: block; margin-top: 8px; color: #516780; font-size: .76rem; }
.stock-availability.warning { color: #855900; }
.stock-availability strong { display: inline !important; color: inherit !important; }
.main-content .account-status { display: inline-flex; padding: 4px 9px; border-radius: 6px; color: #375b8b; background: #eaf1fc; font-size: .75rem; font-weight: 650; }
.main-content .attention-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.main-content .attention-links p { flex: 1 1 240px; margin: 0; }
.main-content .account-due { color: #2459a1; font-weight: 750; }
.main-content .asset-value-summary { margin-top: 20px; }
@media (max-width: 680px) {
    .main-content :is(.form-grid, .fixed-asset-form-grid) { grid-template-columns: 1fr; padding: 18px; gap: 20px; }
    .main-content :is(.form-card-heading, .fixed-asset-form-heading) { padding: 18px; }
    .main-content .invoice-items-heading { padding: 18px 18px 0; }
    .main-content :is(.invoice-items-table, .invoice-totals) { margin: 18px; }
    .main-content .invoice-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .main-content .invoice-totals strong { font-size: 1rem; }
    .main-content .detail-grid { grid-template-columns: 1fr; }
    .main-content .form-actions > * { flex: 1 1 auto; }
    .entry-context { margin: 18px; }
    .entry-summary { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { .main-content * { transition: none !important; scroll-behavior: auto !important; } }
