.brief-main { width: min(100% - 48px, 900px); padding-bottom: 32px; }
.back { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; font-weight: 650; font-size: .88rem; margin-top: 5px; }
.brief-heading { margin: 4px 0 22px; max-width: 44rem; }
.brief-heading h1, .paper h1 { font-size: clamp(1.9rem, 4.5vw, 2.85rem); letter-spacing: -.045em; }
.brief-heading p { color: var(--muted); margin-top: 8px; }
.brief-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.input-card { padding: clamp(15px, 2.2vw, 22px); border: 1px solid var(--line); border-top: 3px solid var(--teal); border-radius: 8px; min-width: 0; }
.input-card h2 { margin-bottom: 10px; }
.input-card label { display: block; font-size: .88rem; font-weight: 650; margin: 13px 0 5px; }
textarea, select { width: 100%; border: 1px solid #829a9f; border-radius: 5px; color: var(--ink); background: #fff; padding: 8px 10px; font: inherit; }
textarea { display: block; line-height: 1.48; resize: vertical; }
textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }
.hint { color: var(--muted); font-size: .82rem; line-height: 1.55; margin-top: 6px; }
.mic-button { justify-content: flex-start; gap: 10px; }
.mic-button::after { content: none; }
.mic-button i { display: block; width: 12px; height: 12px; background: white; border-radius: 50%; }
.mic-button[aria-pressed="true"] { background: #914017; }
.mic-button[aria-pressed="true"] i { border-radius: 1px; }
#voice-status:empty, #sheet-status:empty, #form-status:empty, #export-status:empty { display: none; }
.sample-download { font-size: .86rem; display: inline-flex; align-items: center; min-height: 44px; }
.file-summary { border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: .9rem; overflow-wrap: anywhere; }
details { font-size: .87rem; }
summary { color: var(--deep); cursor: pointer; padding-block: 9px; }
#field-preview { color: var(--muted); overflow-wrap: anywhere; }
.generate, .report-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; margin-top: 16px; }
.generate > button, .report-actions > .primary { width: auto; gap: 18px; }
.generate > .hint { margin: 0; }
.outlined { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; border: 1px solid #809aa0; border-radius: 6px; font-weight: 650; padding: 8px 14px; background: #fff; }
.paper { max-width: 770px; border: 1px solid var(--line); padding: clamp(18px, 4vw, 38px); border-top: 4px solid var(--teal); border-radius: 8px; overflow-wrap: anywhere; }
.paper > section { margin-top: 17px; }
.paper h2 { font-size: 1.08rem; margin-bottom: 3px; }
.paper ul { margin: 2px 0 0; padding-left: 1.25rem; }
.paper .proposal { padding: 12px 14px; background: #edf6f7; border-left: 3px solid var(--teal); }
.report-note { margin-top: 18px; font-size: .82rem; color: var(--muted); }
@media(max-width: 660px) {
  .brief-main { width: calc(100% - 30px); }
  .brief-inputs { grid-template-columns: minmax(0,1fr); gap: 11px; }
  .brief-heading { margin: 0 0 13px; }
  .brief-heading p { font-size: .94rem; }
  .input-card { padding: 12px 14px; }
  .back { margin: 0; }
  .generate > .primary { width: 100%; }
}
@page { size: A4; margin: 16mm; }
@media print {
  .mast, .back, .report-actions, #export-status, #compose, noscript { display: none !important; }
  .brief-main { width: auto; padding: 0; }
  .paper { border: 0; border-top: 2pt solid #00708a; padding: 4mm 0; border-radius: 0; max-width: none; font: 11pt/1.5 sans-serif; }
  .paper h1 { font-size: 22pt; } .paper h2 { font-size: 13pt; }
  .paper section { margin-top: 4mm; break-inside: avoid; }
}
