/* ============================================================
   Admin dashboard
   ============================================================ */
.adm { min-height: 100svh; padding-top: 84px; }
.adm-gate { min-height: 70svh; display: grid; place-items: center; text-align: center; padding: 2rem; }
.adm-gate h2 { font-family: var(--serif); font-size: var(--step-3); margin-bottom: .6rem; }
.adm-gate p { color: var(--on-light-soft); margin-bottom: 1.4rem; max-width: 40ch; }

.adm-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; padding: 1.4rem 0; border-bottom: 1px solid var(--line-light); margin-bottom: 2rem; }
.adm-head h1 { font-size: var(--step-2); }
.adm-tabs { display: flex; gap: .4rem; background: var(--paper-2); border-radius: 100px; padding: .3rem; }
.adm-tabs button { padding: .55em 1.1em; border-radius: 100px; font-family: var(--mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--on-light-soft); }
.adm-tabs button.on { background: var(--ink); color: var(--cream); }

.adm-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin-bottom: 2rem; }
.adm-stat { background: var(--paper); border: 1px solid var(--line-light); border-radius: var(--radius); padding: 1.2rem; }
.adm-stat b { font-family: var(--serif); font-size: var(--step-3); display: block; }
.adm-stat span { font-family: var(--mono); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; color: var(--on-light-soft); }
@media (max-width:700px){ .adm-stats { grid-template-columns: 1fr 1fr; } }

.adm-table { width: 100%; border-collapse: collapse; }
.adm-table th { text-align: left; font-family: var(--mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--on-light-soft); padding: .6rem .8rem; border-bottom: 1px solid var(--line-light); }
.adm-table td { padding: .8rem; border-bottom: 1px solid var(--line-light); vertical-align: middle; font-size: .9rem; }
.adm-table tr:hover td { background: var(--paper); }
.adm-thumb { width: 64px; height: 46px; border-radius: 8px; object-fit: cover; background: var(--ink-2); }
.adm-pill { font-family: var(--mono); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; padding: .3em .6em; border-radius: 6px; }
.adm-pill.on { background: rgba(40,150,70,.14); color: #1f7a3a; }
.adm-pill.off { background: rgba(13,12,10,.08); color: var(--on-light-soft); }
.adm-act { display: inline-flex; gap: .4rem; }
.adm-act button { font-family: var(--mono); font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; padding: .45em .7em; border-radius: 7px; border: 1px solid var(--line-light); }
.adm-act button:hover { border-color: var(--accent); color: var(--accent); }
.adm-act button.del:hover { border-color: var(--accent-3); color: var(--accent-3); }

/* Editor */
.adm-editor { background: var(--paper); border: 1px solid var(--line-light); border-radius: var(--radius-lg); padding: clamp(1.4rem,3vw,2.4rem); max-width: 1000px; }
.adm-editor h2 { font-family: var(--serif); font-size: var(--step-2); margin-bottom: 1.4rem; }
.adm-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.adm-field { display: flex; flex-direction: column; gap: .35rem; }
.adm-field.col2 { grid-column: span 2; } .adm-field.col4 { grid-column: span 4; }
.adm-field label { font-family: var(--mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--on-light-soft); }
.adm-field input, .adm-field select, .adm-field textarea { font: inherit; font-size: .92rem; background: var(--cream); border: 1px solid var(--line-light); border-radius: 10px; padding: .7em .8em; color: var(--on-light); }
.adm-field textarea { resize: vertical; min-height: 90px; }
.adm-field input:focus, .adm-field select:focus, .adm-field textarea:focus { outline: none; border-color: var(--accent); }
.adm-check { flex-direction: row; align-items: center; gap: .5rem; }
.adm-check input { width: auto; }
.adm-editor__foot { display: flex; gap: .8rem; margin-top: 1.6rem; align-items: center; }
.adm-note { font-size: .78rem; color: var(--on-light-soft); }
.adm-imgs { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .5rem; }
.adm-imgs img { width: 70px; height: 52px; object-fit: cover; border-radius: 8px; }
@media (max-width:760px){ .adm-grid { grid-template-columns: 1fr 1fr; } .adm-field.col2,.adm-field.col4 { grid-column: span 2; } }
