/* Stream panel collapsed by default */
.panel[data-name="stream"] .panel-body {
    display: none;
}
.panel[data-name="stream"] .panel-heading {
    cursor: pointer;
}
.panel[data-name="stream"].stream-expanded .panel-body {
    display: block;
}

/* Fix dropdown menus being clipped by overflow:hidden on parent containers */

/* Dashlet: both .dashlet-container and .dashlet have overflow:hidden which clips
   header dropdown menus. Force visible on both layers. The panel-body inside
   already handles its own scrolling via overflow-y:auto. */
.dashlets .dashlet-container {
    overflow: visible !important;
}
.dashlet-container .dashlet {
    overflow: visible !important;
}

/* List row action buttons: table cells have overflow:hidden from theme */
.list > table td.cell[data-name="buttons"],
.list > table th.action-cell {
    overflow: visible !important;
}

/* Dashlet header dropdown: open to the left so it doesn't go off-screen */
.dashlet .panel-heading .dropdown-menu {
    right: 0;
    left: auto;
}

/* Ensure dropdown z-index is above panels */
.dropdown-menu {
    z-index: 1050 !important;
}

/* Hide browser default focus ring on navigation/buttons when activated by mouse,
   keep it for keyboard-focus (accessibility). */
.navbar a:focus:not(:focus-visible),
.navbar button:focus:not(:focus-visible),
.tabs a:focus:not(:focus-visible),
.tabs button:focus:not(:focus-visible),
.tabs li > a:focus:not(:focus-visible),
.more-dropdown a:focus:not(:focus-visible),
.more-dropdown button:focus:not(:focus-visible),
#nav a:focus:not(:focus-visible),
#nav button:focus:not(:focus-visible),
.btn:focus:not(:focus-visible),
.dropdown-toggle:focus:not(:focus-visible),
[class*="more-tabs"]:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}

/* ──────────────────────────────────────────────────────────────────────────
   Editovateľné polia — celý EspoCRM, viditeľné ohraničenie
   Aby používateľ vždy vedel, do čoho môže klikať/písať.
   ────────────────────────────────────────────────────────────────────────── */

/* Editovateľné inputy v record edit/detail view + modaloch.
   Scope obmedzený na konkrétne kontextové kontajnery aby sa neovplyvňovala
   navigácia, sidebar, dashlety, atď. */
.record .edit .form-control,
.record .detail .form-control,
.modal-body .form-control,
.dialog-fullscreen-quotation .form-control,
.record .edit textarea,
.record .detail textarea,
.modal-body textarea,
.dialog-fullscreen-quotation textarea,
.record .edit select,
.record .detail select,
.modal-body select,
.dialog-fullscreen-quotation select {
    background: #f4f9ff !important;
    border: 1px solid #b9d4f0 !important;
    border-radius: 4px;
    transition: border-color .12s ease, box-shadow .12s ease, background .12s ease;
}

.record .edit .form-control:hover,
.record .detail .form-control:hover,
.modal-body .form-control:hover,
.dialog-fullscreen-quotation .form-control:hover,
.record .edit textarea:hover,
.record .detail textarea:hover,
.modal-body textarea:hover,
.dialog-fullscreen-quotation textarea:hover,
.record .edit select:hover,
.record .detail select:hover,
.modal-body select:hover,
.dialog-fullscreen-quotation select:hover {
    border-color: #4a90e2 !important;
    background: #ecf4ff !important;
}

.record .edit .form-control:focus,
.record .detail .form-control:focus,
.modal-body .form-control:focus,
.dialog-fullscreen-quotation .form-control:focus,
.record .edit textarea:focus,
.record .detail textarea:focus,
.modal-body textarea:focus,
.dialog-fullscreen-quotation textarea:focus,
.record .edit select:focus,
.record .detail select:focus,
.modal-body select:focus,
.dialog-fullscreen-quotation select:focus {
    border-color: #1976d2 !important;
    background: #fff !important;
    box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.25) !important;
    outline: none !important;
}

