/* Shared identity for the business screens retained during migration. */
.torr-app {
    --bs-primary: var(--torr-primary);
    --bs-primary-rgb: 66, 99, 235;
    --bs-body-color: #34353d;
    --bs-body-bg: #f6f5f2;
    --bs-body-font-family: var(--torr-font);
    --bs-border-color: #e8e5dd;
    --bs-success: #13866d;
    font-family: var(--torr-font);
    font-size: .875rem;
    background: #f6f5f2;
    color: #34353d;
}
.torr-app .main-nav, .torr-app .main-nav .scrollbar { background: #191b22 !important; border: none; }
.torr-app .main-nav .logo-box { background: #fff !important; border-bottom: 1px solid #e8e5dd; }
.torr-app .logo-box .logo-lg { height: 42px; width: auto; object-fit: contain; }
.torr-app .logo-box .logo-sm { height: 36px; width: 36px; object-fit: contain; }
.torr-app .main-nav .menu-title { color: #c1b9a6; font-size: .66rem; letter-spacing: .1em; padding-top: 1.6rem; }
.torr-app .main-nav .nav-link, .torr-app .main-nav .sub-nav-link { color: #eee9dc !important; border-radius: .7rem; font-size: .84rem; margin: 3px 12px; padding-block: .75rem; }
.torr-app .main-nav .nav-link:hover, .torr-app .main-nav .sub-nav-link:hover { background: #303039; }
.torr-app .main-nav .nav-link.active, .torr-app .main-nav .sub-nav-link.active { background: var(--torr-primary); color: #fff !important; }
.torr-app .main-nav .nav-icon { color: #b4ad9c; }
.torr-app .topbar { background: #fff; border-bottom: 1px solid #e8e5dd; box-shadow: none; }
.torr-app .topbar h4 { font-size: .9rem; color: #202127; letter-spacing: -.02em; text-transform: none !important; }
.torr-app .page-content { background: #f6f5f2; }
.torr-app .container-fluid { padding-inline: clamp(1rem, 2vw, 2rem); }
.torr-app .page-title-box { padding-block: 1.5rem; }
.torr-app .page-title { color: #202127 !important; font-weight: 800; letter-spacing: -.035em; }
.torr-app .card { border: 1px solid #e8e5dd; border-radius: 1rem; box-shadow: 0 6px 24px #15234406; }
.torr-app .card-header { background: #fff; border-bottom: 1px solid #e8e5dd; padding-block: 1.15rem; border-radius: 1rem 1rem 0 0; }
.torr-app .card-title { font-size: .95rem; font-weight: 750; color: #202127; letter-spacing: -.02em; }
.torr-app .form-control, .torr-app .form-select, .torr-app .select2-container .select2-selection { border-color: #e2dfd6; border-radius: .65rem; min-height: 42px; font-family: var(--torr-font); font-size: .84rem; }
.torr-app .form-control:focus, .torr-app .form-select:focus { border-color: var(--torr-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--torr-primary) 11%, transparent); }
.torr-app .form-label { color: #65616a; font-size: .77rem; font-weight: 650; }
.torr-app .btn { border-radius: .65rem; font-weight: 700; font-size: .8rem; padding: .6rem 1rem; }
.torr-app .btn-primary, .torr-app .btn-success, .torr-app .btn-soft-primary { background: var(--torr-primary) !important; border-color: var(--torr-primary) !important; color: #fff !important; box-shadow: 0 4px 12px color-mix(in srgb, var(--torr-primary) 13%, transparent); }
.torr-app .btn-primary:hover, .torr-app .btn-success:hover, .torr-app .btn-soft-primary:hover { background: var(--torr-primary) !important; border-color: var(--torr-primary) !important; }
.torr-app .btn-primary, .torr-app .btn-soft-primary, .torr-app .btn-secondary {
    background: var(--torr-action) !important;
    border-color: var(--torr-primary) !important; color: #fff !important; box-shadow: 0 5px 16px color-mix(in srgb, var(--torr-primary) 14%, transparent);
}
.torr-app .btn-primary:hover, .torr-app .btn-soft-primary:hover, .torr-app .btn-secondary:hover { background: var(--torr-action) !important; color: #fff !important; }
.torr-app .btn-primary svg, .torr-app .btn-secondary svg, .torr-app .btn-primary i, .torr-app .btn-secondary i { color: #fff; }
.torr-app .nav-pills { gap: .3rem; padding: .5rem; border: 1px solid #e8e5dd; border-radius: .9rem; background: #f9f8f5; }
.torr-app .nav-pills .nav-link { color: #6d6872; border-radius: .65rem; padding: .7rem .9rem; font-weight: 650; }
.torr-app .nav-pills .nav-link.active { background: var(--torr-action) !important; color: #fff !important; }
.torr-app .card-header h1, .torr-app .card-header h2, .torr-app .card-header h3, .torr-app .card-header h4, .torr-app .card-header h5 { margin: 0; line-height: 1.4; }
.torr-app .card-body > .perTitle, .torr-app .card-body > h4 { padding: .75rem 0; margin-block: .5rem 1rem; font-size: 1rem; }
.torr-app .text-white, .torr-app .bg-dark, .torr-app .bg-primary { color: #fff !important; }
.torr-business { background: transparent; padding-block: 0; min-width: 0; display: flex; flex-direction: column; gap: 1.75rem; }
.torr-business .fi-header-heading { color: #fff !important; font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 750; letter-spacing: -.04em; margin: 0; }
.torr-business .fi-header-subheading { color: #cec6b2; margin: .5rem 0 0; }
.torr-app .btn-success { background: var(--torr-action) !important; border-color: var(--torr-primary) !important; color: #fff !important; }
.torr-business-content { min-width: 0; }
.torr-business .page-title-box { display: none; }
.torr-business .card { margin-bottom: 1.5rem; }
.torr-business .card-body { padding: 1.5rem; }
.torr-business .card-header { padding: 1.15rem 1.5rem; }
.torr-business .form-control, .torr-business .form-select { background: #fff; color: #34353d; }
.torr-business .table td, .torr-business .table th { padding-inline: .85rem; }
.torr-business .btn-soft-danger { background: #fff0f4; color: #be123c; border-color: #fecdd3; }
.torr-business .text-muted { color: #737078 !important; }
.torr-business .bg-light { background: #f5f7fc !important; }
.torr-business .fw-medium { font-weight: 600; }
.torr-business .fs-18 { font-size: 18px; }
.torr-business .fs-15 { font-size: 15px; }
.torr-business .table-responsive { border-radius: .75rem; }
.dark .torr-business { --bs-body-bg: #202229; --bs-body-color: #edf3ff; --bs-border-color: #40414a; color: #edf3ff; }
.dark .torr-business .card, .dark .torr-business .card-header, .dark .torr-business .form-control, .dark .torr-business .form-select { background: #202229; color: #edf3ff; border-color: #40414a; }
.dark .torr-business .card-title, .dark .torr-business .form-label, .dark .torr-business .text-dark { color: #edf3ff !important; }
.dark .torr-business .text-muted { color: #c5bfad !important; }
.dark .torr-business .table { --bs-table-bg: #202229; --bs-table-color: #edf3ff; --bs-table-border-color: #40414a; }
.dark .torr-business .bg-light, .dark .torr-business .nav-pills, .dark .torr-business .header-controls { background: #262830 !important; border-color: #40414a; }
.dark .torr-business .nav-pills .nav-link { color: #c1cde1; }
@media (max-width: 640px) { .torr-business .card-body, .torr-business .card-header { padding: 1rem; } }
.torr-app .btn-outline-primary { --bs-btn-active-bg: var(--torr-primary); --bs-btn-active-border-color: var(--torr-primary); --bs-btn-hover-bg: var(--torr-primary); --bs-btn-hover-border-color: var(--torr-primary); color: var(--torr-primary); border-color: #c6d1f9; }
.torr-app .btn-outline-primary:hover { background: var(--torr-primary); color: #fff; }
.torr-app .btn-outline-success { color: #13866d; border-color: #b4ded4; }
.torr-app .bg-primary, .torr-app .page-item.active .page-link { background: var(--torr-primary) !important; border-color: var(--torr-primary) !important; }
.torr-app .text-primary { color: var(--torr-primary) !important; }
.torr-app .bg-soft-primary { background: color-mix(in srgb, var(--torr-primary) 9%, white) !important; }
.torr-app .table { color: #34353d; font-size: .82rem; font-variant-numeric: tabular-nums; }
.torr-app .table > thead { background: #f9f8f5; }
.torr-app .table th { color: #737078; font-weight: 700; font-size: .75rem; padding-block: 1rem; border-color: #e8e5dd; }
.torr-app .table td { padding-block: .9rem; border-color: #efede6; vertical-align: middle; }
.torr-app .table-hover tbody tr:hover { background: #f7f5ef; }
.torr-app .badge { border-radius: .4rem; font-weight: 650; padding: .4em .65em; }
.torr-app .nav-tabs { border-color: #e8e5dd; gap: .35rem; }
.torr-app .nav-tabs .nav-link { border: none; border-radius: .6rem .6rem 0 0; color: #77737b; font-weight: 650; padding: .9rem 1rem; }
.torr-app .nav-tabs .nav-link.active { color: var(--torr-primary); background: color-mix(in srgb, var(--torr-primary) 9%, white); border-bottom: 2px solid var(--torr-primary); }
.torr-app .modal-content { border-radius: 1.25rem; border-color: #e8e5dd; box-shadow: 0 25px 80px #191b2225; }
.torr-app .dropdown-menu { border-radius: .8rem; border-color: #e8e5dd; box-shadow: 0 12px 35px #191b2214; }
.torr-app .fc-button-primary { background: var(--torr-primary) !important; border-color: var(--torr-primary) !important; border-radius: .65rem; }
.torr-app .fc-toolbar-title { font-size: 1.3rem; font-weight: 750; color: #202127; }
.torr-app .fc-theme-standard td, .torr-app .fc-theme-standard th, .torr-app .fc-theme-standard .fc-scrollgrid { border-color: #e8e5dd; }
.torr-app .fc-col-header-cell { background: #f9f8f5; }
.torr-app .fc-col-header-cell-cushion { color: #737078; font-size: .75rem; padding-block: .75rem; }
.torr-app .footer { color: #8290aa; background: transparent; border: none; }
/* The accounting pipeline retains its behavior while sharing the TorrMusic palette. */
.torr-app .budget-pipeline { background: #f6f5f2; border-color: #e8e5dd; border-radius: 1rem; padding: .6rem; box-shadow: none; }
.torr-app .budget-pipeline .pipeline-step { border-radius: .7rem; border-color: #e8e5dd; padding-block: .85rem; }
.torr-app .budget-pipeline .pipeline-step:hover { border-color: var(--torr-secondary); box-shadow: 0 4px 14px color-mix(in srgb, var(--torr-primary) 7%, transparent); }
.torr-app .budget-pipeline .pipeline-step.active { background: var(--torr-primary); border-color: var(--torr-primary); box-shadow: 0 6px 18px color-mix(in srgb, var(--torr-primary) 14%, transparent); }
.torr-app .budget-pipeline .pipeline-step.active::after { border-top-color: var(--torr-primary); }
.torr-app .budget-pipeline .pipeline-step .step-count { color: #202127; font-variant-numeric: tabular-nums; }
.torr-app .budget-pipeline .pipeline-step .step-label { color: #737078; }
.torr-app .budget-pipeline .pipeline-step.active .step-label, .torr-app .budget-pipeline .pipeline-step.active .step-count { color: #fff; }
.torr-app .header-controls { border: 1px solid #e8e5dd; border-radius: .85rem; box-shadow: none; padding: 1rem; }
.torr-app .totals-card { border: 1px solid #e8e5dd; border-left: 3px solid var(--torr-primary); border-radius: .85rem; }
.torr-app .totals-card.filtered { border-left-color: #13866d; background: #f4fbf8; }
.torr-app #grandTotalsRow { background: color-mix(in srgb, var(--torr-primary) 9%, white); color: #202127; }
.torr-app .section-total-row { background: #f6f5f2; }
.torr-app .distribution-flow-pills .btn.active { background: var(--torr-primary); border-color: var(--torr-primary); box-shadow: 0 4px 12px color-mix(in srgb, var(--torr-primary) 13%, transparent); }
.torr-app .distribution-flow-pills .distribution-flow-separator, .torr-app .payment-summary-title i { color: var(--torr-primary); }
.torr-app .payment-summary-card { background: #fff; box-shadow: 0 6px 24px #15234406; }
.torr-app .payment-summary-title { color: #202127; border-color: #e8e5dd; }
.torr-app .payment-summary-item { border-left-color: #a8bbff; }
.torr-app .dataTables_wrapper > .row:nth-of-type(2) { overflow-x: auto; }
.torr-app .auth-logo img { height: 52px; }
.torr-app .auth-logo img[src*="torrmusic-gold-logo"] { width: min(300px, 100%); height: 72px; object-fit: cover; border-radius: .6rem; }
.torr-app .auth-logo .logo-light img { filter: none; }
.torr-app .torr-login-art { background: #191b22; border-radius: 1.75rem; padding: clamp(2rem, 4vw, 5rem); color: #fff; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.torr-app .torr-login-art::after { content: ''; width: 35rem; height: 35rem; border: 1px solid color-mix(in srgb, var(--torr-secondary) 25%, transparent); border-radius: 50%; position: absolute; bottom: -20rem; right: -18rem; box-shadow: 0 0 0 5rem color-mix(in srgb, var(--torr-primary) 5%, transparent), 0 0 0 10rem color-mix(in srgb, var(--torr-primary) 3%, transparent); pointer-events: none; }
.torr-app .torr-login-art h2 { font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.13; letter-spacing: -.05em; font-weight: 800; max-width: 10em; }
.torr-app .torr-login-art p { color: #cec6b2; line-height: 1.75; max-width: 26em; }
.torr-app .torr-login-art .torr-eyebrow { color: color-mix(in srgb, var(--torr-secondary) 60%, white); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 2rem; }
@media (max-width: 640px) { .torr-app .topbar h4 { font-size: .76rem; } .torr-app .container-fluid { padding-inline: .85rem; } .torr-app .btn { padding: .55rem .75rem; } }
@media (prefers-reduced-motion: reduce) { .torr-app .budget-pipeline .pipeline-step, .torr-app .totals-card { transition: none; } .torr-app .alert-deadline { animation: none; } }
.dark .torr-business .table, .dark .torr-business .table td, .dark .torr-business .table th { color: #edf3ff; border-color: #40414a; }
.dark .torr-business .table > thead, .dark .torr-business .section-total-row { background: #262830; }
.dark .torr-business .budget-pipeline, .dark .torr-business .totals-card, .dark .torr-business .payment-summary-card { background: #202229; border-color: #40414a; }
.dark .torr-business .budget-pipeline .pipeline-step .step-count, .dark .torr-business .payment-summary-title { color: #edf3ff; }
.dark .torr-business .bg-white, .dark .torr-business .modal-content { background: #202229 !important; color: #edf3ff; border-color: #40414a; }
.dark .torr-business .nav-tabs .nav-link.active { background: #273557; color: #edf3ff; }
.torr-app .budget-pipeline .pipeline-step.active { background: var(--torr-action); border-color: var(--torr-primary); }
.torr-app .budget-pipeline .pipeline-step.active::after { border-top-color: var(--torr-primary); }
.dark .torr-business .budget-pipeline .pipeline-step:not(.active) { background: #202229; border-color: #40414a; }
.dark .torr-business .budget-pipeline .pipeline-step .step-label { color: #b9c6de; }
.dark .torr-business .budget-pipeline .pipeline-step.active .step-label { color: #fff; }
.dark .torr-business .btn-outline-primary { color: color-mix(in srgb, var(--torr-secondary) 55%, white); border-color: #816cae; }
.torr-app .btn-outline-primary.active, .torr-app .btn-check:checked + .btn-outline-primary, .torr-app .distribution-flow-pills .btn.active { background: var(--torr-action) !important; border-color: var(--torr-primary) !important; color: #fff !important; }
