:root { --navy:#102a43; --blue:#1769aa; --pale:#f3f6f9; --line:#d8e0e8; --text:#172b3a; --muted:#617382; --danger:#b42318; --success:#067647; }
* { box-sizing:border-box; }
body { margin:0; color:var(--text); background:var(--pale); font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--blue); }
.admin-header { min-height:72px; padding:0 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; color:#fff; background:var(--navy); }
.admin-brand { display:flex; flex-direction:column; color:#fff; text-decoration:none; font-weight:850; letter-spacing:.02em; }
.admin-brand small { color:#a9c4dc; font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; }
.admin-nav { display:flex; align-items:center; gap:1rem; }
.admin-nav a,.link-button { color:#fff; font:inherit; font-weight:700; text-decoration:none; }
.admin-nav form { margin:0; }
.link-button { padding:0; border:0; background:none; cursor:pointer; }
.admin-main { width:min(1100px,calc(100% - 2rem)); margin:2rem auto 5rem; }
.login-card { width:min(440px,100%); margin:8vh auto; padding:2rem; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 20px 45px rgba(16,42,67,.1); }
h1 { margin:.15rem 0 1rem; font-size:clamp(2rem,5vw,3rem); letter-spacing:-.045em; line-height:1.05; }
.admin-eyebrow { margin:0; color:var(--blue); font-size:.75rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.admin-title-row { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.admin-form label { display:grid; gap:.4rem; color:var(--muted); font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.admin-form input,.admin-form textarea,.admin-form select { width:100%; padding:.8rem .9rem; color:var(--text); background:#fff; border:1px solid var(--line); border-radius:8px; font:inherit; text-transform:none; letter-spacing:normal; }
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus { outline:3px solid rgba(23,105,170,.18); border-color:var(--blue); }
.admin-form textarea { resize:vertical; }
.primary-button,.secondary-button,.danger-button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:.7rem 1rem; border:0; border-radius:8px; font:inherit; font-weight:800; text-decoration:none; cursor:pointer; }
.primary-button { color:#fff; background:var(--blue); }
.secondary-button { color:var(--navy); background:#dfeaf3; }
.danger-button { color:#fff; background:var(--danger); }
.login-card .primary-button { width:100%; margin-top:.5rem; }
.notice { margin:0 0 1rem; padding:.85rem 1rem; border-radius:8px; background:#e8f5ee; color:var(--success); font-weight:700; }
.notice-error { background:#fef3f2; color:var(--danger); }
.admin-table-wrap { overflow:auto; background:#fff; border:1px solid var(--line); border-radius:12px; }
.admin-table { width:100%; border-collapse:collapse; }
.admin-table th,.admin-table td { padding:.9rem 1rem; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap; }
.admin-table th { color:var(--muted); font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; }
.admin-table tr:last-child td { border-bottom:0; }
.status-badge { display:inline-flex; margin-left:.5rem; padding:.15rem .5rem; border-radius:999px; background:#e5edf4; color:var(--navy); font-size:.72rem; font-weight:800; }
.status-badge.publish { background:#e8f5ee; color:var(--success); }
.status-badge.expired { background:#fef3f2; color:var(--danger); }
.empty-cell { padding:3rem!important; text-align:center!important; color:var(--muted); }
.editor-form { padding:1.25rem; background:#fff; border:1px solid var(--line); border-radius:12px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.span-2 { grid-column:1/-1; }
.checkbox-label { display:flex!important; flex-direction:row; align-items:center; align-self:end; min-height:45px; text-transform:none!important; }
.checkbox-label input { width:auto; }
.form-actions { margin-top:1.25rem; }
.danger-zone { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:2rem; padding:1.25rem; border:1px solid #f6b6b2; border-radius:12px; background:#fff; }
.danger-zone p { margin:.25rem 0 0; color:var(--muted); }
@media(max-width:700px){.admin-header,.admin-title-row,.danger-zone{align-items:flex-start;flex-direction:column}.admin-header{padding:1rem}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.admin-nav{flex-wrap:wrap}}
