.file-intake{width:min(760px,calc(100% - 24px));max-height:92dvh;overflow:auto;border:1px solid #E2E8F0;border-radius:14px;padding:24px;color:#1E293B;background:white;box-shadow:0 24px 70px #0f243e40}.file-intake::backdrop{background:#0f243e99}.file-intake header{display:flex;align-items:center;justify-content:space-between;gap:16px}.file-intake h2{font-size:23px;margin:0 0 16px}.file-intake button{cursor:pointer;border:1px solid #cbd5e1;border-radius:7px;padding:8px 14px;background:#fff;color:#0f243e;font-weight:700}.intake-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.intake-fields label{font-size:14px;font-weight:650}.intake-fields input,.intake-fields textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:7px;padding:11px;margin-top:6px}.intake-wide{grid-column:1/-1}.intake-drop{display:flex;flex-direction:column;align-items:center;gap:9px;border:2px dashed #64748b;border-radius:12px;background:#F8FAFC;padding:26px 16px;text-align:center;cursor:pointer}.intake-drop>span{font-size:32px}.intake-drop small{font-size:13px;line-height:1.6}.intake-drop input{max-width:100%}.intake-drop.dragging{background:#fff7ed;border-color:#f97316}#intakeFileList{list-style:none;padding:0}#intakeFileList li{display:flex;justify-content:space-between;gap:12px;padding:9px;border-bottom:1px solid #e2e8f0;overflow-wrap:anywhere}#intakeFileList small{display:block}.intake-consent{display:flex;gap:8px;align-items:start;font-size:13px}.intake-consent input{margin-top:3px}#intakeStatus{white-space:pre-wrap;font-weight:700;color:#1e3a8a}.intake-actions{display:flex;justify-content:flex-end;gap:10px}#intakeSubmit{background:#0f243e;color:white;min-height:48px}.intake-notice{font-size:12px;line-height:1.6;color:#475569}.file-intake :focus-visible{outline:3px solid #f97316;outline-offset:2px}@media(max-width:580px){.file-intake{padding:18px}.intake-fields{grid-template-columns:1fr}.file-intake h2{font-size:20px}}
/* Unified quote and attachment intake keeps both options visible in one form. */
#intakeDescription{font-size:14px;line-height:1.65;color:#475569;margin:0 0 16px}.intake-drop>.intake-drop-hint{font-size:14px;line-height:1.5}#intakeFileLabel{font-size:16px}.intake-fields textarea{min-height:112px;resize:vertical}

/* Keep the close control at the right when the quote title is visually removed. */
.file-intake header [data-close]{margin-left:auto}

#intakeContactHelp{margin:0;font-size:13px;color:#475569}.intake-fields [name=shortRequest]{min-height:44px}#intakeShortCount{display:block;margin-top:4px;font-weight:400}.intake-fields [aria-invalid=true]{border-color:#b91c1c}

/* Compact screen intake: preserve every field, attachment limit and status. */
@media screen{
.file-intake{box-sizing:border-box;width:min(1060px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:14px;overscroll-behavior:contain}
.file-intake form{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px}
.file-intake form>*{grid-column:1/-1;min-width:0}
.file-intake header{grid-row:1;align-self:start;gap:8px;min-height:44px}
.file-intake h2{font-size:20px;margin:0}
.file-intake button{box-sizing:border-box;min-height:44px;padding:8px 12px}
.file-intake header [data-close]{width:44px;min-width:44px;padding:0}
#fileIntake #intakeDescription{margin:0;line-height:1.45}
.intake-body{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}
.intake-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0}
.intake-fields label{min-width:0;line-height:1.4}
.intake-fields input,.intake-fields select,.intake-fields textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;border:1px solid #cbd5e1;border-radius:7px;padding:8px;margin-top:4px;background:#fff;color:#1e293b;font:inherit;font-size:16px;line-height:1.35}
.intake-fields input,.intake-fields select{min-height:44px}
.intake-fields textarea{min-height:84px;resize:vertical}
#intakeContactHelp{line-height:1.4}
#intakeShortCount{margin-top:2px;font-size:12px;line-height:1.4}
.intake-attachments{min-width:0}
.intake-drop{box-sizing:border-box;min-width:0;padding:12px;gap:5px}
.intake-drop>span[aria-hidden]{font-size:24px;line-height:1}
.intake-drop>.intake-drop-hint,.intake-drop small{line-height:1.4}
.intake-drop input{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:44px;font-size:14px}
.intake-drop input::file-selector-button{min-height:44px;padding:6px 10px}
#intakeFileList{margin:6px 0 0}
#intakeFileList:empty{margin:0}
#intakeFileList li{align-items:center;gap:8px;padding:4px 0}
#intakeFileList li>span{min-width:0}
#intakeFileList button{flex:none;min-width:44px}
.intake-consent{min-height:44px;align-items:center;line-height:1.4}
.intake-consent input{flex:none;margin:0;width:18px;height:18px}
#intakeStatus{margin:0;line-height:1.45;overflow-wrap:anywhere}
.intake-actions{flex-wrap:wrap;gap:8px}
#intakeSubmit{min-height:44px}
.file-intake .intake-notice{margin:0;line-height:1.4;overflow-wrap:anywhere}
}
@media screen and (min-width:900px){
.intake-body{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:16px}
}
@media screen and (max-width:580px){
.file-intake{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:12px}
.intake-fields{grid-template-columns:minmax(0,1fr);gap:8px}
.intake-actions>button{flex:1;min-width:0}
}

/* The request is a full-width writing area; use former footer space for text. */
@media screen{
 #fileIntake .intake-request{grid-column:1 / -1;display:block;font-size:14px;font-weight:650;line-height:1.4;min-width:0;}
 #fileIntake .intake-request textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:176px;resize:vertical;border:1px solid #cbd5e1;border-radius:7px;padding:10px;margin-top:4px;font:inherit;font-size:16px;line-height:1.5;}
 #fileIntake #intakeStatus:empty{display:none;}
 #fileIntake .intake-consent{min-height:44px;}
}
@media screen and (max-width:580px){#fileIntake .intake-request textarea{min-height:152px;}}

@media screen{
 #fileIntake[data-kind="partnership"]{width:min(660px,calc(100vw - 24px));}
 #fileIntake[data-kind="partnership"] .intake-body{grid-template-columns:minmax(0,1fr);gap:10px;}
 #fileIntake[data-kind="partnership"] .intake-request{grid-row:2;}
 #fileIntake[data-kind="partnership"] .intake-request textarea{min-height:104px;}
 #fileIntake[data-kind="partnership"] .intake-drop{padding:8px;gap:3px;}
 #fileIntake[data-kind="partnership"] .intake-drop>span[aria-hidden],#fileIntake[data-kind="partnership"] .intake-drop-hint{display:none;}
}
