[hidden] { display: none !important; }
.auth-shell { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.auth-card { min-width: 0; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
.brand-preview { min-height: 190px; border-radius: 16px; padding: 28px; color: white; display: flex; align-items: center; gap: 18px; }
.brand-preview .preview-logo { width: 76px; height: 76px; border-radius: 16px; display: grid; place-items: center; overflow: hidden; font-weight: 900; }
.brand-preview .preview-logo img { width: 100%; height: 100%; object-fit: contain; }
.brand-preview h2 { margin: 0 0 5px; font-size: 2rem; }
.brand-preview p { margin: 0; opacity: .8; }
.colour-field { display: grid; grid-template-columns: 54px 1fr; gap: 8px; align-items: center; }
.colour-field input[type="color"] { height: 46px; padding: 3px; }
.section-title-row { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); padding-bottom: 12px; margin-bottom: 18px; }
.section-title-row h3 { border: 0; padding: 0; margin: 0; }
.help-button { border: 1px solid var(--line); background: white; color: var(--green); border-radius: 20px; padding: 7px 11px; font-weight: 800; font-size: .75rem; }
.guidance-steps { counter-reset: guide; display: grid; gap: 12px; }
.guidance-step { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; }
.guidance-step:before { counter-increment: guide; content: counter(guide); width: 30px; height: 30px; border-radius: 50%; background: var(--green2); color: var(--green); display: grid; place-items: center; font-weight: 900; }
.guidance-step strong { display: block; margin-bottom: 3px; }
.guidance-example { background: var(--green2); border-radius: 10px; padding: 14px; margin-top: 15px; }
.status.sent { background: #dcf3e8; color: #187255; }
.status.queued, .status.retrying { background: #fff1d9; color: var(--amber); }
.status.failed { background: #fae4e2; color: var(--red); }
.status.preview { background: #e8edf7; color: #425a86; }
.status.changes_requested { background: #fff1d9; color: var(--amber); }
.conversation { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin: 12px 0; }
.conversation-head { background: #f3f6f4; padding: 13px 15px; display: flex; justify-content: space-between; align-items: center; }
.conversation-messages { padding: 14px; display: grid; gap: 10px; max-height: 340px; overflow: auto; }
.message { max-width: 86%; padding: 11px 13px; border-radius: 12px; background: #edf1ef; font-size: .82rem; }
.message.mine { margin-left: auto; background: var(--green2); }
.message.changes_requested { border-left: 3px solid var(--amber); max-width: 100%; }
.message.resubmission { border-left: 3px solid var(--green); max-width: 100%; }
.message small { display: block; color: var(--muted); margin-top: 5px; }
.reply-form { display: grid; grid-template-columns: 1fr auto; gap: 9px; padding: 12px; border-top: 1px solid var(--line); }
