:root {
    --admin-blue-950: #082851;
    --admin-blue-900: #0a356d;
    --admin-blue-800: #0d4388;
    --admin-blue-700: #1256a8;
    --admin-blue-600: #1769c2;
    --admin-blue-100: #e8f2ff;
    --admin-blue-50: #f3f8ff;
    --admin-gold: #d8a83d;
    --admin-gold-light: #f8e7bd;
    --admin-ink: #172033;
    --admin-muted: #68758a;
    --admin-line: #e2e8f1;
    --admin-surface: #ffffff;
    --admin-bg: #f4f7fb;
    --admin-success: #13845d;
    --admin-danger: #c23838;
    --admin-warning: #a86607;
    --admin-shadow: 0 18px 45px rgba(17, 44, 82, .08);
    --admin-radius: 18px;
    --admin-sidebar-width: 272px;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--admin-bg);
}

body {
    margin: 0;
    min-height: 100vh;
    color: var(--admin-ink);
    background: var(--admin-bg);
    font-family: Tahoma, Arial, "Segoe UI", sans-serif;
    line-height: 1.65;
}

button,
input,
textarea,
select {
    font: inherit;
}

a {
    color: inherit;
}

code {
    direction: ltr;
    display: inline-block;
    max-width: 100%;
    padding: 2px 7px;
    overflow-wrap: anywhere;
    color: var(--admin-blue-800);
    background: var(--admin-blue-50);
    border-radius: 7px;
    font-family: Consolas, Monaco, monospace;
    font-size: .88em;
}

[hidden] {
    display: none !important;
}

.admin-sidebar {
    position: fixed;
    z-index: 40;
    top: 0;
    right: 0;
    bottom: 0;
    width: var(--admin-sidebar-width);
    display: flex;
    flex-direction: column;
    padding: 27px 19px 20px;
    overflow-y: auto;
    color: #fff;
    background:
        radial-gradient(circle at 20% 3%, rgba(216, 168, 61, .18), transparent 28%),
        linear-gradient(165deg, var(--admin-blue-950), var(--admin-blue-900));
    box-shadow: -10px 0 32px rgba(8, 40, 81, .12);
}

.admin-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 7px 26px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.admin-brand__mark,
.auth-card__brand > span {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: grid;
    place-items: center;
    border: 2px solid rgba(255, 255, 255, .75);
    color: var(--admin-blue-950);
    background: linear-gradient(145deg, #fff, var(--admin-gold-light));
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .14);
    font: 800 23px Georgia, serif;
}

.admin-brand strong,
.admin-brand small,
.auth-card__brand strong,
.auth-card__brand small {
    display: block;
}

.admin-brand strong {
    font-size: 17px;
    letter-spacing: .2px;
}

.admin-brand small {
    margin-top: 1px;
    color: rgba(255, 255, 255, .67);
    font-size: 12px;
}

.admin-nav {
    display: grid;
    gap: 7px;
    margin-top: 25px;
}

.admin-nav__link {
    position: relative;
    padding: 12px 15px;
    color: rgba(255, 255, 255, .78);
    border: 1px solid transparent;
    border-radius: 12px;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.admin-nav__link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 2px;
    width: 4px;
    height: 0;
    background: var(--admin-gold);
    border-radius: 5px;
    transform: translateY(-50%);
    transition: height .2s ease;
}

.admin-nav__link:hover,
.admin-nav__link.is-active {
    color: #fff;
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .08);
}

.admin-nav__link:hover {
    transform: translateX(-2px);
}

.admin-nav__link.is-active::before {
    height: 25px;
}

.admin-sidebar__footer {
    display: grid;
    gap: 9px;
    margin-top: auto;
    padding-top: 28px;
}

.admin-sidebar__footer a,
.admin-sidebar__footer button {
    width: 100%;
    display: block;
    padding: 10px 12px;
    color: rgba(255, 255, 255, .75);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.admin-sidebar__footer a:hover,
.admin-sidebar__footer button:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, .35);
}

.admin-main {
    min-height: 100vh;
    margin-right: var(--admin-sidebar-width);
}

.admin-topbar {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 19px clamp(22px, 4vw, 52px);
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid var(--admin-line);
    backdrop-filter: blur(12px);
}

.admin-topbar p,
.admin-topbar h1 {
    margin: 0;
}

.admin-topbar p {
    color: var(--admin-muted);
    font-size: 12px;
}

.admin-topbar h1 {
    margin-top: 2px;
    color: var(--admin-blue-950);
    font-size: clamp(21px, 2vw, 27px);
    line-height: 1.35;
}

