:root { --a-ink:#0a0b0f; --a-ink2:#13151b; --a-paper:#f3f2ed; --a-white:#fff; --a-gold:#f2b84b; --a-line:#dfddd5; --a-muted:#74777f; --a-green:#25765a; }
* { box-sizing:border-box; }
body { margin:0; color:var(--a-ink); font-family:Inter,"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif; background:var(--a-paper); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
.login-body { min-height:100vh; display:grid; place-items:center; padding:32px 16px; background:radial-gradient(circle at 20% 10%,#262018,transparent 42%),var(--a-ink); }
.login-card { width:min(480px,100%); padding:44px; background:var(--a-white); box-shadow:0 30px 90px rgba(0,0,0,.35); }
.login-brand,.admin-brand { display:flex; align-items:center; gap:12px; }
.login-brand > span,.admin-brand > span { width:48px; height:48px; display:grid; place-items:center; background:var(--a-gold); font-weight:950; }
.login-brand strong,.admin-brand strong { display:grid; letter-spacing:.06em; }
.login-brand small,.admin-brand small { margin-top:4px; color:#777; font-size:10px; letter-spacing:.18em; }
.login-heading { margin:52px 0 28px; }
.login-heading small,.admin-page-heading small,.panel-heading small,.form-section small { color:#9a7428; font-size:10px; font-weight:850; letter-spacing:.18em; }
.login-heading h1 { margin:8px 0; font-size:36px; letter-spacing:-.05em; }
.login-heading p { color:var(--a-muted); line-height:1.7; }
.login-return { display:block; margin-top:24px; color:var(--a-muted); font-size:13px; text-align:center; }
.admin-form { display:grid; gap:18px; }
.admin-form label { display:grid; gap:8px; }
.admin-form label > span { font-size:12px; font-weight:750; }
.admin-form input,.admin-form textarea,.admin-form select,.inquiry-card select { width:100%; padding:13px 14px; border:1px solid #cfcfc9; background:#fff; color:var(--a-ink); outline:none; border-radius:0; }
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus { border-color:var(--a-gold); box-shadow:0 0 0 2px rgba(242,184,75,.15); }
.admin-primary,.admin-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 20px; border:1px solid var(--a-ink); background:var(--a-ink); color:#fff; font-size:13px; font-weight:800; cursor:pointer; }
.admin-secondary { background:transparent; color:var(--a-ink); }
.admin-alert { padding:13px 16px; margin-bottom:20px; font-size:13px; border-left:3px solid; }
.admin-alert.error { background:#fff0ed; color:#8a2e22; border-color:#c95240; }
.admin-alert.success { background:#e8f4ee; color:#1f664e; border-color:#2f8b68; }

.admin-body { min-height:100vh; }
.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:20; width:260px; padding:26px 22px; display:flex; flex-direction:column; background:var(--a-ink); color:#c7c9ce; }
.admin-brand { color:#fff; }
.admin-sidebar nav { display:grid; gap:4px; margin-top:52px; }
.admin-sidebar nav a { padding:12px 14px; font-size:13px; border-left:2px solid transparent; }
.admin-sidebar nav a:hover { color:#fff; background:rgba(255,255,255,.07); border-color:var(--a-gold); }
.admin-sidebar > form { margin-top:auto; }
.admin-sidebar > form button { width:100%; padding:11px; border:1px solid rgba(255,255,255,.15); background:transparent; color:#999ca4; cursor:pointer; }
.admin-main { min-height:100vh; margin-left:260px; }
.admin-topbar { min-height:76px; padding:0 34px; display:flex; align-items:center; border-bottom:1px solid var(--a-line); background:rgba(243,242,237,.94); backdrop-filter:blur(12px); position:sticky; top:0; z-index:15; }
.admin-topbar button { display:none; }
.admin-topbar div { display:grid; }
.admin-topbar small { color:#9a7428; font-size:9px; letter-spacing:.18em; }
.admin-topbar strong { margin-top:3px; font-size:14px; }
.admin-content { width:min(1180px,calc(100% - 68px)); margin:0 auto; padding:44px 0 90px; }
.admin-page-heading { margin-bottom:30px; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.admin-page-heading h1 { margin:8px 0 4px; font-size:38px; letter-spacing:-.05em; }
.admin-page-heading p { margin:0; color:var(--a-muted); }
.admin-stats { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-bottom:30px; }
.admin-stats > div { padding:22px; background:#fff; border:1px solid var(--a-line); }
.admin-stats span { color:var(--a-muted); font-size:12px; }
.admin-stats strong { display:block; margin-top:8px; font-size:36px; }
.admin-panel { margin-bottom:24px; padding:26px; background:#fff; border:1px solid var(--a-line); }
.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.panel-heading h2,.form-section h2 { margin:5px 0 0; font-size:22px; letter-spacing:-.03em; }
.panel-heading > a { color:#82601d; font-size:12px; font-weight:750; }
.admin-table-wrap { overflow-x:auto; }
.admin-table { width:100%; border-collapse:collapse; font-size:13px; }
.admin-table th { padding:12px; color:var(--a-muted); font-size:10px; letter-spacing:.12em; text-align:left; border-bottom:1px solid var(--a-line); }
.admin-table td { padding:15px 12px; border-bottom:1px solid #ecebe6; vertical-align:middle; }
.admin-table td:first-child { min-width:260px; }
.admin-table td strong { display:block; }
.admin-table td small { display:block; max-width:440px; margin-top:4px; overflow:hidden; color:var(--a-muted); text-overflow:ellipsis; white-space:nowrap; }
.admin-table code { color:#6b5426; }
.admin-link { color:#7b5917; font-weight:800; }
.status { display:inline-flex; padding:4px 8px; background:#e7e5df; color:#65676c; font-size:10px; font-weight:800; letter-spacing:.06em; }
.status.live { background:#dff2e9; color:var(--a-green); }
.panel-note { color:var(--a-muted); font-size:12px; }

.settings-form { padding:0; gap:0; }
.form-section { display:grid; grid-template-columns:220px 1fr; gap:44px; padding:30px; border-bottom:1px solid var(--a-line); }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.form-grid .full { grid-column:1/-1; }
.check-label { grid-template-columns:auto 1fr!important; align-items:center; justify-content:start; }
.check-label input { width:18px; height:18px; }
.sticky-actions { position:sticky; bottom:0; z-index:10; display:flex; align-items:center; justify-content:flex-end; gap:18px; padding:16px 22px; background:rgba(255,255,255,.96); border-top:1px solid var(--a-line); box-shadow:0 -14px 30px rgba(0,0,0,.06); }
.sticky-actions > a { margin-right:auto; color:var(--a-muted); font-size:13px; }
.editor-form { display:block; }
.editor-basics { margin-bottom:24px; }
.blocks-panel { padding:0; }
.blocks-panel > .panel-heading { padding:24px 26px 0; }
.block-toolbar { padding:14px 26px; display:flex; flex-wrap:wrap; align-items:center; gap:8px; border-block:1px solid var(--a-line); background:#faf9f5; }
.block-toolbar button,.upload-button { min-height:34px; padding:0 12px; display:inline-flex; align-items:center; border:1px solid #cfcfc9; background:#fff; color:var(--a-ink); font-size:12px; font-weight:750; cursor:pointer; }
.upload-button input { display:none; }
[data-upload-status] { color:var(--a-muted); font-size:11px; }
.blocks-list { padding:18px 26px 28px; display:grid; gap:10px; }
.content-block { display:grid; grid-template-columns:34px 130px 1fr auto; gap:10px; align-items:start; padding:12px; border:1px solid var(--a-line); background:#fff; }
.content-block:hover { border-color:#c6a45e; }
.drag-handle { padding:9px 0; color:#aaa; text-align:center; cursor:grab; }
.content-block select,.content-block input,.content-block textarea { width:100%; padding:9px 10px; border:1px solid #d6d4cd; background:#fff; }
.content-block textarea { min-height:74px; resize:vertical; }
.block-fields { display:grid; gap:8px; }
.block-image-preview { width:140px; height:90px; object-fit:cover; background:#eee; }
.block-image-preview.broken { opacity:.25; border:2px dashed #c95240; }
.upload-button.compact { width:max-content; min-height:32px; }
.toolbar-link { color:#7b5917; font-size:12px; font-weight:800; }
.hero-image-editor { display:grid; grid-template-columns:1fr 150px; align-items:end; gap:12px; }
.hero-image-editor > label:first-child { grid-column:1; }
.hero-image-editor img { grid-column:2; grid-row:1 / span 2; width:150px; height:92px; object-fit:cover; background:#eee; }
.hero-image-editor .upload-button { grid-column:1; width:max-content; }
.block-actions { display:flex; gap:4px; }
.block-actions button { width:30px; height:30px; border:1px solid #d6d4cd; background:#fff; cursor:pointer; }
.block-actions .remove { color:#a13d31; }
.empty-blocks { padding:48px; color:var(--a-muted); text-align:center; display:none; }
.empty-blocks.visible { display:block; }
.inquiry-list { display:grid; gap:16px; }
.inquiry-card { border-left:4px solid #b8b6ae; }
.inquiry-card.new { border-left-color:var(--a-gold); }
.inquiry-head { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.inquiry-head h2 { margin:8px 0 2px; }
.inquiry-head small { color:var(--a-muted); }
.inquiry-contact { display:flex; gap:30px; margin:24px 0; }
.inquiry-contact a { display:grid; }
.inquiry-contact small { color:var(--a-muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.inquiry-message { padding:18px; background:#f7f6f2; line-height:1.8; white-space:pre-line; }
.empty-state { min-height:280px; display:grid; place-content:center; text-align:center; }
.empty-state > span { color:var(--a-gold); font-size:48px; }

.metric-editor { display:grid; gap:12px; }
.metric-edit-row { display:grid; grid-template-columns:160px 1fr; gap:12px; padding:12px; background:#faf9f5; border:1px solid var(--a-line); }
.form-section > div:first-child p { color:var(--a-muted); font-size:12px; line-height:1.6; }
.navigation-form { padding:0; }
.navigation-form > .panel-heading { padding:26px 26px 0; }
.navigation-list { display:grid; gap:12px; padding:0 26px 28px; }
.navigation-item { border:1px solid var(--a-line); background:#faf9f5; }
.navigation-row { display:grid; grid-template-columns:42px minmax(160px,.7fr) minmax(240px,1fr) auto; gap:10px; align-items:center; padding:14px; }
.navigation-row > strong { color:#9a7428; }
.navigation-row input,.navigation-child input { width:100%; padding:10px; border:1px solid #d6d4cd; background:#fff; }
.navigation-actions { display:flex; gap:4px; }
.navigation-actions button,.navigation-child button,.add-child { min-height:34px; padding:0 10px; border:1px solid #d6d4cd; background:#fff; cursor:pointer; }
.navigation-actions .danger,.navigation-child .danger { color:#a13d31; }
.navigation-children { display:grid; gap:8px; padding:12px 14px 14px 56px; border-top:1px solid var(--a-line); }
.navigation-child { display:grid; grid-template-columns:24px minmax(150px,.7fr) minmax(220px,1fr) auto; gap:10px; align-items:center; }
.add-child { width:max-content; color:#7b5917; font-weight:750; }
.media-toolbar { display:flex; align-items:center; gap:14px; }
.media-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.media-card { min-width:0; background:#fff; border:1px solid var(--a-line); }
.media-preview { position:relative; aspect-ratio:16/10; display:grid; place-items:center; overflow:hidden; background:#e9e7e0; }
.media-preview img { width:100%; height:100%; object-fit:contain; }
.media-preview > span { display:none; color:#8a2e22; font-size:12px; }
.media-preview.broken img { display:none; }
.media-preview.broken > span { display:block; }
.media-card-body { padding:16px; display:grid; gap:10px; }
.media-badges { display:flex; gap:6px; }
.status.warning { background:#fff0cf; color:#8a651b; }
.media-card code { display:block; overflow:hidden; color:#71684f; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.media-card p { margin:0; color:var(--a-muted); font-size:12px; }
.media-card details { font-size:12px; color:var(--a-muted); }
.media-card details ul { max-height:120px; overflow:auto; padding-left:20px; }
.media-actions { display:flex; gap:8px; }
.media-actions .admin-secondary { min-height:36px; padding:0 12px; font-size:12px; cursor:pointer; }
.media-actions .admin-secondary input { display:none; }
.media-actions form button { min-height:36px; padding:0 12px; border:1px solid #cfb3ae; background:#fff; color:#a13d31; font-size:12px; cursor:pointer; }
.media-status { min-height:16px; color:#25765a; font-size:11px; }

@media (max-width:900px) {
  .admin-sidebar { transform:translateX(-100%); transition:.25s ease; }
  .admin-body.admin-menu-open .admin-sidebar { transform:none; }
  .admin-main { margin-left:0; }
  .admin-topbar button { display:block; margin-right:16px; border:0; background:transparent; font-size:22px; }
  .admin-content { width:min(100% - 28px,760px); padding-top:28px; }
  .admin-stats { grid-template-columns:repeat(2,1fr); }
  .media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .navigation-row { grid-template-columns:34px 1fr; }
  .navigation-row > input,.navigation-actions { grid-column:2; }
  .navigation-child { grid-template-columns:20px 1fr; }
  .navigation-child > input,.navigation-child > button { grid-column:2; }
  .form-section { grid-template-columns:1fr; gap:20px; }
  .content-block { grid-template-columns:28px 100px 1fr; }
  .block-actions { grid-column:3; justify-content:flex-end; }
}

@media (max-width:580px) {
  .login-card { padding:30px 22px; }
  .admin-page-heading { align-items:stretch; flex-direction:column; }
  .admin-stats { grid-template-columns:1fr 1fr; }
  .form-grid { grid-template-columns:1fr; }
  .form-grid .full { grid-column:auto; }
  .admin-panel { padding:18px; }
  .blocks-panel { padding:0; }
  .blocks-list,.block-toolbar { padding-inline:14px; }
  .content-block { grid-template-columns:24px 1fr; }
  .content-block > select { grid-column:2; }
  .block-fields { grid-column:2; }
  .block-actions { grid-column:2; }
  .inquiry-contact { align-items:start; flex-direction:column; gap:12px; }
  .media-grid { grid-template-columns:1fr; }
  .metric-edit-row { grid-template-columns:1fr; }
  .hero-image-editor { grid-template-columns:1fr; }
  .hero-image-editor img,.hero-image-editor > label:first-child,.hero-image-editor .upload-button { grid-column:1; grid-row:auto; }
}
