:root{color:#1b1f22;background:#f6f3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:#f6f3ed}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.admin-shell{display:grid;min-height:100vh;grid-template-columns:250px 1fr}.sidebar{background:#20342d;color:#fff;padding:24px 18px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;font-weight:700}.brand-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;background:#f7c873;color:#20342d}.nav{display:grid;gap:6px}.nav-link{border-radius:8px;color:#ffffffc7;padding:10px 12px}.nav-link.router-link-active,.nav-link:hover{background:#ffffff1f;color:#fff}.admin-main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e4ded3;background:#fff;padding:18px 28px}.content{padding:28px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.page-title{margin:0;font-size:30px;line-height:1.15}.muted{color:#6f756f}.card,.panel{border:1px solid #e2dbce;border-radius:8px;background:#fff}.panel{padding:20px}.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.facts-grid>div{display:grid;gap:4px}.stat{padding:18px}.stat-value{margin-top:8px;font-size:28px;font-weight:700}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.inline-check{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:#39423d;font-weight:600}.field,.select,.textarea{width:100%;border:1px solid #d8d1c5;border-radius:8px;background:#fff;padding:10px 12px}.textarea{min-height:120px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid #d8d1c5;border-radius:8px;background:#fff;color:#1b1f22;cursor:pointer;padding:9px 14px}.btn.primary{border-color:#1f6b56;background:#1f6b56;color:#fff}.btn.danger{border-color:#b8423a;color:#a9342f}.btn.danger:hover{background:#fff1ef}.btn:disabled{cursor:not-allowed;opacity:.55}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table td,.table th{border-bottom:1px solid #ece6dc;padding:12px;text-align:left;vertical-align:top}.table th{color:#6f756f;font-size:13px;font-weight:600}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.media-card{overflow:hidden;margin:0;border:1px solid #e2dbce;border-radius:8px;background:#fff}.media-card img,.media-placeholder{display:block;width:100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;background:#f3eee6}.media-placeholder{display:grid;place-items:center;color:#6f756f}.media-card figcaption{gap:8px;padding:10px}.admin-pagination,.media-card figcaption{display:flex;align-items:center;justify-content:space-between}.admin-pagination{gap:12px;margin-top:14px;flex-wrap:wrap}.admin-pagination__controls,.admin-pagination__per-page{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-pagination__page{color:#4f5a54;font-weight:600}.admin-pagination__per-page .select{width:auto;min-width:86px}.queue-description{max-width:420px}.json-block{max-height:520px;overflow:auto;white-space:pre-wrap;border-radius:8px;background:#f6f3ed;color:#1b1f22;padding:14px}.badge{display:inline-flex;border-radius:999px;background:#edf4f0;color:#1f6b56;font-size:12px;font-weight:600;padding:4px 8px}.badge-warning{background:#fff3df;color:#9a5b00}.generation-indicator{display:inline-flex;align-items:center;gap:8px;color:#1f6b56;font-size:12px;font-weight:600}.spinner{width:16px;height:16px;border:2px solid rgba(31,107,86,.22);border-top-color:#1f6b56;border-radius:999px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.actions-cell{display:flex;flex-wrap:wrap;gap:8px}.event-row{display:grid;gap:6px;border-top:1px solid #ece6dc;padding:12px 0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-filter-editor,.filter-editor-grid,.form-grid{display:grid;gap:16px}.filter-editor-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.filter-card{display:grid;gap:10px;min-width:0;margin:0;border:1px solid #e2dbce;border-radius:8px;background:#fbfaf7;padding:14px}.filter-card legend{padding:0 4px;color:#344054;font-weight:700}.range-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checkbox-list{display:flex;flex-wrap:wrap;gap:8px}.checkbox-list-scroll{max-height:260px;overflow:auto}.checkbox-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #d8d1c5;border-radius:999px;background:#fff;cursor:pointer;padding:8px 10px}.checkbox-pill input{margin:0}.checkbox-pill small{color:#6f756f}.source-article-row{grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) minmax(260px,1.4fr) auto;align-items:start;margin-bottom:14px}.content-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.markdown-editor{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:16px}.markdown-editor__textarea{min-height:320px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.markdown-editor__preview{min-height:320px;border:1px solid #d8d1c5;border-radius:8px;background:#fbfaf7;padding:14px}.markdown-editor__preview blockquote,.markdown-editor__preview h2,.markdown-editor__preview h3,.markdown-editor__preview ol,.markdown-editor__preview p,.markdown-editor__preview pre,.markdown-editor__preview ul{margin:12px 0 0}.markdown-editor__preview h2{font-size:22px}.markdown-editor__preview h3{font-size:18px}.markdown-editor__preview blockquote{border-left:3px solid #1f6b56;color:#4f5a54;padding-left:12px}.markdown-editor__preview pre{overflow:auto;border-radius:6px;background:#1b1f22;color:#fff;padding:12px}.markdown-editor__empty{margin-top:12px}.form-row{display:grid;gap:7px}.form-row.full{grid-column:1/-1}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px}.login-card{width:min(420px,100%)}.error-text{color:#a9342f}@media(max-width:860px){.admin-shell{grid-template-columns:1fr}.sidebar{position:static}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.content,.topbar{padding:18px}.content-admin-grid,.form-grid,.markdown-editor{grid-template-columns:1fr}}