.admin-user {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--admin-muted);
    font-size: 13px;
}

.admin-user__avatar {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--admin-blue-800);
    border-radius: 12px;
    font: 700 18px Georgia, serif;
}

.admin-content {
    width: min(1580px, 100%);
    margin: 0 auto;
    padding: 30px clamp(20px, 4vw, 52px) 55px;
}

.admin-menu-button {
    position: fixed;
    z-index: 60;
    top: 17px;
    right: 17px;
    width: 43px;
    height: 43px;
    display: none;
    color: #fff;
    background: var(--admin-blue-900);
    border: 0;
    border-radius: 11px;
    cursor: pointer;
}

.admin-overlay {
    position: fixed;
    z-index: 30;
    inset: 0;
    display: none;
    background: rgba(4, 24, 50, .55);
    backdrop-filter: blur(2px);
}

.admin-alert {
    margin-bottom: 20px;
    padding: 14px 17px;
    color: #25415e;
    background: #eef6ff;
    border: 1px solid #cfe4fb;
    border-right-width: 5px;
    border-radius: 12px;
}

.admin-alert strong {
    display: inline-block;
    margin-left: 5px;
}

.admin-alert--success {
    color: #0b6546;
    background: #ecfbf5;
    border-color: #bfe9d8;
}

.admin-alert--error {
    color: #8f2929;
    background: #fff1f1;
    border-color: #f0c7c7;
}

.admin-alert--info {
    color: #235174;
    background: var(--admin-blue-50);
    border-color: #cfe2f6;
}

.admin-eyebrow {
    margin: 0 0 7px;
    color: var(--admin-blue-700);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.dashboard-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 24px;
    padding: clamp(25px, 4vw, 43px);
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 15% 10%, rgba(216, 168, 61, .25), transparent 28%),
        linear-gradient(135deg, var(--admin-blue-950), var(--admin-blue-700));
    border-radius: 23px;
    box-shadow: var(--admin-shadow);
}

.dashboard-hero::after {
    content: "E";
    position: absolute;
    left: 35px;
    top: 50%;
    color: rgba(255, 255, 255, .05);
    font: 900 170px/1 Georgia, serif;
    transform: translateY(-50%);
    pointer-events: none;
}

.dashboard-hero > * {
    position: relative;
    z-index: 1;
}

.dashboard-hero .admin-eyebrow {
    color: var(--admin-gold-light);
}

.dashboard-hero h2,
.dashboard-hero p {
    margin: 0;
}

.dashboard-hero h2 {
    max-width: 680px;
    font-size: clamp(24px, 3vw, 37px);
    line-height: 1.4;
}

.dashboard-hero p:not(.admin-eyebrow) {
    max-width: 740px;
    margin-top: 9px;
    color: rgba(255, 255, 255, .77);
}

.dashboard-hero__actions {
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
}

.dashboard-hero--compact {
    padding: 27px 32px;
}

.dashboard-hero--compact h2 {
    font-size: clamp(21px, 2.4vw, 30px);
}

.admin-button {
    min-height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 17px;
    border: 1px solid transparent;
    border-radius: 11px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.admin-button:hover {
    transform: translateY(-1px);
}

.admin-button--primary {
    color: #fff;
    background: var(--admin-blue-700);
    box-shadow: 0 8px 18px rgba(18, 86, 168, .2);
}

.dashboard-hero .admin-button--primary {
    color: var(--admin-blue-950);
    background: var(--admin-gold-light);
    box-shadow: none;
}

.admin-button--light {
    color: var(--admin-blue-800);
    background: #fff;
    border-color: var(--admin-line);
}

.dashboard-hero .admin-button--light {
    color: #fff;
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .25);
}

.admin-button--small {
    min-height: 36px;
    padding: 6px 12px;
    font-size: 12px;
}

.admin-button--block {
    width: 100%;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 17px;
    margin-bottom: 24px;
}

.metric-grid--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.metric-card {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 0;
    padding: 20px;
    background: var(--admin-surface);
    border: 1px solid var(--admin-line);
    border-radius: var(--admin-radius);
    box-shadow: 0 8px 26px rgba(23, 52, 91, .045);
}

.metric-card__icon {
    width: 47px;
    height: 47px;
    flex: 0 0 47px;
    display: grid;
    place-items: center;
    color: var(--admin-blue-700);
    background: var(--admin-blue-100);
    border-radius: 13px;
    font-size: 22px;
}

