/* ASENRA Admin Panel */
:root {
    --bg: #f4f1ea;
    --panel: #fff;
    --border: #e1d8c4;
    --text: #2c2010;
    --muted: #847258;
    --green: #3f8a4e;
    --green-d: #1f5b2d;
    --red: #b00020;
}
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial; background: var(--bg); color: var(--text); }

.adm-top {
    display:flex; align-items:center; gap:18px;
    background: #fff; border-bottom: 1px solid var(--border);
    padding: 10px 18px; position: sticky; top:0; z-index: 50;
}
.adm-brand { display:flex; align-items:center; gap:8px; text-decoration:none; color: var(--text); font-weight:700; }
.adm-brand img { height:32px; }
.adm-nav { display:flex; gap:4px; flex-wrap:wrap; flex:1; }
.adm-nav a {
    padding:8px 12px; text-decoration:none; color: var(--text);
    border-radius: 8px; font-size:14px;
}
.adm-nav a:hover { background: var(--bg); }
.adm-user { display:flex; gap:10px; align-items:center; font-size:13px; color: var(--muted); }
.adm-link { color: var(--green); text-decoration:none; }
.adm-link:hover { text-decoration: underline; }

.adm-main { max-width: 1200px; margin: 24px auto; padding: 0 18px; }

.adm-flash {
    padding:10px 14px; border-radius:8px; margin-bottom:14px;
    border:1px solid;
}
.adm-flash--ok  { background:#e8f5e9; color: var(--green-d); border-color:#a5d6a7; }
.adm-flash--err { background:#fdecea; color: var(--red);    border-color:#f5c6cb; }

.adm-card {
    background: var(--panel); border:1px solid var(--border);
    border-radius:12px; padding:18px; margin-bottom: 18px;
}
.adm-card h2 { margin-top:0; font-size:18px; }
.adm-card h3 { margin-top:0; }

.adm-grid { display:grid; gap:12px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.adm-stat {
    background: linear-gradient(180deg,#fff,#faf6ec);
    border:1px solid var(--border); border-radius:12px; padding:16px;
}
.adm-stat strong { display:block; font-size:28px; color: var(--green-d); }
.adm-stat span { color: var(--muted); font-size:13px; }

.adm-toolbar {
    display:flex; gap:8px; align-items:center; flex-wrap:wrap;
    margin-bottom: 12px;
}
.adm-btn {
    display:inline-block; background: var(--green); color:#fff; border:0;
    padding: 9px 16px; border-radius: 8px; text-decoration:none;
    cursor:pointer; font-size:14px;
}
.adm-btn:hover { background: var(--green-d); }
.adm-btn--ghost { background: #fff; color: var(--text); border:1px solid var(--border); }
.adm-btn--ghost:hover { background: var(--bg); }
.adm-btn--danger { background: var(--red); }
.adm-btn--danger:hover { background:#7a0014; }

.adm-table {
    width: 100%; border-collapse: collapse; background:#fff;
    border:1px solid var(--border); border-radius:12px; overflow:hidden;
}
.adm-table th, .adm-table td { padding:10px 12px; text-align:left; vertical-align: middle; border-bottom:1px solid var(--border); font-size:14px; }
.adm-table th { background: var(--bg); font-weight:600; }
.adm-table tr:last-child td { border-bottom:0; }
.adm-table img.thumb { width:64px; height:48px; object-fit:cover; border-radius:6px; }

.adm-form .field { margin-bottom: 12px; }
.adm-form label { display:block; font-size:13px; color: var(--muted); margin-bottom:4px; }
.adm-form input, .adm-form textarea, .adm-form select {
    width: 100%; padding: 9px 11px; border:1px solid var(--border);
    border-radius:8px; font: inherit; background:#fff;
}
.adm-form input:focus, .adm-form textarea:focus { outline: none; border-color: var(--green); }
.adm-row { display:grid; gap:12px; grid-template-columns: 1fr 1fr; }
@media (max-width: 720px) { .adm-row { grid-template-columns: 1fr; } }

.adm-login {
    min-height: 100vh; display:flex; align-items:center; justify-content:center;
    background: linear-gradient(135deg,#f6efe3,#d6b98a);
}
.adm-login .panel {
    background:#fff; padding:32px; border-radius: 16px; width: 380px;
    box-shadow: 0 30px 60px -20px rgba(0,0,0,.25);
}
.adm-login h1 { margin: 0 0 18px; text-align:center; }
.adm-login img { display:block; margin: 0 auto 8px; height:64px; }

.uploader {
    border: 2px dashed var(--border); border-radius: 10px;
    padding: 18px; text-align: center; background: var(--bg); cursor: pointer;
}
.uploader.is-drag { border-color: var(--green); background: #e8f5e9; }
.uploader input[type=file] { display: none; }
.uploader p { margin: 6px 0; color: var(--muted); font-size: 13px; }

.preview-row {
    display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;
}
.preview-row .pv {
    width: 100px; height: 80px; border-radius:6px; overflow:hidden;
    border:1px solid var(--border); position:relative; background:#000;
}
.preview-row .pv img { width:100%; height:100%; object-fit:cover; }
.preview-row .pv button {
    position:absolute; top:2px; right:2px; width:22px; height:22px; border-radius:50%;
    border:0; background: rgba(0,0,0,.6); color:#fff; cursor:pointer;
}

.badge { display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; }
.badge--on  { background:#e8f5e9; color: var(--green-d); }
.badge--off { background:#eee; color:#666; }

.empty { color: var(--muted); padding: 22px; text-align:center; }
