/*
 * Оформление админки: плотная «рабочая» панель.
 * Тёмный сайдбар, светло-серый фон, компактные таблицы и секции.
 * Подключается через FilamentAsset (см. AdminPanelProvider), сборка не нужна.
 */

:root {
    --app-bg: #eef1f5;
    --app-surface: #ffffff;
    --app-border: #dfe3ea;
    --app-muted: #64748b;
    --app-ink: #0f172a;
    --app-sidebar: #0f1b2d;
    --app-sidebar-2: #15253c;
    --app-sidebar-ink: #c4cfdf;
    --app-sidebar-muted: #7189a8;
    --app-radius: 10px;
}

/* ---------- Каркас ---------- */

.fi-body {
    background: var(--app-bg);
    color: var(--app-ink);
    font-size: 14px;
}

.fi-main {
    padding-top: 1.25rem !important;
    padding-bottom: 2rem !important;
}

/* ---------- Сайдбар ---------- */

.fi-sidebar {
    background: var(--app-sidebar) !important;
    border-inline-end: 1px solid #0b1424;
}

.fi-sidebar .fi-sidebar-header {
    background: var(--app-sidebar) !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    padding-inline: 1.25rem !important;
}

.fi-sidebar .fi-logo {
    color: #fff !important;
    font-size: 1.05rem;
    letter-spacing: -.01em;
    margin-inline-start: 0 !important;
}

.fi-sidebar-nav {
    padding: 1rem .75rem !important;
    gap: 1.25rem !important;
}

.fi-sidebar-group-label {
    color: var(--app-sidebar-muted) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.fi-sidebar-group-btn {
    padding: .25rem .5rem !important;
}

.fi-sidebar-group-btn .fi-icon {
    color: var(--app-sidebar-muted) !important;
}

.fi-sidebar-group-items {
    gap: 2px !important;
}

.fi-sidebar-item-btn {
    padding: .5rem .65rem !important;
    border-radius: 8px !important;
}

.fi-sidebar-item-btn > .fi-icon {
    color: var(--app-sidebar-muted) !important;
}

.fi-sidebar-item-label {
    color: var(--app-sidebar-ink) !important;
    font-weight: 500 !important;
}

.fi-sidebar-item.fi-sidebar-item-has-url > .fi-sidebar-item-btn:hover {
    background: rgba(255, 255, 255, .06) !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: var(--primary-600) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-icon,
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-sidebar-item-label {
    color: #fff !important;
}

.fi-sidebar-footer {
    border-top: 1px solid rgba(255, 255, 255, .06);
    background: var(--app-sidebar-2);
}

.fi-sidebar-footer,
.fi-sidebar-footer .fi-user-menu-trigger,
.fi-sidebar-footer .fi-dropdown-trigger {
    color: var(--app-sidebar-ink) !important;
}

/* Поиск в сайдбаре — тёмный, в тон панели. */
.fi-sidebar .fi-global-search-field .fi-input-wrp,
.fi-sidebar .fi-input-wrp {
    background: rgba(255, 255, 255, .07) !important;
    --tw-ring-color: rgba(255, 255, 255, .1) !important;
    box-shadow: none !important;
}

.fi-sidebar .fi-input-wrp input {
    color: #fff !important;
}

.fi-sidebar .fi-input-wrp input::placeholder,
.fi-sidebar .fi-input-wrp .fi-icon {
    color: var(--app-sidebar-muted) !important;
}

.fi-sidebar-header .fi-icon-btn .fi-icon,
.fi-sidebar-close-collapse-sidebar-btn .fi-icon,
.fi-sidebar-open-collapse-sidebar-btn .fi-icon {
    color: var(--app-sidebar-muted) !important;
}

/* ---------- Верхняя панель ---------- */

.fi-topbar > nav,
.fi-topbar {
    background: var(--app-surface) !important;
    box-shadow: none !important;
    border-bottom: 1px solid var(--app-border);
}

/* ---------- Заголовок страницы ---------- */

.fi-header {
    gap: .75rem !important;
}

.fi-header-heading {
    font-size: 1.5rem !important;
    line-height: 2rem !important;
    font-weight: 700 !important;
    letter-spacing: -.02em;
}

.fi-breadcrumbs {
    font-size: 12px;
}

.fi-page-header-main-ctn,
.fi-page-main {
    row-gap: 1.25rem !important;
}

/* ---------- Секции и карточки ---------- */

.fi-section:not(.fi-section-not-contained) {
    border-radius: var(--app-radius) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
    --tw-ring-color: var(--app-border) !important;
}

.fi-section:not(.fi-section-not-contained) > .fi-section-header {
    padding: .7rem 1.1rem !important;
    background: #f8fafc;
    border-top-left-radius: var(--app-radius);
    border-top-right-radius: var(--app-radius);
}

.fi-section-header-heading {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #334155 !important;
}

.fi-section:not(.fi-section-not-contained):not(.fi-divided) > .fi-section-content-ctn > .fi-section-content {
    padding: 1rem 1.1rem !important;
}

.fi-sc {
    gap: 1rem !important;
}

/* Подписи полей в карточке заявки — мелкие и серые, значения — крупнее. */
.fi-in-entry-label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--app-muted) !important;
}

.fi-in-text-item {
    font-size: 14px;
}

