.missive-application-page{height:100%;min-height:0;overflow:auto;background:#f1f3f8;color:#111;padding:0 0 28px}
.missive-titlebar{height:32px;margin:0 0 20px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,var(--ui-primary, #b8202b),var(--ui-primary-soft, #fbeaec));color:#fff}
.missive-titlebar h1{margin:0;font-size:16px;font-weight:400;letter-spacing:0}
.missive-titlebar button{width:30px;height:30px;border:0;background:transparent;color:#fff;font-size:16px}
.missive-form{display:block;padding:0}
.missive-section{position:relative;margin:0 0 20px;background:#fff;border-radius:6px;overflow:visible}
.missive-section>header{height:35px;display:flex;align-items:center;border-bottom:1px solid #e6e8ed;border-left:2px solid var(--ui-primary, #b8202b);padding:0 4px}
.missive-section>header h2{margin:0;font-size:14px;font-weight:500;letter-spacing:0;color:#000}
.missive-section-body{padding:20px 12px}
.missive-row{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;min-height:52px}
.missive-row>label{padding:9px 6px 0 0;font-size:13px;color:#111;text-align:left;white-space:nowrap}
.missive-row>label b{margin-right:2px;color:#e1353f;font-weight:400}
.missive-control-wrap{position:relative;min-width:0}
.missive-applicant{min-height:32px;padding:8px 16px;color:#111;font-size:13px}
.missive-combo{position:relative;min-width:0}
.missive-combo-control,.missive-project-control{width:100%;height:34px;border:1px solid transparent;border-radius:10px;background:#f3f5fa;color:#111;outline:none}
.missive-combo-control{padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.missive-combo-control>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.missive-combo-control>span.placeholder{color:var(--ui-muted, #716a70)}
.missive-combo-control>i{width:8px;height:8px;flex:0 0 auto;border-right:1px solid var(--ui-primary, #b8202b);border-bottom:1px solid var(--ui-primary, #b8202b);transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.missive-combo.open>.missive-combo-control,.missive-project-combo.open .missive-project-control{border-color:var(--ui-primary, #b8202b);background:#f3f5fa}
.missive-combo.open>.missive-combo-control>i{transform:rotate(225deg) translate(-2px,-1px)}
.missive-type-panel{position:absolute;z-index:38;left:0;right:0;top:34px;padding:18px 20px 12px;border-radius:0 0 5px 5px;background:#fff;box-shadow:0 7px 14px rgba(56, 36, 42, .08)}
.missive-type-panel>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:10px;margin-bottom:18px}
.missive-type-panel strong{padding-top:6px;font-size:13px;font-weight:500}
.missive-type-options{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.missive-type-options button{min-height:32px;padding:0 15px;border:0;border-radius:10px;background:#f3f5fa;color:var(--ui-accent-ink, #a21c27);font-size:13px;white-space:nowrap}
.missive-type-options button.active{border:1px solid var(--ui-primary, #b8202b);background:#f8fbff}
.missive-project-control{position:relative;display:flex;align-items:center}
.missive-project-control input{width:100%;height:100%;min-width:0;padding:0 42px 0 16px;border:0;background:transparent;outline:none;color:#111;font-size:13px}
.missive-project-control input::placeholder{color:var(--ui-muted, #716a70)}
.missive-project-control .icon{position:absolute;right:12px;color:var(--ui-accent-ink, #a21c27);font-size:17px;pointer-events:none}
.missive-option-panel{position:absolute;z-index:36;left:0;right:0;top:43px;max-height:276px;padding:8px 0;overflow:auto;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:5px;background:#fff;box-shadow:0 6px 14px rgba(56, 36, 42, .12)}
.missive-option-panel>button:not(.missive-check-option){width:100%;min-height:34px;padding:7px 28px;border:0;background:#fff;color:#111;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.missive-option-panel>button:hover,.missive-option-panel>button.active{background:#f4f8fc;color:var(--ui-accent-ink, #a21c27)}
.missive-option-empty{display:block;padding:20px;color:var(--ui-muted, #716a70);text-align:center}
.missive-upload-label{min-height:48px}
.missive-attachment-list{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:3px 0 8px}
.missive-file-chip{max-width:420px;height:32px;padding:0 6px 0 10px;display:flex;align-items:center;gap:7px;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:4px;background:#fff;color:var(--ui-accent-ink, #a21c27)}
.missive-file-chip strong{min-width:0;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.missive-file-chip button{width:26px;height:26px;border:0;background:transparent;color:var(--ui-muted, #716a70)}
.missive-upload-row{width:100%;height:41px;border:0;border-radius:2px;background:#f3f5fa;color:var(--ui-accent-ink, #a21c27);display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px}
.missive-upload-row .icon{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--ui-primary-soft, #fbeaec);color:#fff;font-size:12px}
.missive-row.invalid .missive-combo-control,.missive-row.invalid .missive-project-control{border-color:#e56170}
.missive-field-error{display:block;margin-top:5px;color:#db3e51;font-size:12px;font-style:normal}
.missive-editor-canvas{width:min(1070px,100%);margin:0 auto;padding:20px 96px;background:#f2f4f8;overflow:auto}
.missive-letter{position:relative;width:878px;min-height:544px;margin:0 auto;padding:36px 27px 28px;border:1px solid #d9dde3;border-radius:4px;background:#fff;color:#111;font-size:13px;line-height:32px}
.missive-letter-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:40px}
.missive-recipient{margin-bottom:5px}
.missive-letter-input{width:180px;height:32px;min-width:0;padding:0 10px;border:0;border-radius:7px;background:#f3f5fa;color:#111;outline:none;font-size:13px}
.missive-letter-input:focus{box-shadow:0 0 0 1px var(--ui-primary, #b8202b) inset;background:#f8fbfd}
.missive-letter-tail{margin:0;line-height:32px}
.missive-letter-notice{margin:57px 0 0 23px}
.missive-letter-signature{width:300px;margin:46px 14px 0 auto;display:flex;flex-direction:column;align-items:center;gap:9px}
.missive-letter-signature strong{font-weight:400;white-space:nowrap}
.missive-letter-signature .missive-letter-input{text-align:center}
.missive-letter-contact{position:absolute;left:26px;bottom:28px;display:grid;gap:8px}
.missive-letter-contact label{display:flex;align-items:center;gap:8px;white-space:nowrap}
.missive-letter-contact label .missive-letter-input{width:180px}
.missive-long-copy{align-items:baseline;line-height:40px}
.missive-relation{margin-top:8px;display:flex;align-items:center;gap:8px}
.missive-template-prison-visit,.missive-template-criminal{min-height:504px}
.missive-template-suspect-visit{min-height:544px}
.missive-template-assignment{min-height:176px;padding:30px 27px 30px}
.missive-assignment-recipient{display:flex;align-items:flex-end;margin-bottom:8px}
.missive-assignment-recipient .missive-letter-input{border-radius:0;border-bottom:1px solid #333;background:#fff}
.missive-assignment-copy{display:block;width:100%;height:42px;padding:4px;border:0;border-bottom:1px solid #333;background:#fff;color:#111;outline:none;resize:none;line-height:28px;font-size:13px}
.missive-assignment-copy::placeholder{color:var(--ui-muted, #716a70)}
.missive-assignment-date{width:180px;margin:4px 0 0 auto}
.missive-assignment-date .missive-letter-input{border-radius:0;border-bottom:1px solid #333;background:#fff;text-align:center}
.missive-approval-row{min-height:52px}
.missive-approver-options{top:43px;padding:8px 0}
.missive-approver-search{display:block;padding:0 12px 7px}
.missive-approver-search input{width:100%;height:32px;padding:0 11px;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:4px;outline:none}
.missive-check-option{width:100%;min-height:34px;padding:7px 28px;border:0;background:#fff;display:flex;align-items:center;gap:9px;color:#111;text-align:left}
.missive-check-option:hover{background:#f5f8fb}
.missive-check-option>i{width:14px;height:14px;border:1px solid var(--ui-primary-line, #efd0d5);background:#fff;position:relative}
.missive-check-option.selected>i{border-color:var(--ui-primary, #b8202b);background:var(--ui-primary, #b8202b)}
.missive-check-option.selected>i:after{content:"";position:absolute;width:7px;height:4px;left:2px;top:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.missive-check-all{border-bottom:1px solid #edf0f3}
.missive-actions{display:flex;align-items:center;justify-content:center;gap:40px;padding:0 0 3px}
.missive-primary,.missive-secondary{min-width:120px;height:33px;border:0;border-radius:10px;font-size:14px;letter-spacing:2px}
.missive-primary{background:var(--ui-primary, #b8202b);color:#fff}
.missive-primary:hover{background:var(--ui-primary, #b8202b)}
.missive-primary:disabled{opacity:.62;cursor:not-allowed}
.missive-secondary{background:var(--ui-primary-soft, #fbeaec);color:var(--ui-muted, #716a70)}
.missive-state{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#fff;color:var(--ui-muted, #716a70);text-align:center}
.missive-state>span{width:34px;height:34px;border:3px solid var(--ui-primary-line, #efd0d5);border-top-color:var(--ui-primary, #b8202b);border-radius:50%;animation:missive-spin .7s linear infinite}
.missive-state strong{color:var(--ui-ink, #343034)}
.missive-state p{margin:0}
@keyframes missive-spin{to{transform:rotate(360deg)}}
.missive-modal-backdrop{position:fixed;z-index:220;inset:0;padding:18px;display:grid;place-items:center;background:rgba(0,0,0,.5)}
.missive-upload-dialog{width:min(550px,calc(100vw - 24px));max-height:calc(100dvh - 36px);display:flex;flex-direction:column;border-radius:3px;background:#fff;box-shadow:0 16px 48px rgba(56, 36, 42, .26);overflow:hidden}
.missive-upload-dialog>header{height:33px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,var(--ui-primary, #b8202b),var(--ui-primary-soft, #fbeaec));color:#fff}
.missive-upload-dialog>header h2{margin:0;font-size:17px;font-weight:400;letter-spacing:0}
.missive-upload-dialog>header button{width:30px;height:30px;border:0;background:transparent;color:#fff;font-size:17px}
.missive-upload-dialog>main{min-height:0;padding:20px;overflow:auto}
.missive-upload-dialog>main>p{margin:0 0 12px;color:#ff1d2f;font-size:13px;line-height:21px}
.missive-upload-dialog>main>p strong{font-weight:400}
.missive-upload-dropzone{height:180px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:6px;background:#f5f6fa;color:#222;cursor:pointer}
.missive-upload-dropzone.dragging{border-color:var(--ui-primary, #b8202b);background:var(--ui-primary-pale, #fff7f8)}
.missive-upload-dropzone input{position:absolute;width:1px;height:1px;opacity:0}
.missive-upload-dropzone .icon{color:var(--ui-muted, #716a70)}
.missive-upload-dropzone b{color:var(--ui-accent-ink, #a21c27);font-weight:400}
.missive-pending-files{display:grid;gap:6px;margin-top:10px}
.missive-pending-files>span{height:32px;padding:0 9px;display:flex;align-items:center;gap:8px;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:3px;color:var(--ui-ink, #343034)}
.missive-pending-files em{margin-left:auto;color:var(--ui-muted, #716a70);font-size:11px;font-style:normal}
.missive-upload-dialog>footer{height:63px;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:44px;border-top:1px solid #e5e8ed}
@media(max-width:1000px){.missive-editor-canvas{padding:18px;overflow-x:auto}.missive-letter{transform-origin:top left}.missive-type-options{gap:8px}.missive-type-options button{white-space:normal}}
@media(max-width:820px){.missive-application-page{min-height:calc(100dvh - 106px)}.missive-titlebar{margin-bottom:10px}.missive-section{margin-bottom:10px;border-radius:0}.missive-section-body{padding:14px 10px}.missive-row{grid-template-columns:92px minmax(0,1fr)}.missive-type-panel{left:-92px}.missive-type-panel>div{grid-template-columns:1fr;gap:8px}.missive-editor-canvas{width:100%;padding:12px;overflow:hidden}.missive-letter{width:100%;min-height:520px;padding:28px 18px}.missive-letter-input{width:min(180px,100%)}.missive-letter-signature{width:min(300px,100%);margin-right:0}.missive-letter-contact{position:static;margin-top:44px}.missive-letter-contact label{white-space:normal;flex-wrap:wrap}.missive-template-assignment{min-height:190px}.missive-actions{position:sticky;z-index:20;bottom:0;padding:10px;background:rgba(241,243,248,.96);gap:14px}.missive-primary,.missive-secondary{min-width:100px}.missive-modal-backdrop{padding:8px}.missive-upload-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}}
