﻿@charset "UTF-8";

:root {
    --oys-blue: #0076ff;
    --oys-navy: #00194a;
    --oys-ink: #2a2a2a;
    --oys-logo-navy: #1e2d5c;
    --oys-gold: #a08f6c;
    --oys-bg: #f5f7fb;
    --oys-surface: #ffffff;
    --oys-border: #d8dfeb;
    --oys-text: #172033;
    --oys-muted: #667085;
    --oys-success: #137a4c;
    --oys-danger: #b4232a;
    --oys-shadow: 0 8px 24px rgba(0, 25, 74, .07);
    --oys-shell-width: 1440px;
}

html {
    min-height: 100%;
}

body[data-layout] {
    min-height: 100vh;
    overflow-x: hidden;
    color: var(--oys-text);
    background: var(--oys-bg);
    font-family: "Segoe UI", Arial, sans-serif;
}

body[data-layout] #layout-wrapper {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    background: var(--oys-bg);
}

body[data-layout] #page-topbar {
    min-height: 74px;
    height: auto !important;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    background-color: var(--oys-navy) !important;
    background-image: url("/Style/images/top-bg.jpg") !important;
    background-position: center !important;
    background-size: cover !important;
    box-shadow: 0 8px 22px rgba(0, 25, 74, .15);
}

body[data-layout] #page-topbar::before {
    position: absolute;
    inset: 0;
    content: "";
    background: rgba(0, 25, 74, .88);
    pointer-events: none;
}

body[data-layout] #page-topbar .navbar-header {
    position: relative;
    width: min(100%, var(--oys-shell-width));
    min-height: 74px;
    margin-inline: auto;
    padding: 0 1.5rem;
}

body[data-layout] #page-topbar .navbar-brand-box {
    display: flex !important;
    width: auto !important;
    min-width: 0;
    align-items: center;
    padding: 0;
    background: transparent;
}

body[data-layout] #page-topbar .logo {
    display: inline-flex;
    min-height: 74px;
    align-items: center;
    gap: 1rem;
    color: #fff;
}

body[data-layout] #page-topbar .logo.logo-dark {
    display: none !important;
}

body[data-layout] #page-topbar .logo.logo-light {
    display: inline-flex !important;
}

body[data-layout] #page-topbar .logo img {
    width: auto;
    max-width: min(235px, 42vw);
    height: 38px !important;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

body[data-layout] #page-topbar .logo::after {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding-left: 1rem;
    border-left: 2px solid rgba(255, 255, 255, .82);
    color: #fff;
    content: "Özel Yetenek Sınavı\A Başvuru Sistemi";
    font-size: .98rem;
    font-weight: 800;
    line-height: 1.08;
    white-space: pre-line;
    letter-spacing: 0;
}

body[data-layout] #page-topbar .navbar-header > .d-flex:last-child {
    margin-left: auto;
}

body[data-layout] #page-topbar .header-item,
body[data-layout] #page-topbar .btn.header-item {
    min-height: 44px;
    color: #fff;
    font-size: .92rem;
    font-weight: 700;
}

body[data-layout] #page-topbar .header-item:hover,
body[data-layout] #page-topbar .header-item:focus {
    color: #fff;
    background: rgba(255, 255, 255, .1);
}

body[data-layout] #page-topbar .mdi-chevron-down {
    color: rgba(255, 255, 255, .9);
}

body[data-layout] #page-topbar .dropdown-menu {
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    box-shadow: var(--oys-shadow);
}

.oys-user-menu-icon {
    display: none;
    font-size: 1.45rem;
    line-height: 1;
}

body[data-layout] .main-content {
    display: flex;
    min-height: calc(100vh - 74px);
    flex: 1 0 auto;
    flex-direction: column;
    background: transparent;
}

body[data-layout] .page-content {
    flex: 1 0 auto;
    padding: 1.5rem 0 2.25rem;
}

body[data-layout] .page-content > .container-fluid {
    width: min(100%, var(--oys-shell-width));
    margin-inline: auto;
    padding-inline: 1.5rem;
}

body[data-layout] .card {
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    background: var(--oys-surface);
    box-shadow: var(--oys-shadow);
}

body[data-layout] .card .card {
    border-color: #e7ecf4;
    box-shadow: none;
}

body[data-layout] .card-header {
    border-bottom-color: #e7ecf4;
    background: #f8faff;
}

body[data-layout] .card-body {
    min-width: 0;
    padding: 1.15rem;
}

body[data-layout] .card-body,
body[data-layout] .card-body > *,
body[data-layout] .card-body .row,
body[data-layout] .card-body [class*="col-"] {
    min-width: 0;
}

body[data-layout] h1,
body[data-layout] h2,
body[data-layout] h3,
body[data-layout] h4,
body[data-layout] h5,
body[data-layout] h6 {
    color: var(--oys-navy);
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

body[data-layout] .card-body > .navbar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: -.15rem 0 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e7ecf4;
}

body[data-layout] .card-body > .navbar-header h4,
body[data-layout] .card-body > .navbar-header h5 {
    margin: 0;
    font-weight: 800;
}

body[data-layout] .card-body > .navbar-header .d-flex:last-child {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .55rem;
}

.oys-section-menu-toggle {
    display: none;
}

body[data-layout] .btn {
    border-radius: 7px;
    font-weight: 700;
    box-shadow: none !important;
}

body[data-layout] .btn-primary {
    border-color: var(--oys-navy);
    background: var(--oys-navy);
}

body[data-layout] .btn-primary:hover,
body[data-layout] .btn-primary:focus {
    border-color: var(--oys-blue);
    background: var(--oys-blue);
}

body[data-layout] .btn-success {
    border-color: var(--oys-success);
    background: var(--oys-success);
}

body[data-layout] .btn-danger {
    border-color: var(--oys-danger);
    background: var(--oys-danger);
}

body[data-layout] .btn-outline-primary,
body[data-layout] .btn-outline-secondary,
body[data-layout] .btn-light {
    border-color: #b9c5d8;
    color: var(--oys-navy);
    background: #fff;
}

body[data-layout] .btn-outline-primary:hover,
body[data-layout] .btn-outline-primary:focus,
body[data-layout] .btn-outline-secondary:hover,
body[data-layout] .btn-outline-secondary:focus,
body[data-layout] .btn-light:hover,
body[data-layout] .btn-light:focus {
    border-color: var(--oys-blue);
    color: #fff;
    background: var(--oys-blue);
}

body[data-layout] label,
body[data-layout] .form-label {
    color: var(--oys-navy);
    font-weight: 700;
}

body[data-layout] .form-control,
body[data-layout] .form-select,
body[data-layout] select,
body[data-layout] textarea {
    min-height: 2.45rem;
    border-color: #cfd8e6;
    border-radius: 7px;
    color: var(--oys-text);
}

body[data-layout] .form-control:focus,
body[data-layout] .form-select:focus,
body[data-layout] select:focus,
body[data-layout] textarea:focus {
    border-color: rgba(0, 118, 255, .58);
    box-shadow: 0 0 0 .18rem rgba(0, 118, 255, .13);
}

body[data-layout] label.form-control,
body[data-layout] .form-control-plaintext {
    height: auto !important;
    min-height: 2.45rem;
    white-space: normal;
    overflow-wrap: anywhere;
}

body[data-layout] input,
body[data-layout] select,
body[data-layout] textarea,
body[data-layout] iframe,
body[data-layout] object,
body[data-layout] embed,
body[data-layout] video,
body[data-layout] canvas,
body[data-layout] img {
    max-width: 100%;
}

body[data-layout] .select2-container {
    width: 100% !important;
}

body[data-layout] .table {
    margin-bottom: 0;
    color: var(--oys-text);
    font-size: .9rem;
}

body[data-layout] .table thead th,
body[data-layout] table.dataTable thead th {
    border-bottom-color: #e7ecf4;
    color: var(--oys-muted);
    background: #f2f6fc;
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}

body[data-layout] .table > :not(caption) > * > *,
body[data-layout] td,
body[data-layout] th {
    padding: .62rem .7rem !important;
    border-color: #e7ecf4;
    vertical-align: middle;
}

body[data-layout] tbody tr:hover {
    background: #f9fbfe;
}

.oys-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    border-radius: 7px;
    scrollbar-color: #a9b8ce #edf2f8;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.oys-table-scroll:focus-visible {
    outline: 3px solid rgba(0, 118, 255, .24);
    outline-offset: 2px;
}

body[data-layout] .dataTables_wrapper {
    width: 100%;
}

body[data-layout] .dataTables_wrapper > .row {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
}

body[data-layout] .dataTables_filter input,
body[data-layout] .dataTables_length select {
    min-height: 2.25rem;
    padding: .35rem .6rem;
    border: 1px solid #cfd8e6;
    border-radius: 7px;
}

body[data-layout] .badge,
body[data-layout] .btn-rounded {
    border-radius: 999px !important;
}

body[data-layout] .alert {
    border-color: var(--oys-border);
    border-radius: 8px;
}

body:not(.login-shell) .footer {
    position: static;
    flex-shrink: 0;
    height: auto;
    min-height: 70px;
    margin-top: auto;
    padding: 0;
    color: var(--oys-muted);
    background: #fff;
    border-top: 1px solid var(--oys-border);
}

/* Yönetici yeni kullanıcı akışı */
.admin-user-create-container {
    max-width: 76rem;
}

.admin-user-create-notice {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border: 1px solid #b8d6c7;
    border-left: 4px solid var(--oys-success);
    border-radius: 7px;
    color: #174b35;
    background: #f1f9f5;
}

.admin-user-create-notice > i {
    flex: 0 0 auto;
    margin-top: .1rem;
    color: var(--oys-success);
    font-size: 1.35rem;
}

.admin-user-create-notice strong {
    color: var(--oys-navy);
}

.admin-user-create-notice p {
    margin: .2rem 0 0;
    line-height: 1.5;
}

.admin-user-create-panel {
    overflow: hidden;
}

.admin-user-create-panel .admin-user-create-panel-heading {
    margin: 0;
    padding: 1.25rem 1.4rem;
    background: #f8faff;
}

.admin-user-create-form {
    display: grid;
    gap: 0;
}

.admin-user-create-form > .admin-management-validation {
    margin: 1.25rem 1.4rem 0;
}

.admin-user-create-section {
    min-width: 0;
    margin: 0;
    padding: 1.4rem;
    border: 0;
    border-top: 1px solid #e2e8f1;
}

.admin-user-create-section legend {
    display: flex;
    width: auto;
    align-items: center;
    gap: .7rem;
    margin: 0 0 1.1rem;
    color: var(--oys-navy);
    font-size: 1rem;
    font-weight: 800;
}

.admin-user-create-section legend small {
    display: block;
    margin-bottom: .15rem;
    color: var(--oys-blue);
    font-size: .67rem;
    font-weight: 800;
    text-transform: uppercase;
}

.admin-user-create-section-icon {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: var(--oys-navy);
}

.admin-user-create-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.admin-user-create-grid--identity {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-user-create-field--wide {
    grid-column: span 2;
}

.admin-user-verification-warning {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .9rem;
    margin: 0 1.4rem 1.25rem;
    padding: 1rem;
    border: 1px solid #e4bc54;
    border-left: 4px solid #c89200;
    border-radius: 7px;
    color: #523e09;
    background: #fff9e8;
}

.admin-user-verification-warning-icon {
    display: inline-flex;
    width: 2.6rem;
    height: 2.6rem;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: #9b7000;
    font-size: 1.35rem;
}

.admin-user-verification-warning h3 {
    margin: 0;
    color: #3f310a;
    font-size: 1rem;
}

.admin-user-verification-warning p {
    margin: .4rem 0 0;
    line-height: 1.55;
}

.admin-user-verification-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: .9rem;
}

.admin-user-create-actions {
    justify-content: flex-end;
    padding: 1rem 1.4rem 1.25rem;
    border-top: 1px solid #e2e8f1;
    background: #f8faff;
}

@media (max-width: 767.98px) {
    .admin-user-create-grid,
    .admin-user-create-grid--identity {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-user-create-field--wide {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .admin-user-create-container .admin-management-heading {
        align-items: stretch;
    }

    .admin-user-create-container .admin-management-heading-actions .btn,
    .admin-user-create-actions .btn,
    .admin-user-verification-actions .btn {
        width: 100%;
    }

    .admin-user-create-grid,
    .admin-user-create-grid--identity {
        grid-template-columns: 1fr;
    }

    .admin-user-create-field--wide {
        grid-column: auto;
    }

    .admin-user-create-panel-heading,
    .admin-user-create-section,
    .admin-user-create-actions {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .admin-user-verification-warning {
        grid-template-columns: 1fr;
        margin-right: 1rem;
        margin-left: 1rem;
    }
}

/* Kullanım kılavuzu */
.guide-body {
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    color: #172033;
    background: #f4f7fb;
}

.guide-body.guide-lightbox-open {
    overflow: hidden;
}

.guide-skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 1200;
    padding: 10px 14px;
    color: #fff;
    background: #002b5c;
    border-radius: 4px;
    transform: translateY(-150%);
}

.guide-skip-link:focus {
    color: #fff;
    transform: translateY(0);
}

.guide-header {
    position: sticky;
    top: 0;
    z-index: 100;
    min-height: 76px;
    color: #fff;
    background: #002b5c;
    border-bottom: 4px solid #ffcb05;
    box-shadow: 0 6px 20px rgba(15, 35, 66, 0.16);
}

.guide-header-inner {
    width: min(1440px, calc(100% - 48px));
    min-height: 76px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.guide-brand {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 22px;
    color: #fff;
}

.guide-brand:hover,
.guide-brand:focus {
    color: #fff;
}

.guide-brand img {
    width: 210px;
    max-height: 50px;
    object-fit: contain;
    object-position: left center;
    filter: brightness(0) invert(1);
}

.guide-brand span {
    min-width: 0;
    padding-left: 22px;
    display: grid;
    border-left: 1px solid rgba(255, 255, 255, 0.45);
}

.guide-brand strong {
    font-size: 16px;
    line-height: 1.2;
}

.guide-brand small {
    margin-top: 2px;
    color: #dce9f7;
    font-size: 12px;
}

.guide-return-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff;
    font-weight: 700;
    background: #138a5b;
    border: 1px solid #138a5b;
    border-radius: 6px;
}

.guide-return-button:hover,
.guide-return-button:focus {
    color: #fff;
    background: #0d7049;
    border-color: #0d7049;
}

.guide-main {
    width: min(1440px, calc(100% - 48px));
    margin: 0 auto;
    padding: 52px 0 72px;
}

.guide-intro {
    max-width: 900px;
    margin-bottom: 30px;
}

.guide-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #0067b9;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.guide-intro h1 {
    margin: 0;
    color: #002b5c;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.12;
    letter-spacing: 0;
}

.guide-intro > p {
    max-width: 760px;
    margin: 16px 0 2px;
    color: #536078;
    font-size: 17px;
    line-height: 1.7;
}

.guide-version {
    display: block;
    margin-bottom: 14px;
    color: #6b7890;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
}

.guide-intro-note {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #43506a;
    font-size: 13px;
}

.guide-intro-note i {
    color: #138a5b;
    font-size: 20px;
}

.guide-tools {
    position: sticky;
    top: 76px;
    z-index: 90;
    min-height: 74px;
    margin-bottom: 28px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(244, 247, 251, 0.96);
    border-top: 1px solid #dbe3ef;
    border-bottom: 1px solid #dbe3ef;
    backdrop-filter: blur(12px);
}

.guide-search {
    position: relative;
    flex: 1 1 360px;
    max-width: 520px;
}

.guide-search > i {
    position: absolute;
    top: 50%;
    left: 14px;
    color: #64728a;
    font-size: 20px;
    transform: translateY(-50%);
}

.guide-search input {
    width: 100%;
    height: 44px;
    padding: 0 46px 0 44px;
    color: #172033;
    background: #fff;
    border: 1px solid #cbd6e6;
    border-radius: 6px;
    outline: none;
}

.guide-search input:focus {
    border-color: #0076ff;
    box-shadow: 0 0 0 3px rgba(0, 118, 255, 0.14);
}

.guide-search-clear {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 32px;
    height: 32px;
    padding: 0;
    color: #536078;
    background: transparent;
    border: 0;
    border-radius: 4px;
    transform: translateY(-50%);
}

.guide-search-clear:hover {
    background: #eef3f9;
}

.guide-role-switch {
    min-width: 232px;
    height: 44px;
    padding: 4px;
    display: flex;
    align-items: stretch;
    background: #e5ebf4;
    border-radius: 6px;
}

.guide-role-switch button {
    flex: 1;
    padding: 0 12px;
    color: #55637b;
    font-size: 13px;
    font-weight: 700;
    background: transparent;
    border: 0;
    border-radius: 4px;
}

.guide-role-switch button.is-active {
    color: #002b5c;
    background: #fff;
    box-shadow: 0 1px 5px rgba(15, 35, 66, 0.16);
}

.guide-print-button {
    min-height: 44px;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #002b5c;
    font-weight: 700;
    background: #fff;
    border: 1px solid #b8c6db;
    border-radius: 6px;
}

.guide-print-button:hover {
    color: #002b5c;
    background: #eef4fb;
}

.guide-layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 36px;
    align-items: start;
}

.guide-toc {
    position: sticky;
    top: 174px;
    max-height: calc(100vh - 194px);
    overflow-y: auto;
    scrollbar-width: thin;
}

.guide-toc-heading {
    margin-bottom: 8px;
    padding: 0 12px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #002b5c;
    border-bottom: 1px solid #dbe3ef;
}

.guide-toc-heading span {
    font-weight: 800;
}

.guide-toc-heading strong {
    color: #64728a;
    font-size: 12px;
}

.guide-toc nav {
    display: grid;
    gap: 2px;
}

.guide-toc a {
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    color: #43506a;
    font-size: 13px;
    line-height: 1.3;
    border-left: 3px solid transparent;
}

.guide-toc a:hover,
.guide-toc a:focus {
    color: #002b5c;
    background: #eaf1f9;
    border-left-color: #0076ff;
}

.guide-toc-role,
.guide-role-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    border-radius: 3px;
}

.guide-toc-role {
    min-height: 22px;
}

.guide-role-label {
    min-height: 24px;
    padding: 0 9px;
}

.guide-role-aday {
    background: #138a5b;
}

.guide-role-yonetici {
    background: #0067b9;
}

.guide-articles {
    min-width: 0;
    display: grid;
    gap: 24px;
}

.guide-article {
    min-width: 0;
    padding: 30px;
    background: #fff;
    border: 1px solid #dbe3ef;
    border-radius: 8px;
    box-shadow: 0 12px 34px rgba(15, 35, 66, 0.07);
    scroll-margin-top: 176px;
}

.guide-article-heading {
    margin-bottom: 22px;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 16px;
}

.guide-step-number {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    color: #002b5c;
    font-size: 17px;
    font-weight: 800;
    background: #ffcb05;
    border-radius: 6px;
}

.guide-article-heading h2 {
    margin: 7px 0 5px;
    color: #002b5c;
    font-size: 24px;
    line-height: 1.25;
    letter-spacing: 0;
}

.guide-article-heading p {
    margin: 0;
    color: #5b6880;
    line-height: 1.6;
}

.guide-figure {
    position: relative;
    width: 100%;
    padding: 0;
    overflow: hidden;
    text-align: left;
    background: #e8eef6;
    border: 1px solid #c9d5e5;
    border-radius: 6px;
}

.guide-figure:focus {
    outline: 3px solid rgba(0, 118, 255, 0.35);
    outline-offset: 3px;
}

.guide-figure img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 5 / 3;
    object-fit: cover;
    object-position: top center;
}

.guide-image-expand {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 19px;
    background: rgba(0, 43, 92, 0.92);
    border-radius: 5px;
    box-shadow: 0 4px 12px rgba(15, 35, 66, 0.24);
}

.guide-figure-caption {
    padding: 10px 14px;
    display: block;
    color: #536078;
    font-size: 12px;
    line-height: 1.45;
    background: #f8fafc;
    border-top: 1px solid #dbe3ef;
}

.guide-steps {
    margin: 24px 0 0;
    padding: 0;
    display: grid;
    gap: 12px;
    list-style: none;
    counter-reset: guide-step;
}

.guide-steps li {
    position: relative;
    min-height: 32px;
    padding-left: 44px;
    color: #344159;
    line-height: 1.6;
    counter-increment: guide-step;
}

