/* Yurtsy brand — su yeşili #9fbdb7; menü ve su yeşili yüzeylerde ikonlar beyaz. */

:root {
    --yurtsy-sage: #9fbdb7;
    --yurtsy-orange: #ffffff;
    --yurtsy-blue: #7999b0;
    --yurtsy-indigo: #454ecc;
    --yurtsy-paper: #f7f7f7;
    --yurtsy-gold: #9fbdb7;
    --yurtsy-coral: #eb7c68;
    --yurtsy-rose: #c92b62;
    --yurtsy-red: #b1332f;
    --yurtsy-magenta: #b24eb7;
    --yurtsy-periwinkle: #8491f7;
    --yurtsy-ink: #24302e;
    --primary-rgb: 159, 189, 183;
    --secondary-rgb: 121, 153, 176;
    --primary-tint1-rgb: 121, 153, 176;
    --primary-tint2-rgb: 159, 189, 183;
    --primary-tint3-rgb: 235, 124, 104;
    --warning-rgb: 159, 189, 183;
    --info-rgb: 121, 153, 176;
    --success-rgb: 127, 168, 158;
    --danger-rgb: 177, 51, 47;
    --orange-rgb: 159, 189, 183;
    --pink-rgb: 201, 43, 98;
    --purple-rgb: 69, 78, 204;
    --body-bg-rgb: 247, 247, 247;
    --default-body-bg-color: #f7f7f7;
    --default-background: #f7f7f7;
    --bs-link-color-rgb: 159, 189, 183;
}

.auth-brand,
.page-header-breadcrumb h4,
.staff-create-banner .banner-title,
.yurtsy-banner .banner-title {
    font-family: "Montserrat Alternates", "Montserrat", sans-serif;
}

.avatar-initial {
    font-weight: 600;
    letter-spacing: 0.02em;
}

.auth-brand {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.app-content {
    min-height: calc(100vh - 4rem);
    max-width: none;
}

.app-content > .container-fluid {
    width: 100%;
    max-width: none;
}

@media (min-width: 992px) {
    html[data-vertical-style="overlay"][data-toggled="icon-overlay-close"] .footer {
        padding-inline-start: 5rem;
    }

    html[data-vertical-style="overlay"][data-toggled="icon-overlay-close"]:not([data-icon-overlay="open"]) .app-sidebar .auth-brand .brand-full,
    html[data-vertical-style="overlay"][data-toggled="icon-overlay-close"]:not([data-icon-overlay="open"]) .app-sidebar .yurtsy-sidebar-brand .brand-full,
    html[data-vertical-style="overlay"][data-toggled="icon-overlay-close"]:not([data-icon-overlay="open"]) .app-sidebar .slide__category {
        display: none;
    }

    html[data-vertical-style="overlay"][data-toggled="icon-overlay-close"]:not([data-icon-overlay="open"]) .app-sidebar .auth-brand .brand-mini,
    html[data-vertical-style="overlay"][data-toggled="icon-overlay-close"]:not([data-icon-overlay="open"]) .app-sidebar .yurtsy-sidebar-brand .brand-mini {
        display: inline-flex;
    }
}

.app-sidebar .auth-brand .brand-mini,
.app-sidebar .yurtsy-sidebar-brand .brand-mini {
    display: none;
}

html[data-menu-styles="dark"][data-theme-mode="light"],
html[data-menu-styles="dark"][data-theme-mode="dark"],
html[data-menu-styles="color"] {
    --menu-bg: #9fbdb7;
    --menu-prime-color: #24302e;
    --menu-border-color: rgba(36, 48, 46, 0.12);
}

.app-sidebar {
    transition: width 200ms ease, transform 200ms ease;
}

.app-sidebar,
.app-sidebar .main-sidebar,
.app-sidebar .main-sidebar-header {
    background: #9fbdb7 !important;
    border-color: rgba(36, 48, 46, 0.12) !important;
}

.app-sidebar .auth-brand,
.app-sidebar .text-fixed-white,
.app-sidebar .side-menu__label,
.app-sidebar .slide__category,
.app-sidebar .slide__category .category-name,
.app-sidebar .side-menu__item {
    color: #24302e !important;
}

.app-sidebar .side-menu__icon,
.app-sidebar .side-menu__item i[class^="ri-"],
.app-sidebar .side-menu__item i[class*=" ri-"] {
    color: var(--yurtsy-orange) !important;
}

.app-sidebar .side-menu__item.active,
.app-sidebar .side-menu__item:hover {
    background: rgba(36, 48, 46, 0.1) !important;
    color: #24302e !important;
}

.app-sidebar .side-menu__item.active .side-menu__label,
.app-sidebar .side-menu__item:hover .side-menu__label {
    color: #24302e !important;
}

.app-sidebar .side-menu__item.active .side-menu__icon,
.app-sidebar .side-menu__item:hover .side-menu__icon {
    color: var(--yurtsy-orange) !important;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #9fbdb7;
    --bs-btn-border-color: #7fa8a1;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #7fa8a1;
    --bs-btn-hover-border-color: #6b918a;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #6b918a;
    --bs-btn-active-border-color: #5a7a74;
    --bs-btn-focus-shadow-rgb: 159, 189, 183;
}

.form-check-input:checked {
    background-color: #9fbdb7;
    border-color: #7fa8a1;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: #9fbdb7;
    box-shadow: 0 0 0 0.2rem rgba(159, 189, 183, 0.28);
}

/* Ortak form / liste sayfası */

.staff-create-page,
.yurtsy-page {
    width: 100%;
    max-width: none;
}

.staff-create-banner,
.yurtsy-banner {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 20%, rgba(255, 255, 255, 0.22), transparent 28%),
        linear-gradient(125deg, #6b918a 0%, #9fbdb7 48%, #c5d8d4 100%);
    color: #fff;
    border-radius: 1.15rem;
    padding: 1.6rem 1.75rem;
    margin-bottom: 1.35rem;
    box-shadow: 0 18px 40px rgba(121, 153, 176, 0.22);
}

.staff-create-banner::after,
.yurtsy-banner::after {
    content: "";
    position: absolute;
    inset: auto -2rem -4rem auto;
    width: 11rem;
    height: 11rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
}

.staff-create-banner .banner-kicker,
.yurtsy-banner .banner-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff;
    border-radius: 999px;
    padding: 0.2rem 0.7rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.staff-create-banner .banner-title,
.yurtsy-banner .banner-title {
    color: #fff;
    margin: 0.45rem 0 0;
    font-size: 1.75rem;
    font-weight: 700;
}

.staff-create-banner p,
.yurtsy-banner p {
    color: rgba(255, 255, 255, 0.88);
    margin: 0.4rem 0 0;
    max-width: 36rem;
}

.staff-create-banner .banner-mark,
.yurtsy-banner .banner-mark {
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 1.1rem;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.16);
    color: var(--yurtsy-orange);
    font-size: 2rem;
    z-index: 1;
}