.metric-card small,
.metric-card strong,
.metric-card p {
    display: block;
    margin: 0;
}

.metric-card small {
    color: var(--admin-muted);
    font-size: 11px;
}

.metric-card strong {
    margin-top: 1px;
    color: var(--admin-blue-950);
    font-size: 28px;
    line-height: 1.2;
}

.metric-card p {
    margin-top: 3px;
    overflow: hidden;
    color: var(--admin-muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-grid {
    display: grid;
    gap: 20px;
}

.admin-grid--two {
    grid-template-columns: minmax(0, 1.55fr) minmax(310px, .8fr);
}

.admin-grid--account {
    grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
}

.admin-panel {
    min-width: 0;
    margin-bottom: 22px;
    padding: clamp(19px, 2.5vw, 26px);
    background: var(--admin-surface);
    border: 1px solid var(--admin-line);
    border-radius: var(--admin-radius);
    box-shadow: 0 8px 28px rgba(20, 48, 86, .045);
}

.admin-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 19px;
}

.admin-panel__header h2,
.admin-panel__header p {
    margin: 0;
}

.admin-panel__header h2 {
    color: var(--admin-blue-950);
    font-size: 19px;
    line-height: 1.45;
}

.admin-panel__header p:not(.admin-eyebrow) {
    margin-top: 5px;
    color: var(--admin-muted);
    font-size: 12px;
}

.admin-panel__header > a {
    color: var(--admin-blue-700);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.admin-table-wrap {
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.admin-table th,
.admin-table td {
    padding: 13px 11px;
    border-bottom: 1px solid var(--admin-line);
    text-align: right;
    vertical-align: middle;
}

.admin-table th {
    color: var(--admin-muted);
    background: #f9fbfd;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.admin-table tbody tr:hover {
    background: #fbfdff;
}

.admin-table td strong,
.admin-table td small {
    display: block;
}

.admin-table td small {
    margin-top: 3px;
    color: var(--admin-muted);
    font-size: 10px;
}

.admin-table__action {
    padding: 0;
    color: var(--admin-blue-700);
    background: transparent;
    border: 0;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.status-list,
.compact-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.status-list {
    display: grid;
    gap: 15px;
}

.status-list li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
}

.status-list strong,
.status-list small {
    display: block;
}

.status-list strong {
    font-size: 13px;
}

.status-list small {
    margin-top: 2px;
    color: var(--admin-muted);
    font-size: 11px;
}

.status-dot {
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    margin-top: 6px;
    background: #aab4c2;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(170, 180, 194, .16);
}

.status-dot.is-ok {
    background: var(--admin-success);
    box-shadow: 0 0 0 4px rgba(19, 132, 93, .13);
}

.status-dot.is-error {
    background: var(--admin-danger);
    box-shadow: 0 0 0 4px rgba(194, 56, 56, .13);
}

.admin-note {
    margin-top: 20px;
    padding: 14px;
    background: #fffaf0;
    border: 1px solid #f0dfb9;
    border-radius: 11px;
}

.admin-note strong,
.admin-note p {
    margin: 0;
}

.admin-note strong {
    color: #80570c;
    font-size: 12px;
}

.admin-note p {
    margin-top: 4px;
    color: #796a4e;
    font-size: 11px;
}

.admin-search {
    min-width: min(300px, 100%);
}

.admin-search span {
    display: block;
    margin-bottom: 5px;
    color: var(--admin-muted);
    font-size: 10px;
    font-weight: 700;
}

.admin-search input {
    width: 100%;
    height: 42px;
    padding: 8px 13px;
    color: var(--admin-ink);
    background: #fff;
    border: 1px solid var(--admin-line);
    border-radius: 10px;
    outline: none;
}

.admin-search input:focus,
.admin-field input:focus,
.admin-field textarea:focus,
.admin-field select:focus,
.editor-field input:focus,
.editor-field textarea:focus {
    border-color: var(--admin-blue-600);
    box-shadow: 0 0 0 3px rgba(23, 105, 194, .1);
}

.page-list,
.media-list {
    display: grid;
    gap: 12px;
}

.page-list__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 15px;
    background: #fbfcfe;
    border: 1px solid var(--admin-line);
    border-radius: 14px;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.page-list__item:hover {
    border-color: #c8d8eb;
    box-shadow: 0 7px 20px rgba(20, 59, 104, .06);
}

.page-list__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--admin-blue-700);
    background: var(--admin-blue-100);
    border-radius: 11px;
    font-size: 20px;
}

.page-list__content {
    min-width: 0;
}

.page-list__content h3,
.page-list__content p {
    margin: 0;
}

.page-list__content h3 {
    overflow: hidden;
    color: var(--admin-blue-950);
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-list__content p {
    margin-top: 2px;
    color: var(--admin-muted);
    font: 11px Consolas, Monaco, monospace;
    direction: ltr;
    text-align: right;
}

.page-list__content > div {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 6px;
    color: var(--admin-muted);
    font-size: 10px;
}

.page-list__actions {
    display: flex;
    gap: 7px;
}

.admin-empty {
    margin: 18px 0 0;
    padding: 25px;
    color: var(--admin-muted);
    background: #fafbfd;
    border: 1px dashed #ccd5e2;
    border-radius: 12px;
    text-align: center;
}

.admin-empty--visible {
    display: block;
}

.admin-empty strong,
.admin-empty p {
    display: block;
    margin: 0;
}

.admin-empty p {
    margin-top: 5px;
    font-size: 12px;
}

.admin-back-link {
    display: inline-block;
    margin-bottom: 11px;
    color: var(--admin-blue-700);
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

.editor-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    align-items: start;
    gap: 20px;
}

.editor-panel {
    min-width: 0;
}

.editor-sidebar {
    position: sticky;
    top: 20px;
}

.editor-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    padding-bottom: 92px;
}

.editor-field {
    min-width: 0;
    display: block;
    padding: 13px;
    background: #fbfcfe;
    border: 1px solid var(--admin-line);
    border-radius: 12px;
}

.editor-field:focus-within {
    background: #fff;
    border-color: #bdd3ec;
}

.editor-field__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 7px;
}