.record .edit .form-control[readonly],
.record .detail .form-control[readonly],
.modal-body .form-control[readonly],
.record .edit .form-control:disabled,
.record .detail .form-control:disabled,
.modal-body .form-control:disabled {
    background: #f0f0f0 !important;
    border-color: #ddd !important;
    color: #777 !important;
    cursor: not-allowed;
    box-shadow: none !important;
}

/* ──────────────────────────────────────────────────────────────────────────
   Detail view — visible field boxes
   Each field's value cell gets a subtle background + border so user vidí
   ako "obsahy v boxoch", a inline-editovateľné polia majú jasnejší hover hint.
   ────────────────────────────────────────────────────────────────────────── */

/* Field wrapper — only in DETAIL view (record detail page), NOT in list views */
.record .detail .detail .field,
.record .detail .panel-body .field {
    background: #fafbfc;
    border: 1px solid #e5e9ee;
    border-radius: 4px;
    padding: 6px 10px;
    transition: border-color .12s ease, background .12s ease;
    position: relative;
}

.record .detail .detail .field:hover,
.record .detail .panel-body .field:hover {
    background: #ecf4ff;
    border-color: #4a90e2;
}

/* When field is being edited → suppress wrapper, keep input border only */
.record .detail .field.in-edit,
.record .detail .field:has(input.form-control:not([type="hidden"])),
.record .detail .field:has(textarea),
.record .detail .field:has(select.form-control),
.record .detail .field:has(.selectize-control) {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* Read-only / not inline-editable */
.record .detail .field[data-inline-edit-disabled="true"] {
    background: #f5f5f5;
    border-color: #e0e0e0;
}
.record .detail .field[data-inline-edit-disabled="true"]:hover {
    background: #f5f5f5;
    border-color: #e0e0e0;
    cursor: default;
}

/* Labels in detail view */
.record .detail .label-text {
    font-size: 11px;
    color: #777;
    margin-bottom: 3px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.record .detail .cell-label {
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

/* Checkboxes — slightly bigger to make them obviously interactive */
.record .edit input[type="checkbox"],
.record .detail input[type="checkbox"],
.modal-body input[type="checkbox"] {
    transform: scale(1.1);
    cursor: pointer;
    accent-color: #1976d2;
}

/* Selectize widgets (Espo's dropdown library) */
.record .edit .selectize-input,
.record .detail .selectize-input,
.modal-body .selectize-input {
    background: #f4f9ff !important;
    border: 1px solid #b9d4f0 !important;
    transition: border-color .12s ease, background .12s ease;
}
.record .edit .selectize-input:hover,
.record .detail .selectize-input:hover,
.modal-body .selectize-input:hover {
    border-color: #4a90e2 !important;
    background: #ecf4ff !important;
}
.record .edit .selectize-input.focus,
.record .detail .selectize-input.focus,
.modal-body .selectize-input.focus {
    border-color: #1976d2 !important;
    background: #fff !important;
    box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.25) !important;
}

/* ──────────────────────────────────────────────────────────────────────────
   Finanční údaje na stánku — defaultně rozmazané, přepínač "Zobrazit finance".
   Třída .mm-finance-blur je na detail record view (Project) ve výchozím stavu;
   tlačítko ji odebere/přidá. Viz custom:views/project/record/detail.
   ────────────────────────────────────────────────────────────────────────── */
.mm-finance-blur .field[data-name="costs"],
.mm-finance-blur .field[data-name="profit"],
.mm-finance-blur .field[data-name="revenues"],
.mm-finance-blur .field[data-name="incomes"],
.mm-finance-blur .field[data-name="orderPrice"],
.mm-finance-blur .field[data-name="plannedCosts"],
.mm-finance-blur .field[data-name="totalPlannedCosts"],
.mm-finance-blur .field[data-name="additionalCosts"],
.mm-finance-blur .field[data-name="additionalExpenses"],
.mm-finance-blur .field[data-name="devCosts"],
.mm-finance-blur .field[data-name="actualCosts"],
.mm-finance-blur .field[data-name="actualRevenues"],
.mm-finance-blur .field[data-name="plannedRevenues"],
.mm-finance-blur .field[data-name="totalOrderedAmount"],
.mm-finance-blur .field[data-name="grandTotalAmount"],
.mm-finance-blur .field[data-name="priceMarginPercentage"],
/* In quote/finance list panels blur ONLY the price columns, not the whole table */
.mm-finance-blur .panel[data-name="preEstimates"] td.cell[data-name="subtotalCost"],
.mm-finance-blur .panel[data-name="preEstimates"] td.cell[data-name="totalAfterMultiplier"],
.mm-finance-blur .panel[data-name="preEstimates"] td.cell[data-name="totalWithVat"],
.mm-finance-blur .panel[data-name="quotationsFinal"] td.cell[data-name="subtotalCost"],
.mm-finance-blur .panel[data-name="quotationsFinal"] td.cell[data-name="totalAfterMultiplier"],
.mm-finance-blur .panel[data-name="quotationsFinal"] td.cell[data-name="totalWithVat"],
.mm-finance-blur .panel[data-name="quotes"] td.cell[data-name="amount"],
.mm-finance-blur .panel[data-name="projectRevenues"] td.cell[data-name="amount"],
.mm-finance-blur .panel[data-name="projectCosts"] td.cell[data-name="amount"],
.mm-finance-blur .panel[data-name="projectCosts"] td.cell[data-name="unitPrice"] {
    filter: blur(6px);
    -webkit-filter: blur(6px);
    transition: filter .12s ease;
    pointer-events: none;
    user-select: none;
}

button[data-name="toggleFinance"] {
    color: #1976d2;
}

/* ──────────────────────────────────────────────────────────────────────────
   StockItem — list thumbnail + e-shop style category mega-menu
   (custom:views/stock-item/list + custom:views/stock-item/fields/photos-list)
   ────────────────────────────────────────────────────────────────────────── */

/* Thumbnail in list */
.mm-stock-thumb-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 44px;
    background: #fff;
    border: 1px solid #e5e9ee;
    border-radius: 6px;
    overflow: hidden;
}
.mm-stock-thumb {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.mm-stock-thumb-empty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 44px;
    border: 1px dashed #d8dde3;
    border-radius: 6px;
    color: #c2c8d0;
    font-size: 16px;
}
/* keep the photo cell tight + vertically centered */
.list > table td.cell[data-name="photos"] {
    padding-top: 4px;
    padding-bottom: 4px;
    vertical-align: middle;
}

/* Category mega-menu */
.mm-cat-menu {
    margin: 0 0 12px 0;
}
.mm-cat-bar {
    list-style: none;
    margin: 0;
    padding: 4px 6px;
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    background: #f7f9fc;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
}
.mm-cat-item {
    position: relative;
}
.mm-cat-link {
    display: block;
    padding: 7px 13px;
    color: #34404d;
    font-weight: 600;
    font-size: 13px;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    transition: background .12s ease, color .12s ease;
}
.mm-cat-link:hover,
.mm-cat-link:focus {
    background: #e7eefc;
    color: #1769d6;
    text-decoration: none;
}
.mm-cat-item.active > .mm-cat-link {
    background: #1976d2;
    color: #fff;
}
.mm-caret {
    display: inline-block;
    margin-left: 5px;
    border-top: 4px solid currentColor;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    vertical-align: middle;
    opacity: .65;
}

/* Dropdown */
.mm-cat-dropdown {
    list-style: none;
    margin: 2px 0 0 0;
    padding: 6px;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 210px;
    max-height: 70vh;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(31, 45, 61, 0.16);
    z-index: 1050;
    display: none;
}
.mm-cat-item.has-children:hover > .mm-cat-dropdown {
    display: block;
}
/* hover bridge so the gap between item and dropdown doesn't close it */
.mm-cat-item.has-children::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 6px;
}
.mm-cat-sub > a {
    display: block;
    padding: 7px 12px;
    color: #44505d;
    font-size: 13px;
    border-radius: 5px;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
}
.mm-cat-sub > a:hover {
    background: #eef4ff;
    color: #1769d6;
    text-decoration: none;
}
.mm-cat-sub.active > a {
    background: #1976d2;
    color: #fff;
}

/* keep right-edge dropdowns from overflowing the screen */
.mm-cat-item:nth-last-child(-n+3) .mm-cat-dropdown {
    left: auto;
    right: 0;
}
