.login-dialog { width:min(30rem, calc(100% - 2rem)); max-height:calc(100dvh - 2rem); padding:clamp(1rem,4vw,2rem); border:1px solid #D9CFC0; border-radius:1rem; background:#F7F3EA; color:#151515; box-shadow:0 1rem 5rem #15151533; overflow-wrap:anywhere; }
.login-dialog::backdrop { background:#15151580; }
.login-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.login-heading h2 { margin:0; font-size:1.8rem; }
.login-dialog form { display:grid; gap:.75rem; }
.login-dialog form[hidden] { display:none; }
.login-dialog input { width:100%; min-width:0; padding:.75rem; background:white; color:#151515; border:1px solid #6F756B; border-radius:.3rem; font:inherit; }
.login-dialog button { min-height:44px; padding:.65rem 1rem; }
.login-dialog a { display:block; margin:1rem 0; }
.login-dialog [hidden] { display:none; }

.admin-shell { width:min(90rem,100%); margin:auto; padding:clamp(1rem,3vw,2.5rem); }
.admin-nav { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
.admin-item { padding:1.25rem; margin:1rem 0; border:1px solid #D9CFC0; border-radius:.6rem; overflow-wrap:anywhere; }
.admin-item button { margin:.3rem; }
.admin-shell button,.admin-shell select { min-height:44px; max-width:100%; padding:.5rem; }
.admin-shell textarea { display:block; width:100%; min-height:6rem; font:inherit; padding:.65rem; }
.admin-table { overflow:auto; max-width:100%; }
.admin-table table { border-collapse:collapse; width:100%; }
.admin-table th,.admin-table td { padding:.7rem; border-bottom:1px solid #D9CFC0; text-align:left; overflow-wrap:anywhere; min-width:7rem; }
.admin-table td:last-child { min-width:14rem; }
#edit-fields label { display:block; margin:1rem 0; }
#edit-fields input:not([type=checkbox]) { display:block; width:100%; padding:.65rem; }
.admin-shell [hidden] { display:none; }

.review-viewport { max-width:100%; width:760px; margin:2rem auto; perspective:1800px; }
.review-viewport.mobile { width:390px; }
.review-viewport.mobile .card-face { padding:1.4rem; }
.review-viewport.mobile h2 { font-size:2.5rem; }
.review-viewport.mobile .hook { font-size:1.4rem; }
.changed-field { background:#eee4d3; }
#settings-fields label { display:block; margin:1rem 0; }
#settings-fields input:not([type=checkbox]) { display:block; width:100%; padding:.7rem; }

.audit-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:1rem; margin-block:1rem; }
.audit-filters label { display:flex; flex-direction:column; gap:.4rem; min-width:0; }
.audit-filters input,.audit-filters select { width:100%; min-width:0; }
.audit-record,.audit-change { overflow-wrap:anywhere; min-width:0; }
.audit-change { padding:.7rem; border-top:1px solid var(--beige,#D9CFC0); }
.audit-change p { white-space:pre-wrap; }
.audit-record summary { cursor:pointer; padding:.6rem; }

.totp-secret { display:block; white-space:pre-wrap; overflow-wrap:anywhere; padding:1rem; background:#F7F3EA; color:#151515; user-select:all; }
.login-dialog form { display:grid; gap:.8rem; }
.login-dialog [hidden] { display:none; }

.card-editor-dialog,.card-confirm-dialog { width:min(64rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); padding:clamp(1rem,3vw,2rem); border:1px solid #D9CFC0; border-radius:1rem; background:#F7F3EA; color:#151515; overflow-y:auto; overflow-x:hidden; overflow-wrap:anywhere; }
.card-confirm-dialog { width:min(32rem,calc(100% - 2rem)); }
.card-editor-dialog::backdrop,.card-confirm-dialog::backdrop { background:#15151599; }
.card-editor-dialog h2,.card-confirm-dialog h2 { margin:0 0 1rem; font-size:2rem; }
.card-editor-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.card-editor-fields label { display:flex; flex-direction:column; gap:.4rem; min-width:0; font-size:.95rem; }
.card-editor-fields input,.card-editor-fields textarea,.card-editor-fields select { width:100%; min-width:0; min-height:44px; padding:.65rem; font:inherit; color:#151515; background:#fff; border:1px solid #6F756B; border-radius:.3rem; }
.card-editor-fields textarea { resize:vertical; }
.card-editor-fields .card-editor-checkbox { flex-direction:row; align-items:center; }
.card-editor-checkbox input { width:1.4rem; min-height:1.4rem; flex-shrink:0; }
.card-editor-wide { grid-column:1 / -1; }
.card-editor-actions,.admin-item-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.card-editor-actions button { min-height:44px; padding:.7rem 1rem; border:1px solid #151515; border-radius:.4rem; background:#151515; color:#F7F3EA; font:inherit; cursor:pointer; }
.card-editor-actions button:last-child { background:transparent; color:#151515; }
.card-editor-actions button:disabled { opacity:.55; cursor:wait; }
.card-editor-dialog :focus-visible,.card-confirm-dialog :focus-visible { outline:3px solid #6F756B; outline-offset:3px; }
.card-editor-fields [aria-invalid=true] { border:2px solid #9b2424; }
#card-editor-errors { color:#8b2020; }
@media(max-width:600px) { .card-editor-fields { grid-template-columns:minmax(0,1fr); } }
.admin-row h2,.admin-row p { overflow-wrap:anywhere; }
.admin-row .admin-actions { max-width:28rem; min-width:0; }

.comment-text { white-space:pre-wrap; }
.comment-filter { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
