/* Forms panel (dictation into fillable PDFs). Uses the Compass tokens from compass-base.css. */
.forms-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;margin-top:24px}
.forms-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.forms-head h2{margin:0 0 4px}.forms-head p{margin:0;font-size:14px}
.forms-choose{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.forms-picker{min-width:220px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}
.forms-pilot{margin:14px 0 0;padding:9px 12px;background:#fff6e5;border:1px solid #f0d9a8;border-radius:8px;font-size:13px;color:#6b4b00}
.forms-work{margin-top:18px}
.forms-bar{display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line);padding-bottom:14px}
.forms-title{margin:0;font-size:17px}
.forms-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.forms-spacer{flex:1}
.forms-mic{display:inline-flex;align-items:center;gap:8px}
.forms-dot{width:10px;height:10px;border-radius:50%;background:#fff;opacity:.6}
.forms-mic.is-on{background:var(--red)}
.forms-mic.is-on .forms-dot{opacity:1;animation:forms-pulse 1.2s ease-in-out infinite}
@keyframes forms-pulse{50%{transform:scale(.6);opacity:.5}}
@media (prefers-reduced-motion:reduce){.forms-mic.is-on .forms-dot{animation:none}}
.forms-mic-state{font-size:13px;color:var(--muted)}
.forms-ai{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--muted)}
.forms-live{min-height:1.6em;margin:12px 0 6px;padding:8px 12px;border-radius:8px;background:var(--bg);color:var(--muted);font-style:italic}
.forms-live:empty::before{content:'Spoken words appear here as you talk.';opacity:.7}
.forms-live.is-hearing{color:var(--ink);background:var(--lavender)}
.forms-say{display:flex;gap:8px}
.forms-say-input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font:inherit}
.forms-notice{min-height:1.2em;margin:8px 0;font-size:14px;color:var(--purple)}
.forms-notice:empty{margin:0}
.forms-body{--forms-pane-height:min(70dvh,850px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start;margin-top:10px}
.forms-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 10px;align-content:start}
.forms-field.is-wide{grid-column:1/-1}
.forms-field{display:grid;gap:4px;padding:8px 10px;border-radius:8px;border:1px solid transparent;transition:background .6s}
.forms-field>label{font-size:13px;color:var(--muted);font-weight:bold}
.forms-field input[type=text],.forms-field textarea,.forms-field select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font:inherit;color:var(--ink);background:white}
.forms-field textarea{resize:vertical}
.forms-check{display:flex;gap:8px;align-items:center;font-size:15px;color:var(--ink)}
.forms-check input{width:18px;height:18px}
.forms-field.is-active{border-color:#c9b8e3;background:#faf7fd}
.forms-field.is-filled{animation:forms-filled 1.6s ease-out}
@keyframes forms-filled{0%{background:#e3f5e1}100%{background:transparent}}
.forms-problem{font-size:12px;color:var(--red)}.forms-problem:empty{display:none}
.forms-side{position:sticky;top:12px;display:grid;gap:0}
.forms-side h4{margin:16px 0 8px;font-size:13px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}
.forms-log{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px}
.forms-log li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:6px 10px;border-radius:6px;background:var(--bg)}
.forms-log q{color:var(--muted);font-style:italic}
.forms-log .forms-result{display:inline-flex;flex-wrap:wrap;gap:4px 12px}
.forms-log em{color:var(--red);font-style:normal}
.forms-log li.is-unplaced{background:#fff6e5}
.forms-log li.is-undone{opacity:.5;text-decoration:line-through}
.forms-log select{font-size:13px;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:white}
.forms-preview{border:1px solid var(--line);border-radius:8px;background:#f4f2f7;padding:8px;display:grid;gap:8px;align-content:start;height:var(--forms-pane-height);min-height:260px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.forms-preview:focus-visible,.forms-fields:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.forms-page{position:relative;background:white;box-shadow:0 1px 3px rgba(46,41,64,.15);max-width:100%}
.forms-page canvas{display:block}
.forms-overlay{position:absolute;overflow:hidden;white-space:nowrap;color:#1b3a8f;font-family:Arial,Helvetica,sans-serif;line-height:1.15;padding:1px 2px;cursor:pointer;border-radius:2px}
.forms-overlay.is-multi{white-space:pre-wrap}
.forms-overlay.is-active{outline:2px solid #ad73cc;background:rgba(173,115,204,.12)}
.forms-dialog{width:min(480px,calc(100% - 28px));border:1px solid var(--line);border-radius:12px;padding:22px}
.forms-dialog::backdrop{background:rgba(46,41,64,.4)}
.forms-dialog .dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.forms-name{display:grid;gap:4px;font-size:13px;color:var(--muted);font-weight:bold}
.forms-name input{padding:8px 10px;border:1px solid var(--line);border-radius:6px;font:inherit;font-weight:normal;color:var(--ink)}
/* Printing shows only the filled form. */
.forms-print-root{display:none}
@media print{
 body.forms-printing>*:not(.forms-print-root){display:none!important}
 body.forms-printing .forms-print-root{display:block}
 .forms-print-pages .forms-page{box-shadow:none;break-after:page;width:100%}
 .forms-print-pages canvas{width:100%;height:auto}
 @page{margin:0}
}
.forms-drive{margin:10px 0 0;font-size:13px;color:var(--muted)}
.forms-drive b{color:var(--ink);font-weight:normal}
.forms-drive .link,.forms-panel button.link{background:none;padding:0;color:var(--purple);text-decoration:underline;font-size:inherit}
/* Long forms: sections, one row per question, search. */
.forms-list{display:grid;gap:10px;grid-template-rows:auto minmax(0,1fr);height:var(--forms-pane-height);min-height:260px;min-width:0}
.forms-list>.forms-fields{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
@media (max-width:900px){.forms-body{grid-template-columns:1fr;--forms-pane-height:min(65dvh,600px)}.forms-side{position:static;order:-1}.forms-preview{height:min(50dvh,420px);min-height:220px}}
.forms-search{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font:inherit}
.forms-fields>.forms-section{grid-column:1/-1}
.forms-section{border:1px solid var(--line);border-radius:8px;background:white}
.forms-section>summary{padding:8px 12px;font-size:13px;font-weight:bold;color:var(--purple);background:var(--bg);border-radius:8px}
.forms-section[open]>summary{border-bottom:1px solid var(--line);border-radius:8px 8px 0 0}
.forms-fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 10px;padding:6px}
.forms-choice{grid-template-columns:1fr}
.forms-question{font-size:13px;color:var(--muted);font-weight:bold}
.forms-options{display:flex;flex-wrap:wrap;gap:4px 14px}
.forms-opt{display:inline-flex;gap:6px;align-items:center;font-size:14px;color:var(--ink)}
.forms-opt input{width:16px;height:16px}
.forms-signed{margin:12px 0 0;padding:9px 12px;background:#fdecea;border:1px solid #f3c2bd;border-radius:8px;font-size:13px;color:#8a1c12}
/* The Forms area sits under the page content, in the main column. */
.brief-workspace-grid>#forms-area{grid-column:1;min-width:0}
.brief-workspace-grid>#morning-brief{grid-row:1/span 2}
#forms-area:empty{display:none}
.drive-card .drive-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}

/* Flo stays quiet during capture; review expands only after the user's explicit action. */
.flo-assistant{margin:18px 0;padding:18px 0;border-block:1px solid var(--line);color:var(--ink)}
.flo-assistant h3{margin:0 0 8px;font-size:18px}.flo-assistant h4{margin:22px 0 10px;font-size:16px}
.flo-assistant p{max-width:75ch;line-height:1.5}
.flo-assistant textarea,.flo-assistant select{display:block;box-sizing:border-box;width:100%;padding:10px;margin-top:8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font:inherit;resize:vertical}
.flo-assistant textarea{min-height:44px}.flo-assistant textarea::placeholder{color:#595366}
.flo-assistant :focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.flo-assistant ::selection{background:var(--lavender);color:var(--ink)}
.flo-consent{display:flex;align-items:flex-start;gap:8px;margin:12px 0;max-width:75ch;line-height:1.5}
.flo-consent input{margin-top:5px;accent-color:var(--purple)}
.flo-actions{display:flex;flex-wrap:wrap;gap:10px}.flo-status{color:var(--purple)}
.flo-proposal{padding:14px 0;border-top:1px solid var(--line)}
.flo-proposal p{margin:8px 0}.flo-evidence{font-size:14px;color:#595366}
.flo-review>button{margin-top:18px}.flo-assistant button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:600px){.flo-actions button{flex:1 1 180px}.flo-assistant{padding-block:14px}.flo-proposal textarea{min-height:60px}}

.forms-list{grid-template-rows:auto minmax(0,1fr) auto auto}
.forms-list>button{justify-self:start}
.forms-list>p{margin:0}
