@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@600&display=swap');
:root { --wine:#921438; --dark:#21181b; --ink:#242023; --muted:#776f72; --line:#e8e2e4; --bg:#f6f4f3; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body, input, textarea, select, button { font:500 14px/1.55 Manrope,Arial,sans-serif; }
body { margin:0; color:var(--ink); background:var(--bg); }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; }
.login-page { min-height:100vh; display:grid; grid-template-columns:minmax(420px, .8fr) 1.2fr; background:#fff; }
.login-panel { width:min(460px, calc(100% - 60px)); margin:auto; padding:50px 0; }
.login-panel img { width:205px; margin-bottom:100px; }
.admin-kicker { color:var(--wine); font-size:10px; font-weight:800; letter-spacing:2px; text-transform:uppercase; }
.login-panel h1,.admin-header h1 { font:600 48px/1.1 "Playfair Display",serif; margin:14px 0; }
.login-panel p { color:var(--muted); max-width:390px; margin-bottom:35px; }
.login-panel form label,.admin-form label,.add-panel label { display:block; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:1px; text-transform:uppercase; margin-bottom:18px; }
input,textarea,select { width:100%; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); padding:12px 14px; outline:none; text-transform:none; letter-spacing:0; resize:vertical; }
input:focus,textarea:focus,select:focus { border-color:var(--wine); box-shadow:0 0 0 3px rgba(146,20,56,.08); }
.check { display:flex!important; align-items:center; gap:8px; text-transform:none!important; letter-spacing:0!important; font-size:12px!important; }
.check input { width:auto; accent-color:var(--wine); }
.admin-button,.small-button { border:0; border-radius:10px; background:var(--wine); color:#fff; padding:13px 23px; font-weight:800; }
.login-panel .admin-button { width:100%; margin-top:6px; }
.back-link { display:block; color:var(--muted); font-size:12px; margin-top:30px; }
.login-art { position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:8%; color:#fff; background:radial-gradient(circle at 70% 25%,#c83b61,transparent 30%),linear-gradient(140deg,#a91f46,#5d071e); }
.login-art::after { content:""; position:absolute; width:70%; aspect-ratio:1; border:1px solid rgba(255,255,255,.15); border-radius:50%; top:-20%; right:-10%; }
.login-mark { position:absolute; font:600 31vw/1 "Playfair Display",serif; color:rgba(255,255,255,.06); top:15%; left:5%; }
.login-art blockquote { position:relative; z-index:1; font:600 37px/1.3 "Playfair Display",serif; max-width:590px; margin:0; }
.alert { padding:13px 16px; border-radius:10px; margin:0 0 22px; font-size:12px; }
.alert.success { background:#e3f3e9; color:#17673a; }
.alert.error { background:#f8e5ea; color:#9c173a; }

.admin-shell { display:grid; grid-template-columns:250px minmax(0,1fr); min-height:100vh; }
.sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:32px 25px; background:#fff; border-right:1px solid var(--line); }
.sidebar-logo img { width:178px; }
.sidebar nav { display:flex; flex-direction:column; gap:6px; margin-top:70px; }
.sidebar nav a { display:flex; justify-content:space-between; align-items:center; padding:11px 14px; border-radius:9px; color:var(--muted); font-size:12px; font-weight:700; }
.sidebar nav a:hover,.sidebar nav a.active { color:var(--wine); background:#f8ecef; }
.sidebar nav b { min-width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--wine); color:#fff; font-size:9px; }
.sidebar-bottom { margin-top:auto; display:grid; gap:10px; padding-top:20px; border-top:1px solid var(--line); }
.sidebar-bottom a,.sidebar-bottom button { border:0; background:none; color:var(--muted); text-align:left; padding:0; font-size:11px; }
.admin-main { width:min(1220px,100%); padding:45px 50px 100px; overflow:hidden; }
.admin-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:35px; }
.admin-header h1 { font-size:40px; margin:8px 0 0; }
.admin-user { display:flex; align-items:center; gap:12px; }
.admin-user > span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--wine); color:#fff; font-weight:800; }
.admin-user div { display:flex; flex-direction:column; font-size:11px; }
.admin-user small { color:var(--muted); }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:24px; }
.stats article { min-height:145px; display:flex; flex-direction:column; padding:22px; border-radius:16px; background:#fff; border:1px solid var(--line); }
.stats span { color:var(--muted); font-size:11px; }
.stats strong { font:600 40px/1 "Playfair Display",serif; margin:auto 0 4px; }
.stats small { color:#aaa2a5; font-size:9px; text-transform:uppercase; letter-spacing:1px; }
.admin-card { padding:30px; margin-top:24px; background:#fff; border:1px solid var(--line); border-radius:18px; scroll-margin-top:25px; }
.card-heading { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); padding-bottom:23px; margin-bottom:27px; }
.card-heading > div { display:flex; align-items:center; gap:13px; }
.card-heading span { color:var(--wine); font-size:9px; }
.card-heading h2 { margin:0; font:600 27px/1 "Playfair Display",serif; }
.card-heading p { margin:0; color:var(--muted); font-size:11px; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0 18px; }
.form-grid .wide { grid-column:1/-1; }
.admin-form .admin-button { margin-top:5px; }
.admin-form small { display:block; color:#aaa2a5; text-transform:none; letter-spacing:0; margin-top:5px; font-weight:500; }
.item-list { display:grid; gap:12px; }
.editable-item { display:grid; grid-template-columns:40px 1fr auto; gap:15px; padding:18px; border:1px solid var(--line); border-radius:13px; background:#fdfcfc; }
.item-order { color:var(--wine); font-size:10px; padding-top:12px; }
.item-fields { display:grid; gap:9px; }
.item-fields input,.item-fields textarea,.item-fields select { padding:9px 11px; font-size:12px; }
.item-fields > input { font-weight:800; }
.inline-fields { display:grid; grid-template-columns:180px 100px auto; gap:10px; align-items:center; }
.inline-fields .check { margin:0; }
.item-actions { display:flex; flex-direction:column; gap:8px; }
.small-button { padding:8px 13px; border-radius:8px; font-size:10px; }
.icon-button { width:32px; height:32px; border:1px solid var(--line); border-radius:8px; background:#fff; font-size:19px; line-height:1; }
.icon-button.danger { color:#a51e41; }
.add-panel { margin-top:18px; border:1px dashed #d6c9cd; border-radius:12px; }
.add-panel summary { list-style:none; cursor:pointer; color:var(--wine); padding:15px 18px; font-size:11px; font-weight:800; }
.add-panel summary::-webkit-details-marker { display:none; }
.add-panel form { border-top:1px dashed #d6c9cd; padding:20px; }
.add-panel .admin-button { width:max-content; align-self:end; margin-bottom:18px; }
.lead-table { display:grid; gap:9px; }
.lead-row { display:grid; grid-template-columns:1fr 1fr 1.5fr auto; gap:20px; align-items:center; padding:16px; border:1px solid var(--line); border-radius:11px; }
.lead-row.unread { background:#fff7f9; border-color:#e8b9c6; }
.lead-row > div { display:flex; flex-direction:column; font-size:12px; }
.lead-row small { color:var(--muted); font-size:9px; }
.lead-row p { color:var(--muted); font-size:11px; margin:0; }
.lead-status { display:none; }
.lead-row.unread .lead-status { display:block; width:7px; height:7px; border-radius:50%; background:var(--wine); position:absolute; margin-left:-22px; }
.lead-actions { flex-direction:row!important; align-items:center; }
.empty-state { padding:45px 20px; text-align:center; color:var(--muted); background:var(--bg); border-radius:12px; font-size:12px; }

@media(max-width:1000px) {
    .admin-shell { grid-template-columns:1fr; }
    .sidebar { position:relative; width:100%; height:auto; padding:20px; flex-direction:row; align-items:center; gap:25px; overflow:auto; }
    .sidebar-logo img { width:145px; }
    .sidebar nav { flex-direction:row; margin:0; white-space:nowrap; }
    .sidebar-bottom { display:none; }
    .admin-main { padding:35px 25px 80px; }
    .stats { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:700px) {
    .login-page { display:block; }
    .login-panel { width:calc(100% - 40px); }
    .login-panel img { margin-bottom:65px; }
    .login-art { display:none; }
    .admin-header { align-items:flex-start; }
    .admin-user div { display:none; }
    .stats { grid-template-columns:1fr 1fr; }
    .stats article { min-height:125px; }
    .admin-card { padding:20px 15px; }
    .card-heading { display:block; }
    .card-heading p { margin-top:10px; }
    .form-grid { grid-template-columns:1fr; }
    .form-grid .wide { grid-column:auto; }
    .editable-item { grid-template-columns:25px 1fr; }
    .item-actions { grid-column:2; flex-direction:row; }
    .inline-fields { grid-template-columns:1fr; }
    .lead-row { grid-template-columns:1fr; gap:8px; }
    .lead-actions { flex-direction:row!important; }
}