.editor-field__header strong {
    color: var(--admin-blue-950);
    font-size: 11px;
}

.editor-field__header small {
    max-width: 60%;
    overflow: hidden;
    color: var(--admin-muted);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
    direction: ltr;
}

.editor-field input,
.editor-field textarea {
    width: 100%;
    padding: 10px 11px;
    color: var(--admin-ink);
    background: #fff;
    border: 1px solid #d8e0ea;
    border-radius: 9px;
    outline: none;
    resize: vertical;
}

.editor-field input.is-changed,
.editor-field textarea.is-changed {
    background: #fffdf6;
    border-color: var(--admin-gold);
}

.editor-savebar {
    position: sticky;
    z-index: 9;
    bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: -72px;
    padding: 13px 16px;
    color: #fff;
    background: rgba(8, 40, 81, .96);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 13px;
    box-shadow: 0 13px 35px rgba(8, 40, 81, .24);
    backdrop-filter: blur(9px);
}

.editor-savebar strong,
.editor-savebar small {
    display: block;
}

.editor-savebar strong {
    font-size: 12px;
}

.editor-savebar small {
    margin-top: 2px;
    color: rgba(255, 255, 255, .65);
    font-size: 10px;
}

.mini-stats,
.account-details {
    margin: 0;
}

.mini-stats > div,
.account-details > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 11px 0;
    border-bottom: 1px solid var(--admin-line);
}

.mini-stats dt,
.account-details dt {
    color: var(--admin-muted);
    font-size: 11px;
}

.mini-stats dd,
.account-details dd {
    margin: 0;
    color: var(--admin-blue-950);
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    overflow-wrap: anywhere;
}

.compact-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px solid var(--admin-line);
    font-size: 11px;
}

.compact-list small,
.admin-muted {
    color: var(--admin-muted);
    font-size: 11px;
}

.media-item {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) minmax(270px, auto);
    align-items: center;
    gap: 15px;
    padding: 13px;
    background: #fbfcfe;
    border: 1px solid var(--admin-line);
    border-radius: 13px;
}

.media-item__preview {
    width: 78px;
    height: 64px;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: var(--admin-blue-700);
    background: var(--admin-blue-100);
    border-radius: 10px;
    font-size: 24px;
}

.media-item__preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.media-item__body {
    min-width: 0;
}

.media-item__title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.media-item__title strong {
    max-width: 100%;
    overflow: hidden;
    color: var(--admin-blue-950);
    font: 12px Consolas, Monaco, monospace;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.media-item__body p,
.media-item__body small {
    display: block;
    margin: 0;
    color: var(--admin-muted);
    font-size: 10px;
}

.media-item__body p {
    margin-top: 4px;
}

.status-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 20px;
    font-size: 9px;
    font-weight: 700;
}

.status-badge--ok {
    color: #0c7651;
    background: #e6f8f1;
}

.status-badge--muted {
    color: #6e7785;
    background: #edf0f4;
}

