:root{
    --background:#f5f3ee;
    --card:#ffffff;
    --navy:#10264b;
    --navy-soft:#1d3b68;
    --gold:#d8ab42;
    --gold-deep:#b28528;
    --border:#e7e0d1;
    --muted:#6b7280;
    --success:#1e9e63;
    --danger:#c0392b;
    --warning:#d98a1a;
    --radius:20px;
    --shadow:0 18px 60px -24px rgba(16,38,75,.25);
}
*{box-sizing:border-box}
body{
    margin:0;
    font-family:'Inter',system-ui,sans-serif;
    background:var(--background);
    color:#101b31;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.admin-shell{
    display:grid;
    grid-template-columns:290px 1fr;
    min-height:100vh;
}
.admin-sidebar{
    background:linear-gradient(180deg,var(--navy),#08152d);
    color:#fff;
    padding:24px 18px;
    position:sticky;
    top:0;
    height:100vh;
}
.admin-brand{
    display:flex;align-items:center;gap:12px;
    padding:12px 14px;margin-bottom:20px
}
.admin-brand img{width:50px;height:50px;object-fit:contain}
.admin-brand strong{
    display:block;
    font-family:'Playfair Display',Georgia,serif;
    font-size:1.15rem
}
.admin-brand span{
    font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#e4c97b
}
.admin-nav{display:grid;gap:6px}
.admin-nav a{
    padding:12px 14px;border-radius:14px;color:rgba(255,255,255,.82);font-weight:600;transition:.25s ease
}
.admin-nav a:hover,.admin-nav a.active{
    background:rgba(255,255,255,.08);color:#f0cb67
}
.admin-main{padding:26px}
.admin-header{
    display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:24px
}
.admin-header h1{
    margin:0 0 6px;
    font-family:'Playfair Display',Georgia,serif;
    font-size:2rem;color:var(--navy)
}
.admin-header p{margin:0;color:var(--muted)}
.admin-visit-site{
    background:#fff;border:1px solid rgba(16,38,75,.1);padding:12px 16px;border-radius:14px;font-weight:700
}
.admin-stats{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
    margin-bottom:22px
}
.admin-stat-card,.admin-card{
    background:var(--card);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    border:1px solid rgba(16,38,75,.06)
}
.admin-stat-card{
    padding:20px 18px
}
.admin-stat-card span{
    display:block;color:var(--muted);font-size:.9rem;margin-bottom:8px
}
.admin-stat-card strong{
    font-size:2rem;font-family:'Playfair Display',Georgia,serif;color:var(--navy)
}
.admin-card{
    padding:22px;
    margin-bottom:22px
}
.admin-card-head{
    margin-bottom:18px
}
.admin-card-head h2{
    margin:0 0 6px;
    font-family:'Playfair Display',Georgia,serif;
    color:var(--navy)
}
.admin-card-head p{margin:0;color:var(--muted)}
.admin-grid-two{
    display:grid;
    grid-template-columns:minmax(420px, 520px) minmax(0, 1fr);
    gap:22px;
    align-items:start
}
.admin-form-card{
    position:sticky;
    top:24px
}
.admin-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}
.admin-field{display:flex;flex-direction:column;gap:8px}
.admin-field.full{grid-column:1/-1}
.admin-field label{
    font-weight:700;color:var(--navy)
}
.admin-field input,
.admin-field textarea,
.admin-field select{
    width:100%;min-height:46px;
    border:1px solid rgba(16,38,75,.14);
    border-radius:14px;padding:12px 14px;background:#fff
}
.admin-field textarea{min-height:120px;resize:vertical}
.admin-field small{color:var(--muted);line-height:1.6}
.admin-check{
    display:flex;align-items:center;gap:10px;font-weight:600
}
.admin-actions,.admin-actions-cell{
    display:flex;gap:10px;align-items:center;flex-wrap:wrap
}
.admin-actions{margin-top:18px}
.admin-btn{
    min-height:46px;
    border-radius:14px;
    border:1px solid rgba(16,38,75,.12);
    padding:0 18px;
    background:#fff;
    font-weight:700;
    cursor:pointer
}
.admin-btn.primary{
    color:#101b31;
    background:linear-gradient(135deg,var(--gold),var(--gold-deep));
    border:none
}
.admin-btn.full{width:100%}
.inline-form select{
    min-height:38px;border-radius:10px;padding:6px 10px;border:1px solid rgba(16,38,75,.14)
}
.admin-table-wrap{
    overflow:auto;
    border-radius:18px;
    border:1px solid rgba(16,38,75,.08)
}
.admin-table{
    width:100%;
    border-collapse:collapse;
    min-width:880px;
    background:#fff
}
.admin-table thead th{
    text-align:left;
    padding:14px 12px;
    background:linear-gradient(135deg,var(--navy),var(--navy-soft));
    color:#fff;
    font-size:.9rem
}
.admin-table td{
    padding:14px 12px;
    border-top:1px solid rgba(16,38,75,.08);
    vertical-align:top
}
.admin-table tbody tr.is-editing-row{
    background:rgba(216,171,66,.12)
}
.mini-link{
    color:var(--navy-soft);
    font-weight:700;
}
.mini-link.danger{color:var(--danger)}
.status-pill{
    display:inline-flex;align-items:center;
    padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:700
}
.badge-success{background:rgba(30,158,99,.12);color:var(--success)}
.badge-warning{background:rgba(217,138,26,.14);color:var(--warning)}
.badge-danger{background:rgba(192,57,43,.12);color:var(--danger)}
.badge-info{background:rgba(29,59,104,.12);color:var(--navy-soft)}
.badge-muted{background:rgba(107,114,128,.14);color:var(--muted)}
.admin-alert{
    padding:14px 16px;border-radius:14px;margin-bottom:18px;font-weight:700
}
.admin-alert.success{background:rgba(30,158,99,.12);color:var(--success)}
.admin-alert.error{background:rgba(192,57,43,.12);color:var(--danger)}
.admin-login-body{
    min-height:100vh;
    display:grid;place-items:center;
    background:linear-gradient(135deg,var(--navy),#08152d)
}
.admin-login-card{
    width:min(430px, calc(100% - 24px));
    background:#fff;border-radius:28px;padding:34px 30px;box-shadow:var(--shadow)
}
.admin-login-logo{
    width:74px;height:74px;object-fit:contain;margin:0 auto 18px
}
.admin-login-card h1{
    margin:0 0 6px;text-align:center;
    font-family:'Playfair Display',Georgia,serif;color:var(--navy)
}
.admin-login-card p{text-align:center;color:var(--muted);margin:0 0 20px}
.table-thumb{
    width:86px;height:54px;border-radius:10px;object-fit:cover
}
.admin-image-manager{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px
}
.admin-image-preview-card{
    border:1px solid rgba(16,38,75,.1);
    border-radius:18px;
    background:#faf8f3;
    padding:14px;
    display:flex;
    flex-direction:column;
    gap:10px;
    min-height:100%
}
.preview-label{
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--muted);
    font-weight:800
}
.admin-image-preview{
    width:100%;
    aspect-ratio:16 / 10;
    object-fit:cover;
    border-radius:14px;
    background:#fff;
    border:1px solid rgba(16,38,75,.08)
}
.admin-image-preview.contain{
    object-fit:contain;
    padding:10px
}
.admin-upload-box{
    border:1.6px dashed rgba(16,38,75,.2);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(216,171,66,.08), rgba(255,255,255,.9));
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap:8px;
    padding:18px;
    min-height:100%;
    cursor:pointer
}
.admin-upload-box input{
    display:none
}
.admin-upload-box i{
    font-size:2rem;
    color:var(--navy-soft)
}
.admin-upload-box strong{
    color:var(--navy)
}
.admin-upload-box span{
    color:var(--muted);
    font-size:.92rem;
    line-height:1.5
}
@media (max-width: 1199px){
    .admin-shell{grid-template-columns:1fr}
    .admin-sidebar{position:relative;height:auto}
    .admin-grid-two,.admin-stats{grid-template-columns:1fr 1fr}
    .admin-form-card{position:relative;top:0}
    .admin-image-manager{grid-template-columns:1fr}
}
@media (max-width: 767px){
    .admin-main{padding:16px}
    .admin-grid-two,.admin-stats,.admin-form-grid{grid-template-columns:1fr}
    .admin-header{flex-direction:column}
    .admin-image-manager{grid-template-columns:1fr}
}