.guide-steps li::before {
    content: counter(guide-step);
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    color: #0067b9;
    font-size: 12px;
    font-weight: 800;
    background: #e7f3ff;
    border: 1px solid #b9d8f3;
    border-radius: 50%;
}

.guide-callout {
    margin-top: 22px;
    padding: 14px 16px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #624d00;
    line-height: 1.55;
    background: #fff8dc;
    border-left: 4px solid #ffcb05;
}

.guide-callout i {
    margin-top: 2px;
    color: #9b7900;
    font-size: 20px;
}

.guide-empty-state {
    padding: 64px 24px;
    color: #536078;
    text-align: center;
    background: #fff;
    border: 1px dashed #b8c6db;
    border-radius: 8px;
}

.guide-empty-state i {
    color: #0067b9;
    font-size: 44px;
}

.guide-empty-state h2 {
    margin: 12px 0 5px;
    color: #002b5c;
    font-size: 22px;
}

.guide-empty-state p {
    margin: 0;
}

.guide-finish {
    padding: 24px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    color: #fff;
    background: #002b5c;
    border-radius: 8px;
}

.guide-finish > i {
    font-size: 42px;
    color: #ffcb05;
}

.guide-finish h2 {
    margin: 0 0 4px;
    color: #fff;
    font-size: 21px;
}

.guide-finish p {
    margin: 0;
    color: #dce9f7;
}

.guide-lightbox[hidden] {
    display: none;
}

.guide-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1100;
    padding: 32px;
    display: grid;
    place-items: center;
}

.guide-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(6, 18, 36, 0.76);
    backdrop-filter: blur(8px);
}

.guide-lightbox-panel {
    position: relative;
    width: min(1500px, 96vw);
    max-height: 92vh;
    overflow: auto;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
}

.guide-lightbox-heading {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 56px;
    padding: 10px 12px 10px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #fff;
    background: #002b5c;
}

.guide-lightbox-heading button {
    width: 38px;
    height: 38px;
    padding: 0;
    color: #fff;
    font-size: 24px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 5px;
}

.guide-lightbox-panel img {
    width: 100%;
    height: auto;
    display: block;
}

.guide-body > .footer {
    position: static;
    min-height: auto;
    margin: 0;
    padding: 24px;
    background: #fff;
    border-top: 1px solid #dbe3ef;
}

@media (max-width: 1023.98px) {
    .guide-layout {
        grid-template-columns: 1fr;
    }

    .guide-toc {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .guide-toc nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .guide-tools {
        flex-wrap: wrap;
    }

    .guide-role-switch {
        order: 3;
        flex: 1 1 100%;
    }
}

@media (max-width: 767.98px) {
    .guide-header {
        min-height: 68px;
    }

    .guide-header-inner,
    .guide-main {
        width: min(100% - 28px, 1440px);
    }

    .guide-header-inner {
        min-height: 68px;
    }

    .guide-brand {
        gap: 0;
    }

    .guide-brand img {
        width: 150px;
        max-height: 42px;
    }

    .guide-brand span {
        display: none;
    }

    .guide-return-button {
        min-width: 42px;
        padding: 0 11px;
    }

    .guide-header .guide-return-button span {
        display: none;
    }

    .guide-main {
        padding: 34px 0 48px;
    }

    .guide-intro h1 {
        font-size: 31px;
    }

    .guide-intro > p {
        font-size: 15px;
    }

    .guide-tools {
        top: 68px;
        margin-right: -14px;
        margin-left: -14px;
        padding: 12px 14px;
    }

    .guide-search {
        flex-basis: calc(100% - 58px);
    }

    .guide-print-button {
        width: 46px;
        padding: 0;
        justify-content: center;
    }

    .guide-print-button span {
        display: none;
    }

    .guide-toc nav {
        grid-template-columns: 1fr;
    }

    .guide-article {
        padding: 20px 16px;
        scroll-margin-top: 150px;
    }

    .guide-article-heading {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 12px;
    }

    .guide-step-number {
        width: 38px;
        height: 38px;
        font-size: 14px;
    }

    .guide-article-heading h2 {
        font-size: 20px;
    }

    .guide-figure img {
        aspect-ratio: 4 / 3;
    }

    .guide-steps li {
        padding-left: 40px;
    }

    .guide-finish {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .guide-finish > .guide-return-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .guide-lightbox {
        padding: 12px;
    }
}

@media print {
    .guide-header,
    .guide-tools,
    .guide-toc,
    .guide-finish,
    .guide-lightbox,
    .guide-body > .footer {
        display: none !important;
    }

    .guide-body,
    .guide-main {
        width: auto;
        color: #000;
        background: #fff;
    }

    .guide-main {
        padding: 0;
    }

    .guide-intro {
        max-width: none;
    }

    .guide-layout {
        display: block;
    }

    .guide-article {
        margin: 0 0 24px;
        padding: 18px 0;
        box-shadow: none;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .guide-figure img {
        max-height: 510px;
        object-fit: contain;
    }
}

/* Aday başvuru formu */
.application-form-body {
    background: #f4f7fb;
}

.application-form-page {
    width: min(100%, 1180px);
    min-height: calc(100vh - 150px);
    padding: 1.4rem 1rem 2.75rem;
}

.application-form-page-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1.15rem;
    border-bottom: 1px solid var(--oys-border);
}

.application-form-page-heading > div {
    min-width: 0;
}

.application-form-eyebrow {
    display: block;
    margin-bottom: .3rem;
    color: var(--oys-blue);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.application-form-page-heading h1 {
    margin: 0;
    color: var(--oys-navy);
    font-size: 1.75rem;
}

.application-form-page-heading p {
    max-width: 54rem;
    margin: .35rem 0 0;
    overflow-wrap: anywhere;
    color: var(--oys-muted);
}

.application-form-page-heading .btn,
.application-profile-notice .btn,
.application-form-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
}

.application-form-alert {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    margin-top: 1rem;
    padding: .85rem 1rem;
    border: 1px solid #efb9bd;
    border-radius: 7px;
    color: #8b2530;
    background: #fff4f5;
    font-weight: 700;
}

.application-form-alert > i {
    margin-top: .1rem;
    flex: 0 0 auto;
    font-size: 1.15rem;
}

.application-form-alert.is-info {
    border-color: #a9c9ee;
    color: #174f86;
    background: #f0f7ff;
}

.application-osym-year-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.application-osym-year-toolbar .application-form-alert {
    min-width: 0;
    margin: 0;
    flex: 1 1 auto;
}

.application-osym-year-toolbar .btn {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: .42rem;
}

.application-osym-education-grid {
    margin-top: 1rem;
}

@media (max-width: 767.98px) {
    .application-osym-year-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .application-osym-year-toolbar .btn {
        width: 100%;
        white-space: normal;
    }
}

.application-form-card {
    margin-top: 1.25rem;
    overflow: hidden;
    border: 1px solid #ccd7e6;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(0, 25, 74, .08);
}

.application-form-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.15rem 1.35rem;
    color: #fff;
    background: var(--oys-navy);
    border-bottom: 3px solid var(--oys-gold);
}

.application-form-card-header > div {
    min-width: 0;
}

.application-form-card-header span {
    display: block;
    margin-bottom: .22rem;
    color: #d7e6ff;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
}

body[data-layout] .application-form-card-header h2 {
    margin: 0;
    color: #fff;
    font-size: 1.08rem;
}

.application-form-card-header p {
    margin: 0;
    flex: 0 0 auto;
    color: #e8eef8;
    font-size: .76rem;
    font-weight: 700;
}

.application-form-card-header .application-required {
    display: inline;
    margin: 0;
    color: #f3d781;
    font-size: 1rem;
}

.application-form-validation {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin: 1rem 1.35rem 0;
    padding: .8rem .9rem;
    border: 1px solid #efb9bd;
    border-radius: 7px;
    color: #8b2530;
    background: #fff4f5;
    font-size: .82rem;
    font-weight: 700;
}

.application-form-validation[hidden] {
    display: none;
}

.application-form-validation > i {
    margin-top: .05rem;
    flex: 0 0 auto;
    font-size: 1.1rem;
}

.application-form-section {
    padding: 1.45rem 1.35rem;
}

.application-form-section + .application-form-section {
    border-top: 1px solid var(--oys-border);
}

.application-form-section-heading {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: .8rem;
    margin-bottom: 1.1rem;
}

.application-form-section-heading > div {
    min-width: 0;
}

.application-form-section-icon {
    display: inline-flex;
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: var(--oys-blue);
    font-size: 1.25rem;
}

.application-form-section-icon.is-gold {
    color: #fff;
    background: var(--oys-gold);
}

.application-form-section-icon.is-coral {
    background: var(--oys-success);
}

.application-form-section-step {
    display: block;
    margin-bottom: .18rem;
    color: var(--oys-blue);
    font-size: .66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.application-form-section-heading h2 {
    margin: 0;
    color: var(--oys-navy);
    font-size: 1.06rem;
}

.application-form-section-heading p {
    margin: .22rem 0 0;
    color: var(--oys-muted);
    font-size: .8rem;
}

.application-profile-notice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .8rem;
    margin-bottom: 1rem;
    padding: .85rem .95rem;
    border-left: 4px solid var(--oys-gold);
    color: #4c4f55;
    background: #fff9e8;
}

.application-profile-notice > i {
    color: #806b22;
    font-size: 1.35rem;
}

.application-profile-notice strong,
.application-profile-notice p {
    display: block;
}

.application-profile-notice strong {
    color: var(--oys-navy);
    font-size: .82rem;
}

.application-profile-notice p {
    margin: .2rem 0 0;
    font-size: .76rem;
    line-height: 1.55;
}

.application-profile-notice .btn {
    white-space: nowrap;
}

.application-readonly-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    border-top: 1px solid var(--oys-border);
    border-left: 1px solid var(--oys-border);
}

.application-readonly-grid.is-exam-data {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.application-readonly-item {
    min-width: 0;
    padding: .85rem .9rem;
    border-right: 1px solid var(--oys-border);
    border-bottom: 1px solid var(--oys-border);
    background: #fff;
}

.application-readonly-item.is-profile-editable {
    background: #f7faff;
}

.application-readonly-item dt {
    display: flex;
    min-height: 2rem;
    flex-direction: column;
    justify-content: flex-start;
    gap: .16rem;
    margin-bottom: .3rem;
    color: #718097;
    font-size: .66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.application-readonly-item dt span {
    color: var(--oys-blue);
    font-size: .58rem;
    text-transform: none;
}

.application-readonly-item dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--oys-text);
    font-size: .82rem;
    font-weight: 800;
}

.application-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.application-field {
    min-width: 0;
}

.application-field.is-full {
    grid-column: 1 / -1;
}

.application-field > label,
.application-field-label {
    display: block;
    margin-bottom: .42rem;
    color: var(--oys-navy);
    font-size: .78rem;
    font-weight: 800;
}

.application-required {
    color: #bd3541;
}

.application-field .form-control,
.application-field .form-select,
.application-choice-detail .form-select {
    min-height: 2.75rem;
    border-color: #c8d4e4;
    border-radius: 6px;
    color: var(--oys-text);
    background-color: #fff;
    box-shadow: none;
}

.application-field textarea.form-control {
    min-height: 7rem;
    resize: vertical;
}

.application-field .form-control:focus,
.application-field .form-select:focus,
.application-choice-detail .form-select:focus {
    border-color: var(--oys-blue);
    box-shadow: 0 0 0 3px rgba(0, 118, 255, .12);
}

.application-field > small {
    display: block;
    margin-top: .38rem;
    color: var(--oys-muted);
    font-size: .7rem;
    line-height: 1.45;
}

.application-address-flow {
    display: grid;
    gap: .85rem;
}

.application-address-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.application-address-step {
    position: relative;
}

.application-address-step.is-full {
    grid-column: 1 / -1;
}

.application-address-step > label {
    display: flex;
    align-items: center;
    gap: .4rem;
}

.application-address-step-number {
    display: inline-flex;
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 1.35rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--oys-blue);
    background: #e9f2ff;
    font-size: .66rem;
    font-weight: 800;
}

.application-address-step .form-control:disabled,
.application-address-step .form-select:disabled {
    color: #7b8798;
    background: #f2f5f8;
    cursor: not-allowed;
    opacity: 1;
}

.application-address-status {
    display: flex;
    align-items: flex-start;
    gap: .45rem;
    padding: .7rem .8rem;
    border: 1px solid #d7e2f0;
    border-radius: 7px;
    color: #526175;
    background: #f8fafc;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.45;
}

.application-address-status i {
    margin-top: .05rem;
    color: var(--oys-blue);
    font-size: 1rem;
}

.application-address-flow[data-address-state="loading"] .application-address-status {
    border-color: #ead49a;
    color: #6d581a;
    background: #fff9e8;
}

.application-address-flow[data-address-state="loading"] .application-address-status i {
    color: #a27c10;
}

.application-address-flow[data-address-state="error"] .application-address-status {
    border-color: #e6b8bc;
    color: #8f2630;
    background: #fff4f5;
}

.application-address-flow[data-address-state="error"] .application-address-status i {
    color: #bd3541;
}

.application-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.application-choice-group {
    min-width: 0;
    margin: 0;
    padding: .95rem;
    border: 1px solid #cdd8e7;
    border-radius: 7px;
}

.application-choice-group legend {
    display: flex;
    width: auto;
    align-items: center;
    gap: .42rem;
    margin: 0 0 .65rem;
    padding: 0 .2rem;
    color: var(--oys-navy);
    font-size: .82rem;
    font-weight: 800;
}

.application-choice-group legend i {
    color: var(--oys-gold);
    font-size: 1rem;
}

.application-choice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
    gap: .65rem;
    margin: 0;
    padding: .75rem;
    border: 1px solid #dbe3ee;
    border-radius: 6px;
    background: #f8fafc;
    cursor: pointer;
}

.application-choice + .application-choice,
.application-choice-detail + .application-choice {
    margin-top: .6rem;
}

.application-choice.is-selected {
    border-color: #80b7f5;
    background: #f0f7ff;
}

.application-choice input,
.application-inline-check input,
.application-confirmation input {
    width: 1rem;
    height: 1rem;
    margin-top: .15rem;
    flex: 0 0 auto;
    accent-color: var(--oys-blue);
}

.application-choice strong,
.application-choice small,
.application-inline-check strong,
.application-inline-check small,
.application-confirmation strong,
.application-confirmation small {
    display: block;
}

.application-choice strong {
    color: var(--oys-text);
    font-size: .78rem;
}

.application-choice small {
    margin-top: .18rem;
    color: var(--oys-muted);
    font-size: .68rem;
}

.application-choice-detail {
    margin-top: .55rem;
    padding: .75rem;
    border-left: 3px solid var(--oys-gold);
    background: #fff9e8;
}

.application-choice-detail[hidden] {
    display: none;
}

.application-choice-detail label {
    display: block;
    margin-bottom: .38rem;
    color: var(--oys-navy);
    font-size: .72rem;
    font-weight: 800;
}

.application-inline-check {
    display: flex;
    min-height: 4.75rem;
    align-items: flex-start;
    gap: .65rem;
    margin: 0;
    padding: .78rem .85rem;
    border: 1px solid #cdd8e7;
    border-radius: 6px;
    background: #f8fafc;
    cursor: pointer;
}

.application-inline-check strong {
    color: var(--oys-text);
    font-size: .76rem;
}

.application-inline-check small {
    margin-top: .18rem;
    color: var(--oys-muted);
    font-size: .68rem;
}

.application-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.35rem;
    border-top: 1px solid #cbd6e5;
    background: #f7f9fc;
}

.application-confirmation {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: .65rem;
    margin: 0;
    cursor: pointer;
}

.application-confirmation strong {
    color: var(--oys-navy);
    font-size: .78rem;
}

.application-confirmation small {
    margin-top: .18rem;
    color: var(--oys-muted);
    font-size: .68rem;
}

.application-form-actions {
    display: flex;
    flex: 0 0 auto;
    gap: .55rem;
}

@media (max-width: 991.98px) {
    .application-readonly-grid,
    .application-readonly-grid.is-exam-data {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .application-address-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .application-address-step[data-address-step="neighborhood"],
    .application-address-step.is-full {
        grid-column: 1 / -1;
    }

    .application-profile-notice {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .application-profile-notice .btn {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 767.98px) {
    .application-form-page {
        padding: 1rem .75rem 2rem;
    }

    .application-form-page-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .application-form-page-heading .btn {
        width: 100%;
    }

    .application-form-card-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .application-form-card-header p {
        flex: auto;
    }

    .application-choice-grid,
    .application-field-grid,
    .application-address-grid {
        grid-template-columns: 1fr;
    }

    .application-field.is-full,
    .application-address-step[data-address-step="neighborhood"],
    .application-address-step.is-full {
        grid-column: auto;
    }

    .application-form-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .application-form-actions {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    body.application-form-body[data-layout] .page-content {
        padding-top: 74px;
    }

    .application-form-page-heading h1 {
        font-size: 1.5rem;
    }

    .application-form-card-header,
    .application-form-section,
    .application-form-footer {
        padding-right: .9rem;
        padding-left: .9rem;
    }

    .application-form-validation {
        margin-right: .9rem;
        margin-left: .9rem;
    }

    .application-profile-notice {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: flex-start;
    }

    .application-profile-notice .btn {
        width: 100%;
        grid-column: 1 / -1;
    }

    .application-readonly-grid,
    .application-readonly-grid.is-exam-data {
        grid-template-columns: 1fr;
    }

    .application-readonly-item dt {
        min-height: 0;
    }

    .application-choice-group {
        padding: .75rem;
    }

    .application-form-actions {
        grid-template-columns: 1fr;
    }
}

/* Kullanıcı başvuru merkezi */
.user-applications-page {
    width: min(100%, var(--oys-shell-width));
    min-height: calc(100vh - 150px);
    padding: 1.4rem 1rem 2.5rem;
}

.user-applications-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1.15rem;
    border-bottom: 1px solid var(--oys-border);
}

.user-applications-heading > div {
    min-width: 0;
}

.user-applications-eyebrow {
    display: block;
    margin-bottom: .3rem;
    color: var(--oys-blue);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.user-applications-heading h1 {
    margin: 0;
    color: var(--oys-navy);
    font-size: 1.75rem;
}

.user-applications-heading p {
    margin: .35rem 0 0;
    color: var(--oys-muted);
}

.user-applications-heading .btn,
.user-period-card-actions .btn,
.user-application-history-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
}

.user-applications-section {
    margin-top: 1.75rem;
}

.user-applications-section + .user-applications-section {
    padding-top: 1.75rem;
    border-top: 1px solid var(--oys-border);
}

.user-applications-section-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .8rem;
    margin-bottom: 1rem;
}

.user-applications-section-heading > div {
    min-width: 0;
}

.user-applications-section-heading h2 {
    margin: 0;
    color: var(--oys-navy);
    font-size: 1.1rem;
}

.user-applications-section-heading p {
    margin: .2rem 0 0;
    color: var(--oys-muted);
    font-size: .82rem;
}

.user-applications-section-icon,
.user-application-history-icon {
    display: inline-flex;
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: var(--oys-success);
    font-size: 1.3rem;
}

.user-applications-section-icon.is-history,
.user-application-history-icon {
    background: var(--oys-navy);
}

.user-applications-count {
    margin-left: auto;
    padding: .35rem .55rem;
    border: 1px solid #cfd8e6;
    border-radius: 6px;
    color: var(--oys-navy);
    background: #f4f7fb;
    font-size: .74rem;
    font-weight: 800;
    white-space: nowrap;
}

.user-period-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
    gap: 1rem;
}

.user-period-card,
.user-application-history-card {
    min-width: 0;
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(0, 25, 74, .06);
}

.user-period-card {
    display: flex;
    min-height: 19rem;
    flex-direction: column;
    overflow: hidden;
}

.user-period-card.is-open {
    border-top: 3px solid var(--oys-success);
}

.user-period-card.is-current {
    border-top: 3px solid var(--oys-primary);
}

.user-period-card.is-upcoming {
    border-top: 3px solid var(--oys-gold);
}

.user-period-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1rem .85rem;
    background: #f7f9fc;
}

.user-period-card-header > div {
    min-width: 0;
}

.user-period-card-header > i {
    flex: 0 0 auto;
    color: #7d8ba1;
    font-size: 1.5rem;
}

