:root { --green:#1f704b; --dark:#123d2d; --lime:#b9db55; --bg:#f4f7f5; --line:#d9e5dd; --muted:#61726b; --danger:#a52d2d; --white:#fff; --radius:18px; }
* { box-sizing:border-box; } body { margin:0; color:#173128; background:var(--bg); font-family:Inter,system-ui,sans-serif; line-height:1.5; }
button,input,select,textarea { font:inherit; } button { cursor:pointer; } a { color:inherit; }
.admin-header { padding:32px max(24px,calc((100% - 1180px)/2)); color:var(--white); background:var(--dark); }
.admin-header div { max-width:1180px; margin:auto; }.admin-header a { color:var(--lime); }.admin-header h1 { margin:14px 0 6px; font-size:clamp(1.7rem,4vw,2.6rem); }.admin-header p { margin:0; max-width:760px; color:#d3e2da; }
.admin-layout { display:grid; grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr); gap:24px; width:min(calc(100% - 40px),1180px); margin:32px auto; align-items:start; }
.theme-panel { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.theme-panel h2,.theme-panel p { margin:0; }.theme-panel > div:first-child > p:last-child { margin-top:5px; color:var(--muted); }
.theme-controls { display:flex; align-items:end; flex-wrap:wrap; gap:10px; }.theme-controls label { display:flex; align-items:center; gap:10px; }.theme-controls input[type="color"] { width:52px; height:42px; padding:3px; cursor:pointer; }
.theme-message { flex-basis:100%; padding:10px 12px; color:var(--dark); background:#e5f5eb; border-radius:10px; }
.panel { padding:28px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 12px 35px rgba(18,61,45,.07); }
.panel__heading,.toolbar,.publication__top,.publication__actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }.panel h2 { margin:0; }.kicker { margin:0; color:var(--green); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
form { display:grid; gap:17px; margin-top:24px; } label { display:grid; gap:6px; font-weight:700; } input,select,textarea { width:100%; padding:11px 12px; color:#173128; background:#fff; border:1px solid #bdcdc3; border-radius:10px; } textarea { resize:vertical; } input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible { outline:3px solid rgba(185,219,85,.55); outline-offset:2px; border-color:var(--green); }
#custom-title-field[hidden] { display:none; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.check { display:flex; flex-direction:row; align-items:center; align-self:end; min-height:44px; }.check input { width:auto; }.filter { display:flex; align-items:center; gap:8px; }.filter select { width:auto; }
small,.list-status { color:var(--muted); }.button { display:inline-flex; justify-content:center; align-items:center; padding:10px 14px; border:1px solid transparent; border-radius:10px; font-weight:750; }.button--primary { color:#fff; background:var(--green); }.button--secondary { color:var(--dark); background:#e9f2ec; }.button--quiet { color:var(--green); background:#fff; border-color:var(--line); }.button--danger-quiet { color:var(--danger); background:#fff; border-color:#edcaca; }
.message { margin-top:18px; padding:12px 14px; white-space:pre-line; border-radius:10px; }.message--success { color:#155b3c; background:#e5f5eb; }.message--error { color:#842323; background:#fdeaea; }.image-preview { display:flex; align-items:center; gap:12px; }.image-preview img { width:120px; height:80px; object-fit:contain; object-position:center; background:#edf3ef; border-radius:10px; }
.toolbar { flex-wrap:wrap; margin:22px 0; justify-content:flex-start; }.publication-list { display:grid; gap:14px; }.publication { display:grid; grid-template-columns:110px 1fr; gap:15px; padding:15px; border:1px solid var(--line); border-radius:14px; }.publication__image,.publication__placeholder { width:110px; height:90px; object-fit:contain; object-position:center; background:#edf3ef; border-radius:10px; }.publication__placeholder { display:grid; place-items:center; color:var(--muted); font-size:.75rem; text-align:center; }.publication h3 { margin:4px 0; font-size:1.05rem; overflow-wrap:anywhere; }.publication p { margin:4px 0; color:var(--muted); font-size:.88rem; }.badge { padding:3px 8px; border-radius:999px; font-size:.72rem; font-weight:800; }.badge--active { color:#155b3c;background:#e5f5eb }.badge--inactive,.badge--expired { color:#842323;background:#fdeaea }.badge--scheduled { color:#785411;background:#fff1ca }.publication__actions { justify-content:flex-start; flex-wrap:wrap; margin-top:10px; }.publication__actions .button { padding:7px 10px; font-size:.82rem; }
@media(max-width:850px){.admin-layout{grid-template-columns:1fr}.panel{padding:22px}} @media(max-width:560px){.admin-layout{width:min(calc(100% - 24px),1180px);margin:16px auto}.field-row{grid-template-columns:1fr}.panel__heading{align-items:flex-start;flex-direction:column}.publication{grid-template-columns:1fr}.publication__image,.publication__placeholder{width:100%;height:150px}.filter{width:100%;justify-content:space-between}.filter select{flex:1}.theme-panel{align-items:flex-start}.theme-controls{width:100%}.theme-controls label{width:100%;justify-content:space-between}}
.admin-pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:22px; }.admin-pagination[hidden]{display:none}.admin-pagination span{color:var(--muted);font-weight:700}
