/* Admin page: same paper / ink / gold language as the reader. Loaded after style.css. */
body.admin{background:var(--paper);color:var(--ink)}
.admin-bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;height:72px;padding:0 4.5vw;border-bottom:1px solid var(--line-light);background:#f5f3eef2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.admin-bar .reader-home{padding:0}
.admin-bar-tools{display:flex;align-items:center;gap:18px;font-size:13px}
.admin-label{color:var(--gold);letter-spacing:.12em;font-size:11px}
.admin-bar-tools a,.admin-bar-tools button{padding:0 0 3px;border:0;border-bottom:1px solid #1b282d55;background:none;color:var(--ink)}
.admin-main{max-width:1200px;margin:0 auto;padding:56px 4.5vw 100px}
.admin .eyebrow{color:var(--gold)}
.admin h1{margin:16px 0 0;font-family:var(--serif);font-weight:500;font-size:clamp(28px,3vw,40px);letter-spacing:-.03em}

.admin-login{max-width:380px;margin:40px auto 0;text-align:center}
.admin-login form{display:grid;gap:22px;margin-top:32px;text-align:left}
.admin-note{margin:14px 0 0;font-size:14px;line-height:1.8;color:var(--muted)}
.admin-note code{padding:1px 6px;border-radius:3px;background:#1b282d0d;font-size:13px}
.admin-error{min-height:1.5em;margin:0;font-size:13px;color:#9b3b2f;text-align:center}

.admin-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--ink)}
.admin-tabs{display:flex;flex-wrap:wrap;gap:8px}
.admin-tabs button{padding:8px 16px;border:1px solid #c5ccc9;border-radius:30px;background:none;color:#405058;font-size:13px}
.admin-tabs button:hover{border-color:var(--ink)}
.admin-tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.admin-panel{padding-top:32px}

.admin-field{display:grid;gap:6px}
.admin-field>span{font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--gold)}
.admin-field input,.admin-field textarea{width:100%;padding:12px 14px;border:1px solid #1b282d2e;border-radius:4px;background:#fff;color:var(--ink);font-size:15px;outline:none;transition:border-color .2s}
.admin-field input:focus,.admin-field textarea:focus{border-color:var(--ink)}
.admin-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}
.admin-grow{flex:1;min-width:220px}

.admin-write{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.admin-write-form{display:grid;gap:18px;position:sticky;top:96px}
.admin-text textarea{min-height:52vh;resize:vertical;font-size:14px;line-height:1.75}
.admin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.admin-btn{padding:11px 22px;border:1px solid var(--ink);border-radius:30px;background:var(--ink);color:#fff;font-size:14px;transition:background .2s,opacity .2s}
.admin-btn:hover{background:#2c3d44}
.admin-btn:disabled{opacity:.45;cursor:not-allowed}
.admin-btn-line{background:transparent;color:var(--ink);border-color:#1b282d40}
.admin-btn-line:hover{background:transparent;border-color:var(--ink)}
.admin-btn-danger{background:transparent;color:#9b3b2f;border-color:#9b3b2f55}
.admin-btn-danger:hover{background:#9b3b2f0d;border-color:#9b3b2f}
.admin-status{margin:0;font-size:13px;color:var(--muted)}
.admin-status.is-error{color:#9b3b2f}
.admin-status.is-ok{color:#3d6b4f}

.admin-preview{border:1px solid var(--line-light);border-radius:4px;background:#fffdf8;max-height:calc(100svh - 140px);overflow:auto}
.admin-preview-label{position:sticky;top:0;z-index:1;margin:0;padding:10px 18px;border-bottom:1px solid var(--line-light);background:#fffdf8;font-size:11px;letter-spacing:.1em;color:var(--gold)}
.admin-preview #reader-content{padding:8px 32px 40px;font-size:16px}
.admin-empty{padding:60px 0;text-align:center;font-family:var(--sans);font-size:14px;color:var(--muted)}

.admin-list{margin-top:20px;border-top:1px solid var(--ink)}
.admin-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line-light)}
.admin-item time{font-size:13px;letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums}
.admin-item b{overflow:hidden;font-family:var(--serif);font-weight:500;font-size:16px;white-space:nowrap;text-overflow:ellipsis}
.admin-item .admin-item-actions{display:flex;gap:8px}
.admin-item .admin-btn{padding:7px 14px;font-size:12px}
.admin-video{grid-template-columns:128px minmax(0,1fr) auto}
.admin-video img{width:128px;aspect-ratio:16/9;object-fit:cover;border-radius:3px;background:#dfe3e0}
.admin-video small{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.admin-more{margin-top:20px}

@media(max-width:900px){
 .admin-write{grid-template-columns:1fr}
 .admin-write-form{position:static}
 .admin-text textarea{min-height:40vh}
 .admin-preview{max-height:none}
}
@media(max-width:600px){
 .admin-bar{height:60px;padding:0 20px}
 .admin-main{padding:36px 20px 80px}
 .admin-item{grid-template-columns:1fr auto;gap:6px 12px}
 .admin-item time{grid-column:1/-1}
 .admin-video{grid-template-columns:96px minmax(0,1fr)}
 .admin-video img{width:96px}
 .admin-video .admin-item-actions{grid-column:1/-1}
 .admin-preview #reader-content{padding:4px 18px 30px}
}
/* Messages from the contact form */
.admin-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:9px;background:#9b3b2f;color:#fff;font-size:11px}
.admin-badge[hidden]{display:none}
.admin-message{padding:20px 0;border-bottom:1px solid var(--line-light)}
.admin-message-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.admin-message-head b{font-family:var(--serif);font-size:17px;font-weight:500}
.admin-message-contact{font-size:14px;color:#2b6f8c;user-select:all}
.admin-message-head time{margin-left:auto;font-size:12px;color:var(--muted)}
.admin-message-body{margin:10px 0 14px;font-size:15px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;color:#2c393e}
.admin-message.is-unread .admin-message-head b:before{content:'';display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#9b3b2f;vertical-align:middle}
.admin-message:not(.is-unread){opacity:.72}
.admin-start{width:150px}
