:root {
  --content-bg: #f5f1ec;
  --content-card: #fffdfa;
  --content-border: rgba(87, 56, 52, 0.13);
  --content-ink: #2f2422;
  --content-muted: #776864;
  --content-soft: #efe5dc;
  --content-accent: #573834;
}

body { background: var(--content-bg); color: var(--content-ink); }

.content-admin-shell { min-height: 100vh; display: grid; grid-template-columns: 244px minmax(0, 1fr); }
.content-sidebar { background: #3f2b28; color: #fff; padding: 28px 20px; display: flex; flex-direction: column; gap: 22px; position: sticky; top: 0; height: 100vh; }
.content-sidebar .admin-brand { color: #fff; text-decoration: none; font-weight: 700; font-size: 1.05rem; }
.content-sidebar-label { text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; opacity: .62; margin-top: 12px; }
.content-sidebar nav { display: grid; gap: 8px; }
.content-nav-link { color: rgba(255,255,255,.78); text-decoration: none; padding: 11px 12px; border-radius: 12px; font-size: .94rem; white-space: nowrap; }
.content-nav-link:hover, .content-nav-link.active { color: #fff; background: rgba(255,255,255,.1); }
.content-sidebar .client-area-link { margin-top: auto; }

.content-workspace { padding: 34px clamp(24px, 4vw, 58px) 60px; min-width: 0; }
.content-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 28px; }
.content-header h1 { margin: 4px 0 8px; font-size: clamp(2rem, 4vw, 3rem); }
.content-header-actions { display: flex; align-items: center; gap: 14px; }

.content-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
.content-summary article { background: var(--content-card); border: 1px solid var(--content-border); border-radius: 18px; padding: 20px; box-shadow: 0 12px 30px rgba(56, 37, 33, .05); }
.content-summary span { color: var(--content-muted); font-size: .82rem; }
.content-summary strong { display: block; margin-top: 7px; font-size: 1.85rem; }

.content-panel { background: var(--content-card); border: 1px solid var(--content-border); border-radius: 22px; padding: 20px; box-shadow: 0 18px 45px rgba(56, 37, 33, .06); }
.content-toolbar { display: grid; grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(130px, .6fr)) auto; gap: 12px; align-items: end; margin-bottom: 20px; }
.content-toolbar label { display: grid; gap: 7px; color: var(--content-muted); font-size: .78rem; font-weight: 600; }
.content-toolbar input, .content-toolbar select { min-height: 44px; border: 1px solid var(--content-border); border-radius: 12px; background: #fff; padding: 0 12px; color: var(--content-ink); }

.content-list { display: grid; gap: 12px; }
.content-row { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(160px, .7fr) minmax(160px, .7fr) auto; align-items: center; gap: 18px; padding: 18px; border: 1px solid var(--content-border); border-radius: 16px; background: #fff; }
.content-title { font-weight: 700; font-size: 1rem; margin-bottom: 4px; }
.content-description { margin: 0; color: var(--content-muted); font-size: .88rem; line-height: 1.45; }
.content-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.content-badge { display: inline-flex; align-items: center; min-height: 26px; border-radius: 999px; padding: 4px 9px; font-size: .72rem; font-weight: 700; background: var(--content-soft); color: var(--content-accent); }
.content-badge.free { background: #e8f3eb; color: #2e6640; }
.content-badge.vip { background: #f4e9c9; color: #795d15; }
.content-badge.private { background: #eee8f5; color: #60477a; }
.content-badge.featured { background: #fdebdc; color: #894c20; }
.content-stat { color: var(--content-muted); font-size: .82rem; }
.content-stat strong { display: block; color: var(--content-ink); font-size: .94rem; margin-top: 3px; }
.content-row-actions { display: flex; justify-content: flex-end; }

.content-empty, .content-blocked { text-align: center; padding: 58px 20px; border: 1px dashed var(--content-border); border-radius: 16px; color: var(--content-muted); }
.content-empty strong, .content-blocked strong { color: var(--content-ink); display: block; font-size: 1.15rem; margin-bottom: 8px; }
.content-blocked { background: #fff8ed; border-style: solid; }

.content-session-state { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: var(--content-bg); }
.content-session-card { width: min(460px, 100%); background: #fff; border: 1px solid var(--content-border); border-radius: 24px; padding: 34px; box-shadow: 0 24px 60px rgba(56, 37, 33, .09); }
.content-session-card .admin-brand { color: var(--content-accent); text-decoration: none; font-weight: 700; }

.content-dialog { width: min(760px, calc(100vw - 28px)); border: 0; border-radius: 22px; padding: 0; color: var(--content-ink); box-shadow: 0 30px 90px rgba(42, 28, 25, .24); max-height: min(88vh, 900px); overflow: auto; }
.content-dialog::backdrop { background: rgba(34, 24, 22, .46); backdrop-filter: blur(4px); }
.content-dialog form { padding: 26px; }
.dialog-helper { margin: 6px 0 0; font-size: .84rem; max-width: 560px; }
.content-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.content-form-grid label { display: grid; gap: 7px; font-size: .82rem; font-weight: 650; }
.content-form-grid input, .content-form-grid select, .content-form-grid textarea { width: 100%; border: 1px solid var(--content-border); border-radius: 12px; background: #fff; padding: 11px 12px; color: var(--content-ink); font: inherit; }
.content-form-grid small { color: var(--content-muted); font-weight: 400; line-height: 1.4; }
.content-span-2 { grid-column: 1 / -1; }
.content-checkbox { grid-template-columns: auto 1fr !important; align-items: start; border: 1px solid var(--content-border); border-radius: 14px; padding: 14px; background: #faf7f3; }
.content-checkbox input { width: 18px; height: 18px; margin-top: 2px; }
.content-checkbox span { display: grid; gap: 4px; }
.content-checkbox strong { font-size: .9rem; }
.content-access-note { margin-top: 16px; padding: 14px 16px; border-radius: 14px; background: #f4f0f8; color: #5f4b72; }
.content-access-note strong { display: block; margin-bottom: 4px; }
.content-access-note p { margin: 0; font-size: .86rem; }
.form-section { border: 1px solid var(--content-border); border-radius: 16px; margin: 18px 0 0; padding: 16px; background: #fcfaf7; }
.form-section legend { padding: 0 8px; color: var(--content-accent); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.form-section .content-form-grid { margin-top: 2px; }

@media (max-width: 1040px) {
  .content-summary { grid-template-columns: repeat(2, 1fr); }
  .content-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-search { grid-column: 1 / -1; }
  .content-row { grid-template-columns: minmax(0, 1fr) minmax(140px, .45fr) auto; }
  .content-row > :nth-child(3) { display: none; }
}

@media (max-width: 760px) {
  .content-admin-shell { display: block; }
  .content-sidebar { position: sticky; top: 0; z-index: 40; height: auto; padding: 13px 14px 10px; gap: 9px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; box-shadow: 0 10px 30px rgba(42, 28, 25, .18); }
  .content-sidebar-label { display: none; }
  .content-sidebar nav { grid-column: 1 / -1; display: flex; overflow-x: auto; gap: 6px; padding-bottom: 2px; scrollbar-width: none; scroll-snap-type: x proximity; }
  .content-sidebar nav::-webkit-scrollbar { display: none; }
  .content-nav-link { padding: 9px 11px; font-size: .82rem; scroll-snap-align: start; }
  .content-sidebar .client-area-link { display: none; }
  .content-sidebar .logout { margin: 0; min-height: 38px; padding: 7px 10px; }
  .content-workspace { padding: 22px 14px 40px; }
  .content-header { display: grid; }
  .content-header h1 { font-size: 2.15rem; }
  .content-header-actions { justify-content: space-between; align-items: end; }
  .content-header-actions .identity { display: none; }
  .content-header-actions .primary-action { width: 100%; }
  .content-summary { grid-template-columns: repeat(2, 1fr); }
  .content-summary article { padding: 16px; }
  .content-toolbar { grid-template-columns: 1fr; }
  .content-search { grid-column: auto; }
  .content-row { grid-template-columns: 1fr; gap: 12px; }
  .content-row > :nth-child(3) { display: block; }
  .content-row-actions { justify-content: stretch; }
  .content-row-actions button { width: 100%; }
  .content-form-grid { grid-template-columns: 1fr; }
  .content-span-2 { grid-column: auto; }
  .content-dialog { width: calc(100vw - 16px); border-radius: 18px; max-height: 94vh; }
  .content-dialog form { padding: 20px 16px; }
  .form-section { padding: 13px; }
}
