/* ============================================================
   Admin Module — HairLink
   Mirrors the staff-module theme with admin-specific layouts
   ============================================================ */

/* ---- Page wrapper ---------------------------------------- */
.admin-page {
    max-width: 980px;
    margin-inline: auto;
    display: grid;
    gap: 0.85rem;
}

/* ---- Hero ------------------------------------------------- */
.admin-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 1rem;
    border: 1px solid #ead7e8;
    border-radius: 16px;
    background: linear-gradient(135deg, #fff 0%, #fdf5fb 100%);
}

.admin-hero-copy .admin-kicker {
    display: inline-block;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9b2f69;
    font-weight: 800;
    margin-bottom: 0.2rem;
}

.admin-hero-copy h1 {
    font-family: 'Outfit', sans-serif;
    color: #2e2434;
    font-size: clamp(1.42rem, 2.6vw, 2.1rem);
    line-height: 1.05;
}

.admin-hero-copy p {
    color: #665772;
    margin-top: 0.35rem;
    font-size: 0.88rem;
}

.admin-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-radius: 999px;
    border: 1px solid #e8c8db;
    background: #fff;
    padding: 0.36rem 0.72rem;
    color: #7f2958;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
    flex-shrink: 0;
}

.admin-hero-badge i { font-size: 1rem; }

/* ---- Two-column activity layout -------------------------- */
.admin-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
}

/* ---- Stat accent bar ------------------------------------ */
.admin-stat-accent {
    display: block;
    height: 3px;
    border-radius: 999px;
    margin-bottom: 0.55rem;
    background: linear-gradient(90deg, #cf2f84, #f4a0cc);
}

/* ---- Collapsible optional section ----------------------- */
.admin-optional {
    border: 1px dashed #ddc8e3;
    border-radius: 16px;
    padding: 0.85rem;
    background: #fffcff;
}

.admin-optional-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
}

.admin-optional-head h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 1rem;
    color: #7a687f;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.admin-optional-head h2 i { color: #c080a8; }

.admin-optional-tag {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #c080a8;
    border: 1px solid #e8c8db;
    border-radius: 999px;
    padding: 0.18rem 0.55rem;
}

.admin-optional-body {
    margin-top: 0.7rem;
}

.admin-optional-body[hidden] {
    display: none;
}

/* ---- Activity count badge -------------------------------- */
.admin-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    height: 1.4rem;
    border-radius: 999px;
    background: #cf2f84;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0 0.35rem;
    margin-left: 0.35rem;
    vertical-align: middle;
}

/* ---- KPI stat grid --------------------------------------- */
.admin-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.admin-stat {
    border: 1px solid #ead7e8;
    border-radius: 16px;
    padding: 0.85rem 0.75rem;
    background: #fff;
    box-shadow: 0 8px 20px rgba(73, 20, 52, 0.06);
    display: grid;
    gap: 0.1rem;
}

.admin-stat-icon {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    color: #8f2d65;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.admin-stat-icon i {
    font-size: 1.1rem;
    color: #cf2f84;
}

.admin-stat h2 {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(1.7rem, 3.5vw, 2.4rem);
    color: #ad246d;
    line-height: 1;
}

/* ---- Quick action buttons -------------------------------- */
.admin-quick-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 0.25rem 0;
}

.admin-quick-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-radius: 999px;
    border: none;
    background: #cf2f84;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 0.45rem 1.1rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.18s, transform 0.15s;
}

.admin-quick-btn:hover {
    background: #a71f68;
    transform: translateY(-1px);
    color: #fff;
}

/* ---- Cards and blocks ------------------------------------ */
.admin-card,
.admin-block {
    background: #fff;
    border: 1px solid #ead7e8;
    border-radius: 16px;
    padding: 0.9rem;
    box-shadow: 0 12px 26px rgba(73, 20, 52, 0.08);
}

.admin-card-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.6rem;
    margin-bottom: 0.7rem;
}

