/* Global search ========================================= */

.global-search-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1390;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(13,19,33,.55);
    opacity: 0;
    backdrop-filter: blur(4px);
    transition: opacity .18s;
}
.global-search-backdrop.is-open {
    opacity: 1;
}
.global-search-dialog {
    position: fixed;
    top: 9vh;
    left: 50%;
    z-index: 1400;
    width: min(720px,calc(100vw - 30px));
    max-height: 82vh;
    overflow: hidden;
    border: 1px solid rgba(222,225,235,.95);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 28px 85px rgba(15,22,39,.3);
    opacity: 0;
    transform: translate(-50%,-12px) scale(.98);
    transition: opacity .18s,transform .18s;
}

.global-search-dialog.is-open {
    opacity: 1;
    transform: translate(-50%,0) scale(1);
}
body.global-search-open {
    overflow: hidden;
}
.global-search-header {
    display: grid;
    grid-template-columns: 30px minmax(0,1fr) 28px 34px;
    align-items: center;
    gap: 8px;
    min-height: 65px;
    padding: 0 16px;
    border-bottom: 1px solid #e8eaf0;
}
.global-search-icon {
    color: #5b5ce2;
    font-size: 24px;
}
.global-search-header input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #30384a;
    font: inherit;
    font-size: 13px;
}
.global-search-header > kbd,
.global-search-footer kbd {
    display: inline-grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    box-sizing: border-box;
    padding: 0 5px;
    border: 1px solid #dfe2ea;
    border-radius: 5px;
    background: #f5f6f9;
    color: #7d8595;
    font: inherit;
    font-size: 8px;
}
.global-search-header > button {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: #f2f4f8;
    color: #6e7687;
    font: inherit;
    font-size: 18px;
    cursor: pointer;
}
.global-search-filters {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid #eceef3;
    background: #fafbfc;
}
.global-search-filters label { display: flex; align-items: center; gap: 8px; }
.global-search-filters label > span { color: #8b93a3; font-size: 8px; white-space: nowrap; }
.global-search-filters select {
    width: 100%;
    height: 33px;
    padding: 0 9px;
    border: 1px solid #dfe3eb;
    border-radius: 8px;
    background: #fff;
    color: #5e6779;
    font: inherit;
    font-size: 9px;
}
.global-search-body {
    min-height: 270px;
    max-height: calc(82vh - 164px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 10px;
}
.global-search-message,
.global-search-loading {
    min-height: 245px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #8b93a3;
    text-align: center;
}
.global-search-message > span {
    width: 47px;
    height: 47px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #efefff;
    color: #5b5ce2;
    font-size: 21px;
}
.global-search-message strong { color: #525b6e; font-size: 12px; }
.global-search-message small { font-size: 9px; }
.global-search-loading > span {
    width: 27px;
    height: 27px;
    border: 3px solid #e8e9f5;
    border-top-color: #5b5ce2;
    border-radius: 50%;
    animation: global-search-spin .7s linear infinite;
}
@keyframes global-search-spin { to { transform: rotate(360deg); } }
.global-search-loading small { font-size: 9px; }
.global-search-recent { padding: 10px; }
.global-search-recent > strong { display: block; margin-bottom: 10px; color: #626b7c; font-size: 10px; }
.global-search-recent > div { display: flex; flex-wrap: wrap; gap: 7px; }
.global-search-recent button {
    padding: 7px 10px;
    border: 1px solid #e0e3eb;
    border-radius: 8px;
    background: #fafbfc;
    color: #687184;
    font: inherit;
    font-size: 9px;
    cursor: pointer;
}
.global-search-group + .global-search-group { margin-top: 11px; }
.global-search-group > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 8px 8px;
}
.global-search-group > header strong { color: #535c6e; font-size: 10px; }
.global-search-group > header span { color: #969dac; font-size: 8px; }
.global-search-result {
    display: grid;
    grid-template-columns: 39px minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 57px;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: inherit;
    text-decoration: none;
    transition: background .13s,border-color .13s;
}
.global-search-result:hover,.global-search-result.is-active {
    border-color: #dedff4;
    background: #f8f8ff;
}
.global-search-result__icon {
    width: 37px;
    height: 37px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: color-mix(in srgb,var(--result-color) 12%,white);
    color: var(--result-color);
    font-size: 16px;
}
.global-search-result__content { min-width: 0; display: grid; gap: 3px; }
.global-search-result__content strong,
.global-search-result__content small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.global-search-result__content strong { color: #3c4557; font-size: 10px; }
.global-search-result__content small { color: #8b93a3; font-size: 8px; }
.global-search-result__meta { display: grid; justify-items: end; gap: 4px; color: #8991a2; }
.global-search-result__meta small { padding: 3px 6px; border-radius: 5px; background: #f0f2f6; font-size: 7px; }
.global-search-result__meta time { font-size: 7px; }
.global-search-footer {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 0 16px;
    border-top: 1px solid #eceef3;
    background: #fafbfc;
    color: #8b93a3;
    font-size: 7px;
}
@media (max-width: 600px) {
    .global-search-dialog { top: 10px; width: calc(100vw - 20px); max-height: calc(100dvh - 20px); border-radius: 14px; }
    .global-search-header { grid-template-columns: 25px minmax(0,1fr) 32px; min-height: 58px; padding: 0 11px; }
    .global-search-header > kbd { display: none; }
    .global-search-header input { font-size: 12px; }
    .global-search-filters { gap: 7px; padding: 9px 11px; }
    .global-search-filters label { display: grid; gap: 4px; }
    .global-search-filters select { font-size: 11px; }
    .global-search-body { min-height: 300px; max-height: calc(100dvh - 184px); padding: 7px; }
    .global-search-result { grid-template-columns: 36px minmax(0,1fr); }
    .global-search-result__meta { grid-column: 2; display: flex; justify-content: space-between; justify-items: start; }
    .global-search-result__content strong { font-size: 12px; }
    .global-search-result__content small { font-size: 10px; }
    .global-search-footer { justify-content: center; }
    .global-search-footer span:first-child { display: none; }
}
@media (max-width: 390px) {
    .stats-grid { grid-template-columns: 1fr; }
    .quick-actions { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .dashboard-main {
        width: 100%;
        margin-inline-start: 0;
    }

}