.admin-header-actions{
    display:flex;
    align-items:center;
    gap:12px;
}
.demo-ribbon-admin{
    left:auto;
    right:18px;
    bottom:18px;
}
.demo-static-alert{
    margin-bottom:18px;
}
.admin-alert.warning{
    background:rgba(217,138,26,.12);
    color:var(--warning);
    border:1px solid rgba(217,138,26,.2);
}
.demo-upload-box{
    opacity:.82;
    cursor:not-allowed;
}
.demo-upload-box input{
    pointer-events:none;
}
.admin-field input[readonly],
.admin-field textarea[readonly],
.admin-field select[disabled],
.inline-form select[disabled]{
    background:#f7f4ee;
    color:#39465e;
    cursor:not-allowed;
}
.admin-demo-credentials{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid rgba(16,38,75,.08);
}
.admin-demo-row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    padding:10px 0;
    border-bottom:1px dashed rgba(16,38,75,.08);
}
.admin-demo-row:last-child{
    border-bottom:none;
}
.admin-demo-row code{
    background:#f7f4ee;
    padding:6px 10px;
    border-radius:12px;
    font-weight:700;
}
.demo-toast{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:220;
    background:linear-gradient(135deg,#ff9a1f,#f07700);
    color:#fff;
    padding:14px 18px;
    border-radius:16px;
    box-shadow:0 20px 50px -26px rgba(240,119,0,.7);
    transform:translateY(12px);
    opacity:0;
    transition:.22s ease;
    max-width:min(380px, calc(100% - 28px));
    font-weight:700;
}
.demo-toast.show{
    transform:translateY(0);
    opacity:1;
}
@media (max-width: 768px){
    .demo-ribbon-admin{
        left:12px;
        right:12px;
        bottom:12px;
        text-align:center;
    }
    .demo-toast{
        left:12px;
        right:12px;
        bottom:70px;
        max-width:none;
    }
}
