.proposal-launch{margin-top:18px;display:flex;align-items:center;gap:12px}.proposal-launch small{color:var(--muted)}
.proposal-dialog{width:min(1100px,calc(100% - 30px));height:min(94vh,980px)}
.proposal-preview-dialog{inset:0;width:99vw;height:98vh;max-width:none;max-height:none;border-radius:8px;overflow:hidden}.proposal-preview-dialog .dialog-head{height:76px}.proposal-preview-dialog iframe{display:block;width:100%;height:calc(100% - 76px);border:0;background:#4a4a4a}
#proposal-content{padding:24px 26px}.proposal-generator-form{display:grid;gap:20px}
.proposal-input{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(120px,.5fr)) auto;gap:12px;align-items:end}
.proposal-input label,.proposal-input>div{display:grid;gap:6px}.proposal-input span,.proposal-input label{font-size:12px;font-weight:700;color:var(--muted)}
.proposal-input input{border:1px solid var(--line);border-radius:9px;padding:11px;background:var(--paper);color:var(--ink)}
.proposal-preview-empty{padding:50px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}
.proposal-paper{background:#fff;color:#17211b;width:min(794px,100%);min-height:720px;margin:0 auto;padding:58px 68px;border:1px solid #dfe4e0;box-shadow:0 16px 50px #071b1417;font:16px/1.65 Georgia,serif}
.proposal-paper h1{font:700 27px/1.25 Georgia,serif;margin:55px 0 35px;color:#173e31}.proposal-paper p{margin:20px 0}
.proposal-brand{display:flex;align-items:center;justify-content:space-between;color:#657069}.proposal-brand img{width:170px;height:auto}
.proposal-values{margin:34px 0;display:grid;grid-template-columns:1fr 1fr;border:1px solid #dfe4e0;border-radius:10px;overflow:hidden}
.proposal-values div{display:grid;padding:14px 17px;border-bottom:1px solid #dfe4e0}.proposal-values div:nth-child(odd){border-right:1px solid #dfe4e0}
.proposal-values span{font:700 11px/1.4 Inter,Segoe UI,sans-serif;text-transform:uppercase;color:#6d776f}.proposal-values strong{font-size:15px}
.proposal-attendant{margin-top:70px!important}.proposal-output-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin:20px}
.proposal-output-actions button{padding:11px 16px;border:0;border-radius:9px;background:var(--green);color:#fff;font-weight:800}.proposal-output-actions small{color:var(--muted)}
.proposal-alert{background:color-mix(in srgb,var(--color-warning) 12%,var(--color-surface));color:var(--color-warning);border:1px solid color-mix(in srgb,var(--color-warning) 55%,var(--color-divider));padding:11px 14px;border-radius:9px}
.detail-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important}.detail-grid>div{min-width:0;overflow:hidden}.detail-grid>div strong{overflow-wrap:anywhere;word-break:break-word}.prospect-edit-actions,.proposal-launch{flex-wrap:wrap}.edit-grid>*{min-width:0}.edit-grid input,.edit-grid select,.edit-grid textarea{width:100%;max-width:100%}
.prospect-detail-page{position:static;width:100%;height:auto;max-width:none;max-height:none;margin:0;border-radius:12px;border:1px solid var(--color-divider)}#detail-content{padding:26px 34px 60px;grid-template-columns:1fr!important}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))!important;gap:14px}.detail-grid>div{min-height:68px}.edit-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important}.edit-grid .wide,.edit-grid .form-actions{grid-column:1/-1}#detail-content>.detail-grid,#detail-content>.detail-section,#detail-content>.action-card,#detail-content>.prospect-edit-actions,#detail-content>.proposal-launch{grid-column:1/-1;width:100%;min-width:0}#detail-content>.action-card{display:block;margin-top:18px;height:auto}.action-card .stack-form{width:100%;min-width:0}.action-card .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:center}.action-card .form-row>*{min-width:0;max-width:100%;width:100%}.action-card .form-row label{display:flex;width:auto}.action-card textarea,.action-card input:not([type=checkbox]),.action-card select{max-width:100%;width:100%;min-width:0}
.generator-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.generator-data-grid label{display:grid;gap:6px;min-width:0;font-size:12px;font-weight:800;color:var(--muted)}.generator-data-grid input,.generator-data-grid select{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.generator-data-grid input[readonly]{background:color-mix(in srgb,var(--paper) 88%,var(--muted));overflow:hidden;text-overflow:ellipsis}.generator-system-proposal,.generator-manual-proposal{grid-column:1/-1}.generator-system-proposal>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.generator-system-proposal button{border:0;border-radius:9px;padding:10px 14px;background:#d9a928;color:#241a00;font-weight:800}.generator-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.generator-actions button{padding:10px 15px;border:1px solid var(--line);border-radius:9px}.generator-ready{display:grid;gap:7px;padding:18px;border:1px solid color-mix(in srgb,var(--color-success) 55%,var(--color-divider));border-radius:11px;background:color-mix(in srgb,var(--color-success) 10%,var(--color-surface));color:var(--color-text)}.generator-ready span{color:var(--color-muted)}.generator-ready .proposal-output-actions{margin:8px 0 0;justify-content:flex-start}
@media(max-width:680px){.generator-data-grid{grid-template-columns:1fr}.generator-system-proposal,.generator-manual-proposal{grid-column:auto}.generator-system-proposal>span{grid-template-columns:1fr}}
@media(max-width:900px){.prospect-detail-page{width:100%;height:auto;border-radius:12px}#detail-content{padding:18px}.detail-grid{grid-template-columns:1fr!important}.action-card .form-row{grid-template-columns:1fr}}
.role-picker{position:relative;min-width:210px}.role-picker summary{list-style:none;min-height:40px;padding:10px 38px 10px 12px;border:1px solid var(--color-divider);border-radius:8px;background:var(--color-surface-2);color:var(--color-text);cursor:pointer;position:relative}.role-picker summary::-webkit-details-marker{display:none}.role-picker summary::after{content:"▾";position:absolute;right:13px;top:8px;font-size:18px;color:var(--color-muted);transition:transform .15s}.role-picker[open] summary::after{transform:rotate(180deg)}.role-picker-options{position:absolute;z-index:20;top:calc(100% + 5px);left:0;right:0;max-height:260px;overflow:auto;padding:8px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:9px;box-shadow:0 14px 35px #0003}.role-picker-options label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;color:var(--color-text);cursor:pointer}.role-picker-options label:hover{background:var(--color-accent-soft)}.role-picker-options input{width:auto!important;min-height:0!important}
.user-role-picker .role-picker-options{position:static;margin-top:5px;box-shadow:none}
.contact-search-fields{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(170px,1fr) minmax(145px,.8fr);width:min(760px,60vw)}.contact-search-fields input{width:100%!important;min-width:0}
@media(max-width:1050px){.contact-search-fields{width:100%;grid-template-columns:1fr 1fr}.contact-search-fields #search-name{grid-column:1/-1}}@media(max-width:650px){.contact-search-fields{grid-template-columns:1fr}.contact-search-fields #search-name{grid-column:auto}}
#user-name{color:var(--color-text)}
.proposal-print{background:#fff;padding:0}.proposal-print .proposal-paper{border:0;box-shadow:none;margin:auto}
@media print{.proposal-paper{border:0;box-shadow:none;min-height:0;width:100%;padding:25mm 20mm}@page{size:A4;margin:0}}
@media(max-width:760px){.proposal-input{grid-template-columns:1fr 1fr}.proposal-input label,.proposal-input button{grid-column:1/-1}.proposal-paper{padding:30px 24px}.proposal-values{grid-template-columns:1fr}.proposal-values div:nth-child(odd){border-right:0}}

/* Formulario do gerador alinhado a ficha cadastral; documento e outros modulos preservados. */
#proposal-dialog {
  inset: 0 0 0 236px;
  margin: auto;
  width: min(960px, calc(100vw - 268px));
  height: fit-content;
  max-height: calc(100dvh - 32px);
  border: 1px solid var(--color-divider);
  border-radius: 10px;
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: var(--shadow-md);
  overflow: auto;
}
#proposal-dialog::backdrop { background: color-mix(in srgb, var(--color-bg) 55%, transparent); }
#proposal-dialog .dialog-head {
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: var(--color-surface);
  border-color: var(--color-divider);
}
#proposal-dialog .dialog-head > div { min-width: 0; }
#proposal-dialog .dialog-head .eyebrow { font-size: 10px; letter-spacing: .08em; color: var(--color-muted); }
#proposal-dialog .dialog-head h2 { font-size: 21px; line-height: 1.25; font-weight: 600; overflow-wrap: anywhere; }
#proposal-dialog #close-proposal { flex-shrink: 0; width: 30px; height: 30px; min-height: 30px; padding: 0; border-radius: 5px; font-size: 23px; cursor: pointer; }
#proposal-dialog #proposal-content { padding: 14px 18px 18px; }
#proposal-dialog .proposal-generator-form { gap: 12px; }
#proposal-dialog .generator-data-grid { gap: 10px 12px; }
#proposal-dialog .generator-data-grid label { gap: 4px; font-size: 11px; font-weight: 500; color: var(--color-muted); }
#proposal-dialog #proposal-content .generator-data-grid :is(input, select) {
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid var(--color-divider);
  border-radius: 5px;
  background: var(--color-surface);
  color: var(--color-text);
  font: 12px/1.4 Inter, Segoe UI, sans-serif;
}
#proposal-dialog #proposal-content .generator-data-grid input[readonly] { background: var(--color-surface-2); color: var(--color-text); }
#proposal-dialog #proposal-content .generator-data-grid input::placeholder { color: var(--color-muted); opacity: 1; }
#proposal-dialog #proposal-content .generator-data-grid :is(input, select):focus-visible { outline: 2px solid var(--color-accent); outline-offset: 1px; }
#proposal-dialog .generator-system-proposal > span { gap: 8px; }
#proposal-dialog :is(.generator-system-proposal, .generator-actions, .proposal-output-actions) button {
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid var(--color-divider);
  border-radius: 5px;
  background: var(--color-surface-2);
  color: var(--color-text);
  font: 600 12px/1.4 Inter, Segoe UI, sans-serif;
  cursor: pointer;
}
#proposal-dialog .generator-system-proposal button,
#proposal-dialog .proposal-output-actions [data-action='preview-proposal-pdf'] {
  border-color: var(--color-accent);
  background: transparent;
  color: var(--color-accent);
}
#proposal-dialog .generator-actions { gap: 8px; padding-top: 12px; border-top: 1px solid var(--color-divider); }
#proposal-dialog .generator-actions .primary-button {
  background: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
  color: var(--color-on-accent) !important;
}
/* O tema global tambem realca reset como envio; aqui Limpar e uma acao secundaria. */
#proposal-dialog .generator-actions button[type='reset'] {
  background: var(--color-surface-2) !important;
  border-color: var(--color-divider) !important;
  color: var(--color-text) !important;
  font-weight: 600;
}
#proposal-dialog :is(.generator-system-proposal, .generator-actions, .proposal-output-actions) button:hover:not(:disabled) { border-color: var(--color-accent); background: var(--color-accent-soft); color: var(--color-accent); }
#proposal-dialog .generator-actions button[type='reset']:hover { color: var(--color-text) !important; border-color: var(--color-accent) !important; filter: none; }
#proposal-dialog button:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
#proposal-dialog button:disabled { opacity: .6; cursor: wait; }
#proposal-dialog #proposal-warning:empty, #proposal-dialog #proposal-preview:empty { display: none; }
#proposal-dialog .proposal-alert { margin: 0; padding: 9px 12px; border-radius: 6px; font-size: 12px; }
#proposal-dialog .generator-ready { gap: 5px; padding: 12px 14px; border: 1px solid var(--color-divider); border-radius: 6px; background: var(--color-surface-2); color: var(--color-text); font-size: 12px; }
#proposal-dialog .generator-ready > strong { font-weight: 600; }
#proposal-dialog .generator-ready > span { color: var(--color-muted); }
#proposal-dialog .proposal-output-actions { flex-wrap: wrap; justify-content: flex-start; gap: 8px; margin: 8px 0 0; }
@media(max-width:900px) {
  #proposal-dialog { inset: 0; width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
}
@media(max-width:680px) {
  #proposal-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  #proposal-dialog .dialog-head { padding: 12px; }
  #proposal-dialog .dialog-head h2 { font-size: 18px; }
  #proposal-dialog #proposal-content { padding: 12px; }
  #proposal-dialog .generator-data-grid { gap: 9px; }
  #proposal-dialog .generator-system-proposal > span { grid-template-columns: 1fr; }
  #proposal-dialog .generator-system-proposal button { justify-self: start; }
  #proposal-dialog .generator-actions { justify-content: stretch; }
  #proposal-dialog .generator-actions button { flex: 1 1 auto; }
  #proposal-dialog .proposal-output-actions button { flex: 1 1 145px; }
}