.status-badge--new {
    color: #9a4f00;
    background: #fff0cf;
}

.admin-table tr.is-unread td {
    background: #fffdf6;
    font-weight: 700;
}

.media-item__form {
    display: flex;
    align-items: center;
    gap: 7px;
}

.file-picker {
    max-width: 200px;
    min-height: 36px;
    display: flex;
    align-items: center;
    padding: 6px 10px;
    overflow: hidden;
    color: var(--admin-muted);
    background: #fff;
    border: 1px dashed #bbc8d7;
    border-radius: 9px;
    cursor: pointer;
}

.file-picker input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

.file-picker span {
    overflow: hidden;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admission-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
}

.admission-detail {
    min-width: 0;
    padding: 12px;
    background: #fafbfd;
    border: 1px solid var(--admin-line);
    border-radius: 11px;
}

.admission-detail small,
.admission-detail strong {
    display: block;
}

.admission-detail small {
    color: var(--admin-muted);
    font-size: 10px;
}

.admission-detail strong {
    margin-top: 4px;
    overflow-wrap: anywhere;
    color: var(--admin-ink);
    font-size: 12px;
}

.attachment-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
}

.attachment-list a {
    padding: 12px;
    color: var(--admin-blue-800);
    background: var(--admin-blue-50);
    border: 1px solid #d7e6f7;
    border-radius: 11px;
    text-decoration: none;
}

.attachment-list span,
.attachment-list small {
    display: block;
}

.attachment-list span {
    font-size: 12px;
    font-weight: 700;
}

.attachment-list small {
    margin-top: 3px;
    overflow: hidden;
    color: var(--admin-muted);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
    direction: ltr;
}

.admin-form {
    display: grid;
    gap: 15px;
}

.admin-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.admin-field {
    display: grid;
    gap: 6px;
}

.admin-field > span:first-child {
    color: var(--admin-blue-950);
    font-size: 11px;
    font-weight: 700;
}

.admin-field > input,
.admin-field > textarea,
.admin-field > select,
.password-field {
    width: 100%;
}

.admin-field > input,
.admin-field > textarea,
.admin-field > select,
.password-field input {
    min-height: 44px;
    padding: 9px 12px;
    color: var(--admin-ink);
    background: #fff;
    border: 1px solid #d5deea;
    border-radius: 10px;
    outline: none;
}

.admin-field > textarea {
    min-height: 120px;
    resize: vertical;
}

.admin-field > select {
    appearance: auto;
}

.admin-header-actions {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.message-meta-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
    margin-bottom: 18px;
}

.message-meta-grid > div {
    min-width: 0;
    padding: 12px;
    background: #fafbfd;
    border: 1px solid var(--admin-line);
    border-radius: 11px;
}

.message-meta-grid small,
.message-meta-grid strong {
    display: block;
}

.message-meta-grid small {
    color: var(--admin-muted);
    font-size: 10px;
}

.message-meta-grid strong {
    margin-top: 4px;
    overflow-wrap: anywhere;
    color: var(--admin-blue-950);
    font-size: 12px;
}

.message-body {
    margin-bottom: 18px;
    padding: 20px;
    color: #27364b;
    background: #f8fafc;
    border: 1px solid var(--admin-line);
    border-radius: 13px;
    line-height: 2;
    white-space: normal;
}

.admin-field small {
    color: var(--admin-muted);
    font-size: 10px;
}

.password-field {
    position: relative;
    display: block;
}

.password-field input {
    width: 100%;
    padding-left: 64px;
}

.password-field button {
    position: absolute;
    left: 7px;
    top: 50%;
    padding: 5px 8px;
    color: var(--admin-blue-700);
    background: var(--admin-blue-50);
    border: 0;
    border-radius: 7px;
    font-size: 9px;
    cursor: pointer;
    transform: translateY(-50%);
}

.admin-body--guest {
    background:
        radial-gradient(circle at 10% 15%, rgba(216, 168, 61, .17), transparent 25%),
        radial-gradient(circle at 90% 85%, rgba(23, 105, 194, .2), transparent 30%),
        linear-gradient(145deg, #eef5fd, #f8fafc);
}

.admin-guest {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}

.auth-card {
    width: min(490px, 100%);
    padding: clamp(25px, 5vw, 40px);
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(209, 220, 234, .9);
    border-radius: 24px;
    box-shadow: 0 30px 75px rgba(15, 48, 88, .14);
}

.auth-card__brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    padding-bottom: 21px;
    border-bottom: 1px solid var(--admin-line);
}