.user-period-card-header h3 {
    margin: .55rem 0 .2rem;
    overflow-wrap: anywhere;
    color: var(--oys-navy);
    font-size: 1rem;
}

.user-period-card-header > div > span:last-child {
    color: var(--oys-muted);
    font-size: .78rem;
    font-weight: 700;
}

.user-period-status {
    display: inline-flex;
    padding: .28rem .5rem;
    border: 1px solid #acd7c5;
    border-radius: 5px;
    color: #0c6945;
    background: #edf9f4;
    font-size: .68rem;
    font-weight: 800;
}

.is-upcoming .user-period-status {
    border-color: #dfc775;
    color: #66520f;
    background: #fff9e8;
}

.is-current .user-period-status {
    border-color: #a9c8ee;
    color: var(--oys-navy);
    background: #edf5ff;
}

.user-period-dates {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    padding: 1rem;
}

.user-period-dates > div {
    min-width: 0;
}

.user-period-dates > div + div {
    padding-left: 1rem;
    border-left: 1px solid var(--oys-border);
}

.user-period-dates dt {
    margin-bottom: .25rem;
    color: #748198;
    font-size: .68rem;
    text-transform: uppercase;
}

.user-period-dates dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--oys-text);
    font-size: .78rem;
    font-weight: 700;
}

.user-period-card-actions {
    display: flex;
    margin-top: auto;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    padding: .9rem 1rem 1rem;
    border-top: 1px solid var(--oys-border);
}

.user-application-recorded,
.user-period-pending {
    display: inline-flex;
    width: 100%;
    align-items: center;
    gap: .35rem;
    color: #0c6945;
    font-size: .78rem;
    font-weight: 800;
}

.user-period-pending {
    color: #66520f;
}

.user-application-delete-form {
    margin: 0;
}

.user-application-history {
    display: grid;
    gap: .75rem;
}

.user-application-history-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
}

.user-application-history-main {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .85rem;
}

.user-application-history-main > div {
    min-width: 0;
}

.user-application-history-period {
    display: block;
    margin-bottom: .2rem;
    overflow-wrap: anywhere;
    color: var(--oys-blue);
    font-size: .72rem;
    font-weight: 800;
}

.user-application-history-card h3 {
    margin: 0;
    color: var(--oys-navy);
    font-size: .95rem;
}

.user-application-history-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .9rem;
    margin-top: .45rem;
    color: var(--oys-muted);
    font-size: .74rem;
}

.user-application-history-meta span {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}

.user-application-history-actions {
    display: flex;
    max-width: 31rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
}

.user-applications-empty {
    display: flex;
    min-height: 7rem;
    align-items: center;
    gap: .9rem;
    padding: 1rem;
    border: 1px dashed #b9c6d8;
    border-radius: 8px;
    color: var(--oys-muted);
    background: #f8fafc;
}

.user-applications-empty > i {
    color: var(--oys-blue);
    font-size: 1.75rem;
}

.user-applications-empty strong,
.user-applications-empty span {
    display: block;
}

.user-applications-empty strong {
    color: var(--oys-navy);
}

.user-applications-empty span {
    margin-top: .2rem;
    font-size: .8rem;
}

.user-applications-user-menu {
    display: inline-flex;
    max-width: min(28rem, calc(100vw - 7rem));
    align-items: center;
}

.user-applications-user-menu > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .user-applications-page {
        padding: 1rem .75rem 2rem;
    }

    .user-applications-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .user-applications-heading .btn {
        width: 100%;
    }

    .user-period-grid {
        grid-template-columns: 1fr;
    }

    .user-application-history-card {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .user-application-history-actions {
        display: grid;
        width: 100%;
        max-width: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .user-application-history-actions .btn:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    body.user-applications-body[data-layout] .page-content {
        padding-top: 74px;
    }

    .user-applications-heading h1 {
        font-size: 1.5rem;
    }

    .user-applications-section-heading {
        align-items: flex-start;
    }

    .user-applications-count {
        align-self: center;
    }

    .user-period-dates {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .user-period-dates > div + div {
        padding-top: .75rem;
        padding-left: 0;
        border-top: 1px solid var(--oys-border);
        border-left: 0;
    }

    .user-period-card-actions,
    .user-period-card-actions .btn,
    .user-application-delete-form {
        width: 100%;
    }

    .user-application-history-actions {
        grid-template-columns: 1fr;
    }

    .user-application-history-actions .btn:first-child {
        grid-column: auto;
    }

    .user-application-history-main {
        align-items: flex-start;
    }
}

/* Admin kullanıcı yönetimi */
.admin-users-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1rem;
    overflow: hidden;
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    background: var(--oys-surface);
    box-shadow: var(--oys-shadow);
}

.admin-users-summary-item {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .8rem;
    padding: 1rem 1.15rem;
    border-left: 1px solid #e2e8f1;
}

.admin-users-summary-item:first-child {
    border-left: 0;
}

.admin-users-summary-icon {
    display: inline-flex;
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 2.6rem;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: var(--oys-navy);
    font-size: 1.25rem;
    box-shadow: inset 0 -3px 0 var(--oys-gold);
}

.admin-users-summary-icon--active {
    background: #0d7a4d;
    box-shadow: none;
}

.admin-users-summary-icon--pending {
    color: var(--oys-navy);
    background: #f3e9cf;
    box-shadow: inset 0 -3px 0 var(--oys-gold);
}

.admin-users-summary-item small,
.admin-users-summary-item strong {
    display: block;
}

.admin-users-summary-item small {
    color: var(--oys-muted);
    font-size: .75rem;
    font-weight: 700;
}

.admin-users-summary-item strong {
    margin-top: .1rem;
    color: var(--oys-navy);
    font-size: 1.25rem;
    font-weight: 800;
}

.admin-users-filter-panel {
    margin-bottom: 1.25rem;
    padding: 1rem;
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    background: #f8faff;
}

.admin-users-filter-form {
    display: grid;
    grid-template-columns: minmax(15rem, 1fr) repeat(3, minmax(9rem, .28fr)) minmax(13rem, .38fr) auto;
    align-items: end;
    gap: .75rem;
}

.admin-users-filter-form label {
    display: block;
    margin-bottom: .4rem;
    color: var(--oys-navy);
    font-size: .75rem;
    font-weight: 800;
}

.admin-users-filter-form .form-control,
.admin-users-filter-form .form-select,
.admin-users-edit-panel .form-select {
    min-height: 2.7rem;
    border-color: #cfd8e6;
    border-radius: 7px;
}

.admin-users-filter-form .form-control:focus,
.admin-users-filter-form .form-select:focus,
.admin-users-edit-panel .form-select:focus {
    border-color: var(--oys-blue);
    box-shadow: 0 0 0 .18rem rgba(0, 118, 255, .13);
}

.admin-users-filter-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.admin-users-filter-actions .btn {
    display: inline-flex;
    min-width: 2.7rem;
    min-height: 2.7rem;
    align-items: center;
    justify-content: center;
}

.admin-users-filter-check {
    display: flex;
    min-height: 2.7rem;
    align-items: center;
    gap: .55rem;
    padding: .6rem .7rem;
    border: 1px solid #cfd8e6;
    border-radius: 7px;
    background: #fff;
}

.admin-users-filter-check .form-check-input {
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 auto;
    margin: 0;
    cursor: pointer;
}

.admin-users-filter-check label {
    margin: 0;
    line-height: 1.25;
    cursor: pointer;
}

.admin-users-mobile-sort-form {
    display: none;
}

.admin-users-layout {
    display: block;
}

.admin-users-modal-open {
    overflow: hidden;
}

.admin-users-edit-modal {
    position: fixed;
    z-index: 1200;
    inset: 0;
    display: grid;
    align-items: center;
    justify-items: center;
    padding: 1rem;
}

.admin-users-edit-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 23, 50, .56);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.admin-users-edit-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 46rem);
    max-height: calc(100vh - 2rem);
    max-height: calc(100dvh - 2rem);
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    box-shadow: 0 24px 60px rgba(4, 23, 50, .28);
}

.admin-users-edit-heading {
    position: relative;
    padding-right: 3rem;
}

.admin-users-edit-close {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfd8e6;
    border-radius: 7px;
    color: var(--oys-navy);
    background: #fff;
    font-size: 1.4rem;
}

.admin-users-edit-close:hover,
.admin-users-edit-close:focus {
    border-color: var(--oys-blue);
    color: #fff;
    background: var(--oys-blue);
}

.admin-users-account-state {
    margin-bottom: 1rem;
    padding: .8rem;
    border: 1px solid #dbe3ef;
    border-radius: 7px;
    background: #f8faff;
}

.admin-users-account-state dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
    margin: .75rem 0 0;
}

.admin-users-account-state dl div {
    min-width: 0;
}

.admin-users-account-state dt,
.admin-users-mobile-details dt {
    color: var(--oys-muted);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.admin-users-account-state dd,
.admin-users-mobile-details dd {
    margin: .15rem 0 0;
    color: var(--oys-navy);
    font-size: .78rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.admin-users-list-heading {
    min-height: 5.2rem;
}

.admin-users-table-scroll {
    border-radius: 0;
}

body[data-layout] .admin-users-table {
    min-width: 1060px;
    table-layout: fixed;
}

.admin-users-sort-link {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    gap: .3rem;
    color: inherit;
}

.admin-users-sort-link span {
    overflow-wrap: anywhere;
}

.admin-users-sort-link i {
    flex: 0 0 auto;
    font-size: .95rem;
}

.admin-users-sort-link:hover,
.admin-users-sort-link:focus {
    color: var(--oys-blue);
}

.admin-users-table th:nth-child(1) {
    width: 19%;
}

.admin-users-table th:nth-child(2) {
    width: 12%;
}

.admin-users-table th:nth-child(3) {
    width: 20%;
}

.admin-users-table th:nth-child(4) {
    width: 10%;
}

.admin-users-table th:nth-child(5) {
    width: 7%;
}

.admin-users-table th:nth-child(6) {
    width: 11%;
}

.admin-users-table th:nth-child(7) {
    width: 21%;
}

.admin-users-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .35rem;
}

.admin-users-row-actions .btn,
.admin-users-impersonate-form .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    white-space: nowrap;
}

.admin-users-impersonate-form {
    margin: 0;
}

.admin-users-impersonate-form .btn:disabled {
    opacity: .52;
    cursor: not-allowed;
}

.admin-users-selected-row {
    background: #f1f7ff;
}

.admin-users-person-copy,
.admin-users-contact {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.admin-users-person-copy strong,
.admin-users-person-copy small,
.admin-users-contact span,
.admin-users-contact small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-users-person-copy small,
.admin-users-contact small {
    margin-top: .15rem;
    color: var(--oys-muted);
    font-size: .7rem;
}

.admin-users-person-meta {
    display: flex;
    align-items: center;
    gap: .3rem;
}

.admin-users-person-meta > span:first-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-users-disability-indicator {
    display: inline-flex;
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: var(--oys-blue);
    font-size: .8rem;
}

.admin-users-contact span {
    color: #33445c;
    font-size: .8rem;
}

.admin-users-identity {
    color: var(--oys-navy);
    font-family: Consolas, "Courier New", monospace;
    font-size: .82rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    white-space: nowrap;
}

.admin-users-status-badge {
    display: inline-flex;
    min-height: 1.7rem;
    align-items: center;
    gap: .25rem;
    padding: .25rem .5rem;
    border: 1px solid;
    border-radius: 6px;
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
}

.admin-users-status-badge.is-active {
    border-color: #8ac9aa;
    color: #0d5e3a;
    background: #eef9f3;
}

.admin-users-status-badge.is-pending {
    border-color: #d7c48f;
    color: #655018;
    background: #fff9e8;
}

.admin-users-application-count {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: var(--oys-navy);
    background: #eef3fa;
    font-weight: 800;
}

.admin-users-mobile-list {
    display: none;
}

.admin-users-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid #e7ecf4;
}

.admin-users-page-link {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfd8e6;
    border-radius: 6px;
    color: var(--oys-navy);
    background: #fff;
    font-size: .78rem;
    font-weight: 800;
}

.admin-users-page-link:hover,
.admin-users-page-link:focus,
.admin-users-page-link.is-active {
    border-color: var(--oys-blue);
    color: #fff;
    background: var(--oys-blue);
}

.admin-users-page-link.is-disabled {
    color: #9aa6b8;
    background: #f2f4f7;
    cursor: not-allowed;
}

.admin-users-list-panel .admin-management-empty i {
    display: block;
    margin-bottom: .35rem;
    color: #8290a5;
    font-size: 2rem;
}

.admin-users-list-panel .admin-management-empty p {
    margin: 0;
}

@media (max-width: 1199.98px) {
    .admin-users-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-users-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

}

@media (max-width: 991.98px) {
    .admin-users-desktop-list {
        display: none;
    }

    .admin-users-mobile-list {
        display: grid;
        gap: .75rem;
        padding: 1rem;
        background: #f5f8fc;
    }

    .admin-users-mobile-sort-form {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(7rem, .45fr) auto;
        align-items: end;
        gap: .55rem;
        padding: .8rem 1rem;
        border-top: 1px solid #e7ecf4;
        background: #fff;
    }

    .admin-users-mobile-sort-form label {
        display: block;
        margin-bottom: .3rem;
        color: var(--oys-navy);
        font-size: .7rem;
        font-weight: 800;
    }

    .admin-users-mobile-sort-form .form-select,
    .admin-users-mobile-sort-form .btn {
        min-height: 2.55rem;
        border-radius: 7px;
    }

    .admin-users-mobile-sort-form .btn {
        display: inline-flex;
        width: 2.55rem;
        align-items: center;
        justify-content: center;
    }

    .admin-users-mobile-card {
        min-width: 0;
        padding: 1rem;
        border: 1px solid #d9e2ef;
        border-radius: 8px;
        background: #fff;
    }

    .admin-users-mobile-card.is-selected {
        border-color: var(--oys-blue);
        box-shadow: 0 0 0 2px rgba(0, 118, 255, .1);
    }

    .admin-users-mobile-card-heading {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: .65rem;
        padding-bottom: .8rem;
        border-bottom: 1px solid #e7ecf4;
    }

    .admin-users-mobile-card-heading .admin-management-person {
        min-width: 0;
    }

    .admin-users-mobile-details {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .8rem;
        margin: .9rem 0;
    }

    .admin-users-mobile-details > div {
        min-width: 0;
    }

    .admin-users-mobile-details-wide {
        grid-column: 1 / -1;
    }

    .admin-users-mobile-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
    }

    .admin-users-mobile-actions .btn,
    .admin-users-mobile-actions .admin-users-impersonate-form {
        width: 100%;
    }

    .admin-users-mobile-actions .btn {
        display: inline-flex;
        min-height: 2.6rem;
        align-items: center;
        justify-content: center;
        gap: .4rem;
    }
}

@media (max-width: 767.98px) {
    .admin-users-summary {
        grid-template-columns: 1fr;
    }

    .admin-users-summary-item {
        border-top: 1px solid #e2e8f1;
        border-left: 0;
    }

    .admin-users-summary-item:first-child {
        border-top: 0;
    }

    .admin-users-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-users-search,
    .admin-users-filter-actions {
        grid-column: 1 / -1;
    }

    .admin-users-filter-actions {
        justify-content: stretch;
    }

    .admin-users-filter-actions .btn-primary {
        flex: 1 1 auto;
    }
}

@media (max-width: 575.98px) {
    .admin-users-edit-modal {
        align-items: stretch;
        padding: .5rem;
    }

    .admin-users-edit-panel {
        max-height: calc(100vh - 1rem);
        max-height: calc(100dvh - 1rem);
    }

    .admin-users-filter-form {
        grid-template-columns: 1fr;
    }

    .admin-users-search,
    .admin-users-filter-actions {
        grid-column: auto;
    }

    .admin-users-filter-actions {
        align-items: stretch;
    }

    .admin-users-mobile-sort-form {
        grid-template-columns: minmax(0, 1fr) minmax(6.5rem, .7fr) auto;
        padding: .75rem;
    }

    .admin-users-list-panel {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .admin-users-list-heading {
        min-height: auto;
        border: 1px solid var(--oys-border);
        border-radius: 8px 8px 0 0;
        background: #fff;
    }

    .admin-users-mobile-list {
        border-right: 1px solid var(--oys-border);
        border-left: 1px solid var(--oys-border);
    }

    .admin-users-mobile-card-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-users-mobile-card-heading .admin-users-status-badge {
        align-self: flex-start;
    }

    .admin-users-account-state dl,
    .admin-users-mobile-details {
        grid-template-columns: 1fr;
    }

    .admin-users-mobile-details-wide {
        grid-column: auto;
    }

    .admin-users-mobile-actions {
        grid-template-columns: 1fr;
    }

    .admin-users-pagination {
        border: 1px solid var(--oys-border);
        border-radius: 0 0 8px 8px;
        background: #fff;
    }
}

.admin-log-heading {
    align-items: flex-end;
}

.admin-log-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 1rem;
    border: 1px solid var(--oys-border);
    border-radius: 6px;
    background: var(--oys-surface);
}

.admin-log-metric {
    display: grid;
    min-width: 0;
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: .7rem;
    padding: 1rem;
    border-right: 1px solid var(--oys-border);
}

.admin-log-metric:last-child {
    border-right: 0;
}

.admin-log-metric > i {
    display: inline-flex;
    width: 34px;
    height: 34px;
    grid-row: 1 / 3;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: var(--oys-navy);
    background: #edf4ff;
    font-size: 1.2rem;
}

