.auth-button { border: 1px solid var(--dark); background: transparent; color: var(--dark); padding: 5px 11px; font-weight: 700; cursor: pointer; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin: 22px 0; }
.form-grid .full { grid-column: 1 / -1; }
.form-grid label, .auth-dialog label { display: grid; gap: 5px; color: #55564f; font-size: 13px; font-weight: 700; }
.form-grid input, .form-grid select, .auth-dialog input { width: 100%; border: 1px solid #aaa79b; background: #fffefa; padding: 10px 11px; color: var(--ink); font: inherit; }
.form-grid input:focus, .form-grid select:focus, .auth-dialog input:focus { outline: 3px solid #dce5d8; border-color: var(--dark); }
.choice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 18px 0; }
.choice-grid label { border: 1px solid var(--line); padding: 11px; cursor: pointer; }
.choice-grid label:has(input:checked) { outline: 2px solid var(--dark); background: #f0f3eb; }
.choice-grid input { margin-right: 6px; }
.review-table { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); margin: 20px 0; }
.review-table span { padding: 9px; border-bottom: 1px solid var(--line); }
.review-table span:nth-child(odd) { color: var(--muted); }
.empty-state { color: var(--muted); padding: 24px 0; }
.field-list-card { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding: 14px 0; }
.field-list-card h3, .field-list-card p { margin: 0; }
.field-list-card p { color: var(--muted); font-size: 13px; }
.result-card { border-top: 1px solid var(--line); padding: 13px 0; }
.result-card button { border: 0; background: none; text-decoration: underline; color: var(--dark); padding: 0; cursor: pointer; }
.auth-dialog, .result-dialog { width: min(92vw, 480px); border: 1px solid #888477; background: var(--white); padding: 34px; box-shadow: 12px 12px 0 #2d4d3d33; color: var(--ink); }
.result-dialog { width: min(92vw, 650px); }
dialog::backdrop { background: #17261fc7; }
.dialog-close { position: absolute; right: 12px; top: 8px; border: 0; background: none; font-size: 25px; cursor: pointer; }
.auth-dialog h2, .result-dialog h2 { font: 600 29px var(--serif); margin: 7px 0; }
.auth-dialog > p { color: var(--muted); }
.auth-tabs { display: flex; border-bottom: 1px solid var(--line); margin: 19px 0; }
.auth-tabs button { border: 0; background: none; padding: 9px 13px; cursor: pointer; }
.auth-tabs button.active { border-bottom: 3px solid var(--dark); font-weight: 700; }
.auth-dialog form { display: grid; gap: 13px; }
.auth-dialog[data-mode="login"] .register-only { display: none; }
.form-error { color: #9a342b !important; margin: 0; font-size: 13px; }
.wide { width: 100%; }
.analysis-section { border-top: 1px solid var(--line); padding: 13px 0; }
.analysis-section h3 { font: 600 18px var(--serif); margin: 0 0 5px; }
.analysis-section p, .analysis-section li { color: #54564f; }
.confidence { display: inline-block; background: #e9eee5; padding: 4px 9px; font-size: 12px; }
.loading { opacity: .6; pointer-events: none; }
@media (max-width: 650px) { .form-grid, .choice-grid { grid-template-columns: 1fr; } .form-grid .full { grid-column: auto; } }
