:root{
    --pink:#e91e63;
    --purple:#7b2cbf;
    --teal:#0f766e;
    --ink:#231329;
    --muted:#66516e;
    --line:rgba(82,37,103,.13);
    --paper:#fff;
}

*{box-sizing:border-box}
body{
    margin:0;
    min-height:100vh;
    font-family:Segoe UI,Arial,sans-serif;
    color:var(--ink);
    background:linear-gradient(135deg,#fff8fb 0%,#f8f2ff 48%,#eefbf8 100%);
}
a{color:var(--pink)}
.admin-shell{
    width:min(1160px,calc(100% - 32px));
    margin:0 auto;
    padding:32px 0 70px;
}
.admin-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:56px;
}
.brand-link{
    display:flex;
    align-items:center;
    gap:14px;
    color:var(--pink);
    text-decoration:none;
    font-weight:900;
    font-size:1.3rem;
}
.brand-link img{
    width:96px;
    height:70px;
    object-fit:contain;
}
.admin-header p,
.panel-head p,
.login-card p,
.empty-state{
    color:var(--muted);
    line-height:1.7;
    margin:8px 0 0;
}
.admin-card,
.stats-grid article{
    background:rgba(255,255,255,.82);
    border:1px solid rgba(255,255,255,.92);
    border-radius:24px;
    box-shadow:0 18px 54px rgba(76,29,90,.10);
}
.admin-card{
    padding:28px;
}
.login-card{
    max-width:460px;
    margin:0 auto;
}
.login-card h1,
.panel-head h1{
    margin:0;
    color:var(--pink);
    font-size:clamp(2rem,4vw,3rem);
    line-height:1;
}
.admin-form{
    display:grid;
    gap:18px;
    margin-top:24px;
}
.admin-form label{
    display:grid;
    gap:8px;
    color:var(--purple);
    font-weight:800;
}
.admin-form input{
    width:100%;
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px 15px;
}
.primary-btn,
.ghost-btn,
.message-actions button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 18px;
    border-radius:999px;
    border:0;
    cursor:pointer;
    font:inherit;
    font-weight:800;
    text-decoration:none;
}
.primary-btn{
    color:white;
    background:linear-gradient(135deg,var(--pink),var(--purple));
}
.ghost-btn,
.message-actions button{
    color:var(--teal);
    background:rgba(15,118,110,.09);
}
.danger-btn{
    color:#b42318!important;
    background:#fff1f0!important;
}
.admin-alert{
    padding:14px 16px;
    border-radius:16px;
    font-weight:800;
}
.admin-alert.success{background:#e7f7f4;color:var(--teal)}
.admin-alert.error{background:#fff1f0;color:#b42318}
.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-bottom:22px;
}
.stats-grid article{
    padding:22px;
}
.stats-grid span{
    display:block;
    color:var(--muted);
    font-weight:800;
}
.stats-grid strong{
    display:block;
    margin-top:8px;
    color:var(--pink);
    font-size:2.4rem;
    line-height:1;
}
.panel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:24px;
}
.message-list{
    display:grid;
    gap:18px;
}
.message-card{
    border:1px solid var(--line);
    border-radius:20px;
    padding:22px;
    background:white;
}
.message-card.status-new{
    border-color:rgba(233,30,99,.32);
}
.message-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
}
.message-head h2{
    margin:10px 0 8px;
    color:var(--purple);
    font-size:1.25rem;
}
.message-head p,
.message-head time,
.mail-note{
    color:var(--muted);
    margin:0;
}
.status-pill{
    display:inline-flex;
    padding:5px 10px;
    border-radius:999px;
    background:#fce7f3;
    color:var(--pink);
    font-size:.78rem;
    font-weight:900;
    text-transform:uppercase;
}
.message-body{
    margin:18px 0;
    color:var(--ink);
    line-height:1.75;
}
.mail-note{
    padding:12px;
    border-radius:14px;
    background:#fff8e6;
    font-size:.9rem;
}
.message-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.message-actions form{
    margin:0;
}
@media(max-width:760px){
    .admin-header,
    .panel-head,
    .message-head{
        display:grid;
    }
    .stats-grid{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:520px){
    .stats-grid{
        grid-template-columns:1fr;
    }
}