.admin-log-metric > span {
    overflow: hidden;
    color: var(--oys-muted);
    font-size: .73rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-log-metric > strong {
    color: var(--oys-navy);
    font-size: 1.15rem;
    line-height: 1.25;
}

.admin-log-metric-warning > i {
    color: #7a5200;
    background: #fff5d9;
}

.admin-log-metric-error > i {
    color: var(--oys-danger);
    background: #fff0f0;
}

.admin-log-filters {
    display: grid;
    grid-template-columns: minmax(180px, .8fr) minmax(130px, .55fr) minmax(220px, 1.25fr) minmax(100px, .4fr) auto;
    gap: .8rem;
    align-items: end;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid var(--oys-border);
    border-radius: 6px;
    background: var(--oys-surface);
}

.admin-log-filter {
    min-width: 0;
}

.admin-log-filter label {
    display: block;
    margin-bottom: .35rem;
    color: var(--oys-navy);
    font-size: .72rem;
    font-weight: 800;
}

.admin-log-filter .form-control {
    width: 100%;
    min-height: 40px;
    border-color: #cbd6e5;
    border-radius: 5px;
}

.admin-log-search-wrap {
    position: relative;
}

.admin-log-search-wrap > i {
    position: absolute;
    top: 50%;
    left: .75rem;
    color: var(--oys-muted);
    font-size: 1rem;
    transform: translateY(-50%);
    pointer-events: none;
}

.admin-log-search-wrap .form-control {
    padding-left: 2.25rem;
}

.admin-log-filter-actions {
    display: flex;
    min-width: max-content;
    align-items: center;
    gap: .5rem;
}

.admin-log-filter-actions .btn {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: .35rem;
}

.admin-log-filter-actions .btn-primary {
    color: #fff;
    border-color: var(--oys-navy);
    background-color: var(--oys-navy);
}

.admin-log-auto-refresh {
    display: inline-flex;
    min-height: 40px;
    margin: 0 0 0 .2rem;
    align-items: center;
    gap: .45rem;
    color: var(--oys-muted);
    font-size: .76rem;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

.admin-log-auto-refresh input {
    width: 16px;
    height: 16px;
    accent-color: var(--oys-blue);
}

.admin-log-layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.admin-log-files,
.admin-log-stream {
    min-width: 0;
    border: 1px solid var(--oys-border);
    border-radius: 6px;
    background: var(--oys-surface);
}

.admin-log-files {
    position: sticky;
    top: 90px;
    max-height: calc(100vh - 112px);
    overflow: auto;
}

.admin-log-section-heading {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--oys-border);
}

.admin-log-section-heading .admin-management-eyebrow {
    margin: 0;
}

.admin-log-section-heading > strong {
    overflow: hidden;
    color: var(--oys-muted);
    font-size: .75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-log-file-list {
    display: flex;
    flex-direction: column;
}

.admin-log-file {
    display: grid;
    min-width: 0;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: .65rem;
    align-items: center;
    padding: .8rem 1rem;
    border-bottom: 1px solid #e8edf4;
    color: var(--oys-text);
}

.admin-log-file:last-child {
    border-bottom: 0;
}

.admin-log-file:hover,
.admin-log-file:focus,
.admin-log-file.is-active {
    color: var(--oys-navy);
    background: #f0f6ff;
}

.admin-log-file.is-active {
    box-shadow: inset 3px 0 0 var(--oys-blue);
}

.admin-log-file-icon {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    color: var(--oys-logo-navy);
    background: #edf1f7;
    font-size: 1.05rem;
}

.admin-log-file.is-active .admin-log-file-icon {
    color: #fff;
    background: var(--oys-blue);
}

.admin-log-file-copy,
.admin-log-file-copy strong,
.admin-log-file-copy small {
    display: block;
    min-width: 0;
}

.admin-log-file-copy strong {
    overflow: hidden;
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-log-file-copy small {
    margin-top: .15rem;
    color: var(--oys-muted);
    font-size: .7rem;
}

.admin-log-entry-list {
    display: flex;
    margin: 0;
    padding: 0;
    flex-direction: column;
    list-style: none;
}

.admin-log-entry-list > li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e8edf4;
}

.admin-log-entry-list > li:last-child {
    border-bottom: 0;
}

.admin-log-entry {
    position: relative;
    padding: 1rem 1.1rem 1rem 1.25rem;
}

.admin-log-entry::before {
    position: absolute;
    top: 1rem;
    bottom: 1rem;
    left: .55rem;
    width: 3px;
    border-radius: 3px;
    content: "";
    background: var(--oys-blue);
}

.admin-log-entry-warning::before {
    background: #c58b16;
}

.admin-log-entry-error::before {
    background: var(--oys-danger);
}

.admin-log-entry-header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.admin-log-entry-title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .55rem;
}

.admin-log-entry-title strong {
    overflow: hidden;
    color: var(--oys-navy);
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-log-level {
    display: inline-flex;
    min-width: 48px;
    min-height: 23px;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font-size: .65rem;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-log-level-info {
    color: #0058b9;
    background: #e8f2ff;
}

.admin-log-level-warning {
    color: #704a00;
    background: #fff2cd;
}

.admin-log-level-error {
    color: #912027;
    background: #ffe4e5;
}

.admin-log-entry-header time {
    flex: 0 0 auto;
    color: var(--oys-muted);
    font-family: Consolas, "Courier New", monospace;
    font-size: .73rem;
}

.admin-log-entry > p {
    margin: .65rem 0 .75rem;
    color: var(--oys-text);
    font-size: .82rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.admin-log-entry-details {
    display: flex;
    margin: 0;
    flex-wrap: wrap;
    gap: .5rem 1.1rem;
}

.admin-log-entry-details > div {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: .35rem;
}

.admin-log-entry-details dt,
.admin-log-entry-details dd {
    margin: 0;
    font-size: .68rem;
}

.admin-log-entry-details dt {
    color: var(--oys-muted);
    font-weight: 700;
}

.admin-log-entry-details dd {
    color: #33415c;
    font-family: Consolas, "Courier New", monospace;
}

.admin-log-request-id {
    max-width: 100%;
}

.admin-log-request-id dd {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-log-exception {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: .55rem;
    margin-top: .8rem;
    padding: .7rem;
    border: 1px solid #f2c4c7;
    border-radius: 5px;
    color: #7d1c23;
    background: #fff5f5;
}

.admin-log-exception > i {
    font-size: 1.05rem;
}

.admin-log-exception strong,
.admin-log-exception span {
    display: block;
    overflow-wrap: anywhere;
}

.admin-log-exception strong {
    font-size: .75rem;
}

.admin-log-exception span {
    margin-top: .2rem;
    font-size: .72rem;
}

.admin-log-empty {
    display: flex;
    min-height: 220px;
    padding: 1.5rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .4rem;
    color: var(--oys-muted);
    text-align: center;
}

.admin-log-empty > i {
    color: #9ba8ba;
    font-size: 2rem;
}

.admin-log-empty > strong {
    color: var(--oys-navy);
}

.admin-log-empty > span {
    font-size: .78rem;
}

.admin-log-files-empty {
    min-height: 140px;
}

@media (max-width: 1199.98px) {
    .admin-log-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-log-metric:nth-child(3) {
        border-right: 0;
    }

    .admin-log-metric:nth-child(-n + 3) {
        border-bottom: 1px solid var(--oys-border);
    }

    .admin-log-filters {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .admin-log-filter-search {
        grid-column: span 2;
    }

    .admin-log-filter-actions {
        grid-column: 1 / -1;
        min-width: 0;
    }
}

@media (max-width: 767.98px) {
    .admin-log-heading {
        align-items: stretch;
    }

    .admin-log-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-log-metric,
    .admin-log-metric:nth-child(3) {
        border-right: 1px solid var(--oys-border);
        border-bottom: 1px solid var(--oys-border);
    }

    .admin-log-metric:nth-child(2n) {
        border-right: 0;
    }

    .admin-log-metric:last-child {
        grid-column: 1 / -1;
        border-right: 0;
        border-bottom: 0;
    }

    .admin-log-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-log-filter-search {
        grid-column: 1 / -1;
    }

    .admin-log-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-log-files {
        position: static;
        max-height: none;
    }

    .admin-log-file-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-log-file {
        border-right: 1px solid #e8edf4;
    }

    .admin-log-entry-header {
        align-items: flex-start;
        flex-direction: column;
        gap: .45rem;
    }

    .admin-log-entry-title {
        width: 100%;
    }
}

@media (max-width: 479.98px) {
    .admin-log-filters,
    .admin-log-file-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-log-filter-search {
        grid-column: auto;
    }

    .admin-log-filter-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-log-filter-actions .btn {
        min-width: 0;
        padding-inline: .55rem;
    }

    .admin-log-auto-refresh {
        grid-column: 1 / -1;
        margin-left: 0;
    }

    .admin-log-file {
        border-right: 0;
    }

    .admin-log-entry {
        padding-right: .8rem;
    }

    .admin-log-entry-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-log-entry-title strong {
        width: 100%;
        white-space: normal;
    }

    .admin-log-entry-details {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: .35rem;
    }

    .admin-log-request-id dd {
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

.oys-impersonation-active[data-layout] .page-content {
    padding-top: 6.5rem;
}

.oys-impersonation-banner {
    position: fixed;
    z-index: 1150;
    top: 82px;
    left: 50%;
    display: flex;
    width: min(calc(100% - 2rem), 52rem);
    min-height: 4.25rem;
    align-items: center;
    gap: .8rem;
    padding: .75rem;
    border: 1px solid #c8aa55;
    border-radius: 8px;
    background: #fff9e8;
    box-shadow: 0 14px 34px rgba(0, 25, 74, .18);
    transform: translateX(-50%);
}

.oys-impersonation-banner-icon {
    display: inline-flex;
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: var(--oys-navy);
    font-size: 1.35rem;
}

.oys-impersonation-banner-copy {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

.oys-impersonation-banner-copy strong {
    color: var(--oys-navy);
    font-size: .84rem;
}

.oys-impersonation-banner-copy span {
    overflow: hidden;
    color: #5c4b18;
    font-size: .76rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.oys-impersonation-return-form {
    flex: 0 0 auto;
    margin: 0;
}

.oys-impersonation-return-form .btn {
    display: inline-flex;
    min-height: 2.65rem;
    align-items: center;
    justify-content: center;
    gap: .35rem;
}

@media (max-width: 575.98px) {
    .oys-impersonation-active[data-layout] .page-content {
        padding-top: 9rem;
    }

    .oys-impersonation-banner {
        top: 78px;
        width: calc(100% - 1rem);
        align-items: stretch;
        flex-wrap: wrap;
        gap: .6rem;
        padding: .65rem;
    }

    .oys-impersonation-banner-copy {
        width: calc(100% - 3.3rem);
        flex: 1 1 calc(100% - 3.3rem);
        justify-content: center;
    }

    .oys-impersonation-return-form,
    .oys-impersonation-return-form .btn {
        width: 100%;
    }
}

@media print {
    .oys-impersonation-banner {
        display: none !important;
    }
}

body:not(.login-shell) .footer .container-fluid {
    width: min(100%, var(--oys-shell-width));
    min-height: 70px;
    margin-inline: auto;
    padding: 14px 22px;
}

body:not(.login-shell) .footer .app-footer-row {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 18px;
    margin: 0;
}

body:not(.login-shell) .footer .app-footer-row > * {
    width: auto;
    max-width: none;
    padding: 0;
}

body:not(.login-shell) .footer .app-footer-brand {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    gap: 12px;
}

body:not(.login-shell) .footer .app-footer-logo-link {
    display: block;
    flex: 0 0 42px;
}

body:not(.login-shell) .footer .app-footer-brand a {
    color: inherit;
    text-decoration: none;
}

body:not(.login-shell) .footer .app-footer-logo {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
    flex: 0 0 42px;
}

body:not(.login-shell) .footer .app-footer-brand strong {
    display: block;
    color: var(--oys-navy);
    font-weight: 700;
    line-height: 1.25;
}

body:not(.login-shell) .footer .app-footer-brand a:hover,
body:not(.login-shell) .footer .app-footer-brand a:focus {
    opacity: .86;
}

body:not(.login-shell) .footer .app-footer-meta {
    display: flex;
    flex: 0 0 auto;
    align-self: center;
    align-items: center;
    margin-left: auto;
    color: var(--oys-muted);
    font-size: .84rem;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}

body:not(.login-shell) .footer .app-footer-meta span {
    display: block;
}

.login-shell {
    min-height: 100vh;
    margin: 0;
    color: var(--oys-ink);
    background: var(--oys-navy);
    font-family: "Segoe UI", Arial, sans-serif;
}

.login-page {
    display: grid;
    min-height: 100vh;
    grid-template-columns: minmax(0, 1.06fr) minmax(390px, .94fr);
    align-items: stretch;
}

.login-hero {
    position: relative;
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 56px 64px;
    color: #fff;
    background: var(--oys-navy) url("/Style/images/kurumsal/ytu-kampus-bg.jpg") center / cover no-repeat;
}

.login-hero::before {
    position: absolute;
    inset: 0;
    content: "";
    background: rgba(0, 25, 74, .76);
    pointer-events: none;
}

.brand-lockup,
.auth-announcements,
.hero-copy {
    position: relative;
    z-index: 1;
}

.brand-lockup img {
    display: block;
    width: min(340px, 72vw);
    height: auto;
    filter: brightness(0) invert(1);
}

.auth-announcements {
    display: grid;
    width: min(680px, 100%);
    gap: 12px;
    margin: clamp(24px, 4vh, 44px) 0;
}

.auth-announcements-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 2px;
    color: rgba(255, 255, 255, .88);
    font-size: .82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.auth-announcements-title i {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--oys-navy);
    background: #fff;
    font-size: 1.05rem;
}

.auth-announcement {
    position: relative;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    padding: 17px 18px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 8px;
    background: rgba(0, 25, 74, .62);
    box-shadow: 0 14px 32px rgba(0, 13, 40, .18);
}

.auth-announcement::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    background: var(--oys-gold);
    content: "";
}

.auth-announcement--important::after {
    background: #dc3545;
}

.auth-announcement--support::after {
    background: #1f9d68;
}

.auth-announcement--date::after {
    background: var(--oys-blue);
}

.auth-announcement--important .auth-announcement-icon {
    border-color: rgba(255, 189, 194, .46);
    background: rgba(220, 53, 69, .24);
}

.auth-announcement--support .auth-announcement-icon {
    border-color: rgba(174, 235, 205, .46);
    background: rgba(31, 157, 104, .24);
}

.auth-announcement--date .auth-announcement-icon {
    border-color: rgba(176, 215, 255, .46);
    background: rgba(0, 118, 255, .24);
}

.auth-announcement-icon {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    color: #fff;
    background: rgba(255, 255, 255, .14);
    font-size: 1.25rem;
}

.auth-announcement-content {
    min-width: 0;
}

.auth-announcement h2 {
    margin: 0 0 6px;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
}

.auth-announcement p {
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font-size: .9rem;
    line-height: 1.48;
    overflow-wrap: anywhere;
    white-space: pre-line;
}

.auth-announcement-action {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    color: #fff;
    font-size: .84rem;
    font-weight: 700;
    text-decoration: none;
}

.auth-announcement-action:hover,
.auth-announcement-action:focus {
    color: #fff;
    text-decoration: underline;
}

.hero-copy {
    max-width: 760px;
    padding-bottom: 10px;
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    color: rgba(255, 255, 255, .88);
    font-size: .92rem;
    font-weight: 700;
}

.hero-kicker::before {
    width: 34px;
    height: 3px;
    border-radius: 999px;
    background: var(--oys-gold);
    content: "";
}

.hero-title {
    max-width: 640px;
    margin: 0;
    color: #fff;
    font-size: 2.65rem;
    font-weight: 800;
    line-height: 1.16;
    letter-spacing: 0;
}

.quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.quick-link {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 8px;
    color: #fff;
    background: rgba(255, 255, 255, .1);
    font-weight: 700;
    text-decoration: none;
}

.quick-link:hover,
.quick-link:focus {
    border-color: rgba(255, 255, 255, .55);
    color: #fff;
    background: rgba(255, 255, 255, .16);
    text-decoration: none;
}

.login-panel-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px;
    background: #f6f8fc;
}

.login-panel {
    width: min(100%, 520px);
    overflow: hidden;
    border: 1px solid rgba(0, 25, 74, .12);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 28px 70px rgba(0, 25, 74, .2);
}

.login-panel.is-wide {
    width: min(100%, 680px);
}

.login-panel-header {
    padding: 30px 34px 20px;
    border-bottom: 1px solid rgba(0, 25, 74, .12);
}

.login-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: var(--oys-blue);
    font-size: .84rem;
    font-weight: 800;
    text-transform: uppercase;
}

.login-badge i {
    color: var(--oys-gold);
    font-size: 1rem;
}

.login-panel h1 {
    margin: 0;
    color: var(--oys-navy);
    font-size: 1.82rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
}

.login-panel-header p {
    margin: 0;
    color: var(--oys-muted);
    line-height: 1.55;
}

.login-panel-header h1 + p {
    margin-top: 10px;
}

.login-form {
    padding: 26px 34px 32px;
}

.auth-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
}

.auth-form-grid .is-full {
    grid-column: 1 / -1;
}

.login-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 18px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 114, 118, .34);
    border-radius: 8px;
    color: #9f3034;
    background: rgba(255, 114, 118, .11);
    font-weight: 700;
}

.login-alert-success {
    border-color: rgba(20, 132, 86, .34);
    color: #0f6a45;
    background: rgba(20, 132, 86, .1);
}

.login-shell .form-label {
    color: var(--oys-navy);
    font-weight: 800;
}

.login-control,
.login-shell .form-select {
    min-height: 48px;
    border: 1px solid rgba(0, 25, 74, .14);
    border-radius: 8px;
    color: var(--oys-ink);
    background: #fbfcff;
}

.login-control:focus,
.login-shell .form-select:focus {
    border-color: rgba(0, 118, 255, .72);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(0, 118, 255, .12);
}

.auth-pass-inputgroup .login-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.password-toggle {
    min-width: 50px;
    border: 1px solid rgba(0, 25, 74, .14);
    border-left: 0;
    border-radius: 0 8px 8px 0;
    color: var(--oys-navy);
    background: #f2f6ff;
}

.password-toggle:hover,
.password-toggle:focus {
    color: var(--oys-blue);
    background: #e8f1ff;
}

.password-policy {
    margin: -2px 0 18px;
    padding-top: 2px;
}

.password-policy-heading {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: var(--oys-navy);
    font-size: .84rem;
}

.password-policy-heading i {
    color: var(--oys-blue);
    font-size: 1rem;
}

.password-policy-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.password-policy-rule {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
    color: var(--oys-muted);
    font-size: .8rem;
    line-height: 1.35;
    transition: color .15s ease;
}

.password-policy-rule i {
    flex: 0 0 auto;
    color: #8290a7;
    font-size: 1rem;
}

.password-policy-rule.is-valid,
.password-policy-rule.is-valid i,
.password-match-status.is-valid {
    color: #0f7a4f;
}

.password-policy-rule.is-invalid,
.password-policy-rule.is-invalid i,
.password-match-status.is-invalid {
    color: #bd3035;
}

.password-match-status {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 6px 0 0;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.4;
}

.password-match-status[hidden] {
    display: none;
}

.field-help {
    display: block;
    margin-top: 6px;
    color: var(--oys-muted);
    font-size: .82rem;
    line-height: 1.45;
}

.required-mark {
    color: #bd3035;
}

.field-validation-error {
    color: #bd3035;
}

.validation-summary {
    display: block;
}

.validation-summary ul {
    margin: 0;
    padding-left: 18px;
}

.registration-expiry {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 22px;
    padding: 14px 16px;
    border: 1px solid rgba(0, 118, 255, .22);
    border-radius: 8px;
    color: var(--oys-navy);
    background: rgba(0, 118, 255, .07);
}

.registration-expiry > i {
    color: var(--oys-blue);
    font-size: 1.35rem;
}

.registration-expiry strong,
.registration-expiry span {
    display: block;
}

.registration-expiry span {
    margin-top: 3px;
    color: var(--oys-muted);
    font-size: .84rem;
    line-height: 1.45;
}

.auth-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 4px;
}

.auth-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--oys-blue);
    font-size: .88rem;
    font-weight: 800;
    text-decoration: none;
}

.auth-link:hover,
.auth-link:focus {
    color: #005bd6;
    text-decoration: underline;
}

.login-submit {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: var(--oys-blue);
    font-weight: 800;
    box-shadow: 0 14px 30px rgba(0, 118, 255, .26) !important;
}

.login-submit:hover,
.login-submit:focus {
    color: #fff;
    background: #005bd6;
}

.panel-footer {
    padding: 0 34px 30px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 14px;
    color: var(--oys-muted);
    font-size: .88rem;
    line-height: 1.55;
}

.panel-footer a {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    text-decoration: none;
}

.support-response-notice {
    display: flex;
    width: 100%;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 11px 13px;
    border-left: 3px solid var(--oys-gold);
    border-radius: 6px;
    color: #5e4a12;
    background: #fff9e8;
    font-size: .82rem;
    line-height: 1.45;
}

.support-response-notice > i {
    flex: 0 0 auto;
    margin-top: 1px;
    color: #8a6500;
    font-size: 1.1rem;
}

.support-response-notice p,
.support-response-notice strong,
.support-response-notice span {
    display: block;
    margin: 0;
}

.support-response-notice strong {
    color: var(--oys-navy);
    font-size: .84rem;
}

.support-response-notice span {
    margin-top: 2px;
}

.login-hero .support-response-notice {
    max-width: 680px;
    border-left-color: var(--oys-gold);
    color: rgba(255, 255, 255, .82);
    background: rgba(0, 25, 74, .7);
}

.login-hero .support-response-notice > i,
.login-hero .support-response-notice strong {
    color: #fff;
}

.panel-footer a:hover,
.panel-footer a:focus {
    opacity: .86;
}

.panel-footer-logo {
    width: 168px;
    height: auto;
    flex: 0 0 auto;
}

.panel-footer-copy {
    min-width: 0;
}

.panel-footer .copyright {
    display: block;
    color: var(--oys-muted);
    font-weight: 600;
}

.error-code {
    margin: 0 0 12px;
    color: #a36b00;
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.3;
    text-transform: uppercase;
}

.error-hero {
    justify-content: space-between;
}

.error-hero-content {
    position: relative;
    z-index: 1;
    max-width: 680px;
}

.error-hero-copy {
    max-width: 620px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .84);
    font-size: 1rem;
    line-height: 1.65;
}

.error-page .login-panel-header {
    padding-top: 34px;
}

.error-page .login-form {
    padding-top: 24px;
}

.login-captcha {
    width: 100%;
    max-width: 100%;
}

.login-captcha-row {
    display: grid;
    width: 100%;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
}

.login-captcha-question {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 25, 74, .14);
    border-radius: 8px;
    color: var(--oys-navy);
    background: #f2f6ff;
    font-size: 1rem;
    font-weight: 800;
}