/* ---------- Таблицы ---------- */

.fi-ta-ctn {
    border-radius: var(--app-radius) !important;
    --tw-ring-color: var(--app-border) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}

.fi-ta-header-toolbar {
    padding: .6rem .9rem !important;
}

.fi-ta-header-cell {
    padding-top: .55rem !important;
    padding-bottom: .55rem !important;
    background: #f8fafc;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--app-muted) !important;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.fi-ta-table .fi-ta-text:not(.fi-inline),
.fi-ta-table .fi-ta-icon:not(.fi-inline),
.fi-ta-table .fi-ta-image:not(.fi-inline),
.fi-ta-table .fi-ta-actions {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
}

.fi-ta-table .fi-ta-text-item {
    font-size: 13.5px;
}

.fi-ta-table .fi-ta-text-description {
    font-size: 12px;
}

.fi-ta-row:hover {
    background: #f5f8fc;
}

/* Просроченная заявка: красная полоса слева и розовый фон строки. */
.fi-ta-row.ticket-overdue {
    background: #fff5f5;
}

.fi-ta-row.ticket-overdue > td:first-child {
    box-shadow: inset 3px 0 0 #dc2626;
}

.fi-ta-row.ticket-review > td:first-child {
    box-shadow: inset 3px 0 0 #7c3aed;
}

.fi-pagination {
    padding: .5rem .9rem !important;
}

/* ---------- Вкладки над таблицей ---------- */

.fi-tabs {
    border-radius: 9px !important;
    padding: 3px !important;
    background: #e2e7ee !important;
    box-shadow: none !important;
    --tw-ring-color: transparent !important;
}

.fi-tabs-item {
    padding: .35rem .8rem !important;
    border-radius: 7px !important;
    font-size: 13px !important;
}

.fi-tabs-item.fi-active {
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .12);
}

/* ---------- Бейджи и кнопки ---------- */

.fi-badge {
    font-weight: 600 !important;
    border-radius: 6px !important;
}

.fi-btn {
    border-radius: 8px !important;
}

/* ---------- Виджеты-показатели ---------- */

.fi-wi-stats-overview-stat {
    padding: 1rem 1.1rem !important;
    border-radius: var(--app-radius) !important;
    --tw-ring-color: var(--app-border) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
    overflow: hidden;
}

.fi-wi-stats-overview-stat-label {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.fi-wi-stats-overview-stat-value {
    font-size: 1.9rem !important;
    line-height: 2.2rem !important;
}

.fi-wi-stats-overview-stat-description {
    font-size: 12.5px !important;
}

.fi-wi-widget .fi-section-header-heading,
.fi-ta-header-heading {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #334155 !important;
}

/* ---------- Формы ---------- */

.fi-fo-field-label-content {
    font-size: 13px;
    font-weight: 600;
}

.fi-input-wrp {
    border-radius: 8px !important;
}

/* ---------- Карта ---------- */

.map-picker {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--app-border);
}

.map-picker__canvas {
    height: 320px;
    width: 100%;
    z-index: 0;
}

.map-picker__canvas.is-readonly {
    height: 260px;
}

.map-picker__search {
    display: flex;
    gap: .5rem;
    margin-bottom: .5rem;
    position: relative;
}

.map-picker__search input {
    flex: 1;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    padding: .45rem .7rem;
    font-size: 14px;
    background: #fff;
}

.map-picker__search input:focus {
    outline: 2px solid var(--primary-500);
    outline-offset: -1px;
}

.map-picker__results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    margin-top: 4px;
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .12);
    max-height: 260px;
    overflow-y: auto;
}

.map-picker__results button {
    display: block;
    width: 100%;
    text-align: start;
    padding: .5rem .75rem;
    font-size: 13px;
    border-bottom: 1px solid #f1f5f9;
}

.map-picker__results button:hover {
    background: #f1f5f9;
}

.map-picker__hint {
    margin-top: .4rem;
    font-size: 12px;
    color: var(--app-muted);
    display: flex;
    justify-content: space-between;
    gap: .5rem;
}

.map-picker__status {
    position: absolute;
    left: .5rem;
    bottom: .5rem;
    z-index: 500;
    background: rgba(15, 23, 42, .8);
    color: #fff;
    font-size: 12px;
    padding: .2rem .55rem;
    border-radius: 6px;
}

.map-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1rem;
    margin-top: .6rem;
    font-size: 12px;
    color: var(--app-muted);
}

.map-legend i {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-inline-end: .35rem;
    vertical-align: -1px;
}

.map-picker__clear {
    color: #dc2626;
    font-weight: 500;
}

/* Карточка заявки: текущий результат выделен рамкой по статусу. */
.ticket-result--on_review > .fi-section {
    box-shadow: 0 0 0 2px #8b5cf6, 0 1px 2px rgba(15, 23, 42, .04) !important;
}

.ticket-result--accepted > .fi-section {
    box-shadow: 0 0 0 2px #22c55e, 0 1px 2px rgba(15, 23, 42, .04) !important;
}

/* Плашка статуса сверху карточки — крупнее. */
.fi-callout {
    border-radius: var(--app-radius) !important;
    padding: 1rem 1.2rem !important;
}

.fi-callout-heading {
    font-size: 16px !important;
    font-weight: 700 !important;
}
