/* Címke-levágás javítása egyedi betűtípusoknál (Inter/Space Grotesk eltérő metrikái miatt) */
.mud-input-label {
    line-height: 1.4 !important;
}

/* Számok monospace, tabulált formázással */
input.mud-input-slot {
    font-family: 'IBM Plex Mono', monospace;
    font-variant-numeric: tabular-nums;
}

/* Bemeneti mezők: enyhén kiemelt, "szerkeszthető" hatás */
.field-input .mud-input-control {
    border-radius: 8px;
}

/* Számított mezők: visszafogott, halvány kék háttér, jelezve hogy csak megjelenít */
.field-computed {
    background-color: #EAF2F7;
    border-left: 3px solid #0060A8;
    border-radius: 8px;
    padding: 4px 8px 4px 10px;
}

.field-computed .mud-input-label {
    color: #0060A8;
}
.mud-tabs-toolbar {
    height: 56px;
    position: relative;
    z-index: 2;
}
.mud-tabs-toolbar .mud-tab {
    height: 100%;
    align-items: center;
}
.mud-tabs-panels {
    position: relative;
    z-index: 1;
}
.mud-tabs-panels .mud-grid-spacing-xs-6 {
    margin-top: 0 !important;
}

.mud-file-upload {
    display: inline-flex;
    align-items: center;
}

.quote-toolbar .mud-file-upload-files {
    display: none;
}

.quote-toolbar {
    position: sticky;
    top: 64px;
    z-index: 20;
    background-color: #F4F6F8;
    padding-top: 8px;
    padding-bottom: 8px;
}
/* ---- Tételfül-sáv (böngésző-szerű fülek, egy fül = egy termék az árajánlaton belül) ---- */
.item-tabbar {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    padding: 6px 6px 0 6px;
    background-color: #DDE4EA;
    border-radius: 12px 12px 0 0;
}

.item-tabbar-tabs {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: thin;
}

.item-tab {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
    max-width: 240px;
    height: 38px;
    padding: 0 6px 0 14px;
    border-radius: 10px 10px 0 0;
    border-top: 3px solid transparent;
    background-color: #C9D3DB;
    color: #34424D;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    transition: background-color 120ms ease;
}

.item-tab:hover {
    background-color: #D6DEE4;
}

.item-tab--active,
.item-tab--active:hover {
    background-color: #FFFFFF;
    border-top-color: #0060A8;
    color: #0060A8;
}

.item-tab-title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding-right: 4px;
}

.item-tab-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    opacity: 0.6;
}

.item-tab-close:hover {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.08);
}

.item-tabbar-add {
    flex: 0 0 auto;
    margin-bottom: 4px;
}

/* A kategória-fülek doboza közvetlenül a tételfül-sávhoz (vagy a tétel sávjához) illeszkedik */
.item-tabbar + .category-tabs,
.item-bar + .category-tabs {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

/* A tétel sávja (név, késztermék) az aktív fül alatt, a fehér fülhöz illeszkedve */
.item-bar {
    background-color: #FFFFFF;
    padding: 6px 16px;
    border-bottom: 1px solid #DDE4EA;
    min-height: 44px;
}

/* ---- Sávos árajánlat táblázat ---- */
.band-table .band-num {
    text-align: right;
    font-family: 'IBM Plex Mono', monospace;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.band-table .band-row--base {
    background-color: #EAF2F7;
}

.band-table td {
    vertical-align: middle;
}

/* ---- Belső dokumentáció (Kezelés > Dokumentáció) ---- */
.doc-content {
    max-width: 960px;
    line-height: 1.6;
    overflow-wrap: break-word;
}

.doc-content h1 { font-size: 1.9rem; font-weight: 600; margin: 0 0 1rem; }
.doc-content h2 { font-size: 1.45rem; font-weight: 600; margin: 2rem 0 0.75rem; padding-bottom: 0.3rem; border-bottom: 1px solid #DDE3E8; }
.doc-content h3 { font-size: 1.15rem; font-weight: 600; margin: 1.5rem 0 0.5rem; }
.doc-content h4 { font-size: 1rem; font-weight: 600; margin: 1.25rem 0 0.5rem; }
.doc-content h1, .doc-content h2, .doc-content h3, .doc-content h4 { scroll-margin-top: 80px; }

.doc-content p, .doc-content ul, .doc-content ol, .doc-content table, .doc-content pre, .doc-content blockquote {
    margin: 0 0 1rem;
}

.doc-content ul, .doc-content ol { padding-left: 1.5rem; }
.doc-content ul { list-style: disc; }
.doc-content ol { list-style: decimal; }
.doc-content li > ul, .doc-content li > ol { margin-bottom: 0; }
.doc-content li.task-list-item { list-style: none; margin-left: -1.25rem; }
.doc-content li.task-list-item input { margin-right: 0.4rem; }

.doc-content a { color: #0060A8; text-decoration: underline; }

.doc-content code {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.875em;
    background-color: #F0F3F5;
    border-radius: 4px;
    padding: 0.1em 0.35em;
}

.doc-content pre {
    background-color: #F0F3F5;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    overflow-x: auto;
}

.doc-content pre code { background: none; padding: 0; font-size: 0.85rem; }

.doc-content table { border-collapse: collapse; display: block; overflow-x: auto; }
.doc-content th, .doc-content td { border: 1px solid #DDE3E8; padding: 0.4rem 0.75rem; text-align: left; vertical-align: top; }
.doc-content th { background-color: #EAF2F7; font-weight: 600; }

.doc-content blockquote {
    border-left: 3px solid #0060A8;
    background-color: #F4F8FB;
    padding: 0.5rem 1rem;
}

.doc-content blockquote > :last-child { margin-bottom: 0; }
.doc-content hr { border: 0; border-top: 1px solid #DDE3E8; margin: 1.5rem 0; }

/* ---- Törzsadat-listák ---- */
.number-cell {
    font-family: 'IBM Plex Mono', monospace;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Kalkuláció választása a tárból: a kiválasztott sor. */
.quote-row--selected > td {
    background-color: #EAF2F7;
    font-weight: 600;
}

/* A tár fája (kezdőlap). */
.folder-node {
    display: flex;
    align-items: center;
    min-height: 34px;
    padding-right: 4px;
    border-radius: 6px;
    cursor: pointer;
}

.folder-node:hover {
    background-color: #F2F6F9;
}

.folder-node--selected,
.folder-node--selected:hover {
    background-color: #EAF2F7;
    font-weight: 600;
}

.folder-node-spacer {
    display: inline-block;
    width: 34px;
    flex-shrink: 0;
}

.folder-node-name {
    flex-grow: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.folder-node-menu {
    flex-shrink: 0;
}

/* A tétellista oszlopa ne nyújtsa szét a táblázatot: két sor után levágva. */
.library-items {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}