@media (max-width: 991.98px) {
    body[data-layout] #page-topbar .navbar-header {
        padding-inline: 1rem;
    }

    body[data-layout] #page-topbar .logo img {
        max-width: 42vw;
        height: 34px !important;
    }

    body[data-layout] #page-topbar .logo::after {
        min-height: 30px;
        padding-left: .75rem;
        font-size: .9rem;
    }

    body[data-layout] #page-topbar .oys-user-menu {
        display: inline-block !important;
    }

    body[data-layout] #page-topbar .oys-user-menu .header-item {
        display: inline-flex;
        min-width: 44px;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: .45rem;
    }

    .oys-user-menu-icon {
        display: inline-flex;
    }

    body[data-layout] .page-content > .container-fluid {
        padding-inline: 1rem;
    }

    body[data-layout] .card-body > .navbar-header {
        position: relative;
        z-index: 30;
        align-items: flex-start;
        flex-direction: column;
        overflow: visible;
    }

    body[data-layout] .oys-section-nav,
    body[data-layout] .card-body > .navbar-header > .d-flex {
        width: 100%;
        max-width: 100%;
    }

    .oys-section-menu-toggle {
        display: inline-flex;
        min-height: 2.35rem;
        align-items: center;
        justify-content: center;
        gap: .45rem;
        padding: .45rem .75rem;
        border: 1px solid var(--oys-navy);
        border-radius: 7px;
        color: #fff;
        background: var(--oys-navy);
        font-weight: 800;
    }

    .oys-section-menu {
        position: relative;
        z-index: 45;
        display: none !important;
        width: 100%;
        grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
        gap: .55rem;
        margin-top: .75rem;
        padding: .75rem;
        border: 1px solid var(--oys-border);
        border-radius: 8px;
        background: #fff;
        box-shadow: var(--oys-shadow);
    }

    .oys-section-menu.is-open {
        display: grid !important;
    }

    .oys-section-menu .btn {
        width: 100%;
        min-height: 2.35rem;
        white-space: normal;
    }

    body[data-layout] .table {
        min-width: 720px;
    }

    .login-page {
        display: flex;
        flex-direction: column;
    }

    .login-panel-wrap {
        order: 1;
        min-height: auto;
        padding: 28px 20px;
    }

    .login-hero {
        order: 2;
        min-height: auto;
        padding: 42px;
    }

    .hero-title {
        font-size: 2.2rem;
    }
}

@media (max-width: 575.98px) {
    body[data-layout] #page-topbar {
        min-height: 64px;
    }

    body[data-layout] #page-topbar .navbar-header,
    body[data-layout] #page-topbar .logo {
        min-height: 64px;
    }

    body[data-layout] .main-content {
        min-height: calc(100vh - 64px);
    }

    body[data-layout] #page-topbar .logo {
        gap: .65rem;
    }

    body[data-layout] #page-topbar .logo img {
        max-width: 118px;
        height: 28px !important;
    }

    body[data-layout] #page-topbar .logo::after {
        max-width: 7rem;
        min-height: 26px;
        padding-left: .65rem;
        font-size: .72rem;
    }

    body[data-layout] #page-topbar .header-item span {
        display: none !important;
    }

    body[data-layout] .page-content {
        padding-top: 1rem;
    }

    body[data-layout] .page-content > .container-fluid {
        padding-inline: .75rem;
    }

    body[data-layout] .card-body {
        padding: .85rem;
    }

    body[data-layout] .card-body > .navbar-header .d-flex:last-child,
    body[data-layout] .card-body > .navbar-header .d-flex:last-child .btn,
    .oys-section-menu-toggle {
        width: 100%;
    }

    body[data-layout] .row.mb-4 .btn[type="submit"] {
        width: 100%;
        white-space: normal;
    }

    body[data-layout] .dataTables_filter label,
    body[data-layout] .dataTables_length label {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: .35rem;
        white-space: normal;
    }

    body[data-layout] .dataTables_filter input,
    body[data-layout] .dataTables_length select {
        width: 100% !important;
        margin-left: 0 !important;
    }

    body:not(.login-shell) .footer .container-fluid {
        padding-inline: 1rem;
    }

    body:not(.login-shell) .footer .app-footer-row {
        align-items: flex-start;
        flex-direction: column;
    }

    body:not(.login-shell) .footer .app-footer-meta {
        margin-left: 0;
        text-align: left;
    }

    .login-panel-wrap {
        padding: 14px;
    }

    .login-panel {
        box-shadow: 0 18px 44px rgba(0, 25, 74, .14);
    }

    .login-panel h1 {
        font-size: 1.55rem;
    }

    .login-panel-header,
    .login-form,
    .panel-footer {
        padding-right: 22px;
        padding-left: 22px;
    }

    .auth-form-grid {
        grid-template-columns: 1fr;
    }

    .password-policy-list {
        grid-template-columns: 1fr;
    }

    .auth-form-grid .is-full {
        grid-column: auto;
    }

    .auth-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .auth-actions .auth-link {
        justify-content: center;
    }

    .login-hero {
        padding: 34px 18px;
    }

    .brand-lockup img {
        width: min(255px, 74vw);
    }

    .auth-announcements {
        margin: 24px 0;
    }

    .hero-title {
        font-size: 1.8rem;
    }

    .quick-link {
        width: 100%;
        justify-content: center;
    }

    .support-response-notice {
        width: 100%;
    }

    .panel-footer-logo {
        width: 150px;
    }
}

@media (max-width: 359.98px) {
    body[data-layout] #page-topbar .logo::after {
        display: none;
    }

    .login-panel-header,
    .login-form,
    .panel-footer {
        padding-right: 16px;
        padding-left: 16px;
    }

    .auth-announcement {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 11px;
        padding: 14px;
    }

    .auth-announcement-icon {
        width: 40px;
        height: 40px;
    }

    .login-captcha-row {
        grid-template-columns: 96px minmax(0, 1fr);
    }
}

/* Profil */
.profile-body .main-content {
    margin-top: 74px;
}

.profile-page {
    padding-top: 1.75rem !important;
}

.profile-page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}

.profile-page-title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1rem;
}

.profile-page-title-icon {
    display: inline-flex;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    align-items: center;
    justify-content: center;
    border: 1px solid #c7d8f1;
    border-radius: 8px;
    color: var(--oys-navy);
    background: #eaf2fd;
    font-size: 1.8rem;
}

.profile-eyebrow {
    display: block;
    margin-bottom: .2rem;
    color: var(--oys-blue);
    font-size: .73rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0;
}

.profile-page-title h1 {
    margin: 0;
    color: var(--oys-navy);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0;
}

.profile-page-title p {
    max-width: 48rem;
    margin: .35rem 0 0;
    color: var(--oys-muted);
    font-size: .95rem;
    line-height: 1.5;
}

.profile-home-action {
    display: inline-flex;
    min-height: 42px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .65rem 1rem;
    border: 1px solid #bcc8da;
    border-radius: 6px;
    color: var(--oys-navy);
    background: #fff;
    font-weight: 700;
    transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}

.profile-home-action:hover,
.profile-home-action:focus {
    border-color: var(--oys-blue);
    color: var(--oys-navy);
    background: #edf5ff;
}

.profile-home-action i {
    font-size: 1.15rem;
}

.profile-alert {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin-bottom: 1rem;
    padding: .85rem 1rem;
    border: 1px solid;
    border-radius: 6px;
    font-size: .9rem;
    line-height: 1.45;
}

.profile-alert > i {
    flex: 0 0 auto;
    margin-top: .1rem;
    font-size: 1.25rem;
}

.profile-alert-success {
    border-color: #abd8c5;
    color: #0d633d;
    background: #edf8f3;
}

.profile-alert-error {
    border-color: #efb9bd;
    color: #8f1d25;
    background: #fff2f3;
}

.profile-validation-summary,
.profile-validation-summary ul {
    margin: .25rem 0 0;
    padding: 0;
    list-style: none;
}

.profile-shell {
    display: grid;
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    background: var(--oys-surface);
    box-shadow: var(--oys-shadow);
}

.profile-summary {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 2rem;
    color: #fff;
    background: var(--oys-navy);
    box-shadow: inset 0 4px 0 var(--oys-gold);
}

.profile-avatar {
    display: inline-flex;
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.35rem;
    border: 2px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    color: var(--oys-navy);
    background: #fff;
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

.profile-summary-label {
    margin-bottom: .45rem;
    color: #9ec9ff;
    font-size: .74rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0;
}

body[data-layout] .profile-summary h2 {
    max-width: 100%;
    margin: 0;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
    letter-spacing: 0;
}

.profile-user-number {
    margin: .55rem 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: .88rem;
    font-variant-numeric: tabular-nums;
}

.profile-summary-note {
    display: grid;
    width: 100%;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: .7rem;
    margin-top: auto;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

.profile-summary-note i {
    color: #ffd48a;
    font-size: 1.35rem;
}

.profile-summary-note p {
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font-size: .85rem;
    line-height: 1.55;
}

.profile-main {
    min-width: 0;
    padding: 0 2rem;
}

.profile-section {
    padding: 2rem 0;
}

.profile-section + .profile-section {
    border-top: 1px solid var(--oys-border);
}

.profile-section-heading {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    margin-bottom: 1.35rem;
}

.profile-section-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: #065ec7;
    background: #eaf2fd;
    font-size: 1.25rem;
}

.profile-section-icon-coral {
    color: #a53c43;
    background: #fff0f1;
}

.profile-section-heading h2 {
    margin: 0;
    color: var(--oys-navy);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0;
}

.profile-section-heading p {
    margin: .28rem 0 0;
    color: var(--oys-muted);
    font-size: .85rem;
    line-height: 1.45;
}

.profile-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    border-top: 1px solid #e5eaf2;
}

.profile-detail {
    min-width: 0;
    padding: 1rem 1rem 1rem 0;
    border-bottom: 1px solid #e5eaf2;
}

.profile-detail:nth-child(odd) {
    padding-right: 1.5rem;
    border-right: 1px solid #e5eaf2;
}

.profile-detail:nth-child(even) {
    padding-left: 1.5rem;
}

.profile-detail dt {
    margin-bottom: .32rem;
    color: var(--oys-muted);
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.35;
}

.profile-detail dd {
    margin: 0;
    color: var(--oys-text);
    font-size: .96rem;
    font-weight: 750;
    line-height: 1.4;
    overflow-wrap: anywhere;
    font-variant-numeric: tabular-nums;
}

.profile-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem;
}

.profile-field {
    min-width: 0;
}

.profile-label {
    display: block;
    margin-bottom: .45rem;
    color: var(--oys-text);
    font-size: .84rem;
    font-weight: 750;
}

.profile-input-wrap {
    position: relative;
}

.profile-input-wrap > i {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: .85rem;
    color: #6d7b91;
    font-size: 1.15rem;
    transform: translateY(-50%);
    pointer-events: none;
}

.profile-input {
    min-height: 46px;
    padding-left: 2.65rem;
    border-color: #bdc9db;
    border-radius: 6px;
    color: var(--oys-text);
    background: #fff;
    font-size: .92rem;
}

.profile-input:focus {
    border-color: var(--oys-blue);
    box-shadow: 0 0 0 3px rgba(0, 118, 255, .13);
}

.profile-select {
    padding-right: 2.35rem;
}

.profile-phone-prefix {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: .85rem;
    padding-right: .65rem;
    border-right: 1px solid #ccd5e3;
    color: #536177;
    font-size: .85rem;
    font-weight: 750;
    line-height: 1.5;
    transform: translateY(-50%);
    pointer-events: none;
}

.profile-phone-input {
    padding-left: 3.8rem;
    font-variant-numeric: tabular-nums;
}

.profile-field-help,
.profile-field-error {
    display: block;
    margin-top: .4rem;
    font-size: .75rem;
    line-height: 1.45;
}

.profile-field-help {
    color: var(--oys-muted);
}

.profile-field-error {
    color: var(--oys-danger);
    font-weight: 650;
}

.profile-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.35rem;
    padding-top: 1.2rem;
    border-top: 1px solid #e5eaf2;
}

.profile-form-footer p {
    display: flex;
    max-width: 34rem;
    align-items: flex-start;
    gap: .45rem;
    margin: 0;
    color: var(--oys-muted);
    font-size: .78rem;
    line-height: 1.45;
}

.profile-form-footer p i {
    margin-top: .08rem;
    color: var(--oys-success);
    font-size: 1rem;
}

.profile-save-button {
    display: inline-flex;
    min-height: 44px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding-inline: 1rem;
    border-radius: 6px;
    font-weight: 750;
}

.profile-save-button i {
    font-size: 1.08rem;
}

@media (max-width: 991.98px) {
    .profile-shell {
        grid-template-columns: 1fr;
    }

    .profile-summary {
        display: grid;
        grid-template-columns: 68px minmax(0, 1fr) minmax(220px, .8fr);
        align-items: center;
        gap: .2rem 1rem;
        padding: 1.5rem;
    }

    .profile-avatar {
        width: 62px;
        height: 62px;
        grid-row: 1 / 4;
        margin: 0;
        font-size: 1.25rem;
    }

    .profile-summary-label,
    .profile-summary h2,
    .profile-user-number {
        grid-column: 2;
    }

    .profile-summary-note {
        grid-column: 3;
        grid-row: 1 / 4;
        margin: 0;
        padding: 0 0 0 1.2rem;
        border-top: 0;
        border-left: 1px solid rgba(255, 255, 255, .18);
    }
}

@media (max-width: 767.98px) {
    .profile-page-heading {
        align-items: flex-start;
    }

    .profile-page-title-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        font-size: 1.55rem;
    }

    .profile-page-title p {
        font-size: .86rem;
    }

    .profile-home-action span {
        display: none;
    }

    .profile-home-action {
        width: 42px;
        min-height: 42px;
        padding: 0;
    }

    .profile-summary {
        grid-template-columns: 62px minmax(0, 1fr);
    }

    .profile-summary-note {
        grid-column: 1 / -1;
        grid-row: auto;
        margin-top: 1rem;
        padding: 1rem 0 0;
        border-top: 1px solid rgba(255, 255, 255, .18);
        border-left: 0;
    }

    .profile-main {
        padding: 0 1.25rem;
    }

    .profile-detail-grid,
    .profile-form-grid {
        grid-template-columns: 1fr;
    }

    .profile-detail,
    .profile-detail:nth-child(odd),
    .profile-detail:nth-child(even) {
        padding: .9rem 0;
        border-right: 0;
    }

    .profile-form-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .profile-save-button {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .profile-body .main-content {
        margin-top: 64px;
    }

    .profile-page {
        padding-top: 1rem !important;
    }

    .profile-page-heading {
        gap: .65rem;
        margin-bottom: 1rem;
    }

    .profile-page-title {
        align-items: flex-start;
        gap: .7rem;
    }

    .profile-page-title h1 {
        font-size: 1.35rem;
    }

    .profile-page-title p {
        margin-top: .25rem;
    }

    .profile-eyebrow {
        font-size: .66rem;
    }

    .profile-summary {
        padding: 1.2rem;
    }

    .profile-summary h2 {
        font-size: 1.15rem;
    }

    .profile-section {
        padding: 1.35rem 0;
    }

    .profile-section-heading {
        margin-bottom: 1rem;
    }

    .profile-main {
        padding: 0 1rem;
    }
}

.admin-management-body .main-content {
    min-height: calc(100vh - 74px);
}

.admin-management-page {
    padding-top: 2rem;
    padding-bottom: 2.5rem;
}

.admin-management-container {
    width: min(100%, var(--oys-shell-width));
    margin-inline: auto;
    padding-inline: 1.5rem;
}

.admin-management-user {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .8rem;
    color: #fff;
}

.admin-management-user-name {
    max-width: 18rem;
    overflow: hidden;
    font-size: .88rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-management-logout {
    display: inline-flex;
    min-width: 2.5rem;
    min-height: 2.5rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 7px;
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

.admin-management-logout:hover,
.admin-management-logout:focus {
    border-color: #fff;
    color: var(--oys-navy);
    background: #fff;
}

.admin-management-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
}

.admin-management-title {
    min-width: 0;
}

.admin-management-eyebrow {
    display: block;
    margin-bottom: .35rem;
    color: var(--oys-blue);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.admin-management-title h1 {
    margin: 0;
    color: var(--oys-navy);
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1.2;
}

.admin-management-title p,
.admin-management-panel-heading p,
.admin-management-list-heading p {
    margin: .35rem 0 0;
    color: var(--oys-muted);
    font-size: .9rem;
}

.admin-management-heading-actions,
.admin-management-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
}

.admin-application-integrity-form,
.admin-application-repair-form {
    display: inline-flex;
    margin: 0;
}

.admin-management-alert {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: 1rem;
    padding: .85rem 1rem;
    border: 1px solid;
    border-radius: 7px;
    font-weight: 700;
}

.admin-management-alert i {
    flex: 0 0 auto;
    font-size: 1.2rem;
}

.admin-management-alert-copy {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    gap: .7rem;
}

.admin-application-repair-form {
    flex: 0 0 auto;
    margin-left: auto;
}

.admin-management-alert-success {
    border-color: #9ed4b9;
    color: #0d5e3a;
    background: #eef9f3;
}

.admin-management-alert-error {
    border-color: #edb3b7;
    color: var(--oys-danger);
    background: #fff4f4;
}

.admin-management-grid {
    display: grid;
    grid-template-columns: minmax(19rem, .72fr) minmax(0, 1.45fr);
    align-items: start;
    gap: 1.25rem;
}

.admin-management-panel {
    min-width: 0;
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    background: var(--oys-surface);
    box-shadow: var(--oys-shadow);
}

.admin-management-form-panel {
    position: sticky;
    top: 94px;
    padding: 1.35rem;
}

.admin-management-panel-heading {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e7ecf4;
}

.admin-management-panel-icon {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 2.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: var(--oys-navy);
    box-shadow: inset 0 -3px 0 var(--oys-gold);
}

.admin-management-panel-icon i {
    font-size: 1.25rem;
}

.admin-management-panel-heading h2,
.admin-management-list-heading h2 {
    margin: 0;
    color: var(--oys-navy);
    font-size: 1.05rem;
    font-weight: 800;
}

.admin-management-form {
    display: grid;
    gap: 1rem;
}

.admin-management-name-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.admin-management-field {
    min-width: 0;
}

.admin-management-field .form-label {
    margin-bottom: .4rem;
    color: var(--oys-navy);
    font-size: .8rem;
    font-weight: 800;
}

.admin-management-input-wrap {
    position: relative;
}

.admin-management-input-wrap > i {
    position: absolute;
    top: 50%;
    left: .8rem;
    z-index: 2;
    color: #77839a;
    font-size: 1rem;
    transform: translateY(-50%);
    pointer-events: none;
}

.admin-management-input-wrap .form-control {
    min-height: 2.7rem;
    padding-left: 2.35rem;
    border-color: #cfd8e6;
    border-radius: 7px;
}

.admin-management-input-wrap .form-control:focus {
    border-color: var(--oys-blue);
    box-shadow: 0 0 0 .18rem rgba(0, 118, 255, .13);
}

.admin-uppercase-input {
    text-transform: uppercase;
}

.admin-management-field-error {
    display: block;
    min-height: 1rem;
    margin-top: .3rem;
    color: var(--oys-danger);
    font-size: .74rem;
}

.admin-management-validation {
    padding: .75rem .85rem;
    border: 1px solid #edb3b7;
    border-radius: 7px;
    color: var(--oys-danger);
    background: #fff4f4;
    font-size: .8rem;
}

.admin-management-validation:empty {
    display: none;
}

.admin-management-validation ul {
    margin: 0;
    padding-left: 1.1rem;
}

.admin-management-submit {
    display: inline-flex;
    min-height: 2.6rem;
    align-items: center;
    justify-content: center;
    gap: .45rem;
}

.admin-management-list-panel {
    overflow: hidden;
}

.admin-management-list-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.35rem;
    border-bottom: 1px solid #e7ecf4;
}

.admin-management-count {
    display: inline-flex;
    min-width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: var(--oys-navy);
    font-size: .82rem;
    font-weight: 800;
}

.admin-management-table-scroll {
    border-radius: 0;
}

body[data-layout] .admin-management-table {
    min-width: 690px;
}

.admin-management-person {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .65rem;
}

.admin-management-person strong {
    overflow-wrap: anywhere;
}

.admin-management-avatar {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfd8e6;
    border-radius: 7px;
    color: var(--oys-navy);
    background: #f2f6fc;
}

.admin-management-username {
    color: var(--oys-navy);
    font-family: Consolas, "Courier New", monospace;
    font-size: .84rem;
    font-weight: 700;
}

.admin-management-email {
    overflow-wrap: anywhere;
}

