.admin-body{min-height:100vh;background:
    radial-gradient(circle at top left, rgba(49,231,211,.12), transparent 24%),
    radial-gradient(circle at top right, rgba(255,159,67,.12), transparent 22%),
    #050706}
.admin-login-main{min-height:100vh;display:grid;place-items:center;padding:28px}
.admin-login-card,.admin-shell,.admin-calendar-card,.admin-list-card,.admin-card{min-width:0;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border-radius:34px;box-shadow:var(--shadow)}
.admin-login-card{width:min(540px,100%);padding:34px}
.admin-login-card h1{font-size:clamp(36px,5vw,52px);text-transform:none;letter-spacing:-.05em;margin-bottom:12px}
.admin-login-text{color:#c7d7d1;line-height:1.7;margin-bottom:22px}
.admin-login-form{display:grid;gap:14px;margin-top:24px}
.admin-main{padding:118px 0 70px}
.admin-shell{padding:28px}
.admin-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.admin-card{padding:20px}
.admin-card span{display:block;color:var(--muted);font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.admin-card strong{font-size:40px;overflow-wrap:anywhere}
.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:20px}
.admin-calendar-card,.admin-list-card{padding:26px}
.admin-calendar-top,.admin-list-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px}
.admin-calendar-top h1,.admin-list-top h2{font-size:clamp(30px,4vw,46px);text-transform:none;letter-spacing:-.04em;margin-bottom:0}
.admin-date-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.admin-date-filter input{min-width:180px}
.admin-calendar-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-radius:22px;background:#edf4f1;color:#08100d;margin-bottom:14px}
.admin-calendar-nav a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;color:#08100d;border:1px solid rgba(0,0,0,.08);font-size:30px;line-height:1}
.admin-weekdays,.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.admin-weekdays span{text-align:center;color:#8aa099;font-size:12px;padding:8px 0;text-transform:uppercase;letter-spacing:.12em}
.admin-day,.admin-calendar-empty{min-width:0;min-height:90px;border-radius:20px}
.admin-day{display:flex;flex-direction:column;justify-content:space-between;padding:14px;background:#f5fbf8;color:#08100d;border:1px solid rgba(0,0,0,.06)}
.admin-day b{font-size:20px}
.admin-day small{color:#6a8079;overflow-wrap:anywhere;word-break:break-word;line-height:1.2}
.admin-day.has-bookings{
    background:linear-gradient(180deg,#1d7cff,#0b4fd3);
    color:#fff;
    border-color:rgba(120,180,255,.75);
    box-shadow:0 12px 30px rgba(29,124,255,.28);
}

.admin-day.has-bookings b,
.admin-day.has-bookings small{
    color:#fff;
}

.admin-day.has-bookings.is-today b{
    color:#fff;
}

.admin-day.has-bookings.is-selected{
    outline:2px solid var(--accent);
    outline-offset:2px;
}
.admin-day.is-full{background:#ffdede;border-color:#e7afaf}
.admin-day.is-selected{outline:2px solid var(--accent);outline-offset:2px}
.admin-day.is-today b{color:#0b7f71}
.admin-list-count{padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#e7f6f1;font-size:13px}
.admin-empty-state{padding:26px;border-radius:22px;background:rgba(255,255,255,.05);color:#c6d8d1}
.admin-booking-list{display:grid;gap:14px}
.admin-booking-card{padding:18px;border-radius:24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.admin-booking-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}
.admin-booking-head h3{font-size:22px;margin:0}
.admin-booking-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-booking-meta span{display:block;color:#8fa49d;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.admin-booking-meta strong{font-size:16px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}
@media (max-width:1100px){
    .admin-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
    .admin-dashboard-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
    .admin-main{padding-top:96px}
    .admin-header{grid-template-columns:1fr;gap:12px;justify-items:start}
    .admin-header .booking-nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px 16px;background:none;border:0;padding:0;backdrop-filter:none;font-size:11px;letter-spacing:.12em}
    .admin-header .header-cta{display:inline-flex}
    .admin-summary-cards,.admin-dashboard-grid,.admin-booking-meta{grid-template-columns:1fr}
    .admin-shell,.admin-calendar-card,.admin-list-card,.admin-login-card{padding:22px}
    .admin-calendar-top,.admin-list-top,.admin-booking-head{flex-direction:column}
    .admin-calendar-top h1,.admin-list-top h2{font-size:clamp(28px,8vw,40px)}
    .admin-weekdays,.admin-calendar-grid{gap:8px}
    .admin-day,.admin-calendar-empty{min-height:74px}
}
@media (max-width:520px){
    .admin-shell,.admin-calendar-card,.admin-list-card,.admin-login-card{padding:18px}
    .admin-header .header-cta{width:100%;justify-content:center;padding-inline:16px}
    .admin-date-filter{width:100%}
    .admin-date-filter input,.admin-date-filter .btn{width:100%}
    .admin-calendar-nav{padding:14px 16px}
    .admin-weekdays,.admin-calendar-grid{gap:6px}
    .admin-weekdays span{font-size:10px;letter-spacing:.08em;padding:4px 0}
    .admin-day,.admin-calendar-empty{min-height:64px;border-radius:16px}
    .admin-day{padding:8px}
    .admin-day b{font-size:15px}
    .admin-day small{font-size:9px;line-height:1.05}
}
.admin-booking-delete-form{
    margin-top:16px;
    display:flex;
    justify-content:flex-end;
}

.admin-delete-booking{
    border:1px solid rgba(255,107,107,.42);
    background:rgba(255,107,107,.08);
    color:#ffdede;
    border-radius:999px;
    padding:10px 14px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.admin-delete-booking:hover{
    background:rgba(255,107,107,.16);
    border-color:rgba(255,107,107,.7);
    transform:translateY(-1px);
}
/* Admin wide layout */
.admin-main{
    padding-left:24px;
    padding-right:24px;
}

.admin-main > .container.admin-shell{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
}

.admin-dashboard-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);
    gap:24px;
}
/* Admin global scale */
@media (min-width:1061px){
    body.admin-body{
        zoom:.82;
    }

    body.admin-body .admin-main{
        padding-top:78px;
        padding-bottom:18px;
    }
}
.admin-maintenance-card{
    margin-bottom:24px;
}

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

.admin-maintenance-head h2{
    margin:0 0 8px;
}

.admin-maintenance-head p{
    margin:0;
    color:#9fb0a9;
}

.admin-status{
    font-weight:800;
}

.admin-status--open{
    color:#31e7d3;
}

.admin-status--closed{
    color:#ff6b6b;
}

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

.admin-maintenance-message{
    display:grid;
    gap:8px;
}

.admin-maintenance-message span{
    color:#9fb0a9;
    font-size:13px;
}

.admin-maintenance-message textarea{
    width:100%;
    min-height:82px;
    resize:vertical;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.12);
    background:#0b100e;
    color:#fff;
    padding:12px 14px;
    font:inherit;
}

.admin-maintenance-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.admin-btn-danger{
    background:#ff4d4d;
    color:#fff;
}

.admin-btn-success{
    background:#31e7d3;
    color:#04100e;
}