/* Shared visual hierarchy for every authenticated portal module. */
:root{--caption:#52677a;--heading:#102a43;--card-line:#dbe5ea;--card-shadow:0 3px 12px rgba(15,42,67,.045)}

/* Page headings */
.product-heading,.setup-heading,.page-heading{position:relative}
.product-heading .eyebrow,.setup-heading .eyebrow,.page-heading .eyebrow{display:inline-flex;align-items:center;gap:.38rem;color:#31536a;font-weight:850}
.product-heading .eyebrow::before,.setup-heading .eyebrow::before,.page-heading .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tenant-primary,#0f766e);box-shadow:0 0 0 4px color-mix(in srgb,var(--tenant-primary,#0f766e) 13%,transparent)}
.product-heading h1,.setup-heading h1,.page-heading h1{color:var(--heading);line-height:1.08}
.product-heading p,.setup-heading p,.page-heading p{color:var(--caption)}

/* Section/card headings */
.setup-card-title{align-items:flex-start}
.setup-card-title>span{flex:0 0 auto;background:color-mix(in srgb,var(--tenant-primary,#0f766e) 11%,#fff);color:#23445e;box-shadow:inset 3px 0 0 var(--tenant-primary,#0f766e),inset 0 0 0 1px #dce8e7}
.setup-card-title h2,.panel-card h2,.order-toolbar h2{color:var(--heading);font-weight:850;letter-spacing:-.01em}
.setup-card-title p,.order-toolbar p{color:var(--caption);line-height:1.4}

/* Summary/ticker cards used by invoices, inventory, reports and subscriptions. */
.inventory-stats article,.flow-summary article,.report-kpis article,.subscription-overview article,.bill-summary>div{position:relative;overflow:hidden;border-color:var(--card-line);box-shadow:var(--card-shadow)}
.inventory-stats article::before,.flow-summary article::before,.report-kpis article::before,.subscription-overview article::before,.bill-summary>div::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--summary-accent,var(--tenant-primary,#0f766e))}
.inventory-stats span,.flow-summary span,.report-kpis span,.subscription-overview span,.bill-summary span{color:var(--caption);font-weight:750;letter-spacing:.01em}
.inventory-stats strong,.flow-summary strong,.report-kpis strong,.subscription-overview strong,.bill-summary strong{color:var(--heading);font-variant-numeric:tabular-nums}
.inventory-stats .warning,.flow-summary .flow-out,.report-kpis .warning,.subscription-overview .due{--summary-accent:#b45309}
.inventory-stats .danger{--summary-accent:#b42318}
.flow-summary .flow-in,.report-kpis .profit{--summary-accent:#08756c}

/* Tables, form captions and helper text */
.product-table th,.flow-table th,.master-report-table th{color:#334e68;font-weight:850}
main label,main legend{color:#334e68;font-weight:750}
main small,.field small,.setup-card-title p{color:#64748b}
main input::placeholder,main textarea::placeholder{color:#8291a2;opacity:1}

@media(max-width:575px){.product-heading h1,.setup-heading h1{font-size:1.75rem}.setup-card-title{gap:.65rem}.setup-card-title>span{width:29px;height:29px}.inventory-stats article,.flow-summary article,.report-kpis article,.subscription-overview article,.bill-summary>div{padding-left:1rem}}

@media print{.inventory-stats article::before,.flow-summary article::before,.report-kpis article::before,.subscription-overview article::before,.bill-summary>div::before{display:none}}