.admin-management-current-badge,
.admin-management-access-badge {
    display: inline-flex;
    min-height: 1.7rem;
    align-items: center;
    padding: .25rem .5rem;
    border: 1px solid;
    border-radius: 6px;
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
}

.admin-management-current-badge {
    border-color: #8ac9aa;
    color: #0d5e3a;
    background: #eef9f3;
}

.admin-management-access-badge {
    border-color: #c9d6e8;
    color: #4c5f78;
    background: #f4f7fb;
}

.admin-management-current-row {
    background: #fbfdfc;
}

.admin-management-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .4rem;
}

.admin-management-edit,
.admin-management-delete {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.admin-management-delete:disabled {
    cursor: not-allowed;
    opacity: .48;
}

.admin-management-delete-modal .modal-dialog {
    width: min(31rem, calc(100% - 2rem));
    margin-inline: auto;
}

.admin-management-delete-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 6px;
    box-shadow: 0 18px 55px rgba(0, 25, 74, .24);
}

.admin-management-delete-modal .modal-header,
.admin-management-delete-modal .modal-footer {
    border-color: #e2e8f1;
}

.admin-management-delete-modal .modal-header {
    align-items: flex-start;
    padding: 1.2rem 1.25rem;
}

.admin-management-delete-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .8rem;
}

.admin-management-delete-heading h2 {
    margin: .1rem 0 0;
    color: var(--oys-navy);
    font-size: 1.15rem;
}

.admin-management-delete-icon {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 2.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: #a61b2b;
    background: #fff0f2;
    font-size: 1.25rem;
}

.admin-management-delete-modal .modal-body {
    padding: 1.25rem;
    color: #33445c;
}

.admin-management-delete-modal .modal-body p {
    margin: 0;
}

.admin-management-delete-note {
    margin-top: .8rem !important;
    padding: .75rem .85rem;
    border-left: 3px solid #c72c41;
    color: #6f2330;
    background: #fff6f7;
    font-size: .82rem;
}

.admin-management-delete-modal .modal-footer {
    padding: .9rem 1.25rem;
}

.admin-management-empty {
    padding: 2.5rem !important;
    color: var(--oys-muted);
    text-align: center;
}

@media (max-width: 991.98px) {
    body:not(.login-shell) .footer .app-footer-row {
        gap: .75rem;
    }

    body:not(.login-shell) .footer .app-footer-logo,
    body:not(.login-shell) .footer .app-footer-logo-link {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .admin-management-grid {
        grid-template-columns: 1fr;
    }

    .admin-management-form-panel {
        position: static;
    }

    .admin-management-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767.98px) {
    .admin-management-user-name,
    .admin-management-logout span {
        display: none;
    }

    .admin-management-container {
        padding-inline: 1rem;
    }

    .admin-management-heading-actions {
        width: 100%;
    }

    .admin-management-heading-actions .btn {
        flex: 1 1 auto;
    }
}

@media (max-width: 575.98px) {
    .admin-management-body .main-content {
        min-height: calc(100vh - 64px);
        margin-top: 64px;
    }

    .admin-management-page {
        padding-top: 1.25rem;
    }

    .admin-management-title h1 {
        font-size: 1.4rem;
    }

    .admin-management-name-grid {
        grid-template-columns: 1fr;
    }

    .admin-management-row-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-management-row-actions .btn {
        justify-content: center;
        width: 100%;
    }

    .admin-management-form-actions,
    .admin-management-heading-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-management-form-actions .btn,
    .admin-management-heading-actions .btn {
        width: 100%;
    }

    .admin-management-heading-actions .admin-application-integrity-form {
        width: 100%;
    }

    .admin-management-alert-has-action {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-application-repair-form,
    .admin-application-repair-form .btn {
        width: 100%;
    }

    .admin-management-form-panel,
    .admin-management-list-heading {
        padding: 1rem;
    }

    .admin-management-delete-modal .modal-footer {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .admin-management-delete-modal .modal-footer .btn {
        width: 100%;
    }
}

.admin-announcement-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: 1.25rem;
    overflow: hidden;
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    background: var(--oys-border);
}

.admin-announcement-summary > div {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    background: var(--oys-surface);
}

.admin-announcement-summary span {
    color: var(--oys-muted);
    font-size: .78rem;
    font-weight: 700;
}

.admin-announcement-summary strong {
    color: var(--oys-navy);
    font-size: 1.25rem;
}

.admin-announcement-grid {
    grid-template-columns: minmax(21rem, .78fr) minmax(0, 1.45fr);
}

.admin-announcement-textarea {
    min-height: 8.5rem;
    resize: vertical;
    border-color: #cfd8e6;
    border-radius: 7px;
    line-height: 1.5;
}

.admin-announcement-textarea:focus,
.admin-announcement-form-row .form-control:focus,
.admin-announcement-form-row .form-select:focus,
.admin-announcement-link-fields .form-control:focus {
    border-color: var(--oys-blue);
    box-shadow: 0 0 0 .18rem rgba(0, 118, 255, .13);
}

.admin-announcement-field-meta {
    display: flex;
    min-height: 1.15rem;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .3rem;
}

.admin-announcement-field-meta .admin-management-field-error {
    margin-top: 0;
}

.admin-announcement-field-meta > span:last-child {
    flex: 0 0 auto;
    color: #748198;
    font-size: .72rem;
    font-variant-numeric: tabular-nums;
}

.admin-announcement-form-row {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(7rem, .6fr);
    gap: .8rem;
}

.admin-announcement-form-row .form-control,
.admin-announcement-form-row .form-select,
.admin-announcement-link-fields .form-control {
    min-height: 2.7rem;
    border-color: #cfd8e6;
    border-radius: 7px;
}

.admin-announcement-link-fields {
    display: grid;
    gap: .85rem;
    margin: .15rem 0 0;
    padding: 1rem;
    border: 1px solid #dce4ef;
    border-radius: 7px;
    background: #f8fafd;
}

.admin-announcement-link-fields legend {
    width: auto;
    margin: 0;
    padding: 0 .35rem;
    color: var(--oys-navy);
    font-size: .76rem;
    font-weight: 800;
}

.admin-announcement-publish {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    border: 1px solid #dce4ef;
    border-radius: 7px;
    background: #f8fafd;
}

.admin-announcement-publish > div {
    display: grid;
    min-width: 0;
    gap: .18rem;
}

.admin-announcement-publish strong {
    color: var(--oys-navy);
    font-size: .82rem;
}

.admin-announcement-publish span {
    color: var(--oys-muted);
    font-size: .72rem;
    line-height: 1.4;
}

.admin-announcement-switch {
    position: relative;
    width: 3rem;
    height: 1.7rem;
    flex: 0 0 3rem;
    margin: 0;
    cursor: pointer;
}

.admin-announcement-switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.admin-announcement-switch > span[aria-hidden] {
    position: absolute;
    inset: 0;
    border: 1px solid #aeb9ca;
    border-radius: 999px;
    background: #c9d1dc;
    transition: background-color .18s ease, border-color .18s ease;
}

.admin-announcement-switch > span[aria-hidden]::after {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 25, 74, .28);
    content: "";
    transition: transform .18s ease;
}

.admin-announcement-switch input:checked + span[aria-hidden] {
    border-color: #137d52;
    background: #16895b;
}

.admin-announcement-switch input:checked + span[aria-hidden]::after {
    transform: translateX(1.28rem);
}

.admin-announcement-switch input:focus-visible + span[aria-hidden] {
    outline: 3px solid rgba(0, 118, 255, .22);
    outline-offset: 2px;
}

.admin-announcement-list {
    display: grid;
}

.admin-announcement-item {
    display: grid;
    grid-template-columns: 2.7rem minmax(0, 1fr) auto;
    align-items: start;
    gap: .9rem;
    padding: 1.15rem 1.35rem;
    border-bottom: 1px solid #e7ecf4;
}

.admin-announcement-item:last-child {
    border-bottom: 0;
}

.admin-announcement-item.is-inactive {
    background: #f8f9fb;
}

.admin-announcement-item-icon {
    display: inline-flex;
    width: 2.7rem;
    height: 2.7rem;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: var(--oys-navy);
    font-size: 1.15rem;
    box-shadow: inset 0 -3px 0 var(--oys-gold);
}

.admin-announcement-item-icon.auth-announcement--important {
    background: #a52a36;
    box-shadow: inset 0 -3px 0 #efb0b6;
}

.admin-announcement-item-icon.auth-announcement--support {
    background: #137d52;
    box-shadow: inset 0 -3px 0 #91d2b4;
}

.admin-announcement-item-icon.auth-announcement--date {
    background: #0067df;
    box-shadow: inset 0 -3px 0 #9dccff;
}

.admin-announcement-item-content {
    display: grid;
    min-width: 0;
    gap: .45rem;
}

.admin-announcement-item-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.admin-announcement-order,
.admin-announcement-type,
.admin-announcement-status {
    display: inline-flex;
    min-height: 1.55rem;
    align-items: center;
    padding: .18rem .45rem;
    border: 1px solid #d0daE8;
    border-radius: 5px;
    color: #52647b;
    background: #f4f7fb;
    font-size: .66rem;
    font-weight: 800;
}

.admin-announcement-status.is-active {
    border-color: #8ac9aa;
    color: #0d5e3a;
    background: #eef9f3;
}

.admin-announcement-status.is-passive {
    border-color: #c7ced8;
    color: #5e6672;
    background: #f1f3f6;
}

.admin-announcement-item h3 {
    margin: 0;
    color: var(--oys-navy);
    font-size: 1rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.admin-announcement-item p {
    margin: 0;
    color: #53637a;
    font-size: .82rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
    white-space: pre-line;
}

.admin-announcement-item-content > a {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .3rem;
    color: #005fca;
    font-size: .76rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.admin-announcement-item-content > small {
    color: #7a8798;
    font-size: .68rem;
}

.admin-announcement-item-actions {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.admin-announcement-item-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    white-space: nowrap;
}

.admin-announcement-delete-form {
    margin: 0;
}

.admin-announcement-empty {
    display: grid;
    min-height: 16rem;
    place-items: center;
    align-content: center;
    gap: .45rem;
    padding: 2rem;
    color: var(--oys-muted);
    text-align: center;
}

.admin-announcement-empty i {
    color: #8a98ad;
    font-size: 2.5rem;
}

.admin-announcement-empty strong {
    color: var(--oys-navy);
}

.admin-announcement-empty span {
    font-size: .82rem;
}

@media (max-width: 1199.98px) {
    .admin-announcement-item {
        grid-template-columns: 2.7rem minmax(0, 1fr);
    }

    .admin-announcement-item-actions {
        grid-column: 2;
    }
}

@media (max-width: 991.98px) {
    .admin-announcement-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767.98px) {
    .admin-announcement-summary {
        grid-template-columns: 1fr;
    }

    .admin-announcement-form-row {
        grid-template-columns: 1fr;
    }

    .admin-announcement-item {
        grid-template-columns: 2.5rem minmax(0, 1fr);
        padding: 1rem;
    }

    .admin-announcement-item-icon {
        width: 2.5rem;
        height: 2.5rem;
    }
}

@media (max-width: 419.98px) {
    .admin-announcement-item {
        grid-template-columns: 1fr;
    }

    .admin-announcement-item-icon {
        display: none;
    }

    .admin-announcement-item-actions {
        grid-column: 1;
        align-items: stretch;
        flex-direction: column;
    }

    .admin-announcement-item-actions .btn,
    .admin-announcement-delete-form {
        width: 100%;
    }

    .admin-announcement-publish {
        align-items: flex-start;
    }
}

.admin-dashboard-heading {
    align-items: flex-start;
}

.admin-live-status {
    display: grid;
    grid-template-columns: 3.25rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid;
    border-radius: 8px;
}

.admin-live-status-empty {
    border-color: #d8c8a9;
    background: #fffaf0;
}

.admin-live-status-active {
    border-color: #8ac9aa;
    background: #eef9f3;
}

.admin-live-status-icon {
    display: inline-flex;
    width: 3.25rem;
    height: 3.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--oys-navy);
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 25, 74, .08);
}

.admin-live-status-icon i {
    font-size: 1.6rem;
}

.admin-live-status-copy {
    min-width: 0;
}

.admin-live-status-label {
    display: block;
    margin-bottom: .25rem;
    color: var(--oys-muted);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.admin-live-status-copy h2 {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--oys-navy);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.3;
}

.admin-live-status-copy p {
    margin: .3rem 0 0;
    color: #536077;
    font-size: .84rem;
}

.admin-live-status-action {
    display: inline-flex;
    min-height: 2.65rem;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    white-space: nowrap;
}

.admin-live-status-stats {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0;
    margin: .25rem 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid rgba(19, 122, 76, .22);
}

.admin-live-status-stat {
    display: grid;
    min-width: 0;
    grid-template-columns: 2.2rem minmax(0, 1fr);
    grid-template-areas:
        "icon value"
        "icon label";
    align-items: center;
    column-gap: .65rem;
    padding: 0 .9rem;
    border-left: 1px solid rgba(19, 122, 76, .18);
}

.admin-live-status-stat:first-child {
    padding-left: 0;
    border-left: 0;
}

.admin-live-status-stat-icon {
    display: inline-flex;
    width: 2.2rem;
    height: 2.2rem;
    grid-area: icon;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: var(--oys-navy);
    background: rgba(255, 255, 255, .86);
}

.admin-live-status-stat-icon i {
    font-size: 1.05rem;
}

.admin-live-status-stat dt {
    grid-area: label;
    min-width: 0;
    color: #536077;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.admin-live-status-stat dd {
    grid-area: value;
    margin: 0;
    color: var(--oys-navy);
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.05;
}

.admin-live-status-stat-completed .admin-live-status-stat-icon,
.admin-live-status-stat-music .admin-live-status-stat-icon {
    color: var(--oys-success);
}

.admin-live-status-stat-disabled .admin-live-status-stat-icon,
.admin-live-status-stat-combined .admin-live-status-stat-icon {
    color: var(--oys-gold);
}

.admin-live-status-stat-returning .admin-live-status-stat-icon,
.admin-live-status-stat-art .admin-live-status-stat-icon {
    color: var(--oys-blue);
}

.admin-period-documents-ready {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    padding: .3rem .55rem;
    border: 1px solid #8ac9aa;
    border-radius: 5px;
    color: #106b45;
    background: #eef9f3;
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}

.admin-dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.admin-dashboard-metric {
    display: flex;
    min-width: 0;
    min-height: 6.5rem;
    align-items: center;
    gap: .9rem;
    padding: 1rem;
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    background: var(--oys-surface);
    box-shadow: var(--oys-shadow);
}

.admin-dashboard-metric-icon {
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.admin-dashboard-metric-icon i {
    font-size: 1.35rem;
}

.admin-dashboard-metric-icon-blue {
    color: #075cc7;
    background: #edf5ff;
}

.admin-dashboard-metric-icon-green {
    color: #0d6d43;
    background: #eaf8f1;
}

.admin-dashboard-metric-icon-gold {
    color: #725f37;
    background: #f8f3e8;
}

.admin-dashboard-metric-icon-navy {
    color: #fff;
    background: var(--oys-navy);
}

.admin-dashboard-metric > div {
    min-width: 0;
}

.admin-dashboard-metric-label {
    display: block;
    margin-bottom: .2rem;
    overflow-wrap: anywhere;
    color: var(--oys-muted);
    font-size: .72rem;
    font-weight: 700;
}

.admin-dashboard-metric strong {
    display: block;
    color: var(--oys-navy);
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.1;
}

.admin-dashboard-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(17rem, .7fr);
    align-items: start;
    gap: 1.25rem;
}

.admin-dashboard-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    background: var(--oys-surface);
    box-shadow: var(--oys-shadow);
}

.admin-dashboard-panel-heading {
    display: flex;
    min-height: 4.75rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #e7ecf4;
}

.admin-dashboard-panel-heading > div {
    min-width: 0;
}

.admin-dashboard-panel-heading h2 {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--oys-navy);
    font-size: 1.05rem;
    font-weight: 800;
}

.admin-dashboard-panel-heading .admin-management-eyebrow {
    margin-bottom: .2rem;
}

.admin-dashboard-panel-heading .btn {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .35rem;
}

.admin-dashboard-period-list {
    padding-inline: 1.2rem;
}

.admin-dashboard-period {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.25rem;
    padding: 1.15rem 0;
    border-bottom: 1px solid #edf0f5;
}

.admin-dashboard-period:last-child {
    border-bottom: 0;
}

.admin-dashboard-period-main {
    min-width: 0;
}

.admin-dashboard-period-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    margin-bottom: .45rem;
}

.admin-dashboard-period-year {
    color: var(--oys-muted);
    font-size: .74rem;
    font-weight: 800;
}

.admin-dashboard-period h3 {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--oys-text);
    font-size: .9rem;
    font-weight: 800;
    line-height: 1.35;
}

.admin-dashboard-period p {
    margin: .35rem 0 0;
    color: var(--oys-muted);
    font-size: .76rem;
}

.admin-dashboard-period-summary {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .75rem;
}

.admin-dashboard-period-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(4.5rem, 1fr));
    gap: .4rem;
    margin: 0;
}

.admin-dashboard-period-stats > div {
    min-width: 0;
    padding: .5rem .6rem;
    border-left: 1px solid #e2e8f0;
}

.admin-dashboard-period-stats dt {
    margin: 0 0 .2rem;
    color: var(--oys-muted);
    font-size: .66rem;
    font-weight: 700;
}

.admin-dashboard-period-stats dd {
    margin: 0;
    color: var(--oys-navy);
    font-size: .95rem;
    font-weight: 800;
}

.admin-dashboard-period-action {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    white-space: nowrap;
}

.admin-period-status {
    display: inline-flex;
    min-height: 1.55rem;
    align-items: center;
    padding: .2rem .5rem;
    border: 1px solid;
    border-radius: 6px;
    font-size: .68rem;
    font-weight: 800;
    white-space: nowrap;
}

.admin-period-status-live {
    border-color: #8ac9aa;
    color: #0d5e3a;
    background: #eef9f3;
}

.admin-period-status-scheduled {
    border-color: #9bbfee;
    color: #164f95;
    background: #eef5ff;
}

.admin-period-status-ended {
    border-color: #d8c8a9;
    color: #725f37;
    background: #fffaf0;
}

.admin-period-status-passive {
    border-color: #cbd3df;
    color: #536077;
    background: #f4f6f9;
}

.admin-dashboard-empty {
    display: flex;
    min-height: 11rem;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: 2rem;
    color: var(--oys-muted);
    text-align: center;
}

.admin-dashboard-empty i {
    font-size: 1.35rem;
}

.admin-dashboard-actions {
    display: grid;
    gap: .75rem;
}

.admin-dashboard-action {
    display: grid;
    grid-template-columns: 2.6rem minmax(0, 1fr) 1.5rem;
    min-width: 0;
    min-height: 5.25rem;
    align-items: center;
    gap: .8rem;
    padding: .9rem 1rem;
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    color: var(--oys-text);
    background: var(--oys-surface);
    box-shadow: var(--oys-shadow);
}

.admin-dashboard-action:hover,
.admin-dashboard-action:focus {
    border-color: #9bbfee;
    color: var(--oys-text);
    transform: translateY(-1px);
}

.admin-dashboard-action-icon {
    display: inline-flex;
    width: 2.6rem;
    height: 2.6rem;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--oys-blue);
    background: #edf5ff;
}

.admin-dashboard-action-icon i {
    font-size: 1.25rem;
}

.admin-dashboard-action-copy {
    min-width: 0;
}

.admin-dashboard-action-copy strong,
.admin-dashboard-action-copy small {
    display: block;
    overflow-wrap: anywhere;
}

.admin-dashboard-action-copy strong {
    color: var(--oys-navy);
    font-size: .84rem;
    font-weight: 800;
}

.admin-dashboard-action-copy small {
    margin-top: .2rem;
    color: var(--oys-muted);
    font-size: .7rem;
    line-height: 1.35;
}

.admin-dashboard-action-arrow {
    color: var(--oys-muted);
    font-size: 1.25rem;
}

.admin-applications-panel {
    overflow: hidden;
}

.admin-applications-summary {
    display: inline-flex;
    max-width: 28rem;
    align-items: center;
    gap: .4rem;
    color: var(--oys-muted);
    font-size: .74rem;
    text-align: right;
}

.admin-applications-summary i {
    flex: 0 0 auto;
    color: var(--oys-blue);
    font-size: 1rem;
}