.auth-card__brand > span {
    color: #fff;
    background: linear-gradient(145deg, var(--admin-blue-900), var(--admin-blue-600));
    border-color: transparent;
}

.auth-card__brand strong {
    color: var(--admin-blue-950);
    font-size: 15px;
}

.auth-card__brand small {
    color: var(--admin-muted);
    font-size: 10px;
}

.auth-card__intro h1,
.auth-card__intro p {
    margin: 0;
}

.auth-card__intro h1 {
    color: var(--admin-blue-950);
    font-size: clamp(22px, 4vw, 29px);
}

.auth-card__intro p:not(.admin-eyebrow) {
    margin-top: 7px;
    color: var(--admin-muted);
    font-size: 12px;
}

.auth-form {
    margin-top: 23px;
}

.auth-card__note,
.auth-card__back {
    display: block;
    margin: 18px 0 0;
    color: var(--admin-muted);
    font-size: 10px;
    text-align: center;
}

.auth-card__back {
    color: var(--admin-blue-700);
    text-decoration: none;
}

@media (max-width: 1180px) {
    .metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .media-item {
        grid-template-columns: 70px minmax(0, 1fr);
    }

    .media-item__form {
        grid-column: 1 / -1;
        padding-right: 85px;
    }

    .editor-layout {
        grid-template-columns: minmax(0, 1fr) 270px;
    }

    .editor-fields {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 960px) {
    .admin-menu-button {
        display: block;
    }

    .admin-sidebar {
        width: min(310px, 84vw);
        transform: translateX(105%);
        transition: transform .23s ease;
    }

    .admin-sidebar.is-open {
        transform: translateX(0);
    }

    .admin-overlay.is-open {
        display: block;
    }

    .admin-main {
        margin-right: 0;
    }

    .admin-topbar {
        min-height: 77px;
        padding-right: 76px;
    }

    .admin-grid--two,
    .admin-grid--account,
    .editor-layout {
        grid-template-columns: 1fr;
    }

    .editor-sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .admission-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .message-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .admin-content {
        padding: 20px 13px 40px;
    }

    .admin-topbar {
        padding-left: 16px;
    }

    .admin-user > span:first-child {
        display: none;
    }

    .dashboard-hero,
    .dashboard-hero--compact {
        align-items: stretch;
        flex-direction: column;
        padding: 24px 20px;
    }

    .dashboard-hero__actions {
        flex-wrap: wrap;
    }

    .dashboard-hero__actions .admin-button {
        flex: 1 1 140px;
    }

    .metric-grid,
    .metric-grid--compact {
        grid-template-columns: 1fr;
    }

    .admin-panel__header--stack-mobile {
        flex-direction: column;
    }

    .admin-header-actions {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .admin-search {
        width: 100%;
    }

    .page-list__item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .page-list__actions {
        grid-column: 1 / -1;
        padding-right: 58px;
    }

    .media-item {
        grid-template-columns: 60px minmax(0, 1fr);
    }

    .media-item__preview {
        width: 60px;
        height: 55px;
    }

    .media-item__form {
        padding-right: 0;
        flex-wrap: wrap;
    }

    .file-picker {
        max-width: none;
        flex: 1 1 160px;
    }

    .editor-sidebar {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .editor-savebar {
        align-items: stretch;
        flex-direction: column;
        gap: 9px;
    }

    .admission-detail-grid {
        grid-template-columns: 1fr;
    }

    .admin-form-row,
    .message-meta-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .admin-topbar h1 {
        max-width: 215px;
        overflow: hidden;
        font-size: 18px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .page-list__item {
        grid-template-columns: 1fr;
    }

    .page-list__icon {
        display: none;
    }

    .page-list__actions {
        padding-right: 0;
    }

    .page-list__actions .admin-button {
        flex: 1;
    }

    .admin-panel {
        padding: 16px;
        border-radius: 14px;
    }
}

/* Content cards manager */
.collection-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.collection-card {
    min-height: 150px;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 20px;
    color: inherit;
    background: linear-gradient(145deg, #fff, var(--admin-blue-50));
    border: 1px solid var(--admin-line);
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(17, 44, 82, .05);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.collection-card:hover {
    transform: translateY(-2px);
    border-color: #b8d0ee;
    box-shadow: 0 16px 32px rgba(17, 44, 82, .09);
}

.collection-card__icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(145deg, var(--admin-blue-800), var(--admin-blue-600));
    border-radius: 14px;
    font-size: 25px;
}

.collection-card h3,
.collection-card p {
    margin: 0;
}

.collection-card h3 {
    color: var(--admin-blue-950);
    font-size: 18px;
}

.collection-card p {
    margin-top: 4px;
    color: var(--admin-muted);
    font-size: 13px;
}

.collection-card strong {
    display: inline-block;
    margin-top: 10px;
    color: var(--admin-blue-700);
    font-size: 13px;
}

.collection-card__arrow {
    color: var(--admin-blue-700);
    font-size: 22px;
}

.content-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 20px;
}

.content-card-admin {
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--admin-line);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(17, 44, 82, .06);
}

.content-card-admin__media {
    position: relative;
    height: 190px;
    overflow: hidden;
    background: linear-gradient(145deg, var(--admin-blue-100), var(--admin-blue-50));
}

.content-card-admin__media img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.content-card-admin__placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--admin-blue-800);
    font-size: 46px;
    font-weight: 800;
}

.content-card-admin__body {
    min-height: 160px;
    padding: 17px 18px 14px;
}

.content-card-admin__body h3,
.content-card-admin__body p {
    margin: 0;
}

.content-card-admin__body h3 {
    color: var(--admin-blue-950);
    font-size: 17px;
    line-height: 1.55;
}

.content-card-admin__body p {
    margin-top: 8px;
    color: var(--admin-muted);
    font-size: 13px;
    line-height: 1.75;
}

.content-card-admin__date {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 3px 9px;
    color: var(--admin-warning);
    background: #fff7e7;
    border-radius: 999px;
    font-size: 11px;
}

.content-card-admin__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 18px 18px;
    border-top: 1px solid var(--admin-line);
}

