/* SIDSEI panel: overrides the existing Filament theme without replacing its components. */
.fi-body {
    background: #f3f6fa;
}

.fi-body .fi-main-sidebar,
.fi-body .fi-sidebar-header {
    background: #084d73;
    color: #fff;
}

.fi-main-sidebar .fi-sidebar-nav {
    padding: .5rem .75rem;
    gap: .75rem;
}

.fi-main-sidebar .fi-sidebar-nav-groups {
    margin-inline: 0;
    gap: .75rem;
}

.fi-main-sidebar .fi-sidebar-group-items {
    gap: .125rem;
}

.fi-main-sidebar .fi-sidebar-item-btn {
    min-height: 36px;
    border-radius: 8px;
    padding: .4rem .65rem;
    transition: background-color 150ms ease, box-shadow 150ms ease;
}

.fi-main-sidebar .fi-sidebar-item-label,
.fi-main-sidebar .fi-sidebar-item-icon,
.fi-main-sidebar .fi-sidebar-group-btn .fi-icon {
    color: #cce2ee;
}

.fi-main-sidebar .fi-sidebar-item-btn:hover,
.fi-main-sidebar .fi-sidebar-item-btn:focus-visible {
    background: #ffffff14;
}

.fi-main-sidebar .fi-sidebar-item-btn:focus-visible {
    outline: 2px solid #9bdcf7;
    outline-offset: 2px;
}

.fi-main-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: #ffffff1f;
    box-shadow: inset 3px 0 0 #7dd3fc;
}

.fi-main-sidebar .fi-active .fi-sidebar-item-label,
.fi-main-sidebar .fi-active .fi-sidebar-item-icon {
    color: #fff;
}

.fi-main-sidebar .fi-sidebar-group-label {
    color: #a7c9dc;
    font-size: .7rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.fi-main-sidebar .fi-sidebar-group-dropdown-trigger-btn,
.fi-main-sidebar .fi-sidebar-group-dropdown-trigger-btn .fi-icon {
    color: #cce2ee;
}

.fi-body .fi-topbar {
    border-bottom: 2px solid #075580;
    box-shadow: 0 2px 8px #18364b08;
}

.fi-topbar .fi-logo {
    color: #075580;
    font-weight: 700;
    letter-spacing: -.025em;
}

.fi-main-sidebar .fi-logo {
    color: #fff;
}

.sidsei-sidebar-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    padding: 0 0 .65rem;
    border-bottom: 1px solid #ffffff1f;
}