.admin-applications-empty {
    min-height: 12rem;
    border-top: 1px solid #e7ecf4;
}

.admin-applications-table-shell {
    min-width: 0;
    padding: 1rem 1.1rem 1.2rem;
    border-top: 1px solid #e7ecf4;
}

.admin-applications-table-shell .dataTables_length {
    float: left;
    margin-bottom: .85rem;
}

.admin-applications-table-shell .dataTables_filter {
    float: right;
    margin-bottom: .85rem;
}

.admin-applications-table-shell .dataTables_filter label,
.admin-applications-table-shell .dataTables_length label {
    margin-bottom: 0;
    color: var(--oys-muted);
    font-size: .76rem;
    font-weight: 700;
}

.admin-applications-table-shell .dataTables_filter input {
    width: min(18rem, 34vw);
    margin-left: .45rem;
}

.admin-applications-table-shell .dataTables_info {
    float: left;
    padding-top: 1rem;
    color: var(--oys-muted);
    font-size: .74rem;
}

.admin-applications-table-shell .dataTables_paginate {
    display: flex;
    float: right;
    align-items: center;
    gap: .25rem;
    padding-top: .75rem;
}

.admin-applications-table-shell .paginate_button {
    display: inline-flex;
    min-width: 2rem;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    padding: .3rem .55rem;
    border: 1px solid #d4deeb;
    border-radius: 6px;
    color: var(--oys-navy);
    background: #fff;
    font-size: .72rem;
    font-weight: 700;
    cursor: pointer;
}

.admin-applications-table-shell .paginate_button:hover,
.admin-applications-table-shell .paginate_button:focus,
.admin-applications-table-shell .paginate_button.current {
    border-color: var(--oys-navy);
    color: #fff;
    background: var(--oys-navy);
}

.admin-applications-table-shell .paginate_button.disabled {
    border-color: #e5e9f0;
    color: #98a2b3;
    background: #f8fafc;
    cursor: default;
}

body[data-layout] .admin-applications-table {
    clear: both;
    width: 100% !important;
    table-layout: fixed;
    border-collapse: collapse;
}

.admin-applications-col-candidate {
    width: 7.5%;
}

.admin-applications-col-identity {
    width: 10.5%;
}

.admin-applications-col-name {
    width: 13%;
}

.admin-applications-col-disability {
    width: 7%;
}

.admin-applications-col-score {
    width: 8%;
}

.admin-applications-col-preferences {
    width: 36%;
}

.admin-applications-col-actions {
    width: 18%;
}

body[data-layout] .admin-applications-table thead th {
    padding: .68rem 1.15rem .68rem .5rem !important;
    overflow-wrap: anywhere;
    font-size: .65rem;
    line-height: 1.35;
    white-space: normal;
}

body[data-layout] .admin-applications-table tbody td {
    min-width: 0;
    padding: .68rem .5rem !important;
    overflow-wrap: anywhere;
    font-size: .75rem;
    line-height: 1.45;
    white-space: normal;
}

.admin-application-cell-candidate strong,
.admin-application-cell-name strong {
    color: var(--oys-navy);
    font-weight: 800;
}

.admin-application-cell-identity {
    font-family: Consolas, "Courier New", monospace;
    font-size: .7rem !important;
}

.admin-application-cell-score {
    font-variant-numeric: tabular-nums;
}

.admin-application-preferences {
    display: grid;
    min-width: 0;
    gap: .4rem;
}

.admin-application-preference-line {
    min-width: 0;
    color: var(--oys-navy);
    font-size: .7rem;
    font-weight: 800;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.admin-application-preference-line + .admin-application-preference-line {
    padding-top: .4rem;
    border-top: 1px solid #e1e7f0;
}

.admin-application-preferences em {
    color: var(--oys-muted);
    font-size: .7rem;
}

.admin-application-actions {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
}

.admin-application-actions .btn {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    padding: .35rem .55rem;
    border-radius: 6px;
    font-size: .68rem;
    white-space: nowrap;
}

.admin-application-actions .btn i {
    font-size: .9rem;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .admin-applications-table-shell {
        padding-inline: .75rem;
    }

    body[data-layout] .admin-applications-table thead th {
        padding-right: 1rem !important;
        padding-left: .4rem !important;
        font-size: .6rem;
    }

    body[data-layout] .admin-applications-table tbody td {
        padding-inline: .4rem !important;
        font-size: .69rem;
    }

    .admin-application-preference-line {
        font-size: .64rem;
    }

    .admin-application-actions .btn {
        padding-inline: .42rem;
        font-size: .63rem;
    }
}

@media (max-width: 991.98px) {
    .admin-applications-summary {
        align-items: flex-start;
        text-align: left;
    }

    .admin-applications-table-shell {
        padding: .9rem;
    }

    .admin-applications-table-shell .dataTables_length,
    .admin-applications-table-shell .dataTables_filter {
        width: 100%;
        float: none;
        margin-bottom: .75rem;
    }

    .admin-applications-table-shell .dataTables_filter label,
    .admin-applications-table-shell .dataTables_length label {
        display: grid;
        width: 100%;
        gap: .35rem;
    }

    .admin-applications-table-shell .dataTables_filter input,
    .admin-applications-table-shell .dataTables_length select {
        width: 100% !important;
        margin-left: 0;
    }

    body[data-layout] .admin-applications-table,
    body[data-layout] .admin-applications-table tbody {
        display: block;
        width: 100% !important;
        min-width: 0;
        max-width: 100%;
    }

    .admin-applications-table colgroup {
        display: none;
    }

    .admin-applications-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    body[data-layout] .admin-applications-table tbody {
        display: grid;
        gap: .8rem;
    }

    body[data-layout] .admin-applications-table tbody tr {
        display: grid;
        width: 100% !important;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem 1rem;
        padding: 1rem;
        border: 1px solid #dce4ef;
        border-top: 3px solid var(--oys-navy);
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 8px 22px rgba(0, 25, 74, .07);
    }

    body[data-layout] .admin-applications-table tbody tr:hover {
        background: #fff;
    }

    body[data-layout] .admin-applications-table tbody td {
        display: grid;
        min-width: 0;
        align-content: start;
        gap: .22rem;
        padding: 0 !important;
        border: 0;
        font-size: .8rem;
    }

    .admin-applications-table tbody td::before {
        content: attr(data-label);
        color: var(--oys-muted);
        font-size: .62rem;
        font-weight: 800;
        line-height: 1.25;
        text-transform: uppercase;
    }

    .admin-applications-table .admin-application-cell-name,
    .admin-applications-table .admin-application-cell-preferences,
    .admin-applications-table .admin-application-cell-actions,
    .admin-applications-table .dataTables_empty {
        grid-column: 1 / -1;
    }

    .admin-application-cell-name {
        padding-bottom: .7rem !important;
        border-bottom: 1px solid #e7ecf4 !important;
    }

    .admin-application-cell-name strong {
        font-size: .95rem;
    }

    .admin-application-cell-preferences {
        padding-top: .15rem !important;
    }

    .admin-application-preference-line {
        font-size: .72rem;
    }

    .admin-application-cell-actions {
        padding-top: .7rem !important;
        border-top: 1px solid #e7ecf4 !important;
    }

    .admin-application-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-application-actions .btn {
        width: 100%;
        min-height: 2.4rem;
    }

    .admin-applications-table .dataTables_empty::before {
        content: none;
    }

    .admin-applications-table-shell .dataTables_info,
    .admin-applications-table-shell .dataTables_paginate {
        width: 100%;
        float: none;
        text-align: center;
    }

    .admin-applications-table-shell .dataTables_paginate {
        display: flex;
        justify-content: center;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 575.98px) {
    .admin-applications-table-shell {
        padding: .75rem;
    }

    body[data-layout] .admin-applications-table tbody tr {
        gap: .7rem .8rem;
        padding: .9rem;
    }

    .admin-application-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-application-action-primary {
        grid-column: 1 / -1;
    }
}

.admin-periods-panel {
    overflow: hidden;
}

.admin-periods-legend {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--oys-muted);
    font-size: .74rem;
}

.admin-periods-table-scroll {
    border: 0;
    border-radius: 0;
}

body[data-layout] .admin-periods-table {
    min-width: 1020px;
    margin-bottom: 0;
}

.admin-periods-name {
    display: grid;
    min-width: 14rem;
    gap: .25rem;
}

.admin-periods-name strong {
    max-width: 28rem;
    overflow-wrap: anywhere;
    color: var(--oys-navy);
    font-size: .82rem;
}

.admin-periods-name span {
    color: var(--oys-muted);
    font-family: Consolas, "Courier New", monospace;
    font-size: .7rem;
}

.admin-periods-date {
    display: grid;
    grid-template-columns: 1fr 1rem 1fr;
    align-items: center;
    gap: .3rem;
    min-width: 17rem;
    color: #475467;
    font-size: .74rem;
}

.admin-periods-date i {
    color: #98a2b3;
}

.admin-periods-completion {
    display: flex;
    min-width: 4rem;
    align-items: baseline;
    gap: .35rem;
}

.admin-periods-completion small {
    color: var(--oys-muted);
    font-size: .68rem;
}

.admin-periods-actions {
    display: flex;
    min-width: 25rem;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .4rem;
}

.admin-periods-actions .btn {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    gap: .3rem;
    white-space: nowrap;
}

.admin-periods-status-form,
.admin-periods-notification-form {
    margin: 0;
}

.admin-period-notification {
    display: grid;
    min-width: 16rem;
    gap: .35rem;
    margin-top: .5rem;
    color: #667085;
    font-size: .68rem;
    text-align: left;
}

.admin-period-notification-label,
.admin-period-notification-count {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .35rem;
}

.admin-period-notification-label {
    font-weight: 750;
}

.admin-period-notification-label i {
    color: #087f5b;
    font-size: .9rem;
}

.admin-period-notification-count small {
    color: #b42318;
    font-weight: 750;
}

.admin-period-notification-progress {
    display: block;
    width: 100%;
    height: .3rem;
    overflow: hidden;
    border-radius: 3px;
    background: #e8edf4;
}

.admin-period-notification-progress > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #087f5b;
}

.admin-period-notification-kismi_hata .admin-period-notification-label i {
    color: #b42318;
}

.admin-period-notification-kismi_hata .admin-period-notification-progress > span {
    background: #b42318;
}

.admin-period-notification-bekliyor .admin-period-notification-label i,
.admin-period-notification-gonderiliyor .admin-period-notification-label i {
    color: #9a6700;
}

.admin-period-notification-bekliyor .admin-period-notification-progress > span,
.admin-period-notification-gonderiliyor .admin-period-notification-progress > span {
    background: #d4a72c;
}

.admin-period-edit-modal .modal-dialog {
    width: min(46rem, calc(100% - 2rem));
    height: calc(100% - 2rem);
    max-height: calc(100dvh - 2rem);
    margin: 1rem auto;
}

.admin-period-edit-modal .modal-content {
    max-height: 100%;
    overflow: hidden;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 1.5rem 4rem rgba(0, 25, 74, .24);
}

.admin-period-edit-modal #periodEditForm {
    display: flex;
    min-height: 0;
    max-height: 100%;
    flex: 1 1 auto;
    flex-direction: column;
}

body.admin-period-edit-open .modal-backdrop.show {
    backdrop-filter: blur(5px);
}

.admin-period-edit-header {
    flex: 0 0 auto;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e5eaf2;
    background: #f8fafc;
}

.admin-period-edit-title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .75rem;
}

.admin-period-edit-title > div {
    min-width: 0;
}

.admin-period-edit-title > div > span {
    display: block;
    margin-bottom: .15rem;
    color: var(--oys-muted);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.admin-period-edit-title h2 {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--oys-navy);
    font-size: 1.05rem;
    font-weight: 800;
}

.admin-period-edit-icon {
    display: inline-flex;
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 2.6rem;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: var(--oys-navy);
    color: #fff;
    font-size: 1.2rem;
}

.admin-period-edit-body {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1.25rem;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

.admin-period-edit-note {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin-bottom: 1rem;
    padding: .75rem .85rem;
    border: 1px solid rgba(160, 143, 108, .45);
    border-radius: 7px;
    background: rgba(160, 143, 108, .09);
    color: #5f543d;
    font-size: .76rem;
    font-weight: 700;
}

.admin-period-edit-note i {
    margin-top: .08rem;
    color: var(--oys-gold);
    font-size: 1rem;
}

.admin-period-edit-form-grid {
    display: grid;
    grid-template-columns: minmax(9rem, .4fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
}

.admin-period-edit-field-wide {
    grid-column: span 2;
}

.admin-period-edit-actions {
    flex: 0 0 auto;
    gap: .6rem;
    padding: .9rem 1.25rem;
    border-top: 1px solid #e5eaf2;
    background: #f8fafc;
}

.admin-period-edit-actions .btn {
    display: inline-flex;
    min-height: 2.55rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
}

.admin-periods-mobile-list {
    display: none;
}

.admin-periods-mobile-item {
    padding: 1rem;
    border-bottom: 1px solid #e7ecf4;
}

.admin-periods-mobile-item:last-child {
    border-bottom: 0;
}

.admin-periods-mobile-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}

.admin-periods-mobile-heading .admin-periods-name {
    min-width: 0;
}

.admin-periods-mobile-dates {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1.25rem minmax(0, 1fr);
    align-items: center;
    gap: .35rem;
    margin-top: 1rem;
    padding: .75rem;
    border: 1px solid #e1e7f0;
    border-radius: 7px;
    background: #f8fafc;
}

.admin-periods-mobile-dates > div {
    min-width: 0;
}

.admin-periods-mobile-dates span,
.admin-periods-mobile-dates strong {
    display: block;
    overflow-wrap: anywhere;
}

.admin-periods-mobile-dates span {
    margin-bottom: .25rem;
    color: var(--oys-muted);
    font-size: .65rem;
    font-weight: 700;
}

.admin-periods-mobile-dates strong {
    color: var(--oys-text);
    font-size: .72rem;
}

.admin-periods-mobile-dates i {
    color: #98a2b3;
    text-align: center;
}

.admin-periods-mobile-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    margin: .75rem 0 0;
}

.admin-periods-mobile-stats > div {
    padding: .6rem;
    border: 1px solid #e1e7f0;
    border-radius: 7px;
}

.admin-periods-mobile-stats dt {
    color: var(--oys-muted);
    font-size: .64rem;
    font-weight: 700;
}

.admin-periods-mobile-stats dd {
    margin: .15rem 0 0;
    color: var(--oys-navy);
    font-size: .88rem;
    font-weight: 800;
}

.admin-periods-mobile-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
    margin-top: .75rem;
}

.admin-periods-mobile-actions .btn {
    display: inline-flex;
    width: 100%;
    min-height: 2.35rem;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    padding-inline: .4rem;
    font-size: .7rem;
}

.admin-periods-mobile-actions .admin-period-documents-ready {
    width: 100%;
}

.admin-periods-mobile-item .admin-period-notification {
    min-width: 0;
    margin-top: .75rem;
    padding: .65rem .75rem;
    border: 1px solid #e1e7f0;
    border-radius: 7px;
    background: #f8fafc;
}

.admin-periods-mobile-item .admin-period-notification-label,
.admin-periods-mobile-item .admin-period-notification-count {
    justify-content: flex-start;
}

.user-exam-document-availability {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin: 1rem 1.25rem 0;
    padding: .85rem 1rem;
    border: 1px solid #d4a72c;
    border-radius: 7px;
    background: #fff9e8;
    color: #5f4b12;
}

.user-exam-document-availability > i {
    flex: 0 0 auto;
    margin-top: .1rem;
    font-size: 1.2rem;
}

.user-exam-document-availability strong,
.user-exam-document-availability span {
    display: block;
}

.user-exam-document-availability strong {
    color: #433607;
    font-size: .82rem;
}

.user-exam-document-availability span {
    margin-top: .2rem;
    font-size: .74rem;
    line-height: 1.55;
}

.admin-period-create-panel {
    max-width: 72rem;
    margin-inline: auto;
}

.admin-period-create-required {
    color: var(--oys-danger);
    font-size: .74rem;
    font-weight: 700;
}