.content-card-admin__actions form {
    margin: 0;
}

.admin-button--danger {
    color: var(--admin-danger);
    background: #fff1f1;
    border-color: #f1caca;
}

.admin-button--danger:hover {
    color: #fff;
    background: var(--admin-danger);
    border-color: var(--admin-danger);
}

.admin-file-drop {
    min-height: 118px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 5px;
    padding: 18px;
    color: var(--admin-blue-800);
    background: var(--admin-blue-50);
    border: 1px dashed #a9c6e8;
    border-radius: 14px;
    text-align: center;
    cursor: pointer;
}

.admin-file-drop input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

.admin-file-drop strong {
    font-size: 15px;
}

.admin-file-drop small {
    color: var(--admin-muted);
}

.admin-image-preview {
    max-width: 420px;
    margin-top: 4px;
    overflow: hidden;
    background: var(--admin-blue-50);
    border: 1px solid var(--admin-line);
    border-radius: 14px;
}

.admin-image-preview img {
    width: 100%;
    max-height: 280px;
    display: block;
    object-fit: contain;
}

.admin-image-preview--current {
    margin-bottom: 12px;
}

.dashboard-collection-list {
    display: grid;
    gap: 10px;
}

.dashboard-collection-list a {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    color: inherit;
    background: var(--admin-blue-50);
    border: 1px solid transparent;
    border-radius: 12px;
    text-decoration: none;
}

.dashboard-collection-list a:hover {
    border-color: #bdd2ec;
}

.dashboard-collection-list a > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--admin-blue-800);
    border-radius: 10px;
}

.dashboard-collection-list strong,
.dashboard-collection-list small {
    display: block;
}

.dashboard-collection-list small {
    color: var(--admin-muted);
    font-size: 12px;
}

.dashboard-collection-list b {
    color: var(--admin-blue-700);
    font-size: 12px;
}

@media (max-width: 1180px) {
    .content-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .collection-grid,
    .content-card-grid {
        grid-template-columns: 1fr;
    }

    .collection-card {
        grid-template-columns: 46px minmax(0, 1fr) auto;
        padding: 16px;
    }

    .collection-card__icon {
        width: 46px;
        height: 46px;
    }

    .content-card-admin__media {
        height: 220px;
    }
}

@media (max-width: 480px) {
    .content-card-admin__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .content-card-admin__actions .admin-button,
    .content-card-admin__actions form,
    .content-card-admin__actions form .admin-button {
        width: 100%;
    }
}

/* Unified page text + media workspace */
.page-list--workspace .page-list__content p {
    font: inherit;
    direction: rtl;
    text-align: right;
}