.staff-card,
.yurtsy-card {
    border: 0;
    border-radius: 1.05rem;
    box-shadow: 0 10px 28px rgba(36, 48, 46, 0.06);
    overflow: hidden;
}

.staff-card .card-header,
.yurtsy-card .card-header {
    background: transparent;
    border-bottom: 0;
    padding: 1.15rem 1.25rem 0;
}

.staff-card .card-title,
.yurtsy-card .card-title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: #24302e;
}

.staff-card .card-title .title-icon,
.yurtsy-card .card-title .title-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 0.6rem;
    display: grid;
    place-items: center;
    color: var(--yurtsy-sage);
    background: rgba(159, 189, 183, 0.18);
}

.staff-card.account .card-title .title-icon { background: rgba(159, 189, 183, 0.22); }
.staff-card.groups .card-title .title-icon { background: rgba(121, 153, 176, 0.28); color: #3d5360; }
.staff-card.perms .card-title .title-icon { background: rgba(69, 78, 204, 0.14); color: #454ecc; }
.staff-card.actions {
    background:
        linear-gradient(105deg, rgba(159, 189, 183, 0.18), #fff 38%),
        #fff;
}

.staff-card.actions .card-body {
    padding: 1.15rem 1.35rem;
}

.staff-field .input-group-text,
.yurtsy-field .input-group-text {
    background: #eef3f7;
    border-color: #d4e0e8;
    color: var(--yurtsy-sage);
}

.staff-field .form-control,
.yurtsy-field .form-control,
.yurtsy-field .form-select {
    border-color: #d5e4e1;
    background: #fbfdfc;
    min-height: 2.7rem;
}

.staff-field .form-control:focus,
.yurtsy-field .form-control:focus,
.yurtsy-field .form-select:focus {
    background: #fff;
}

.group-choice-list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.group-choice {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border: 1px solid #d7e4e1;
    border-radius: 0.85rem;
    padding: 0.85rem 0.95rem;
    margin: 0;
    background: #f8fbfa;
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.group-choice:hover {
    border-color: #9fbdb7;
}

.group-choice:has(input:checked) {
    border-color: #9fbdb7;
    background: linear-gradient(90deg, rgba(159, 189, 183, 0.22), #fff 55%);
    box-shadow: 0 0 0 3px rgba(159, 189, 183, 0.18);
}

.permission-tree {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.permission-tree-module {
    border: 1px solid #e4ecea;
    border-radius: 0.85rem;
    background: #fff;
    overflow: hidden;
}

.permission-tree-header {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.72rem 0.9rem;
    cursor: pointer;
    user-select: none;
}

.permission-tree-header:hover {
    background: rgba(159, 189, 183, 0.08);
}

.permission-tree-module .module-chip {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.5rem;
    display: grid;
    place-items: center;
    font-size: 0.95rem;
}

.permission-tree-module.tone-sage .module-chip { background: #e4efec; color: #4f7a73; }
.permission-tree-module.tone-blue .module-chip { background: #e3ebf1; color: #4d6d84; }
.permission-tree-module.tone-indigo .module-chip { background: #e8e9fa; color: #454ecc; }
.permission-tree-module.tone-gold .module-chip { background: #f8ecd9; color: #b57a2b; }
.permission-tree-module.tone-coral .module-chip { background: #fde8e3; color: #c45b4a; }
.permission-tree-module.tone-rose .module-chip { background: #f8e1ea; color: #c92b62; }
.permission-tree-module.tone-periwinkle .module-chip { background: #e8ebfe; color: #5b69d8; }
.permission-tree-module.tone-magenta .module-chip { background: #f4e3f6; color: #b24eb7; }
.permission-tree-module.tone-slate .module-chip { background: #eceff1; color: #5a6a72; }

.permission-tree-module.is-open {
    border-color: #9fbdb7;
    box-shadow: 0 8px 20px rgba(159, 189, 183, 0.16);
}

.permission-tree-arrow {
    margin-left: auto;
    transition: transform 180ms ease;
    color: #9fbdb7;
}

.permission-tree-module.is-open .permission-tree-arrow {
    transform: rotate(180deg);
}

.permission-tree-children {
    display: none;
    padding: 0.15rem 0.9rem 0.8rem 2.7rem;
    border-top: 1px dashed #dce8e5;
    background: linear-gradient(180deg, #f8fbfa, #fff);
}

.permission-tree-module.is-open .permission-tree-children {
    display: block;
}

.permission-tree-children .form-check {
    padding-top: 0.55rem;
}

.staff-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.staff-actions-copy {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: min(100%, 18rem);
}

.staff-actions-copy .title-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.7rem;
    display: grid;
    place-items: center;
    color: var(--yurtsy-sage);
    background: rgba(159, 189, 183, 0.18);
    font-size: 1.15rem;
    flex-shrink: 0;
}

.staff-actions-copy strong {
    display: block;
    color: #24302e;
    font-weight: 600;
}

.staff-actions-copy p {
    margin: 0.1rem 0 0;
    color: #5d6f6c;
    font-size: 0.86rem;
}

.staff-actions-buttons {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-left: auto;
}

.staff-actions .btn-light {
    border: 1px solid #d5e4e1;
    background: #fff;
    color: #3d534f;
    padding: 0.6rem 1.15rem;
}

.staff-actions .btn-primary {
    min-width: 8.75rem;
    padding: 0.62rem 1.4rem;
    font-weight: 600;
    box-shadow: 0 10px 22px rgba(127, 168, 158, 0.35);
}

.yurtsy-list-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.yurtsy-day-picks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.2rem;
    padding: 0.75rem 0.95rem;
    border: 1px solid #d5e4e1;
    border-radius: 0.85rem;
    background: #fbfdfc;
}

.yurtsy-day-check {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.15rem 0.75rem 0.15rem 0;
    min-height: 2rem;
}

.yurtsy-day-check .form-check-label,
.yurtsy-day-check span {
    color: #24302e;
    font-weight: 500;
}

.dt-buttons .btn,
.dt-buttons .dt-button {
    background: #9fbdb7 !important;
    border-color: #7fa8a1 !important;
    color: #fff !important;
    border-radius: 0.45rem !important;
    margin-right: 0.35rem;
    font-weight: 600;
}

.yurtsy-card .dataTables_wrapper {
    padding-top: 0.25rem;
}

.yurtsy-details {
    display: grid;
    gap: 0.7rem;
    margin: 0;
}

.yurtsy-detail {
    display: grid;
    grid-template-columns: minmax(8rem, 13rem) 1fr;
    gap: 0.5rem 1.15rem;
    padding: 0.85rem 1rem;
    border: 1px solid #e4ecea;
    border-radius: 0.85rem;
    background: #f8fbfa;
}

.yurtsy-detail dt {
    margin: 0;
    color: #5d6f6c;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    align-self: center;
}

.yurtsy-detail dd {
    margin: 0;
    color: #24302e;
    font-weight: 600;
    white-space: pre-wrap;
}

.yurtsy-stat {
    min-height: 9.5rem;
}

.yurtsy-week-label {
    margin: 0 0 0.9rem;
    color: #5d6f6c;
    font-weight: 600;
}

.yurtsy-machine-list {
    display: grid;
    gap: 0.7rem;
}

.yurtsy-machine-acc {
    border-radius: 1.05rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(36, 48, 46, 0.06);
    overflow: hidden;
}

.yurtsy-machine-acc > summary {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.95rem 1.1rem;
    list-style: none;
    cursor: pointer;
}

.yurtsy-machine-acc > summary::-webkit-details-marker {
    display: none;
}

.yurtsy-machine-acc > summary .title-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 0.6rem;
    display: grid;
    place-items: center;
    color: var(--yurtsy-sage);
    background: rgba(159, 189, 183, 0.18);
    flex-shrink: 0;
}

.yurtsy-machine-acc-copy {
    min-width: 0;
    flex: 1;
}

.yurtsy-machine-acc-copy strong {
    display: block;
    color: #24302e;
    font-weight: 700;
}

.yurtsy-machine-acc-copy small {
    color: #5d6f6c;
    font-size: 0.78rem;
}

.yurtsy-machine-occ {
    display: grid;
    justify-items: end;
    min-width: 5.5rem;
    padding: 0.28rem 0.65rem;
    border-radius: 0.7rem;
    line-height: 1.15;
}

.yurtsy-machine-occ b {
    font-size: 1.05rem;
}

.yurtsy-machine-occ em {
    font-style: normal;
    font-size: 0.72rem;
    font-weight: 600;
}

.yurtsy-machine-occ.is-open {
    background: #eef6f4;
    color: #4f7a73;
}

.yurtsy-machine-occ.is-mid {
    background: #fbf4e8;
    color: #b57a2b;
}

.yurtsy-machine-occ.is-full {
    background: #fde8e3;
    color: #c45b4a;
}

.yurtsy-machine-acc-chevron {
    color: #9fbdb7;
    font-size: 1.25rem;
    transition: transform 160ms ease;
}

.yurtsy-machine-acc[open] > summary {
    border-bottom: 1px solid #e4ecea;
}

.yurtsy-machine-acc[open] .yurtsy-machine-acc-chevron {
    transform: rotate(180deg);
}

.yurtsy-machine-acc-body {
    padding: 0.85rem 1rem 1rem;
}

.yurtsy-announce-stack {
    display: grid;
    gap: 0.9rem;
    margin-bottom: 1.25rem;
}

.yurtsy-announce-card {
    padding: 1.2rem 1.3rem 1.15rem;
    border-radius: 1.15rem;
    background:
        linear-gradient(135deg, rgba(231, 161, 84, 0.16), transparent 42%),
        #fff;
    border: 1px solid #f0e0c4;
    box-shadow: 0 12px 28px rgba(181, 122, 43, 0.08);
}

.yurtsy-announce-card-top {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
}

.yurtsy-announce-mark {
    width: 2.6rem;
    height: 2.6rem;
    flex-shrink: 0;
    border-radius: 0.85rem;
    display: grid;
    place-items: center;
    background: #9fbdb7;
    color: #fff;
    font-size: 1.25rem;
}

.yurtsy-announce-copy {
    min-width: 0;
    flex: 1;
}

.yurtsy-announce-kicker {
    display: inline-block;
    margin-bottom: 0.2rem;
    color: #b57a2b;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.yurtsy-announce-copy h2 {
    margin: 0;
    color: #24302e;
    font-family: "Montserrat Alternates", "Montserrat", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
}

.yurtsy-announce-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.9rem;
    margin: 0.4rem 0 0;
    color: #8a5a18;
    font-size: 0.8rem;
    font-weight: 600;
}

.yurtsy-announce-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
}

.yurtsy-announce-body {
    margin: 0.85rem 0 0;
    padding-top: 0.85rem;
    border-top: 1px dashed #edd9bc;
    color: #3d534f;
    white-space: pre-wrap;
}

.yurtsy-announce-read {
    flex-shrink: 0;
}

.yurtsy-announce-read label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    background: #f8ecd9;
    border: 1px solid #edd9bc;
    color: #8a5a18;
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
}

.yurtsy-announce-read input {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: #9fbdb7;
    cursor: pointer;
}

@media (max-width: 575.98px) {
    .yurtsy-announce-card-top {
        flex-wrap: wrap;
    }

    .yurtsy-announce-read {
        width: 100%;
    }
}

.yurtsy-stat .display-6 {
    color: #24302e;
    font-weight: 700;
}

.yurtsy-dash-summary {
    margin: -0.35rem 0 0.85rem;
    color: #5d6f6c;
    font-weight: 600;
}

.yurtsy-dash-dorm {
    background:
        linear-gradient(180deg, rgba(159, 189, 183, 0.12), transparent 7.5rem),
        #fff;
}

.yurtsy-dash-dorm .card-title {
    align-items: flex-start;
}

.yurtsy-dash-dorm .card-title .title-icon {
    background: #9fbdb7;
    color: var(--yurtsy-orange);
}

.yurtsy-dash-dorm .card-title small {
    display: block;
    margin-top: 0.18rem;
    color: #5d6f6c;
    font-size: 0.78rem;
    font-weight: 500;
}

.yurtsy-dash-icon {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 0.65rem;
    display: grid;
    place-items: center;
    font-size: 1.05rem;
    margin-bottom: 0.55rem;
}

.yurtsy-chart {
    width: 100%;
    min-height: 18rem;
}

.yurtsy-chart-wide {
    min-height: 20rem;
}

.yurtsy-dash-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
}

.yurtsy-dash-metric {
    padding: 0.9rem 0.95rem 0.95rem;
    border-radius: 1rem;
    border: 1px solid transparent;
}

.yurtsy-dash-metric > span:not(.yurtsy-dash-icon) {
    display: block;
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.yurtsy-dash-metric strong {
    display: block;
    margin-top: 0.28rem;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.15;
}

.yurtsy-dash-metric.is-sage {
    background: #eef6f4;
    border-color: #d5e8e3;
    color: #4f7a73;
}

.yurtsy-dash-metric.is-sage .yurtsy-dash-icon,
.yurtsy-dash-fault-split .is-sage i {
    background: #9fbdb7;
    color: var(--yurtsy-orange);
}

.yurtsy-dash-metric.is-sage strong { color: #24302e; }

.yurtsy-dash-metric.is-blue {
    background: #eef3f7;
    border-color: #d4e0e8;
    color: #4d6d84;
}

.yurtsy-dash-metric.is-blue .yurtsy-dash-icon {
    background: #9fbdb7;
    color: #fff;
}

.yurtsy-dash-metric.is-blue strong { color: #2d3f4d; }

.yurtsy-dash-metric.is-gold {
    background: #fbf4e8;
    border-color: #f0e0c4;
    color: #b57a2b;
}

.yurtsy-dash-metric.is-gold .yurtsy-dash-icon,
.yurtsy-dash-fault-split .is-gold i {
    background: #9fbdb7;
    color: #fff;
}

.yurtsy-dash-metric.is-gold strong { color: #8a5a18; }

.yurtsy-dash-label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 1.2rem 0 0.7rem;
    color: #3d534f;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.yurtsy-dash-label i {
    font-size: 1rem;
    color: #9fbdb7;
}

.yurtsy-dash-occupancy {
    display: grid;
    gap: 0.75rem;
}

.yurtsy-dash-fill {
    padding: 0.85rem 0.95rem;
    border-radius: 0.95rem;
}

.yurtsy-dash-fill.is-week {
    background: #eef3f7;
    border: 1px solid #d4e0e8;
}

.yurtsy-dash-fill.is-today {
    background: #f8f1e8;
    border: 1px solid #edd9bc;
}

.yurtsy-dash-fill-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.86rem;
    font-weight: 600;
}

.yurtsy-dash-fill-head span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.yurtsy-dash-fill.is-week .yurtsy-dash-fill-head { color: #4d6d84; }
.yurtsy-dash-fill.is-week .yurtsy-dash-fill-head strong { color: #2d3f4d; }
.yurtsy-dash-fill.is-today .yurtsy-dash-fill-head { color: #b57a2b; }
.yurtsy-dash-fill.is-today .yurtsy-dash-fill-head strong { color: #8a5a18; }

.yurtsy-dash-fill-head em {
    margin-left: 0.4rem;
    font-style: normal;
    font-size: 0.75rem;
}

.yurtsy-dash-bar {
    height: 0.55rem;
    margin: 0.45rem 0 0.35rem;
    border-radius: 999px;
    overflow: hidden;
}

.yurtsy-dash-fill.is-week .yurtsy-dash-bar { background: #d4e0e8; }
.yurtsy-dash-fill.is-today .yurtsy-dash-bar { background: #edd9bc; }

.yurtsy-dash-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.yurtsy-dash-fill.is-week .yurtsy-dash-bar i {
    background: linear-gradient(90deg, #9fbdb7, #454ecc);
}

.yurtsy-dash-fill.is-today .yurtsy-dash-bar i {
    background: linear-gradient(90deg, #9fbdb7, #7fa8a1);
}

.yurtsy-dash-fill small {
    font-size: 0.78rem;
}

.yurtsy-dash-fill.is-week small { color: #4d6d84; }
.yurtsy-dash-fill.is-today small { color: #b57a2b; }

.yurtsy-dash-faults {
    padding: 0.95rem 1rem 1rem;
    margin-top: 1.15rem;
    border-radius: 1rem;
    background: #fdf4f1;
    border: 1px solid #f3ddd6;
}

.yurtsy-dash-faults .yurtsy-dash-label {
    margin-top: 0;
    color: #c45b4a;
}

.yurtsy-dash-faults .yurtsy-dash-label i {
    color: #eb7c68;
}

.yurtsy-dash-empty {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    color: #c45b4a;
    font-weight: 600;
}

.yurtsy-dash-fault-total {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.75rem;
}

.yurtsy-dash-fault-total .yurtsy-dash-icon {
    margin: 0;
}

.yurtsy-dash-icon.is-coral {
    background: #eb7c68;
    color: #fff;
}

.yurtsy-dash-fault-total strong {
    color: #24302e;
    font-size: 1.45rem;
    font-weight: 700;
}

.yurtsy-dash-fault-total > span:not(.yurtsy-dash-icon) {
    color: #c45b4a;
    font-size: 0.82rem;
}

.yurtsy-dash-fault-split {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.95rem;
}

.yurtsy-dash-fault-split span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
}

.yurtsy-dash-fault-split span i {
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 0.78rem;
}

.yurtsy-dash-fault-split .is-gold {
    background: #f8ecd9;
    color: #b57a2b;
}

.yurtsy-dash-fault-split .is-indigo {
    background: #e8e9fa;
    color: #454ecc;
}

.yurtsy-dash-fault-split .is-indigo i {
    background: #454ecc;
    color: #fff;
}

.yurtsy-dash-fault-split .is-sage {
    background: #e4efec;
    color: #4f7a73;
}

.yurtsy-dash-fault-split .is-rose {
    background: #f8e1ea;
    color: #c92b62;
}

.yurtsy-dash-fault-split .is-rose i {
    background: #c92b62;
    color: #fff;
}

.yurtsy-dash-fault-split b {
    color: inherit;
}

.yurtsy-dash-months {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.28rem;
    align-items: end;
    min-height: 4.6rem;
}

.yurtsy-dash-month {
    display: grid;
    justify-items: center;
    gap: 0.28rem;
}

.yurtsy-dash-month .col {
    display: flex;
    align-items: flex-end;
    width: 100%;
    height: 3.1rem;
    border-radius: 0.35rem 0.35rem 0.15rem 0.15rem;
    background: #f8e8e2;
}

.yurtsy-dash-month .col i {
    display: block;
    width: 100%;
    min-height: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, #eb7c68, #c92b62);
}

.yurtsy-dash-month small {
    color: #c45b4a;
    font-size: 0.62rem;
    font-weight: 600;
}

@media (max-width: 575.98px) {
    .yurtsy-dash-metrics {
        grid-template-columns: 1fr;
    }
}

/* Auth — ortada kart, arkada dönen dijital dünya */

html:has(.yurtsy-auth) {
    height: 100%;
}

html:has(.yurtsy-auth) body {
    min-height: 100%;
    margin: 0;
    background: #1a221f;
}

.yurtsy-auth {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 2.4rem 1.25rem 2.6rem;
    overflow: hidden;
}

.yurtsy-auth-stage {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: radial-gradient(ellipse at 50% 46%, #2b3c38 0%, #1a221f 58%, #121716 100%);
}

.yurtsy-auth.is-admin .yurtsy-auth-stage {
    background: radial-gradient(ellipse at 50% 46%, #24313c 0%, #161b22 58%, #101318 100%);
}

.yurtsy-auth-world {
    position: absolute;
    left: 50%;
    top: 48%;
    width: min(46rem, 92vw);
    height: min(46rem, 92vw);
    transform: translate(-50%, -50%);
    perspective: 1100px;
}

.yurtsy-auth-orbit {
    position: absolute;
    inset: -7%;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    animation: yurtsy-orbit-a 72s linear infinite;
}

.yurtsy-auth-orbit.o2 {
    inset: -16%;
    border-color: rgba(159, 189, 183, 0.16);
    animation: yurtsy-orbit-b 96s linear infinite;
}

.yurtsy-auth.is-admin .yurtsy-auth-orbit.o2 {
    border-color: rgba(132, 145, 247, 0.18);
}

.yurtsy-auth-globe {
    position: absolute;
    inset: 8%;
    overflow: hidden;
    border-radius: 50%;
    background:
        radial-gradient(circle at 30% 26%, rgba(255, 255, 255, 0.16), transparent 26%),
        radial-gradient(circle at 72% 78%, rgba(18, 24, 23, 0.5), transparent 42%),
        radial-gradient(circle at 50% 50%, #3d5c57 0%, #24302e 68%, #17201e 100%);
    box-shadow:
        inset -28px -18px 48px rgba(12, 16, 15, 0.55),
        inset 18px 12px 28px rgba(255, 255, 255, 0.06),
        0 0 0 1px rgba(255, 255, 255, 0.08),
        0 0 90px rgba(159, 189, 183, 0.16);
}

.yurtsy-auth.is-admin .yurtsy-auth-globe {
    background:
        radial-gradient(circle at 30% 26%, rgba(255, 255, 255, 0.14), transparent 26%),
        radial-gradient(circle at 72% 78%, rgba(12, 16, 22, 0.55), transparent 42%),
        radial-gradient(circle at 50% 50%, #3a4a62 0%, #24303c 68%, #161b22 100%);
    box-shadow:
        inset -28px -18px 48px rgba(10, 12, 18, 0.55),
        inset 18px 12px 28px rgba(255, 255, 255, 0.05),
        0 0 0 1px rgba(255, 255, 255, 0.08),
        0 0 90px rgba(69, 78, 204, 0.18);
}

.yurtsy-auth-globe-map {
    position: absolute;
    top: 0;
    left: 0;
    width: 200%;
    height: 100%;
    background-image:
        radial-gradient(circle, rgba(247, 247, 247, 0.28) 0.9px, transparent 1.2px),
        radial-gradient(ellipse 7rem 3.6rem at 18% 38%, rgba(159, 189, 183, 0.42), transparent 70%),
        radial-gradient(ellipse 5.2rem 6rem at 38% 58%, rgba(121, 153, 176, 0.32), transparent 72%),
        radial-gradient(ellipse 8rem 3.2rem at 62% 32%, rgba(159, 189, 183, 0.36), transparent 70%),
        radial-gradient(ellipse 4.4rem 5rem at 82% 64%, rgba(121, 153, 176, 0.3), transparent 70%),
        radial-gradient(ellipse 7rem 3.6rem at 118% 38%, rgba(159, 189, 183, 0.42), transparent 70%),
        radial-gradient(ellipse 5.2rem 6rem at 138% 58%, rgba(121, 153, 176, 0.32), transparent 72%),
        radial-gradient(ellipse 8rem 3.2rem at 162% 32%, rgba(159, 189, 183, 0.36), transparent 70%),
        radial-gradient(ellipse 4.4rem 5rem at 182% 64%, rgba(121, 153, 176, 0.3), transparent 70%),
        repeating-linear-gradient(rgba(255, 255, 255, 0.06) 0 1px, transparent 1px 28px),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 34px);
    background-size:
        16px 16px,
        100% 100%, 100% 100%, 100% 100%, 100% 100%,
        100% 100%, 100% 100%, 100% 100%, 100% 100%,
        100% 100%, 100% 100%;
    animation: yurtsy-world-spin 42s linear infinite;
}

.yurtsy-auth.is-admin .yurtsy-auth-globe-map {
    background-image:
        radial-gradient(circle, rgba(247, 247, 247, 0.26) 0.9px, transparent 1.2px),
        radial-gradient(ellipse 7rem 3.6rem at 18% 38%, rgba(132, 145, 247, 0.34), transparent 70%),
        radial-gradient(ellipse 5.2rem 6rem at 38% 58%, rgba(121, 153, 176, 0.3), transparent 72%),
        radial-gradient(ellipse 8rem 3.2rem at 62% 32%, rgba(69, 78, 204, 0.28), transparent 70%),
        radial-gradient(ellipse 4.4rem 5rem at 82% 64%, rgba(159, 189, 183, 0.26), transparent 70%),
        radial-gradient(ellipse 7rem 3.6rem at 118% 38%, rgba(132, 145, 247, 0.34), transparent 70%),
        radial-gradient(ellipse 5.2rem 6rem at 138% 58%, rgba(121, 153, 176, 0.3), transparent 72%),
        radial-gradient(ellipse 8rem 3.2rem at 162% 32%, rgba(69, 78, 204, 0.28), transparent 70%),
        radial-gradient(ellipse 4.4rem 5rem at 182% 64%, rgba(159, 189, 183, 0.26), transparent 70%),
        repeating-linear-gradient(rgba(255, 255, 255, 0.055) 0 1px, transparent 1px 28px),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px 34px);
}

@keyframes yurtsy-world-spin {
    to { transform: translateX(-50%); }
}

@keyframes yurtsy-orbit-a {
    from { transform: rotateX(68deg) rotateZ(-16deg); }
    to { transform: rotateX(68deg) rotateZ(344deg); }
}

@keyframes yurtsy-orbit-b {
    from { transform: rotateX(74deg) rotateZ(14deg); }
    to { transform: rotateX(74deg) rotateZ(374deg); }
}

.yurtsy-auth-shell {
    position: relative;
    z-index: 2;
    width: min(24.5rem, 100%);
}

.yurtsy-auth.is-wide .yurtsy-auth-shell {
    width: min(30rem, 100%);
}

.yurtsy-auth-shell .brand {
    text-align: center;
    color: #fff;
    font-family: "Montserrat Alternates", "Montserrat", sans-serif;
    font-size: 1.85rem;
    font-weight: 700;
    margin-bottom: 1.1rem;
}

.yurtsy-auth-shell .brand span {
    display: block;
    margin-top: 0.25rem;
    font-family: "Montserrat", sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.7;
}

.yurtsy-auth-card {
    padding: 1.65rem 1.5rem 1.45rem;
    border-radius: 1.25rem;
    background: rgba(247, 247, 247, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.45);
    box-shadow: 0 20px 50px rgba(12, 16, 15, 0.28);
    backdrop-filter: blur(16px);
}

.yurtsy-auth-footnote {
    margin: 0.95rem 0 0;
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.86rem;
    font-weight: 600;
}

.yurtsy-auth-form .kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.55rem;
    color: var(--yurtsy-sage);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.yurtsy-auth-form h1 {
    font-family: "Montserrat Alternates", "Montserrat", sans-serif;
    font-size: 1.7rem;
    font-weight: 700;
    color: #24302e;
    margin: 0 0 0.3rem;
}

.yurtsy-auth-form > p {
    color: #5d6f6c;
    margin-bottom: 1.15rem;
}

.yurtsy-auth-form .yurtsy-field {
    margin-bottom: 0.95rem;
}

.yurtsy-legal-consents {
    margin: 0.35rem 0 1.15rem;
}

.yurtsy-legal-intro {
    color: #5d6f6c;
    font-size: 0.9rem;
    margin-bottom: 0.75rem;
}

.yurtsy-legal-block {
    margin-bottom: 0.85rem;
}

.yurtsy-legal-details {
    border: 1px solid #d5e0dd;
    border-radius: 0.55rem;
    background: #f4f8f7;
    margin-bottom: 0.55rem;
}

.yurtsy-legal-details > summary {
    cursor: pointer;
    list-style: none;
    padding: 0.7rem 0.85rem;
    font-weight: 650;
    color: #24302e;
}

.yurtsy-legal-details > summary::-webkit-details-marker {
    display: none;
}

.yurtsy-legal-details > summary::after {
    content: "Metni oku";
    float: right;
    font-weight: 600;
    font-size: 0.78rem;
    color: #6b918a;
}

.yurtsy-legal-details[open] > summary::after {
    content: "Kapat";
}

.yurtsy-legal-text {
    max-height: 14rem;
    overflow: auto;
    padding: 0 0.9rem 0.85rem;
    border-top: 1px solid #d5e0dd;
    color: #24302e;
    font-size: 0.86rem;
    line-height: 1.55;
}

.yurtsy-legal-text p {
    margin: 0.7rem 0 0;
}

.yurtsy-legal-block .form-check-label {
    color: #24302e;
    font-weight: 600;
}

.yurtsy-auth-form .btn-primary {
    width: 100%;
    padding: 0.72rem 1rem;
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(127, 168, 158, 0.28);
}

.yurtsy-auth-form .yurtsy-auth-switch {
    display: flex;
    width: 100%;
    margin-top: 0.7rem;
    padding: 0.72rem 1rem;
    font-weight: 700;
    color: #24302e;
    border-color: #c5d6d2;
}

.yurtsy-auth-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 1rem;
    margin-top: 1rem;
}

.yurtsy-auth-links a {
    color: var(--yurtsy-sage);
    font-weight: 600;
    text-decoration: none;
}

.yurtsy-auth-links a:hover {
    color: #24302e;
}

@media (max-width: 575.98px) {
    .yurtsy-auth {
        padding: 1.4rem 0.9rem 1.6rem;
    }

    .yurtsy-auth-card {
        padding: 1.25rem 1.05rem 1.15rem;
    }

    .yurtsy-auth-form h1 {
        font-size: 1.45rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .yurtsy-auth-globe-map,
    .yurtsy-auth-orbit {
        animation: none;
    }

    .yurtsy-notify-badge::after {
        animation: none;
        display: none;
    }
}

/* Header notification bell — student navbar */
.app-header .yurtsy-notify {
    position: relative;
}

.app-header .yurtsy-notify-bell.header-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.app-header .yurtsy-notify-bell i {
    font-size: 1.05rem;
    line-height: 1;
    color: inherit;
}

.app-header .yurtsy-notify-solid {
    display: none;
}

.app-header .yurtsy-notify:hover .yurtsy-notify-outline,
.app-header .yurtsy-notify:focus-visible .yurtsy-notify-outline,
.app-header .yurtsy-notify-bell.has-unread .yurtsy-notify-outline {
    display: none;
}

.app-header .yurtsy-notify:hover .yurtsy-notify-solid,
.app-header .yurtsy-notify:focus-visible .yurtsy-notify-solid,
.app-header .yurtsy-notify-bell.has-unread .yurtsy-notify-solid {
    display: inline-block;
}

.app-header .yurtsy-notify:hover .yurtsy-notify-bell,
.app-header .yurtsy-notify:focus-visible .yurtsy-notify-bell {
    color: var(--yurtsy-ink);
    background: rgba(159, 189, 183, 0.22);
    border-color: rgba(159, 189, 183, 0.55);
}

.app-header .yurtsy-notify:focus-visible {
    outline: none;
}

.app-header .yurtsy-notify:focus-visible .yurtsy-notify-bell {
    box-shadow: 0 0 0 3px rgba(159, 189, 183, 0.35);
}

.app-header .yurtsy-notify-badge {
    position: absolute;
    top: -0.28rem;
    right: -0.28rem;
    z-index: 1;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.22rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(180deg, #f08a76 0%, #d45c4a 100%);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1;
    box-shadow: 0 0 0 2px var(--header-bg, #fff), 0 1px 2px rgba(36, 48, 46, 0.16);
    pointer-events: none;
}

.app-header .yurtsy-notify.dropdown-toggle::after {
    display: none;
}

.app-header .yurtsy-notify-menu {
    min-width: 18.5rem;
    padding: 0.35rem 0 0.5rem;
    margin-top: 0.35rem;
    border: 1px solid #d7e4e0;
    border-radius: 0.85rem;
    box-shadow: 0 10px 28px rgba(36, 48, 46, 0.12);
}

.app-header .yurtsy-notify-menu-head {
    padding: 0.65rem 1rem 0.45rem;
    color: #3d534f;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.app-header .yurtsy-notify-empty {
    margin: 0;
    padding: 0.55rem 1rem 0.75rem;
    color: #6b7d79;
    font-size: 0.86rem;
}

.app-header .yurtsy-notify-item {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.65rem 1rem;
    white-space: normal;
}

.app-header .yurtsy-notify-item-icon {
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fbf4e8;
    color: #b57a2b;
}

.app-header .yurtsy-notify-item strong {
    display: block;
    color: #24302e;
    font-size: 0.88rem;
}

.app-header .yurtsy-notify-item small {
    display: block;
    margin-top: 0.12rem;
    color: #6b7d79;
    font-size: 0.78rem;
}

.yurtsy-dash-metric-link {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.yurtsy-dash-metric-link:hover,
.yurtsy-dash-metric-link:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(181, 122, 43, 0.12);
    color: inherit;
}

.app-header .yurtsy-notify-badge.is-wide {
    padding-inline: 0.3rem;
}

.app-header .yurtsy-notify-badge::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: 0 0 0 0 rgba(227, 109, 88, 0.45);
    animation: yurtsy-notify-pulse 2.4s ease-out infinite;
}

@keyframes yurtsy-notify-pulse {
    0% { box-shadow: 0 0 0 0 rgba(227, 109, 88, 0.4); }
    70% { box-shadow: 0 0 0 6px rgba(227, 109, 88, 0); }
    100% { box-shadow: 0 0 0 0 rgba(227, 109, 88, 0); }
}

[data-theme-mode="dark"] .app-header .yurtsy-notify:hover .yurtsy-notify-bell,
[data-theme-mode="dark"] .app-header .yurtsy-notify:focus-visible .yurtsy-notify-bell {
    color: #f3f6f5;
    background: rgba(159, 189, 183, 0.16);
    border-color: rgba(159, 189, 183, 0.35);
}

/* Brand logos — resmi PNG (şeffaf zemin), su yeşili / turuncu varyantlar */

.yurtsy-brand-img {
    display: block;
    height: auto;
    background: transparent;
}

.yurtsy-header-wordmark-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.app-header .horizontal-logo .header-logo .yurtsy-header-wordmark {
    display: block;
    height: 1.55rem;
    width: auto;
    max-width: 8.5rem;
}

.yurtsy-header-role {
    color: var(--yurtsy-sage);
    font-size: 0.78rem;
    font-weight: 600;
}

.app-header .yurtsy-header-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    padding: 0.2rem;
}

.app-header .yurtsy-header-mark-img {
    width: 1.7rem;
    height: 1.7rem;
    object-fit: contain;
}

.app-sidebar .yurtsy-sidebar-brand {
    display: inline-flex;
    align-items: center;
    min-height: 2.6rem;
}

.app-sidebar .main-sidebar-header .header-logo .yurtsy-sidebar-wordmark {
    display: block;
    height: 2.55rem !important;
    width: auto !important;
    max-width: 13.5rem;
    object-fit: contain;
}

.app-sidebar .main-sidebar-header .header-logo .yurtsy-sidebar-mark {
    display: block;
    width: 2.2rem;
    height: 2.2rem;
    object-fit: contain;
}

.yurtsy-auth-shell .brand {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.yurtsy-auth-wordmark {
    height: 2.35rem;
    width: auto;
    max-width: 14rem;
    margin: 0 auto 0.15rem;
}

.staff-create-banner .banner-kicker i,
.yurtsy-banner .banner-kicker i,
.staff-create-banner .banner-mark i,
.yurtsy-banner .banner-mark i {
    color: var(--yurtsy-orange);
}

.app-header .header-link-icon,
.app-header .yurtsy-notify-bell {
    color: var(--yurtsy-sage);
}

.app-header .animated-arrow span,
.app-header .animated-arrow span:before,
.app-header .animated-arrow span:after {
    background: var(--yurtsy-sage) !important;
}

.header-profile-dropdown .dropdown-item i {
    color: var(--yurtsy-sage);
}

.yurtsy-auth-form i[class^="ri-"],
.yurtsy-auth-form i[class*=" ri-"] {
    color: var(--yurtsy-sage);
}

.yurtsy-page .title-icon,
.yurtsy-card .title-icon,
.staff-card .title-icon,
.staff-actions-copy .title-icon {
    color: var(--yurtsy-sage);
}

.yurtsy-dash-dorm .title-icon,
.yurtsy-dash-metric.is-sage .yurtsy-dash-icon,
.yurtsy-dash-fault-split .is-sage i,
.yurtsy-banner .title-icon,
.staff-create-banner .title-icon {
    color: var(--yurtsy-orange);
}

.yurtsy-laundry-toolbar {
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.6rem;
}

.yurtsy-laundry-toolbar .yurtsy-field {
    min-width: 11rem;
}

.yurtsy-laundry-summary {
    margin: 0 0 1rem;
    color: var(--default-text-color);
}

.yurtsy-laundry-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(18.25rem, 1fr));
    gap: 1.1rem;
    margin-bottom: 1.4rem;
}

.yurtsy-laundry-machine {
    position: relative;
    display: flex;
    flex-direction: column;
    background:
        linear-gradient(180deg, #f3f7f6 0, #fff 5.4rem);
    border: 1px solid #dce6e3;
}

.yurtsy-laundry-machine::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 0.28rem;
    background: #9fbdb7;
}

.yurtsy-laundry-machine.is-dryer::before {
    background: #7999b0;
}

.yurtsy-laundry-machine.is-out {
    background:
        linear-gradient(180deg, #f8f1ee 0, #fff 5.4rem);
}

.yurtsy-laundry-machine.is-out::before {
    background: #eb7c68;
}

.yurtsy-laundry-machine-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1.05rem 1.1rem 0.85rem 1.2rem;
}

.yurtsy-laundry-machine-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.7rem;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background: rgba(159, 189, 183, 0.28);
    color: #3d534f;
    font-size: 1.2rem;
}

.yurtsy-laundry-machine.is-dryer .yurtsy-laundry-machine-icon {
    background: rgba(121, 153, 176, 0.24);
    color: #3d5360;
}

.yurtsy-laundry-machine.is-out .yurtsy-laundry-machine-icon {
    background: rgba(235, 124, 104, 0.16);
    color: #b1332f;
}

.yurtsy-laundry-machine-id {
    min-width: 0;
    flex: 1;
}

.yurtsy-laundry-machine-id strong {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.2;
    color: #24302e;
    letter-spacing: -0.02em;
}

.yurtsy-laundry-machine-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.35rem;
    color: #5d6f6c;
    font-size: 0.78rem;
    font-weight: 600;
}

.yurtsy-laundry-machine-meta em {
    font-style: normal;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    background: rgba(159, 189, 183, 0.28);
    color: #3d534f;
}

.yurtsy-laundry-machine.is-dryer .yurtsy-laundry-machine-meta em {
    background: rgba(121, 153, 176, 0.22);
    color: #3d5360;
}

.yurtsy-laundry-machine-flag {
    flex-shrink: 0;
    min-width: 1.7rem;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    background: rgba(159, 189, 183, 0.28);
    color: #3d534f;
    font-size: 0.72rem;
    font-weight: 700;
    text-align: center;
}

.yurtsy-laundry-machine-flag.is-fault {
    background: rgba(235, 124, 104, 0.18);
    color: #b1332f;
}

.yurtsy-laundry-machine-body {
    padding: 0 0.95rem 1rem 1.05rem;
    flex: 1;
}

.yurtsy-laundry-empty {
    margin: 0;
    padding: 1rem 0.7rem;
    border: 1px dashed #c9d6d2;
    border-radius: 0.8rem;
    background: #f8fbfa;
    color: #6a7a77;
    text-align: center;
    font-size: 0.86rem;
    font-weight: 600;
}

.yurtsy-laundry-slots {
    list-style: none;
    display: grid;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
}

.yurtsy-laundry-slots li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.8rem;
    align-items: center;
    padding: 0.62rem 0.75rem;
    border: 1px solid #e4ecea;
    border-radius: 0.75rem;
    background: #f7faf9;
}

.yurtsy-laundry-time {
    font-size: 1.02rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    color: #24302e;
    white-space: nowrap;
}

.yurtsy-laundry-student {
    min-width: 0;
}

.yurtsy-laundry-student strong {
    display: block;
    font-weight: 600;
    color: #24302e;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yurtsy-laundry-student small {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.74rem;
    font-weight: 600;
    color: #6a7a77;
}

.yurtsy-perm-all {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-weight: 700;
    margin-bottom: 0.85rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(36, 48, 46, 0.08);
}

.yurtsy-perm-branch {
    border: 1px solid #d5e0dd;
    border-radius: 0.7rem;
    background: #f7faf9;
    margin-bottom: 0.55rem;
}

.yurtsy-perm-branch > summary {
    list-style: none;
    cursor: pointer;
    padding: 0.65rem 0.85rem;
}

.yurtsy-perm-branch > summary::-webkit-details-marker {
    display: none;
}

.yurtsy-perm-branch > summary label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    margin: 0;
    cursor: pointer;
}

.yurtsy-perm-branch > summary i {
    color: var(--yurtsy-sage);
}

.yurtsy-perm-branch ul {
    list-style: none;
    margin: 0;
    padding: 0 0.85rem 0.7rem 2.1rem;
}

.yurtsy-perm-branch li {
    padding: 0.28rem 0;
}

.yurtsy-perm-branch li label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    cursor: pointer;
}

@media (max-width: 420px) {
    .yurtsy-laundry-grid {
        grid-template-columns: 1fr;
    }

    .yurtsy-laundry-slots li {
        grid-template-columns: 1fr;
        gap: 0.15rem;
    }
}

@media print {
    .app-sidebar,
    .app-header,
    .yurtsy-laundry-toolbar,
    .yurtsy-banner,
    .dt-buttons,
    .dataTables_filter,
    .dataTables_length,
    .dataTables_info,
    .dataTables_paginate {
        display: none !important;
    }

    .app-content,
    .main-content,
    .container-fluid {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .yurtsy-laundry-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.65rem;
        margin-bottom: 0.85rem;
    }

    .yurtsy-laundry-machine {
        break-inside: avoid;
        box-shadow: none;
        background: #fff;
        border: 1px solid #9fbdb7;
    }

    .yurtsy-laundry-machine::before {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .yurtsy-laundry-slots li,
    .yurtsy-laundry-empty {
        box-shadow: none;
        background: #fff;
    }

    .yurtsy-laundry-machine-icon,
    .yurtsy-laundry-machine-meta em,
    .yurtsy-laundry-machine-flag {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}
