.admin-body { min-height: 100vh; background: #ece7dc; }
.admin-shell { width: min(calc(100% - 36px), 1240px); margin-inline: auto; }
.admin-header { color: #fff; background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.1); }
.admin-header .admin-shell { min-height: 70px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.admin-head-actions { display: flex; align-items: center; gap: 12px; }
.admin-head-actions a, .admin-head-actions button { border: 0; background: none; color: rgba(255,255,255,.65); font-size: 12px; cursor: pointer; text-decoration: none; }
.admin-main { padding: 55px 0 90px; }
.login-card { max-width: 460px; margin: 60px auto; padding: 38px; border-radius: 24px; background: #fff; box-shadow: var(--shadow); }
.login-card > span, .admin-title span, .panel-title span { color: var(--coral-dark); font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.login-card h1, .admin-title h1, .panel-title h2 { margin: 6px 0 4px; font-family: Georgia, serif; font-weight: 400; }
.login-card h1 { font-size: 38px; }
.login-card p { color: var(--text-soft); font-size: 12px; }
.login-card form { display: grid; gap: 14px; margin-top: 25px; }
.login-card label, .master-editor > label, .admin-field-row label { display: grid; gap: 7px; color: #44483f; font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.login-card input, .master-editor input, .master-editor select, .master-editor textarea, .status-select { width: 100%; min-height: 45px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); }
.master-editor textarea { resize: vertical; }
.admin-status { min-height: 18px; margin-top: 10px; font-size: 11px; }
.admin-status.error { color: #a42f22; }
.admin-status.success { color: #3d7037; }
.admin-title { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 31px; }
.admin-title h1 { font-size: clamp(38px, 5vw, 57px); }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.stat-card { padding: 23px; border-radius: 18px; background: #fff; }
.stat-card small { color: var(--text-soft); font-size: 10px; text-transform: uppercase; }
.stat-card strong { display: block; margin-top: 10px; font: 38px Georgia, serif; }
.admin-tabs { display: flex; gap: 5px; margin: 35px 0 0; padding: 6px; overflow-x: auto; border-radius: 14px 14px 0 0; background: var(--ink); }
.admin-tabs button { min-height: 43px; padding: 0 19px; border: 0; border-radius: 10px; background: transparent; color: rgba(255,255,255,.55); font-size: 12px; font-weight: 750; cursor: pointer; white-space: nowrap; }
.admin-tabs button.active { background: var(--coral); color: #fff; }
.tab-panel { display: none; padding: 31px; border-radius: 0 0 20px 20px; background: #fff; }
.tab-panel.active { display: block; }
.panel-title { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 25px; }
.panel-title h2 { font-size: 35px; }
.panel-title p { max-width: 520px; margin: 0; color: var(--text-soft); font-size: 12px; }
.panel-actions { display: grid; justify-items: end; gap: 10px; }
.panel-actions button { min-height: 35px; padding: 0 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font-size: 10px; font-weight: 800; cursor: pointer; }
.panel-actions button:hover { border-color: var(--coral); color: var(--coral-dark); }
.request-list { display: grid; gap: 10px; }
.request-card { display: grid; grid-template-columns: minmax(210px, 1fr) minmax(200px, 1.5fr) minmax(150px, .7fr); align-items: center; gap: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; }
.request-card.new { border-left: 4px solid var(--coral); }
.request-card.stale { background: #fff8f4; border-color: rgba(202,74,53,.35); }
.request-main { display: grid; gap: 3px; }
.request-main b { font-family: Georgia, serif; font-size: 20px; font-weight: 400; }
.request-main a { color: var(--coral-dark); font-size: 12px; }
.request-details { display: grid; gap: 3px; color: var(--text-soft); font-size: 11px; }
.request-details strong { color: var(--ink); font-size: 12px; }
.lead-source { width: fit-content; margin-top: 3px; padding: 4px 7px; border-radius: 999px; background: rgba(82,99,74,.1); color: var(--sage-dark); font-size: 9px; }
.stale-label { color: #a42f22; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.request-actions { display: grid; gap: 7px; }
.request-actions time { color: var(--text-soft); font-size: 9px; }
.empty-admin { padding: 30px; border: 1px dashed var(--line); border-radius: 14px; color: var(--text-soft); text-align: center; font-size: 12px; }
.master-admin-grid { display: grid; grid-template-columns: 330px 1fr; gap: 22px; align-items: start; }
.master-admin-list { display: grid; gap: 8px; }
.master-select { width: 100%; display: grid; gap: 3px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; text-align: left; cursor: pointer; }
.master-select.active { border-color: var(--coral); background: rgba(237,104,79,.06); }
.master-select b { font: 18px Georgia, serif; }
.master-select span { color: var(--text-soft); font-size: 10px; }
.master-select i { margin-top: 4px; color: var(--coral-dark); font-size: 9px; font-style: normal; font-weight: 850; text-transform: uppercase; }
.master-editor { display: grid; gap: 15px; padding: 24px; border-radius: 17px; background: #f1ede4; }
.editor-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.editor-head h3 { margin: 0; font: 28px Georgia, serif; }
.publish-switch { display: flex; align-items: center; gap: 8px; color: var(--text-soft); font-size: 10px; }
.publish-switch input { width: auto; min-height: auto; accent-color: var(--coral); }
.admin-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.admin-field-row.three { grid-template-columns: repeat(3, 1fr); }
.master-editor label small { color: var(--text-soft); font-weight: 500; letter-spacing: 0; text-transform: none; }
.master-editor fieldset { padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.master-editor legend { padding: 0 5px; color: var(--text-soft); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.day-checks { display: flex; flex-wrap: wrap; gap: 7px; }
.day-checks label { display: flex; align-items: center; gap: 5px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: 10px; }
.day-checks input { width: auto; min-height: auto; accent-color: var(--coral); }
.portal-box { display: grid; gap: 7px; padding: 13px; border-radius: 11px; background: var(--sage); }
.portal-box > div { display: flex; gap: 6px; }
.portal-box input { flex: 1; background: rgba(255,255,255,.7); font-size: 10px; }
.portal-box button { border: 0; border-radius: 8px; background: var(--ink); color: #fff; font-size: 10px; cursor: pointer; }
.portal-box small { font-size: 9px; }
.editor-submit { width: 100%; border-radius: 10px; }
.master-portal-grid { display: grid; grid-template-columns: 1.4fr .8fr; gap: 20px; align-items: start; }
.block-panel { border-radius: 20px; }

@media (max-width: 900px) {
  .stat-grid { grid-template-columns: 1fr 1fr; }
  .master-admin-grid { grid-template-columns: 1fr; }
  .master-portal-grid { grid-template-columns: 1fr; }
  .master-admin-list { grid-template-columns: 1fr 1fr; }
  .request-card { grid-template-columns: 1fr 1fr; }
  .request-actions { grid-column: 1/-1; grid-template-columns: 1fr auto; align-items: center; }
}
@media (max-width: 600px) {
  .admin-main { padding-top: 30px; }
  .admin-title, .panel-title { align-items: stretch; flex-direction: column; }
  .panel-actions { justify-items: start; }
  .stat-grid, .master-admin-list, .request-card, .admin-field-row, .admin-field-row.three { grid-template-columns: 1fr; }
  .tab-panel { padding: 19px 14px; }
  .request-actions { grid-column: auto; grid-template-columns: 1fr; }
  .editor-head { align-items: flex-start; flex-direction: column; }
}