.admin-period-create-form {
    display: grid;
    grid-template-columns: minmax(10rem, .45fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    padding: 1.25rem;
}

.admin-period-create-field {
    min-width: 0;
}

.admin-period-create-field-wide {
    grid-column: span 2;
}

.admin-period-create-field-full,
.admin-period-form-section {
    grid-column: 1 / -1;
}

.admin-period-form-section {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-top: .35rem;
    padding: .85rem 0 .65rem;
    border-top: 1px solid #e3e8f1;
}

.admin-period-form-section-icon {
    display: inline-flex;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 2.4rem;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: var(--oys-navy);
    color: #fff;
    font-size: 1.1rem;
}

.admin-period-form-section > div {
    min-width: 0;
}

.admin-period-form-section > div > span {
    display: block;
    color: var(--oys-gold-dark);
    font-size: .66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.admin-period-form-section h3 {
    margin: .12rem 0 0;
    overflow-wrap: anywhere;
    color: var(--oys-navy);
    font-size: .94rem;
    font-weight: 800;
}

.admin-period-program-heading {
    display: flex;
    min-width: 0;
    grid-column: 1 / -1;
    align-items: center;
    gap: .65rem;
    padding: .55rem .75rem;
    border-left: 3px solid var(--oys-gold);
    background: #f7f9fc;
}

.admin-period-program-heading > i {
    color: var(--oys-navy);
    font-size: 1.05rem;
}

.admin-period-program-heading > div {
    display: grid;
    min-width: 0;
    gap: .1rem;
}

.admin-period-program-heading strong {
    overflow-wrap: anywhere;
    color: var(--oys-navy);
    font-size: .82rem;
}

.admin-period-program-heading small {
    color: var(--oys-muted);
    font-size: .68rem;
}

.admin-period-create-field .form-label {
    margin-bottom: .4rem;
    color: var(--oys-navy);
    font-size: .78rem;
    font-weight: 800;
}

.admin-period-create-field .form-control {
    min-height: 2.7rem;
}

.admin-period-create-actions {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: flex-end;
    gap: .6rem;
    padding-top: .35rem;
    border-top: 1px solid #edf0f5;
}

.admin-period-create-actions .btn {
    display: inline-flex;
    min-height: 2.6rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
}

@media (max-width: 1199.98px) {
    .admin-live-status-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        row-gap: 1rem;
    }

    .admin-live-status-stat:nth-child(4n + 1) {
        padding-left: 0;
        border-left: 0;
    }

    .admin-dashboard-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-dashboard-content-grid {
        grid-template-columns: minmax(0, 1.45fr) minmax(15rem, .65fr);
    }

    .admin-dashboard-period {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .admin-dashboard-period-summary {
        width: 100%;
        justify-content: space-between;
    }

    .admin-dashboard-period-stats {
        flex: 1 1 auto;
        width: 100%;
    }
}

@media (max-width: 991.98px) {
    .admin-dashboard-content-grid {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-dashboard-action {
        grid-template-columns: 2.6rem minmax(0, 1fr);
    }

    .admin-dashboard-action-arrow {
        display: none;
    }

    .admin-period-create-form {
        grid-template-columns: 1fr 1fr;
    }

    .admin-period-create-field-wide {
        grid-column: 1 / -1;
    }

    .admin-period-edit-form-grid {
        grid-template-columns: 1fr 1fr;
    }

    .admin-period-edit-field-wide {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .admin-live-status {
        grid-template-columns: 2.75rem minmax(0, 1fr);
    }

    .admin-live-status-icon {
        width: 2.75rem;
        height: 2.75rem;
    }

    .admin-live-status-action {
        grid-column: 1 / -1;
        width: 100%;
    }

    .admin-live-status-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 1rem;
    }

    .admin-live-status-stat {
        padding: 0 .75rem;
    }

    .admin-live-status-stat:nth-child(odd) {
        padding-left: 0;
        border-left: 0;
    }

    .admin-dashboard-actions {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-action {
        grid-template-columns: 2.6rem minmax(0, 1fr) 1.5rem;
    }

    .admin-dashboard-action-arrow {
        display: block;
    }

    .admin-periods-legend {
        align-items: flex-start;
    }

    .admin-periods-table-scroll {
        display: none;
    }

    .admin-periods-mobile-list {
        display: block;
    }
}

@media (max-width: 575.98px) {
    .admin-dashboard-metrics {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .admin-dashboard-metric {
        min-height: 5.6rem;
    }

    .admin-live-status {
        padding: 1rem;
    }

    .admin-live-status-copy h2 {
        font-size: 1rem;
    }

    .admin-live-status-stat {
        grid-template-columns: 2rem minmax(0, 1fr);
        column-gap: .55rem;
    }

    .admin-live-status-stat-icon {
        width: 2rem;
        height: 2rem;
    }

    .admin-live-status-stat dd {
        font-size: 1.1rem;
    }

    .admin-dashboard-panel-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-dashboard-panel-heading .btn {
        width: 100%;
        justify-content: center;
    }

    .admin-dashboard-period {
        gap: .8rem;
    }

    .admin-dashboard-period-summary {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-dashboard-period-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-dashboard-period-action {
        width: 100%;
    }

    .admin-dashboard-period-stats > div {
        padding: .45rem;
    }

    .admin-dashboard-period-stats dt {
        overflow-wrap: anywhere;
    }

    .admin-period-create-form {
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    .admin-period-create-field-wide {
        grid-column: auto;
    }

    .admin-period-create-field-full,
    .admin-period-form-section {
        grid-column: auto;
    }

    .admin-period-create-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .admin-period-create-actions .btn {
        width: 100%;
    }

    .admin-periods-mobile-heading {
        flex-direction: column;
    }

    .admin-periods-mobile-actions {
        grid-template-columns: 1fr;
    }

    .admin-period-edit-modal .modal-dialog {
        width: calc(100% - 1rem);
        height: calc(100% - 1rem);
        max-height: calc(100dvh - 1rem);
        margin: .5rem auto;
    }

    .admin-period-edit-header,
    .admin-period-edit-body,
    .admin-period-edit-actions {
        padding-inline: 1rem;
    }

    .admin-period-edit-form-grid {
        grid-template-columns: 1fr;
    }

    .admin-period-edit-field-wide {
        grid-column: auto;
    }

    .admin-period-edit-actions {
        align-items: stretch;
        flex-direction: column-reverse;
        padding-bottom: max(.9rem, env(safe-area-inset-bottom));
    }

    .admin-period-edit-actions .btn {
        width: 100%;
    }
}

/* Admin başvuru detay kartı ve modal görünümü */
body.admin-application-modal-open {
    overflow: hidden;
}

.admin-application-modal[hidden] {
    display: none;
}

.admin-application-modal {
    position: fixed;
    z-index: 1085;
    inset: 0;
    display: grid;
    align-items: center;
    justify-items: center;
    padding: 24px;
    opacity: 0;
    transition: opacity .16s ease;
}

.admin-application-modal.is-open {
    opacity: 1;
}

.admin-application-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 25, 74, .58);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.admin-application-modal-dialog {
    position: relative;
    width: min(1080px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    overflow: auto;
    border: 1px solid rgba(0, 25, 74, .14);
    border-radius: 8px;
    outline: 0;
    background: #fff;
    box-shadow: 0 28px 72px rgba(0, 25, 74, .3);
    transform: translateY(12px) scale(.985);
    transition: transform .16s ease;
}

.admin-application-modal.is-open .admin-application-modal-dialog {
    transform: translateY(0) scale(1);
}

.admin-application-modal-content {
    min-height: 14rem;
}

.admin-application-modal-loading,
.admin-application-modal-error {
    display: flex;
    min-height: 14rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .8rem;
    padding: 2rem;
    color: var(--oys-muted);
    text-align: center;
}

.admin-application-modal-loading .spinner-border {
    width: 2rem;
    height: 2rem;
    color: var(--oys-blue);
}

.admin-application-modal-error > i {
    color: #b42318;
    font-size: 2.4rem;
}

.admin-application-modal-error strong {
    color: var(--oys-navy);
    font-size: 1.05rem;
}

.admin-application-modal-error > div {
    display: flex;
    gap: .6rem;
    margin-top: .35rem;
}

.admin-application-detail-page-container {
    max-width: 1180px;
}

.admin-application-detail-card {
    overflow: hidden;
    border: 1px solid var(--oys-border);
    border-radius: 8px;
    color: var(--oys-ink);
    background: #fff;
    box-shadow: 0 18px 42px rgba(0, 25, 74, .1);
}

.admin-application-detail-header {
    position: sticky;
    z-index: 5;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid var(--oys-border);
    background: rgba(255, 255, 255, .97);
}

.admin-application-detail-title {
    min-width: 0;
}

.admin-application-detail-title h2 {
    margin: .15rem 0 .2rem;
    color: var(--oys-navy);
    font-size: 1.35rem;
    line-height: 1.25;
}

.admin-application-detail-title p {
    margin: 0;
    color: var(--oys-muted);
    font-size: .82rem;
    font-weight: 600;
}

.admin-application-detail-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    gap: .55rem;
}

.admin-application-detail-actions .btn {
    display: inline-flex;
    min-height: 2.55rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border-radius: 7px;
    font-size: .78rem;
    font-weight: 700;
    white-space: normal;
}

.admin-application-detail-actions .dropdown {
    display: flex;
}

.admin-application-modal-close {
    display: inline-flex;
    width: 2.55rem;
    height: 2.55rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.55rem;
    padding: 0;
    border: 1px solid #d4dce8;
    border-radius: 7px;
    color: var(--oys-navy);
    background: #fff;
    font-size: 1.45rem;
    text-decoration: none;
}

.admin-application-modal-close:hover,
.admin-application-modal-close:focus {
    border-color: var(--oys-navy);
    color: #fff;
    background: var(--oys-navy);
}

.admin-application-detail-profile {
    display: grid;
    grid-template-columns: 126px minmax(0, 1fr);
    align-items: stretch;
    gap: 1.35rem;
    padding: 1.35rem;
    border-bottom: 1px solid var(--oys-border);
    background: #f6f9fd;
}

.admin-application-detail-photo {
    display: flex;
    width: 126px;
    min-height: 168px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #ccd7e6;
    border-radius: 7px;
    background: #fff;
}

.admin-application-detail-photo img {
    width: 100%;
    height: 168px;
    object-fit: cover;
}

.admin-application-detail-photo > span {
    display: inline-flex;
    width: 100%;
    height: 168px;
    align-items: center;
    justify-content: center;
    color: #8290a5;
    background: #edf1f7;
    font-size: 3rem;
}

.admin-application-detail-profile-content {
    display: flex;
    min-width: 0;
    justify-content: space-between;
    flex-direction: column;
    gap: 1rem;
}

.admin-application-detail-status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .7rem;
}

.admin-application-detail-status {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #7a4d00;
    font-size: .78rem;
    font-weight: 800;
}

.admin-application-detail-status.is-complete {
    color: #067647;
}

.admin-application-detail-guid {
    color: var(--oys-muted);
    font-size: .74rem;
    font-weight: 700;
}

.admin-application-detail-highlight-grid,
.admin-application-detail-grid {
    display: grid;
    margin: 0;
}

.admin-application-detail-highlight-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #dce5f1;
    border-bottom: 1px solid #dce5f1;
}

.admin-application-detail-highlight-grid > div {
    min-width: 0;
    padding: .8rem 1rem;
    border-left: 1px solid #dce5f1;
}

.admin-application-detail-highlight-grid > div:first-child {
    border-left: 0;
}

.admin-application-detail-highlight-grid dt,
.admin-application-detail-grid dt {
    margin: 0 0 .25rem;
    color: var(--oys-muted);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.admin-application-detail-highlight-grid dd,
.admin-application-detail-grid dd {
    min-width: 0;
    margin: 0;
    color: var(--oys-navy);
    font-size: .88rem;
    font-weight: 700;
}

.admin-application-detail-section {
    padding: 1.25rem 1.35rem;
    border-bottom: 1px solid var(--oys-border);
}

.admin-application-detail-section-heading {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .9rem;
}

.admin-application-detail-section-heading > i {
    color: var(--oys-gold);
    font-size: 1.2rem;
}

.admin-application-detail-section-heading h3 {
    margin: 0;
    color: var(--oys-navy);
    font-size: .96rem;
}

.admin-application-detail-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

.admin-application-detail-grid > div {
    min-width: 0;
    padding: .75rem 1rem .75rem 0;
    border-top: 1px solid #e7ecf4;
}

.admin-application-detail-grid > div:nth-child(-n+3) {
    border-top: 0;
}

.admin-application-detail-grid dd.is-breakable {
    overflow-wrap: anywhere;
}

.admin-application-detail-preferences {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-application-detail-preferences > div {
    min-width: 0;
    padding: .25rem 1.25rem .25rem 0;
}

.admin-application-detail-preferences > div + div {
    padding-right: 0;
    padding-left: 1.25rem;
    border-left: 1px solid #e1e7f0;
}

.admin-application-detail-preferences strong {
    display: block;
    margin-bottom: .45rem;
    color: var(--oys-navy);
    font-size: .84rem;
}

.admin-application-detail-preferences ul {
    margin: 0;
    padding-left: 1.05rem;
    color: #334155;
}

.admin-application-detail-preferences li + li {
    margin-top: .35rem;
}

.admin-application-detail-preferences span {
    color: var(--oys-muted);
    font-size: .82rem;
}

.admin-application-detail-address-grid {
    grid-template-columns: minmax(180px, .65fr) minmax(0, 2fr);
}

.admin-application-detail-address-grid > div:nth-child(-n+3) {
    border-top: 0;
}

.admin-application-detail-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .65rem 1.25rem;
    padding: .85rem 1.35rem;
    color: var(--oys-muted);
    background: #fbfcfe;
    font-size: .72rem;
}

.admin-application-detail-meta strong {
    color: #536278;
}

@media (max-width: 991.98px) {
    .admin-application-modal {
        padding: 16px;
    }

    .admin-application-modal-dialog {
        width: calc(100vw - 32px);
        max-height: calc(100vh - 32px);
        max-height: calc(100dvh - 32px);
    }

    .admin-application-detail-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-application-detail-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .admin-application-modal-close {
        margin-left: auto;
    }

    .admin-application-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-application-detail-grid > div:nth-child(3) {
        border-top: 1px solid #e7ecf4;
    }

    .admin-application-detail-grid > div:nth-child(-n+2) {
        border-top: 0;
    }
}

@media (max-width: 575.98px) {
    .admin-application-modal {
        display: block;
        padding: 0;
    }

    .admin-application-modal-dialog {
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        max-height: none;
        border: 0;
        border-radius: 0;
        transform: translateY(18px);
    }

    .admin-application-detail-card {
        min-height: 100%;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .admin-application-detail-header {
        gap: .8rem;
        padding: .9rem 1rem;
    }

    .admin-application-detail-title h2 {
        font-size: 1.12rem;
    }

    .admin-application-detail-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 2.55rem;
        align-items: stretch;
        gap: .45rem;
    }

    .admin-application-detail-actions .btn {
        width: 100%;
        min-width: 0;
        min-height: 3rem;
        padding: .45rem .55rem;
        font-size: .68rem;
        line-height: 1.25;
    }

    .admin-application-detail-actions .dropdown {
        min-width: 0;
    }

    .admin-application-detail-actions .dropdown .btn {
        height: 100%;
    }

    .admin-application-modal-close {
        width: 2.55rem;
        height: 100%;
        min-height: 3rem;
        margin-left: 0;
    }

    .admin-application-detail-profile {
        grid-template-columns: 90px minmax(0, 1fr);
        gap: .9rem;
        padding: 1rem;
    }

    .admin-application-detail-photo {
        width: 90px;
        min-height: 120px;
    }

    .admin-application-detail-photo img,
    .admin-application-detail-photo > span {
        height: 120px;
    }

    .admin-application-detail-status-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-application-detail-highlight-grid {
        grid-template-columns: 1fr;
    }

    .admin-application-detail-highlight-grid > div {
        padding: .55rem 0;
        border-top: 1px solid #dce5f1;
        border-left: 0;
    }

    .admin-application-detail-highlight-grid > div:first-child {
        border-top: 0;
    }

    .admin-application-detail-section {
        padding: 1rem;
    }

    .admin-application-detail-grid,
    .admin-application-detail-address-grid {
        grid-template-columns: 1fr;
    }

    .admin-application-detail-grid > div,
    .admin-application-detail-grid > div:nth-child(2),
    .admin-application-detail-grid > div:nth-child(3) {
        padding-right: 0;
        border-top: 1px solid #e7ecf4;
    }

    .admin-application-detail-grid > div:first-child {
        border-top: 0;
    }

    .admin-application-detail-preferences {
        grid-template-columns: 1fr;
    }

    .admin-application-detail-preferences > div {
        padding: .25rem 0;
    }

    .admin-application-detail-preferences > div + div {
        margin-top: .8rem;
        padding: .8rem 0 0;
        border-top: 1px solid #e1e7f0;
        border-left: 0;
    }

    .admin-application-detail-meta {
        align-items: flex-start;
        flex-direction: column;
        padding: .8rem 1rem;
    }
}

@media (max-width: 359.98px) {
    .admin-application-detail-profile {
        grid-template-columns: 1fr;
    }

    .admin-application-detail-photo {
        width: 84px;
        min-height: 112px;
    }

    .admin-application-detail-photo img,
    .admin-application-detail-photo > span {
        height: 112px;
    }
}

.user-application-detail-page-container {
    max-width: 1180px;
}

body.user-application-detail-body .admin-application-detail-header {
    position: relative;
}

body.user-application-detail-body .user-application-detail-actions {
    max-width: 46rem;
    flex-wrap: wrap;
}

body.user-application-detail-body .user-application-detail-actions .btn {
    flex: 0 1 auto;
}

@media (max-width: 991.98px) {
    body.user-application-detail-body .user-application-detail-actions {
        max-width: none;
    }
}

@media (max-width: 575.98px) {
    body.user-application-detail-body .admin-management-page {
        padding-top: .75rem;
        padding-bottom: 1.5rem;
    }

    body.user-application-detail-body .user-application-detail-page-container {
        padding-inline: .65rem;
    }

    body.user-application-detail-body .admin-application-detail-card {
        min-height: 0;
        border: 1px solid var(--oys-border);
        border-radius: 8px;
        box-shadow: 0 12px 28px rgba(0, 25, 74, .09);
    }

    body.user-application-detail-body .admin-application-detail-photo {
        align-self: start;
    }

    body.user-application-detail-body .user-application-detail-actions {
        grid-template-columns: 1fr;
    }

    body.user-application-detail-body .user-application-detail-actions .btn {
        min-height: 2.75rem;
        font-size: .74rem;
    }
}

body.user-exam-document-modal-open {
    overflow: hidden;
}

body.application-dual-warning-open {
    overflow: hidden;
}

.application-dual-program-warning[hidden] {
    display: none !important;
}

.application-dual-program-warning {
    position: fixed;
    z-index: 1190;
    inset: 0;
    display: grid;
    align-items: center;
    justify-items: center;
    padding: 20px;
    opacity: 0;
    transition: opacity .16s ease;
}

.application-dual-program-warning.is-open {
    opacity: 1;
}

.application-dual-program-warning-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 25, 74, .68);
    -webkit-backdrop-filter: blur(9px);
    backdrop-filter: blur(9px);
}

.application-dual-program-warning-dialog {
    position: relative;
    display: grid;
    width: min(560px, calc(100vw - 40px));
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1.35rem;
    border: 1px solid rgba(160, 143, 108, .48);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(0, 25, 74, .3);
    transform: translateY(12px) scale(.985);
    transition: transform .16s ease;
}

.application-dual-program-warning.is-open .application-dual-program-warning-dialog {
    transform: translateY(0) scale(1);
}

.application-dual-program-warning-icon {
    display: inline-flex;
    width: 3rem;
    height: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: var(--oys-gold);
    font-size: 1.55rem;
}

.application-dual-program-warning-dialog h3 {
    margin: .2rem 0 .55rem;
    color: var(--oys-navy);
    font-size: 1.15rem;
    line-height: 1.3;
}

.application-dual-program-warning-dialog p {
    margin: 0;
    color: #4f5d75;
    font-size: .9rem;
    line-height: 1.65;
}

.application-dual-program-warning-dialog .btn {
    grid-column: 2;
    justify-self: start;
    margin-top: .2rem;
}

@media (max-width: 575.98px) {
    .application-dual-program-warning {
        padding: 12px;
    }

    .application-dual-program-warning-dialog {
        width: calc(100vw - 24px);
        grid-template-columns: 1fr;
        padding: 1.1rem;
    }

    .application-dual-program-warning-dialog .btn {
        width: 100%;
        grid-column: 1;
        white-space: normal;
    }
}

.user-exam-document-modal[hidden],
.user-exam-document-modal [hidden] {
    display: none !important;
}

.user-exam-document-modal {
    position: fixed;
    z-index: 1170;
    inset: 0;
    display: grid;
    align-items: center;
    justify-items: center;
    padding: 24px;
    opacity: 0;
    transition: opacity .16s ease;
}

.user-exam-document-modal.is-open {
    opacity: 1;
}

.user-exam-document-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 25, 74, .62);
    -webkit-backdrop-filter: blur(9px);
    backdrop-filter: blur(9px);
}

.user-exam-document-modal-dialog {
    position: relative;
    display: flex;
    width: min(1120px, calc(100vw - 48px));
    height: min(88vh, 860px);
    height: min(88dvh, 860px);
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    overflow: hidden;
    border: 1px solid rgba(0, 25, 74, .16);
    border-radius: 8px;
    outline: 0;
    background: #fff;
    box-shadow: 0 30px 76px rgba(0, 25, 74, .34);
    transform: translateY(12px) scale(.985);
    transition: transform .16s ease;
    flex-direction: column;
}

.user-exam-document-modal.is-open .user-exam-document-modal-dialog {
    transform: translateY(0) scale(1);
}

.user-exam-document-modal-header {
    display: flex;
    min-height: 4.75rem;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    gap: 1rem;
    padding: .9rem 1rem;
    border-bottom: 1px solid var(--oys-border);
    background: #fff;
}

.user-exam-document-modal-title {
    min-width: 0;
}

.user-exam-document-modal-title h2 {
    margin: .1rem 0 0;
    overflow: hidden;
    color: var(--oys-navy);
    font-size: 1.1rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-exam-document-modal-actions {
    display: flex;
    align-items: stretch;
    flex: 0 0 auto;
    gap: .5rem;
}

.user-exam-document-modal-actions .btn {
    display: inline-flex;
    min-width: 6.25rem;
    min-height: 2.65rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border-radius: 7px;
    font-size: .78rem;
    font-weight: 750;
}

.user-exam-document-modal-close {
    display: inline-flex;
    width: 2.65rem;
    min-width: 2.65rem;
    height: 2.65rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #d4dce8;
    border-radius: 7px;
    color: var(--oys-navy);
    background: #fff;
    font-size: 1.45rem;
}

.user-exam-document-modal-close:hover,
.user-exam-document-modal-close:focus {
    border-color: var(--oys-navy);
    color: #fff;
    background: var(--oys-navy);
}

.user-exam-document-modal-viewer {
    position: relative;
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
    background: #e8edf5;
}

.user-exam-document-modal-viewer iframe {
    width: 100%;
    height: 100%;
    flex: 1 1 auto;
    border: 0;
    background: #fff;
}

.user-exam-document-modal-loading {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .75rem;
    color: var(--oys-muted);
    background: #f4f7fb;
    font-size: .82rem;
    font-weight: 700;
}

.user-exam-document-modal-loading .spinner-border {
    width: 2rem;
    height: 2rem;
    color: var(--oys-blue);
}

@media (max-width: 767.98px) {
    .user-exam-document-modal {
        padding: 12px;
    }

    .user-exam-document-modal-dialog {
        width: calc(100vw - 24px);
        height: calc(100vh - 24px);
        height: calc(100dvh - 24px);
        max-height: none;
    }

    .user-exam-document-modal-header {
        align-items: stretch;
        flex-direction: column;
    }

    .user-exam-document-modal-title h2 {
        white-space: normal;
    }

    .user-exam-document-modal-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr)) 2.65rem;
    }

    .user-exam-document-modal-actions .btn {
        min-width: 0;
    }
}

@media (max-width: 359.98px) {
    .user-exam-document-modal {
        padding: 8px;
    }

    .user-exam-document-modal-dialog {
        width: calc(100vw - 16px);
        height: calc(100vh - 16px);
        height: calc(100dvh - 16px);
    }

    .user-exam-document-modal-header {
        padding: .75rem;
    }

    .user-exam-document-modal-actions .btn {
        font-size: .72rem;
    }
}