.sidsei-sidebar-logo {
    display: block;
    width: 130px;
    max-width: 100%;
    height: 68px;
    margin-inline: auto;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.sidsei-sidebar-name {
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .06em;
}

.sidsei-sidebar-name > span {
    font-weight: 400;
    color: #a9d5ed;
}

.sidsei-sidebar-caption {
    color: #b5d4e5;
    font-size: .75rem;
}

.fi-main .fi-header-heading {
    color: #163d55;
    font-size: 1.5rem;
    letter-spacing: -.025em;
}

.dark .fi-body {
    background: #111b26;
}

.dark .fi-body .fi-main-sidebar,
.dark .fi-body .fi-sidebar-header {
    background: #073752;
}

.dark .fi-body .fi-topbar {
    background: #172533;
    border-bottom-color: #256387;
}

.dark .fi-topbar .fi-logo,
.dark .fi-main .fi-header-heading {
    color: #e0eff9;
}

@media (max-width: 639px) {
    .fi-topbar-end {
        gap: .5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fi-main-sidebar .fi-sidebar-item-btn {
        transition: none;
    }
}

/* Keep the compact invoice layout while inheriting the panel theme. */
.sidsei-invoice-items table {
    width: 100%;
}

.sidsei-invoice-payment,
.sidsei-invoice-totals {
    align-self: start;
}

.sidsei-invoice-totals .fi-fo-placeholder {
    text-align: end;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.sidsei-document-detail { display: grid; gap: 1.25rem; color: #263c4c; }
.sidsei-document-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #084d73; padding-bottom: .75rem; border-bottom: 1px solid #c9dce8; }
.sidsei-document-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.sidsei-document-card { background: white; border: 1px solid #e0e5eb; border-radius: .75rem; padding: 1.1rem; box-shadow: 0 1px 2px #00000008; min-width: 0; }
.sidsei-document-card h2 { color: #084d73; font-weight: 600; padding-bottom: .65rem; margin-bottom: .85rem; border-bottom: 1px solid #e0e5eb; }
.sidsei-document-card dl { display: grid; grid-template-columns: minmax(125px, 40%) minmax(0, 1fr); gap: .65rem 1rem; font-size: .875rem; }
.sidsei-document-card dt { color: #627383; }
.sidsei-document-card dd { overflow-wrap: anywhere; }
.sidsei-document-card a { color: #086699; text-decoration: underline; }
.sidsei-document-notes { white-space: pre-wrap; font-size: .875rem; }
.sidsei-document-scroll { overflow-x: auto; }
.sidsei-document-items table { border-collapse: collapse; width: 100%; font-size: .875rem; }
.sidsei-document-items th { background: #f5f7fa; font-weight: 600; text-align: left; white-space: nowrap; }
.sidsei-document-items th, .sidsei-document-items td { padding: .8rem; border-bottom: 1px solid #e0e5eb; vertical-align: top; }
.sidsei-document-items td:nth-child(3) { min-width: 240px; }
.sidsei-document-items td:nth-child(n+5) { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sidsei-document-totals { width: min(100%, 440px); justify-self: end; }
.sidsei-document-totals dd { text-align: right; font-variant-numeric: tabular-nums; }
.sidsei-document-totals dt:last-of-type, .sidsei-document-totals dd:last-of-type { font-weight: 700; font-size: 1.1rem; color: #084d73; padding-top: .8rem; border-top: 1px solid #e0e5eb; }
@media (max-width: 760px) { .sidsei-document-columns { grid-template-columns: 1fr; } }
@media print {
    body:has(.sidsei-document-detail) .fi-sidebar, body:has(.sidsei-document-detail) .fi-topbar, body:has(.sidsei-document-detail) .fi-header, body:has(.sidsei-document-detail) .fi-breadcrumbs, body:has(.sidsei-document-detail) .fi-no { display: none !important; }
    body:has(.sidsei-document-detail) .fi-main-ctn { margin: 0 !important; padding: 0 !important; }
    body:has(.sidsei-document-detail) .fi-main { max-width: none !important; padding: 0 !important; }
    .sidsei-document-detail { color: black; gap: 12px; }
    .sidsei-document-card { box-shadow: none; break-inside: avoid; }
    .sidsei-document-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sidsei-document-scroll { overflow: visible; }
    .sidsei-document-items th, .sidsei-document-items td { padding: 6px; font-size: 10px; }
    .sidsei-document-items td:nth-child(3) { min-width: 0; }
    .sidsei-document-items { break-inside: auto; }
    .sidsei-document-items tr { break-inside: avoid; }
}
@media screen {
    .dark .sidsei-document-detail { color: #e2e8f0; }
    .dark .sidsei-document-card { background: #111827; border-color: #374151; }
    .dark .sidsei-document-card h2, .dark .sidsei-document-heading, .dark .sidsei-document-card a,
    .dark .sidsei-document-totals dt:last-of-type, .dark .sidsei-document-totals dd:last-of-type { color: #9bdcf7; }
    .dark .sidsei-document-card dt { color: #a9b9ca; }
    .dark .sidsei-document-items th { background: #1f2937; }
    .dark .sidsei-document-card h2, .dark .sidsei-document-items th, .dark .sidsei-document-items td { border-color: #374151; }
}

.sidsei-document-select { display: block; width: 100%; padding: .75rem 1rem; text-align: left; cursor: pointer; }
.sidsei-document-select:focus-visible { outline: 2px solid #075580; outline-offset: -2px; }
.fi-ta-row.sidsei-selected-document > td { background: #e4f1f9; }
.dark .fi-ta-row.sidsei-selected-document > td { background: #173b50; }

.sidsei-quote-list .fi-ta-row, .sidsei-invoice-list .fi-ta-row { cursor: pointer; }

/* Compact email recipients inside the send modal, including narrow screens. */
.sidsei-email-copies > table { display: table !important; table-layout: fixed; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; }
.sidsei-email-copies > table > thead { display: none !important; }
.sidsei-email-copies > table > tbody { display: table-row-group !important; }
.sidsei-email-copies > table > tbody > tr { display: table-row !important; border: 0 !important; background: transparent !important; }
.sidsei-email-copies > table > tbody > tr > td { display: table-cell !important; border: 0 !important; padding: 5px 0 !important; vertical-align: middle !important; }
.sidsei-email-copies > table > tbody > tr > td:nth-child(2) { width: 36px; box-sizing: border-box; padding-left: 12px !important; }
.sidsei-email-copies > table > tbody > tr > td:last-child { width: 28px; }
.sidsei-email-copies .fi-fo-field-label-col { display: none !important; }

.sidsei-email-primary { width: calc(100% - 64px); }

/* Live supplier catalog */
.sidsei-syscom-search { display: grid; gap: 16px; padding: 20px; background: #fff; border: 1px solid #dce3eb; border-radius: 12px; }
.sidsei-syscom-search > button { justify-self: start; }
.sidsei-syscom-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: #60758b; font-size: 12px; }
.sidsei-syscom-catalog { display: grid; gap: 16px; }
.sidsei-syscom-product { display: grid; grid-template-columns: 80px minmax(200px, 1fr) 180px 150px; align-items: start; gap: 18px; padding: 16px; background: #fff; border: 1px solid #dce3eb; border-radius: 12px; color: #17374b; }
.sidsei-syscom-photo { width: 80px; height: 85px; display: flex; align-items: center; justify-content: center; color: #718096; font-size: 12px; background: #fff; border-radius: 8px; }
.sidsei-syscom-photo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.sidsei-syscom-brand { color: #60758b; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.sidsei-syscom-info h2 { font-size: 16px; font-weight: 700; color: #145675; margin: 4px 0 8px; overflow-wrap: anywhere; }
.sidsei-syscom-info p { font-size: 13px; line-height: 1.6; }
.sidsei-syscom-details { margin-top: 12px; font-size: 12px; }
.sidsei-syscom-details summary { cursor: pointer; color: #126087; font-weight: 600; }
.sidsei-syscom-description { white-space: pre-line; margin: 12px 0; overflow-wrap: anywhere; }
.sidsei-syscom-details ul { list-style: disc; padding-left: 18px; }
.sidsei-syscom-prices { display: grid; gap: 10px; font-size: 12px; font-variant-numeric: tabular-nums; }
.sidsei-syscom-prices > div { display: flex; justify-content: space-between; gap: 8px; }
.sidsei-syscom-prices dt { color: #60758b; }
.sidsei-syscom-prices dd { white-space: nowrap; text-align: right; }
.sidsei-syscom-prices .sidsei-syscom-main-price { display: grid; gap: 4px; padding-bottom: 12px; border-bottom: 1px solid #e3eaf0; }
.sidsei-syscom-main-price dd { font-size: 23px; font-weight: 700; color: #145675; }
.sidsei-syscom-stock { position: relative; border-left: 1px solid #e3eaf0; padding-left: 20px; font-size: 12px; }
.sidsei-syscom-stock > .fi-btn { margin-top: 12px; }
.sidsei-syscom-stock-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.sidsei-syscom-stock-badge { padding: 4px 8px; border-radius: 6px; background: #e8f4ed; color: #24704a; font-weight: 600; white-space: nowrap; }
.sidsei-syscom-stock-empty { background: #eef1f5; color: #667085; }
.sidsei-syscom-stock p { margin: 14px 0 8px; color: #60758b; font-size: 11px; }
.sidsei-syscom-warehouses { display: grid; gap: 4px; font-variant-numeric: tabular-nums; }
.sidsei-syscom-warehouses > div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-bottom: 1px solid #eff3f7; }
.sidsei-syscom-warehouses dd { font-weight: 600; }
.sidsei-syscom-footnote { color: #60758b; font-size: 11px; }
.sidsei-syscom-pagination { display: flex; justify-content: center; align-items: center; gap: 16px; font-size: 13px; }
@media (max-width: 1200px) {
    .sidsei-syscom-product { grid-template-columns: 80px minmax(0, 1fr) 180px; gap: 18px; }
    .sidsei-syscom-photo { width: 80px; }
    .sidsei-syscom-stock { grid-column: 2 / -1; border-left: 0; border-top: 1px solid #e3eaf0; padding: 16px 0 0; }

}
@media (max-width: 640px) {
    .sidsei-syscom-product { grid-template-columns: 64px minmax(0, 1fr); padding: 16px; }
    .sidsei-syscom-photo { width: 64px; height: 80px; }
    .sidsei-syscom-prices, .sidsei-syscom-stock { grid-column: 1 / -1; }
}

.sidsei-syscom-stock-badge { cursor: pointer; }
.sidsei-syscom-stock-badge:focus-visible { outline: 2px solid #126087; outline-offset: 3px; }
.sidsei-syscom-stock-popover { position: absolute; right: 0; top: 100%; z-index: 30; width: min(300px, calc(100vw - 64px)); padding: 16px; border: 1px solid #dce3eb; border-radius: 10px; background: #fff; color: #17374b; box-shadow: 0 8px 24px #17374b26; }
.sidsei-syscom-stock-popover .sidsei-syscom-warehouses { max-height: 280px; overflow-y: auto; margin-top: 10px; }

/* Compact supplier rows in the quotation picker. */
.sidsei-syscom-picker { max-height: 390px; overflow: auto; border: 1px solid #e5e7eb; border-radius: 12px; }
.sidsei-syscom-picker table { width: 100%; border-collapse: collapse; font-size: 13px; }
.sidsei-syscom-picker th { position: sticky; top: 0; z-index: 1; background: #f8fafc; text-align: left; font-weight: 600; }
.sidsei-syscom-picker th, .sidsei-syscom-picker td { padding: 12px 10px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }
.sidsei-syscom-picker tbody tr { cursor: pointer; }
.sidsei-syscom-picker tbody tr:hover, .sidsei-syscom-picker tr.is-selected { background: #e3f2fa; }
.sidsei-syscom-picker-model { min-width: 210px; white-space: nowrap; font-weight: 600; }
.sidsei-syscom-picker-description { min-width: 240px; width: 100%; }
.sidsei-syscom-picker .sidsei-syscom-picker-price { text-align: right; min-width: 92px; font-variant-numeric: tabular-nums; }
.sidsei-syscom-picker-price small { display: block; color: #64748b; font-size: 10px; }
.sidsei-syscom-picker-note { color: #64748b; font-size: 12px; margin-top: 8px; }

.sidsei-syscom-model-preview { cursor: help; }
.sidsei-syscom-model-preview:focus-visible { outline: 2px solid #126087; outline-offset: 3px; }
.sidsei-syscom-model-popover { position: fixed; z-index: 9999; width: min(360px, calc(100vw - 24px)); max-height: min(380px, calc(100vh - 24px)); overflow: hidden; pointer-events: none; padding: 16px; background: #fff; color: #17374b; border: 1px solid #dce3eb; border-radius: 12px; box-shadow: 0 8px 24px #17374b26; white-space: normal; font-size: 13px; }
.sidsei-syscom-model-popover img { width: 100%; height: 170px; object-fit: contain; margin-bottom: 12px; }
.sidsei-syscom-model-popover strong { display: block; margin-bottom: 6px; }
.sidsei-syscom-model-popover p { display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.5; }

/* Top-layer submenus stay beside the scrollable sidebar without clipping. */
.sidsei-sidebar-chevron { margin-inline-start: auto; color: #cce2ee; font-size: 20px; }
.fi-main-sidebar .sidsei-sidebar-flyout {
    position: fixed;
    inset: auto;
    margin: 0;
    width: 245px;
    max-width: calc(100vw - 16px);
    padding: 6px;
    border: 1px solid #397493;
    border-radius: 10px;
    background: #084d73;
    color: #cce2ee;
    box-shadow: 0 8px 24px #17374b33;
}
.fi-main-sidebar .sidsei-sidebar-flyout:not(:popover-open) { display: none !important; }
.fi-main-sidebar .sidsei-sidebar-flyout:popover-open { display: flex; flex-direction: column; }
.fi-main-sidebar .sidsei-sidebar-flyout .fi-sidebar-item-label { white-space: normal; }

.sidsei-purchases-panel {
    background: #fff;
    border: 1px solid #dce3eb;
    border-radius: 12px;
    box-shadow: 0 1px 2px #17374b0d;
    min-width: 0;
}
.sidsei-purchases-panel > .sidsei-purchases-tabs {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    margin: 0;
    padding: 12px;
    border: 0;
    border-bottom: 1px solid #dce3eb;
    border-radius: 12px 12px 0 0;
    box-shadow: none;
    background: transparent;
    overflow-x: auto;
}
.sidsei-purchases-panel .fi-ta-ctn {
    border: 0;
    border-radius: 0 0 12px 12px;
    box-shadow: none;
}
.dark .sidsei-purchases-panel { background: #111827; border-color: #374151; }
.dark .sidsei-purchases-panel > .sidsei-purchases-tabs { border-color: #374151; }

/* Expandable customer statement transactions. */
.sidsei-customer-statement .sidsei-statement-toggle { cursor: pointer; padding: 0 .35rem; color: #145779; font-size: 1rem; }
.sidsei-customer-statement .sidsei-statement-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.sidsei-customer-statement td:nth-child(3) { min-width: 0; }
.sidsei-customer-statement td.sidsei-statement-movements { padding: .5rem 1rem 1rem 2rem; }
.sidsei-customer-statement .sidsei-statement-movements table { font-size: .8125rem; }
.sidsei-customer-statement .sidsei-statement-movements td:last-child,
.sidsei-customer-statement .sidsei-statement-movements th:last-child { text-align: right; }

/* Keep dashboard chart cards aligned within the same grid row. */
.fi-wi-chart {
    align-self: stretch;
    height: 100%;
}

.fi-wi-chart > .fi-section {
    height: 100%;
}

/* The sidebar logo is the sole application brand; retain its navigation controls. */
.fi-body:not(.fi-body-has-topbar) .fi-sidebar-header .fi-logo { display: none; }
.fi-body:not(.fi-body-has-topbar) .fi-sidebar-header { height: 40px; min-height: 40px; }

.fi-main-sidebar .fi-sidebar-item-label { font-size: .8125rem; }
.fi-main-sidebar .fi-sidebar-footer { padding: .5rem .75rem; }
.fi-wi-chart > .fi-section > .fi-section-header { padding: 1rem; }
.fi-wi-chart > .fi-section > .fi-section-content-ctn > .fi-section-content { padding: 1rem; }