.page-workspace-header {
    overflow: visible;
    background: linear-gradient(145deg, #ffffff, var(--admin-blue-50));
}

.page-workspace-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.page-workspace-nav a {
    min-width: 0;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center;
    padding: 12px;
    color: inherit;
    background: #fff;
    border: 1px solid var(--admin-line);
    border-radius: 12px;
    text-decoration: none;
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.page-workspace-nav a:hover {
    border-color: #b9cee6;
    box-shadow: 0 8px 22px rgba(16, 57, 104, .08);
    transform: translateY(-1px);
}

.page-workspace-nav a > span {
    grid-row: 1 / 3;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--admin-blue-800);
    border-radius: 10px;
    font-size: 17px;
}

.page-workspace-nav strong,
.page-workspace-nav small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-workspace-nav strong {
    color: var(--admin-blue-950);
    font-size: 11px;
}

.page-workspace-nav small {
    color: var(--admin-muted);
    font-size: 9px;
}

.workspace-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.workspace-summary > div {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 9px;
    align-items: center;
    padding: 10px 12px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(190, 207, 226, .8);
    border-radius: 11px;
}

.workspace-summary span {
    grid-row: 1 / 3;
    color: var(--admin-blue-700);
    font-size: 16px;
}

.workspace-summary strong {
    color: var(--admin-blue-950);
    font-size: 15px;
}

.workspace-summary small {
    color: var(--admin-muted);
    font-size: 9px;
}

.page-workspace-section {
    scroll-margin-top: 18px;
}

.page-media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.page-media-card {
    min-width: 0;
    display: grid;
    grid-template-rows: 220px auto auto;
    overflow: hidden;
    background: #fbfcfe;
    border: 1px solid var(--admin-line);
    border-radius: 15px;
}

.page-media-card__preview {
    position: relative;
    min-width: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: var(--admin-blue-700);
    background:
        linear-gradient(45deg, rgba(220, 231, 243, .55) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(220, 231, 243, .55) 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, rgba(220, 231, 243, .55) 75%),
        linear-gradient(-45deg, transparent 75%, rgba(220, 231, 243, .55) 75%);
    background-position: 0 0, 0 10px, 10px -10px, -10px 0;
    background-size: 20px 20px;
    border-bottom: 1px solid var(--admin-line);
}

.page-media-card__preview img,
.page-media-card__preview video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    background: #eef3f8;
}

.page-media-card__preview video {
    object-fit: contain;
}

.page-media-card__missing {
    display: grid;
    place-items: center;
    gap: 7px;
    color: var(--admin-muted);
    text-align: center;
}

.page-media-card__missing span {
    color: var(--admin-blue-700);
    font-size: 34px;
}

.page-media-card__missing strong {
    font-size: 11px;
}

.page-media-card__body {
    min-width: 0;
    padding: 14px;
}

.page-media-card__title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.page-media-card__title small,
.page-media-card__title h3,
.page-media-card__body p {
    margin: 0;
}

.page-media-card__title small {
    color: var(--admin-muted);
    font-size: 9px;
}

.page-media-card__title h3 {
    margin-top: 2px;
    color: var(--admin-blue-950);
    font-size: 14px;
}

.page-media-card__body p {
    margin-top: 8px;
    color: var(--admin-muted);
    font-size: 10px;
    line-height: 1.8;
}

.page-media-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.page-media-card__meta span {
    padding: 4px 8px;
    color: var(--admin-blue-700);
    background: var(--admin-blue-50);
    border-radius: 20px;
    font-size: 9px;
}

.page-media-card__details {
    margin-top: 10px;
}

.page-media-card__details summary {
    color: var(--admin-muted);
    font-size: 9px;
    cursor: pointer;
}

.page-media-card__details code {
    max-width: 100%;
    display: block;
    margin-top: 7px;
    padding: 7px 9px;
    overflow: auto;
    color: #3d526d;
    background: #eef3f8;
    border-radius: 7px;
    font-size: 9px;
    text-align: left;
    white-space: nowrap;
}

.page-media-card__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 12px 14px 14px;
    border-top: 1px solid var(--admin-line);
}

.page-media-card__form .file-picker {
    max-width: none;
    min-width: 0;
}

.collection-grid--workspace {
    margin-top: 0;
}

.page-safety-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.page-safety-grid .admin-note {
    margin: 0;
}

@media (max-width: 1180px) {
    .page-workspace-nav,
    .workspace-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .page-media-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .page-workspace-nav,
    .workspace-summary,
    .page-safety-grid {
        grid-template-columns: 1fr;
    }

    .page-media-card {
        grid-template-rows: 190px auto auto;
    }

    .page-media-card__form {
        grid-template-columns: 1fr;
    }

    .page-media-card__form .admin-button {
        width: 100%;
    }
}