.admin-card-head h2 {
    font-family: 'Outfit', sans-serif;
    color: #3b2e43;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.admin-card-head h2 i {
    font-size: 1.1rem;
    color: #cf2f84;
}

.admin-card-head span {
    font-size: 0.8rem;
    color: #7a687f;
}

/* ---- Action link grid ------------------------------------ */
.admin-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
}

.admin-actions.two-col   { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-actions.three-col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-actions.four-col  { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.admin-action-link {
    border: 1px solid #e8c8db;
    border-radius: 12px;
    background: #fff8fd;
    padding: 0.75rem;
    display: grid;
    gap: 0.3rem;
    transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.admin-action-link h3 {
    font-size: 0.95rem;
    color: #3b2e43;
}

.admin-action-link p {
    font-size: 0.82rem;
    color: #665772;
}

.admin-action-link:hover {
    transform: translateY(-2px);
    border-color: #d899bd;
    box-shadow: 0 10px 20px rgba(167, 31, 104, 0.12);
}

/* ---- Table (shared with staff) --------------------------- */
.admin-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 0.7rem;
}

.admin-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.admin-tools input {
    border: 1px solid #ddc8e3;
    border-radius: 8px;
    padding: 0.38rem 0.7rem;
    font-size: 0.85rem;
    font-family: inherit;
    background: #fdfaff;
    color: #261d2b;
    min-width: 0;
    flex: 1 1 140px;
}

.admin-tools input:focus {
    outline: 2px solid #cf2f84;
    outline-offset: 1px;
}

.table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
    white-space: nowrap;
}

.admin-table th {
    background: #fdf0f8;
    color: #7f2958;
    font-weight: 700;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e8cfe0;
}

.admin-table td {
    padding: 0.52rem 0.75rem;
    border-bottom: 1px solid #f2e4f0;
    color: #3b2e43;
}

.admin-table tbody tr:last-child td {
    border-bottom: none;
}

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

/* ---- Status chips ---------------------------------------- */
.admin-chip {
    display: inline-block;
    border-radius: 999px;
    padding: 0.22rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}

.admin-chip.approved  { background: #e9f9f0; color: #1a7a47; }
.admin-chip.pending   { background: #fff7e0; color: #9a6300; }
.admin-chip.rejected  { background: #fff0f0; color: #b52424; }
.admin-chip.active    { background: #e8f5ff; color: #1557a0; }
.admin-chip.inactive  { background: #f4f4f4; color: #666; }
.admin-chip.arrived   { background: #e9f9f0; color: #1a7a47; }
.admin-chip.transit   { background: #fff7e0; color: #9a6300; }
.admin-chip.available { background: #e8f5ff; color: #1557a0; }
.admin-chip.allocated { background: #fdeeff; color: #7f2958; }

/* ---- Inventory sections ---------------------------------- */
.inv-section-title {
    font-family: 'Outfit', sans-serif;
    font-size: 1.15rem;
    color: #3b2e43;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.65rem;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid #ead7e8;
}

.inv-section-title i {
    color: #cf2f84;
}

.inv-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.7rem;
}

.inv-summary-item {
    border: 1px solid #ead7e8;
    border-radius: 12px;
    padding: 0.65rem 0.7rem;
    background: #fff8fd;
    text-align: center;
}

.inv-summary-item span {
    display: block;
    font-size: 0.78rem;
    color: #7a687f;
    font-weight: 600;
    margin-bottom: 0.2rem;
}

.inv-summary-item strong {
    font-size: 1.5rem;
    font-weight: 800;
    color: #ad246d;
    font-family: 'Outfit', sans-serif;
}

/* Hair stock grid (3 columns) */
.hair-stock-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
}

.hair-stock-col {
    border: 1px solid #ead7e8;
    border-radius: 12px;
    padding: 0.7rem;
    background: #fdfaff;
}

.hair-stock-col h4 {
    font-size: 0.9rem;
    font-weight: 800;
    color: #7f2958;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.hair-stock-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.3rem 0;
    border-bottom: 1px solid #f2e4f0;
    font-size: 0.85rem;
    color: #3b2e43;
}

.hair-stock-row:last-child {
    border-bottom: none;
}

.hair-stock-row strong {
    font-weight: 800;
    color: #ad246d;
}

/* ---- Pager ----------------------------------------------- */
.admin-pager {
    display: flex;
    gap: 0.4rem;
    margin-top: 0.7rem;
    justify-content: flex-end;
}

.admin-pager button {
    min-width: 2rem;
    padding: 0.3rem 0.6rem;
    border: 1px solid #ddc8e3;
    border-radius: 7px;
    background: #fff;
    color: #7f2958;
    font-size: 0.82rem;
    cursor: pointer;
    font-family: inherit;
}

.admin-pager button.active,
.admin-pager button:hover {
    background: #cf2f84;
    color: #fff;
    border-color: #cf2f84;
}

/* ---- Soft / ghost buttons -------------------------------- */
.soft-btn {
    border: none;
    background: #cf2f84;
    color: #fff;
    border-radius: 8px;
    padding: 0.38rem 0.8rem;
    font-size: 0.82rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s;
}

.soft-btn:hover { background: #a71f68; }

.ghost-btn {
    border: 1px solid #ddc8e3;
    background: transparent;
    color: #7f2958;
    border-radius: 8px;
    padding: 0.38rem 0.8rem;
    font-size: 0.82rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s;
}

.ghost-btn:hover { background: #fdf0f8; }

/* ---- Review / detail link -------------------------------- */
.admin-review-link {
    color: #cf2f84;
    font-weight: 700;
    font-size: 0.82rem;
    text-decoration: none;
}
.admin-review-link:hover { text-decoration: underline; }

/* ---- Empty state note ------------------------------------ */
.admin-empty-note {
    text-align: center;
    color: #9b7fa6;
    font-size: 0.83rem;
    padding: 1.2rem 0 0.4rem;
}

/* ---- User role badge ------------------------------------- */
.role-badge {
    display: inline-block;
    border-radius: 999px;
    padding: 0.2rem 0.6rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.role-badge.donor     { background: #fde8f5; color: #8f2d65; }
.role-badge.recipient { background: #e8f5ff; color: #1557a0; }
.role-badge.staff     { background: #e8fff2; color: #1a7a47; }
.role-badge.wigmaker  { background: #fff7e0; color: #9a6300; }
.role-badge.admin     { background: #fdf0f8; color: #cf2f84; }

/* ---- Events ------------------------------------------------ */
.event-list {
    display: grid;
    gap: 0.6rem;
}

.event-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    border: 1px solid #ead7e8;
    border-radius: 12px;
    padding: 0.7rem 0.85rem;
    background: #fff8fd;
}

.event-date-block {
    min-width: 2.8rem;
    text-align: center;
    border-radius: 8px;
    background: #cf2f84;
    color: #fff;
    padding: 0.35rem 0.2rem;
    line-height: 1.1;
}

.event-date-block .event-day {
    display: block;
    font-size: 1.15rem;
    font-weight: 800;
}

.event-date-block .event-month {
    display: block;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.event-body h4 {
    font-size: 0.92rem;
    color: #3b2e43;
    font-weight: 700;
    margin-bottom: 0.15rem;
}

.event-body p {
    font-size: 0.8rem;
    color: #7a687f;
}

/* ---- Report cards ---------------------------------------- */
.report-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.report-card {
    border: 1px solid #ead7e8;
    border-radius: 12px;
    padding: 0.85rem;
    background: #fff8fd;
    display: grid;
    gap: 0.25rem;
}

.report-card h3 {
    font-size: 0.92rem;
    color: #3b2e43;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.report-card h3 i { color: #cf2f84; }

.report-card p {
    font-size: 0.8rem;
    color: #665772;
}

.report-card .report-stat {
    font-size: 1.5rem;
    font-family: 'Outfit', sans-serif;
    font-weight: 800;
    color: #ad246d;
}

.report-download-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.35rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #cf2f84;
    border: 1px solid #e8c8db;
    border-radius: 7px;
    padding: 0.28rem 0.65rem;
    background: #fff;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.15s;
}

.report-download-btn:hover {
    background: #fdf0f8;
}

/* ---- Responsive ------------------------------------------ */
@media (max-width: 920px) {
    .admin-stat-grid,
    .inv-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-actions,
    .admin-actions.three-col,
    .admin-actions.four-col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hair-stock-grid { grid-template-columns: 1fr; }

    .report-grid { grid-template-columns: 1fr; }

    .admin-two-col { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
    .admin-stat-grid  { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-actions,
    .admin-actions.two-col,
    .admin-actions.three-col { grid-template-columns: 1fr; }
    .admin-hero { flex-direction: column; gap: 0.5rem; }
}

/* ============================================================
   Admin Dashboard Overrides
   Cleaner hierarchy, stronger contrast, easier scanning
   ============================================================ */

.admin-page {
    gap: 1rem;
}

.admin-surface {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 253, 0.98));
    border: 1px solid #ead7e8;
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(73, 20, 52, 0.08);
}

.admin-page-head {
    display: grid;
    gap: 0.35rem;
    padding: 0.2rem 0 0.1rem;
}

.admin-page-kicker {
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9b2f69;
}

.admin-page-head h1 {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(1.55rem, 3vw, 2.2rem);
    color: #2f2436;
    line-height: 1.04;
}

.admin-page-head p:last-child {
    color: #6c5d74;
    font-size: 0.9rem;
    max-width: 60ch;
}

.admin-grid-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.admin-hero {
    align-items: stretch;
    gap: 1rem;
    padding: 1.25rem;
    position: relative;
    overflow: hidden;
}

.admin-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top right, rgba(207, 47, 132, 0.10), transparent 28%),
        radial-gradient(circle at bottom left, rgba(244, 160, 204, 0.14), transparent 34%);
    pointer-events: none;
}

.admin-hero-copy,
.admin-hero-side {
    position: relative;
    z-index: 1;
}

.admin-hero-copy {
    display: grid;
    align-content: start;
}

.admin-hero-copy .admin-kicker {
    margin-bottom: 0.35rem;
}

.admin-hero-copy h1 {
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    line-height: 1.02;
}

.admin-hero-copy p {
    color: #62546b;
    margin-top: 0.55rem;
    font-size: 0.94rem;
    max-width: 46ch;
}

.admin-hero-points {
    margin-top: 1rem;
    display: grid;
    gap: 0.55rem;
}

.admin-hero-point {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    color: #4e4057;
    font-size: 0.86rem;
    font-weight: 600;
}

.admin-hero-point i {
    width: 1.9rem;
    height: 1.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #efd7e7;
    color: #c12f7d;
    box-shadow: 0 8px 18px rgba(73, 20, 52, 0.06);
}

.admin-hero-side {
    min-width: 250px;
    display: grid;
    align-content: space-between;
    gap: 0.9rem;
}

.admin-hero-summary {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #eddbe8;
}

.admin-hero-summary strong {
    display: block;
    font-size: 0.82rem;
    color: #8f2d65;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.2rem;
}

.admin-hero-summary span {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: #302530;
}

.admin-stat-grid {
    gap: 0.8rem;
}

.admin-stat {
    border-radius: 18px;
    padding: 0.95rem;
    box-shadow: 0 12px 26px rgba(73, 20, 52, 0.06);
    gap: 0.28rem;
}

.admin-stat-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    font-weight: 800;
    color: #8f2d65;
}

.admin-stat-label i {
    font-size: 1.08rem;
}

.admin-stat h2 {
    font-size: clamp(2rem, 3.9vw, 2.7rem);
}

.admin-stat p {
    color: #7b6a83;
    font-size: 0.84rem;
}

.admin-stat-donor .admin-stat-accent {
    background: linear-gradient(90deg, #d63886, #ef9fc7);
}

.admin-stat-approved .admin-stat-accent {
    background: linear-gradient(90deg, #209663, #82d5ad);
}

.admin-stat-approved .admin-stat-label,
.admin-stat-approved .admin-stat-label i,
.admin-stat-approved h2 {
    color: #1f8155;
}

.admin-stat-recipient .admin-stat-accent {
    background: linear-gradient(90deg, #2471d0, #83b9f7);
}

.admin-stat-recipient .admin-stat-label,
.admin-stat-recipient .admin-stat-label i,
.admin-stat-recipient h2 {
    color: #1c61b8;
}

.admin-stat-pending .admin-stat-accent {
    background: linear-gradient(90deg, #c48c19, #f1cf79);
}

.admin-stat-pending .admin-stat-label,
.admin-stat-pending .admin-stat-label i,
.admin-stat-pending h2 {
    color: #9d6c0d;
}

.admin-toolbar {
    padding: 0.95rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.admin-toolbar-copy h2 {
    font-family: 'Outfit', sans-serif;
    color: #33273b;
    font-size: 1.22rem;
}

.admin-toolbar-copy p {
    color: #73657b;
    font-size: 0.88rem;
    margin-top: 0.2rem;
}

.admin-quick-actions {
    justify-content: flex-end;
    gap: 0.6rem;
}

.admin-quick-btn {
    background: #fff;
    border: 1px solid #e4cadd;
    color: #8b2f67;
    font-size: 0.84rem;
    font-weight: 800;
    padding: 0.68rem 1rem;
    transition: border-color 0.18s, background 0.18s, transform 0.15s, box-shadow 0.15s;
}

.admin-quick-btn:hover {
    background: #fff6fb;
    border-color: #dba6c5;
    box-shadow: 0 10px 22px rgba(167, 31, 104, 0.12);
    color: #8b2f67;
}

.admin-quick-btn-primary {
    background: linear-gradient(135deg, #cf2f84, #a71f68);
    border-color: transparent;
    color: #fff;
}

.admin-quick-btn-primary:hover {
    background: linear-gradient(135deg, #c22b7b, #97185d);
    color: #fff;
}

.admin-card,
.admin-focus-card {
    border-radius: 18px;
    padding: 1rem;
    box-shadow: 0 14px 30px rgba(73, 20, 52, 0.07);
}

.admin-card-head-stack {
    align-items: end;
}

.admin-section-kicker {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #977489;
    margin-bottom: 0.3rem;
}

.admin-priority-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.admin-focus-card {
    background: linear-gradient(180deg, #fff, #fffafd);
}

.admin-focus-donor {
    box-shadow: inset 0 3px 0 #db3f89, 0 14px 30px rgba(73, 20, 52, 0.08);
}

.admin-focus-recipient {
    box-shadow: inset 0 3px 0 #2f78d6, 0 14px 30px rgba(73, 20, 52, 0.08);
}

.admin-focus-head {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 0.8rem;
    margin-bottom: 0.85rem;
}

.admin-focus-head h2 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Outfit', sans-serif;
    color: #34293c;
    font-size: 1.4rem;
}

.admin-focus-head i {
    color: #cf2f84;
}

.admin-focus-recipient .admin-focus-head i {
    color: #2f78d6;
}

.admin-focus-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 0.9rem;
}

.admin-mini-stat {
    border-radius: 14px;
    background: #faf4f9;
    border: 1px solid #f0dee9;
    padding: 0.75rem 0.7rem;
}

.admin-focus-recipient .admin-mini-stat {
    background: #f5f8fe;
    border-color: #dfe8f7;
}

.admin-mini-stat strong {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-size: 1.5rem;
    color: #2d2333;
    line-height: 1;
}

.admin-mini-stat span {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.78rem;
    color: #7a687f;
    font-weight: 700;
}

.admin-queue-list {
    display: grid;
    gap: 0.7rem;
}

.admin-queue-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    border: 1px solid #efdfeb;
    border-radius: 16px;
    padding: 0.8rem 0.85rem;
    background: #fff;
}

.admin-queue-main {
    min-width: 0;
}

.admin-queue-title-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
    margin-bottom: 0.25rem;
}

.admin-queue-title-row strong {
    color: #34293c;
    font-size: 0.94rem;
}

.admin-queue-main p {
    color: #75667d;
    font-size: 0.82rem;
}

.admin-row-link {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 76px;
    padding: 0.52rem 0.8rem;
    border-radius: 999px;
    border: 1px solid #ead3e1;
    background: #fff8fd;
    color: #a12a69;
    font-size: 0.8rem;
    font-weight: 800;
}

.admin-row-link:hover {
    background: #feeef7;
    border-color: #dca7c6;
}

.admin-module-panel {
    padding: 1.1rem;
}

.admin-actions-module {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
}

.admin-action-link {
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 0.75rem;
    padding: 0.9rem;
    border-radius: 16px;
    background: linear-gradient(180deg, #fff, #fff9fd);
}

.admin-action-link h3 {
    margin-bottom: 0.15rem;
}

.admin-action-link-strong {
    border-color: #d9a6c5;
    background: linear-gradient(180deg, #fff, #fff3fa);
}

.admin-action-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #eed7e5;
    color: #cf2f84;
    font-size: 1.15rem;
    box-shadow: 0 8px 18px rgba(73, 20, 52, 0.06);
}

.admin-optional {
    border-radius: 18px;
    padding: 0.95rem 1rem;
    background: linear-gradient(180deg, #fff, #fffafd);
}

.admin-optional-head h2 {
    font-size: 1.05rem;
}

.admin-optional-meta {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.admin-optional-meta i {
    font-size: 1.1rem;
    color: #c080a8;
    transition: transform 0.2s;
}

@media (max-width: 920px) {
    .admin-grid-two,
    .admin-priority-grid,
    .admin-actions-module {
        grid-template-columns: 1fr;
    }

    .admin-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .admin-quick-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 540px) {
    .admin-hero {
        flex-direction: column;
        gap: 0.8rem;
        padding: 1rem;
    }

    .admin-hero-side {
        min-width: 0;
    }

    .admin-focus-summary,
    .admin-stat-grid {
        grid-template-columns: 1fr;
    }

    .admin-focus-head,
    .admin-queue-item {
        flex-direction: column;
        align-items: stretch;
    }

    .admin-row-link,
    .admin-quick-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================================
   Elegant Admin Dashboard (Simplified)
   ============================================================ */

.admin-page {
    gap: 0.85rem;
}

.admin-surface,
.admin-card,
.admin-focus-card,
.admin-optional {
    background: #fff;
    border: 1px solid #e7dbe5;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(44, 24, 39, 0.05);
}

.admin-hero {
    padding: 1rem 1.05rem;
    gap: 0.9rem;
}

.admin-hero::before {
    display: none;
}

.admin-hero-copy h1 {
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.06;
}

.admin-hero-copy p {
    margin-top: 0.35rem;
    font-size: 0.89rem;
    color: #675b70;
    max-width: 52ch;
}

.admin-hero-side {
    min-width: 210px;
}

.admin-hero-summary {
    padding: 0.75rem;
    border-radius: 12px;
    border: 1px solid #e8deea;
    background: #fcfafc;
}

.admin-hero-summary strong {
    font-size: 0.74rem;
    letter-spacing: 0.05em;
}

.admin-hero-summary span {
    font-size: 0.92rem;
}

.admin-stat-grid {
    gap: 0.65rem;
}

.admin-stat {
    border-radius: 12px;
    border: 1px solid #e8dfe8;
    box-shadow: none;
    padding: 0.75rem;
    gap: 0.2rem;
}

.admin-stat-accent {
    height: 2px;
    margin-bottom: 0.45rem;
    opacity: 0.65;
}

.admin-stat h2 {
    font-size: clamp(1.45rem, 2.8vw, 2rem);
}

.admin-stat p {
    font-size: 0.79rem;
    color: #7b6f83;
}

.admin-toolbar {
    padding: 0.72rem 0.88rem;
}

.admin-toolbar-copy h2 {
    font-size: 1.05rem;
}

.admin-toolbar-copy p {
    font-size: 0.82rem;
    color: #776a80;
}

.admin-quick-actions {
    gap: 0.48rem;
}

.admin-quick-btn {
    background: #fff;
    border: 1px solid #e0d2df;
    color: #7e3565;
    padding: 0.48rem 0.78rem;
    font-size: 0.79rem;
    font-weight: 700;
    box-shadow: none;
}

.admin-quick-btn:hover {
    background: #faf5f9;
    border-color: #cfb1c7;
    color: #7e3565;
    box-shadow: none;
    transform: none;
}

.admin-quick-btn-primary {
    background: #c43c84;
    color: #fff;
    border-color: #c43c84;
}

.admin-quick-btn-primary:hover {
    background: #af2d73;
    color: #fff;
    border-color: #af2d73;
}

.admin-priority-grid,
.admin-actions-module {
    gap: 0.75rem;
}

.admin-focus-donor,
.admin-focus-recipient {
    box-shadow: 0 4px 14px rgba(44, 24, 39, 0.05);
}

.admin-focus-head {
    margin-bottom: 0.65rem;
}

.admin-focus-head h2 {
    font-size: 1.16rem;
}

.admin-focus-summary {
    gap: 0.45rem;
    margin-bottom: 0.7rem;
}

.admin-mini-stat {
    border-radius: 10px;
    padding: 0.5rem 0.55rem;
    border: 1px solid #ece1ea;
    background: #fcf9fc;
}

.admin-mini-stat strong {
    font-size: 1.15rem;
}

.admin-mini-stat span {
    font-size: 0.72rem;
}

.admin-queue-list {
    gap: 0.5rem;
}

.admin-queue-item {
    border-radius: 11px;
    border: 1px solid #ece2ea;
    padding: 0.58rem 0.65rem;
}

.admin-queue-title-row strong {
    font-size: 0.86rem;
}

.admin-queue-main p {
    font-size: 0.76rem;
    color: #756a7d;
}

.admin-row-link {
    min-width: 64px;
    border-radius: 8px;
    padding: 0.36rem 0.6rem;
    font-size: 0.74rem;
    background: #fbf7fa;
    border-color: #e4d7e1;
}

.admin-row-link:hover {
    background: #f6edf4;
    border-color: #d2b7c8;
}

.admin-module-panel {
    padding: 0.9rem;
}

.admin-action-link {
    border-radius: 12px;
    padding: 0.65rem;
    background: #fff;
    border: 1px solid #e8deea;
    box-shadow: none;
}

.admin-action-link:hover {
    box-shadow: none;
    transform: none;
    border-color: #d6c3d3;
}

.admin-action-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 9px;
    border: 1px solid #e6dbe6;
    box-shadow: none;
    font-size: 1rem;
}

.admin-action-link h3 {
    font-size: 0.88rem;
}

.admin-action-link p {
    font-size: 0.76rem;
    color: #6f6378;
}

.admin-optional {
    padding: 0.75rem 0.82rem;
}

.admin-optional-head h2 {
    font-size: 0.94rem;
}

.admin-optional-tag {
    font-size: 0.62rem;
}

@media (max-width: 920px) {
    .admin-toolbar {
        padding: 0.78rem;
    }

    .admin-hero {
        padding: 0.88rem;
    }
}

@media (max-width: 540px) {
    .admin-hero-side {
        min-width: 0 !important;
    }

    .inv-summary-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .admin-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .admin-quick-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .admin-page {
        padding-inline: 0;
    }
}

