:root { --admin-max: 1180px; }
.admin-body { background: #f2f0ea; color: var(--ink); }
.admin-header { max-width: var(--admin-max); margin: 0 auto; min-height: 110px; padding: 28px 28px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:2; }
.admin-header > div { display:flex; gap:28px; align-items:center; font-family:"DM Mono",monospace; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.admin-header a { color:inherit; }
.admin-main { max-width: var(--admin-max); margin:0 auto; padding:74px 28px 100px; position:relative; z-index:1; }
.admin-intro { max-width:760px; margin-bottom:52px; }
.admin-intro h1 { font-size:clamp(44px,7vw,92px); font-weight:500; letter-spacing:-.055em; line-height:.95; margin:12px 0 26px; }
.admin-intro > p:last-child { max-width:680px; font-size:17px; line-height:1.75; color:var(--muted); }
.admin-intro code { font-family:"DM Mono",monospace; font-size:.83em; }
.alert { padding:24px 26px; margin-bottom:30px; border:1px solid; }
.alert strong { display:block; margin-bottom:8px; }
.alert ul { margin:8px 0 0 20px; }
.alert-error { border-color:#9d3d32; background:#fff3f0; }
.alert-success { border-color:#4d7156; background:#f1f8f0; }
.success-actions { display:flex; gap:22px; margin-top:14px; }
.success-actions a { text-decoration:underline; }
.album-form { display:grid; gap:22px; }
.form-panel { background:rgba(255,255,255,.55); border:1px solid var(--line); padding:32px; }
.panel-heading { display:grid; grid-template-columns:52px 1fr; gap:16px; margin-bottom:30px; }
.panel-heading > span { font-family:"DM Mono",monospace; font-size:11px; color:var(--muted); padding-top:7px; }
.panel-heading h2 { font-size:28px; font-weight:500; letter-spacing:-.025em; margin:0 0 5px; }
.panel-heading p { color:var(--muted); margin:0; font-size:14px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.field { display:flex; flex-direction:column; gap:8px; }
.field-wide { grid-column:1 / -1; }
.field > span { font-family:"DM Mono",monospace; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.field input,.field textarea,.field select { width:100%; border:0; border-bottom:1px solid #b8b4ab; background:transparent; padding:12px 2px; font:inherit; color:inherit; outline:none; border-radius:0; }
.field textarea { border:1px solid #c9c5bb; padding:14px; resize:vertical; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--ink); }
.field small { color:var(--muted); font-size:11px; }
.checks { justify-content:center; gap:14px; padding-top:20px; }
.checks label { display:flex; gap:10px; align-items:center; font-size:14px; }
.checks input { width:auto; }
.upload-zone { min-height:230px; border:1px dashed #9e9a90; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; cursor:pointer; transition:.2s; background:rgba(255,255,255,.35); }
.upload-zone:hover { border-color:var(--ink); background:rgba(255,255,255,.7); }
.upload-zone input { position:absolute; opacity:0; pointer-events:none; }
.upload-icon { font-size:34px; font-weight:200; margin-bottom:10px; }
.upload-zone strong { font-size:18px; font-weight:500; }
.upload-zone small { margin-top:8px; color:var(--muted); }
.sequence-settings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:26px; }
.file-preview { margin-top:30px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.preview-card { border:1px solid var(--line); background:#fff; padding:8px; min-width:0; }
.preview-card img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; background:#ddd; }
.preview-card strong,.preview-card span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.preview-card strong { margin-top:8px; font-size:11px; font-weight:500; }
.preview-card span { font-family:"DM Mono",monospace; font-size:8px; color:var(--muted); margin-top:4px; }
.form-submit { position:sticky; bottom:0; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 24px; background:rgba(20,20,18,.96); color:#fff; box-shadow:0 -12px 30px rgba(0,0,0,.12); z-index:5; }
.form-submit > div { display:flex; flex-direction:column; gap:4px; }
.form-submit strong { font-size:15px; }
.form-submit span { color:#bcbab3; font-size:11px; }
.form-submit button { border:1px solid #fff; background:#fff; color:#111; padding:14px 20px; font:inherit; cursor:pointer; }
.form-submit button span { color:inherit; margin-left:18px; }
@media (max-width:760px){ .admin-header{align-items:flex-start}.admin-header>div span{display:none}.admin-main{padding-top:48px}.form-grid,.sequence-settings{grid-template-columns:1fr}.field-wide{grid-column:auto}.file-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.form-panel{padding:24px 18px}.form-submit{margin:0 -18px;bottom:0}.form-submit>div{display:none} }


.login-body { min-height: 100vh; }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 32px; position: relative; z-index: 1; }
.login-card { width: min(460px, 100%); padding: clamp(28px, 5vw, 52px); background: var(--paper, #f4f1ea); border: 1px solid var(--line); box-shadow: 0 24px 70px rgba(20,20,16,.12); }
.login-card h1 { margin: 14px 0; font-size: clamp(34px, 6vw, 54px); line-height: .95; }
.login-card > p:not(.eyebrow) { color: var(--muted); margin-bottom: 28px; }
.login-form { display: grid; gap: 18px; }
.login-form button { border: 0; background: var(--ink); color: var(--paper); padding: 16px 20px; display: flex; justify-content: space-between; cursor: pointer; text-transform: uppercase; letter-spacing: .1em; }
.login-back { display: inline-block; margin-top: 24px; font-size: 12px; }
.admin-header > div { display: flex; gap: 18px; align-items: center; }

/* V2 — album wizard */
.admin-body{--admin-ink:#171a12;--admin-paper:#f3f0df;--admin-lcd:#cad1a9;--admin-olive:#66704c;background-color:var(--admin-paper)}
.admin-header{border:3px solid var(--admin-ink)!important;box-shadow:4px 4px 0 #a8a88f!important;background:#f3f0df!important}
.admin-main{max-width:1180px!important}.admin-intro h1{font-family:"Courier New",monospace!important;text-transform:uppercase;letter-spacing:-2px}
.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);border:3px solid var(--admin-ink);box-shadow:4px 4px 0 #a8a88f;margin:28px 0;background:#e8e5ce}
.wizard-step{appearance:none;border:0;border-right:2px solid var(--admin-ink);background:transparent;padding:14px 16px;text-align:left;font-family:"Courier New",monospace;cursor:pointer;color:var(--admin-ink)}.wizard-step:last-child{border-right:0}.wizard-step span{display:block;font-size:9px;color:var(--admin-olive);margin-bottom:3px}.wizard-step strong{font-size:13px}.wizard-step.active{background:var(--admin-lcd)}.wizard-step.complete:before{content:"■";float:right;color:var(--admin-olive)}
.album-form.wizard-ready .form-panel{display:none}.album-form.wizard-ready .form-panel.active-panel{display:block;animation:wizardIn .22s ease}.album-form.wizard-ready .form-submit{display:none}.album-form.wizard-ready.final-step .form-submit{display:flex}
@keyframes wizardIn{from{opacity:.25;transform:translateX(8px)}to{opacity:1;transform:none}}
.wizard-controls{display:flex;justify-content:space-between;gap:15px;margin:18px 0 30px}.wizard-controls button{border:2px solid var(--admin-ink);background:#f3f0df;padding:12px 18px;font-family:"Courier New",monospace;font-weight:700;box-shadow:3px 3px 0 #a8a88f;cursor:pointer}.wizard-controls button.primary{background:var(--admin-lcd)}.wizard-controls button:disabled{opacity:.35;cursor:not-allowed}.wizard-controls button:hover:not(:disabled){transform:translate(1px,1px);box-shadow:2px 2px 0 #a8a88f}
.form-panel{border:3px solid var(--admin-ink)!important;box-shadow:4px 4px 0 #a8a88f!important}.panel-heading>span{font-family:"Courier New",monospace!important;background:var(--admin-lcd)!important;color:var(--admin-ink)!important;border:2px solid var(--admin-ink)}
.upload-zone{border:3px dashed var(--admin-ink)!important;background:#e8e5ce!important}.preview-card{border:2px solid var(--admin-ink)!important;box-shadow:3px 3px 0 #a8a88f}
@media(max-width:700px){.wizard-progress{grid-template-columns:1fr}.wizard-step{border-right:0;border-bottom:2px solid var(--admin-ink)}.wizard-step:last-child{border-bottom:0}}

/* Newsletter admin */
.newsletter-admin-actions{display:flex;justify-content:flex-end;margin:-20px 0 22px}.newsletter-admin-actions a{border:2px solid #171a12;background:#cad1a9;padding:12px 16px;font:700 11px "Courier New",monospace;box-shadow:3px 3px 0 #a8a88f}.subscriber-table-wrap{overflow:auto;border:3px solid #171a12;box-shadow:4px 4px 0 #a8a88f;background:#f8f5e7}.subscriber-table{width:100%;border-collapse:collapse}.subscriber-table th,.subscriber-table td{padding:14px 16px;border-bottom:1px solid #aaa996;text-align:left}.subscriber-table th{font:700 10px "Courier New",monospace;background:#e8e5ce}.subscriber-table td{font-size:13px}.subscriber-status{font:700 9px "Courier New",monospace;padding:5px 8px;border:1px solid #171a12}.status-active{background:#cad1a9}.status-unsubscribed{background:#d5d2c5;color:#666}
