:root { color-scheme: dark; --bg:#191919; --panel:#202020; --panel-2:#252525; --line:#363636; --text:#e7e6e4; --muted:#a3a3a3; --primary:#58d6c1; --blue:#6cb6ff; --danger:#ff7b7b; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font-family:Manrope,system-ui,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.admin-header { position:sticky; top:0; z-index:10; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); background:rgba(25,25,25,.96); padding:12px max(20px,calc((100% - 1180px)/2)); }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; }
.brand img { width:42px; height:42px; border-radius:12px; }
.brand span { display:flex; flex-direction:column; }
.brand small { color:var(--muted); font-size:.68rem; font-weight:500; }
.admin-header-actions { display:flex; align-items:center; gap:8px; }
.admin-header-actions form { margin:0; }
.button { min-height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:11px; background:transparent; padding:9px 16px; color:var(--text); font-weight:800; cursor:pointer; }
.button.primary { border-color:var(--primary); background:var(--primary); color:#11201e; }
.button.secondary:hover { border-color:#666; }
.button.danger { border-color:rgba(255,123,123,.35); color:var(--danger); }
.button.small { min-height:34px; padding:6px 10px; font-size:.74rem; }
.login-wrap { min-height:calc(100vh - 72px); display:grid; place-items:center; padding:30px 20px; }
.login-card { width:min(440px,100%); border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,rgba(88,214,193,.08),var(--panel) 52%); padding:36px; }
.eyebrow { color:var(--primary); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
.login-card h1 { margin:10px 0; font-size:2.2rem; letter-spacing:-.05em; }
.login-card p,.admin-title p { color:var(--muted); line-height:1.6; }
.login-form { display:grid; gap:14px; margin-top:26px; }
label { display:grid; gap:7px; color:#c8c8c8; font-size:.78rem; font-weight:700; }
input,select,textarea { width:100%; min-height:44px; border:1px solid var(--line); border-radius:10px; outline:none; background:#181818; padding:10px 12px; color:var(--text); }
textarea { min-height:130px; resize:vertical; line-height:1.55; }
input:focus,select:focus,textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(88,214,193,.09); }
input[type=file] { padding:8px; }
label small { color:var(--muted); font-weight:500; }
.admin-main { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:44px 0 80px; }
.admin-title { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.admin-title h1 { margin:8px 0 3px; font-size:clamp(2.2rem,5vw,4rem); letter-spacing:-.06em; }
.admin-title p { margin:0; }
.admin-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr); align-items:start; gap:16px; }
.panel { border:1px solid var(--line); border-radius:18px; background:var(--panel); overflow:hidden; }
.form-panel { position:sticky; top:88px; }
.panel-heading { min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--line); padding:14px 18px; }
.panel-heading h2 { margin:0; font-size:1rem; }
.panel-heading > span { border-radius:999px; background:#303030; padding:4px 9px; color:var(--muted); font-size:.72rem; }
.panel-heading > a { color:var(--primary); font-size:.75rem; font-weight:700; }
.object-list { display:grid; }
.object-row { display:grid; grid-template-columns:70px minmax(0,1fr) auto; align-items:center; gap:14px; border-bottom:1px solid var(--line); padding:14px; }
.object-row:last-child { border-bottom:0; }
.object-thumb { width:70px; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:linear-gradient(145deg,rgba(88,214,193,.1),#1a1d1d); color:#65716f; font-size:2rem; }
.object-thumb img { width:100%; height:100%; object-fit:cover; }
.object-copy { min-width:0; }
.object-copy h3 { margin:5px 0 3px; overflow:hidden; font-size:.9rem; text-overflow:ellipsis; white-space:nowrap; }
.object-copy p { margin:0; color:var(--muted); font-size:.72rem; }
.object-meta { display:flex; align-items:center; gap:7px; }
.badge,.status { border-radius:6px; padding:3px 7px; font-size:.58rem; font-weight:800; text-transform:uppercase; }
.badge { background:rgba(108,182,255,.9); color:#102030; }
.badge.sale { background:rgba(88,214,193,.9); }
.status { color:var(--primary); }
.status.off { color:var(--muted); }
.row-actions { display:flex; gap:6px; }
.row-actions form { margin:0; }
.property-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:18px; }
.wide { grid-column:1/-1; }
.check { display:flex; grid-column:1/-1; align-items:center; gap:9px; }
.check input { width:18px; min-height:18px; accent-color:var(--primary); }
.notice { margin-bottom:16px; border:1px solid var(--line); border-radius:11px; padding:12px 15px; font-size:.82rem; }
.notice.success { border-color:rgba(88,214,193,.35); background:rgba(88,214,193,.07); color:var(--primary); }
.notice.error { border-color:rgba(255,123,123,.35); background:rgba(255,123,123,.07); color:#ffb1b1; }
.settings-panel { margin-bottom:16px; }
.settings-panel .panel-heading > div { display:grid; gap:4px; }
.settings-panel .panel-heading p { margin:0; color:var(--muted); font-size:.75rem; }
.settings-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:18px; }
.settings-previews { display:flex; align-items:end; gap:16px; }
.settings-previews > div { display:grid; gap:7px; color:var(--muted); font-size:.7rem; font-weight:700; }
.settings-previews img { display:block; border:1px solid var(--line); background:#181818; object-fit:cover; }
.upload-setting { display:grid; align-content:start; gap:12px; }
.remove-upload { display:flex; align-items:center; gap:8px; color:var(--danger); }
.remove-upload input { width:17px; min-height:17px; accent-color:var(--danger); }
.about-preview { width:76px; height:76px; border-radius:12px; }
.favicon-preview { width:44px; height:44px; border-radius:9px; }
.settings-submit { grid-column:1/-1; }
.upload-zone { border:1px dashed #464646; border-radius:12px; background:#1b1b1b; padding:14px; }
.current-gallery { margin:0; border:1px solid var(--line); border-radius:12px; padding:12px; }
.current-gallery legend { padding:0 6px; color:var(--muted); font-size:.72rem; font-weight:700; }
.current-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.current-photo { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#181818; }
.current-photo img { width:100%; aspect-ratio:1; object-fit:cover; }
.current-photo span { display:flex; align-items:center; gap:6px; padding:7px; color:var(--muted); font-size:.66rem; }
.current-photo input { width:15px; min-height:15px; }
.admin-empty { margin:0; padding:24px; color:var(--muted); }
@media (max-width:900px) { .admin-layout { grid-template-columns:1fr; } .form-panel { position:static; } .settings-form { grid-template-columns:1fr 1fr; } }
@media (max-width:620px) { .admin-header { padding:10px 16px; } .admin-header-actions .secondary:first-child { display:none; } .admin-main { width:min(100% - 24px,1180px); padding-top:28px; } .admin-title { align-items:flex-start; flex-direction:column; } .object-row { grid-template-columns:54px minmax(0,1fr); } .object-thumb { width:54px; } .row-actions { grid-column:1/-1; } .property-form,.settings-form { grid-template-columns:1fr; } .wide { grid-column:auto; } .login-card { padding:26px 20px; } }
