
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

:root{
    --bg1:#041a24;
    --bg2:#072636;
    --card:rgba(255,255,255,0.06);
    --card-border:rgba(255,255,255,0.08);
    --text:#ffffff;
    --muted:#9db4c0;
    --input:#1f2329;
    --primary1:#19c2ff;
    --primary2:#1677ff;
    --danger:#ff4d4f;
    --warning:#ff9f1c;
    --success:#21c55d;
    --shadow:0 18px 50px rgba(0,0,0,0.35);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
    min-height:100vh;
    font-family:'Poppins',sans-serif;
    color:var(--text);
    background: radial-gradient(circle at top, #0a3346 0%, var(--bg1) 35%, #021018 100%);
}
body.center-page{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}
.container{
    width:min(100%, 1100px);
    margin:0 auto;
    padding:28px 18px 40px;
}
.auth-card,.panel-card,.stat-card,.request-card,.user-card{
    background:var(--card);
    border:1px solid var(--card-border);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-radius:20px;
    box-shadow:var(--shadow);
    animation:fadeIn .45s ease;
}
.auth-card{
    width:min(100%, 380px);
    padding:30px;
}
.brand{
    font-size:34px;
    margin:0 0 6px;
    text-align:center;
    font-weight:700;
}
.subtitle{
    margin:0 0 22px;
    text-align:center;
    color:var(--muted);
    font-size:14px;
}
.section-title{
    margin:0 0 16px;
    font-size:22px;
    font-weight:600;
}
label{
    display:block;
    margin-top:10px;
    margin-bottom:6px;
    color:var(--muted);
    font-size:14px;
}
input{
    width:100%;
    height:46px;
    border:none;
    border-radius:12px;
    padding:0 14px;
    background:rgba(24,28,34,.95);
    color:#fff;
    outline:none;
    font-size:14px;
}
input::placeholder{color:#818b96}
button,.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-height:46px;
    border:none;
    border-radius:12px;
    padding:12px 16px;
    background:linear-gradient(90deg,var(--primary1),var(--primary2));
    color:#fff;
    text-decoration:none;
    font-weight:600;
    cursor:pointer;
    transition:.2s transform,.2s opacity,.2s box-shadow;
    box-shadow:0 10px 25px rgba(22,119,255,.25);
}
button:hover,.btn:hover{transform:translateY(-1px);opacity:.96}
.btn-outline{
    background:transparent;
    border:1px solid rgba(255,255,255,.14);
    box-shadow:none;
}
.btn-danger{
    background:linear-gradient(90deg,#ff6b6b,#e03131);
    box-shadow:0 10px 25px rgba(224,49,49,.18);
}
.row{
    display:grid;
    gap:18px;
}
.two-col{
    grid-template-columns:1.1fr .9fr;
}
@media (max-width: 860px){
    .two-col{grid-template-columns:1fr}
}
.topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
}
.topbar h1{
    margin:0;
    font-size:28px;
}
.topbar p{
    margin:6px 0 0;
    color:var(--muted);
}
.actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.panel-card{
    padding:22px;
}
.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.form-grid .full{grid-column:1 / -1}
@media (max-width: 640px){
    .form-grid{grid-template-columns:1fr}
}
.list-grid{
    display:grid;
    gap:14px;
}
.request-card,.user-card,.stat-card{
    padding:18px;
}
.request-top,.user-top{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    flex-wrap:wrap;
}
.request-title{
    margin:0 0 8px;
    font-size:18px;
    font-weight:600;
}
.meta{
    color:var(--muted);
    font-size:13px;
}
.badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
}
.badge-warning{background:rgba(255,159,28,.18); color:#ffbf69}
.badge-success{background:rgba(33,197,93,.18); color:#87f5ae}
.request-actions,.user-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:14px;
}
.request-actions .btn,.user-actions .btn{
    width:auto;
    min-width:120px;
    padding:10px 14px;
    min-height:40px;
}
.empty{
    padding:20px;
    text-align:center;
    color:var(--muted);
    border:1px dashed rgba(255,255,255,.12);
    border-radius:16px;
}
.notice{
    margin:0 0 16px;
    padding:12px 14px;
    border-radius:12px;
    font-size:14px;
}
.notice-error{background:rgba(255,77,79,.15);color:#ffb3b4}
.notice-success{background:rgba(33,197,93,.15);color:#a7f3c0}
.link{
    display:block;
    text-align:center;
    margin-top:16px;
    color:#4cc9ff;
    text-decoration:none;
}
.stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
@media (max-width: 700px){
    .stats{grid-template-columns:1fr}
}
.stat-number{
    font-size:28px;
    font-weight:700;
    margin:8px 0 0;
}
.small{
    font-size:13px;
    color:var(--muted);
}
.imdb-link{
    color:#61dafb;
    text-decoration:none;
    word-break:break-all;
}
hr.sep{
    border:none;
    border-top:1px solid rgba(255,255,255,.08);
    margin:18px 0;
}
@keyframes fadeIn{
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:translateY(0)}
}
