.modal:has(.source-library),.modal:has(.source-detail),.modal:has(.source-form-editor){width:min(1060px,96vw);max-width:1060px}
.source-modal-head{background:linear-gradient(112deg,#f3f8fd 10%,#edf6f7 70%,#eff0fa);border-bottom:1px solid #d6e5ef;align-items:flex-start;padding:24px 28px!important}
.source-modal-head h2{font-size:25px!important;line-height:1.3;letter-spacing:-.65px;color:#123a59;margin:7px 0!important;max-width:820px}
.source-modal-head p{font-size:12px;line-height:1.65;color:#647e93;margin:8px 0 0;overflow-wrap:anywhere}
.source-modal-head>.icon-button{min-width:44px;min-height:44px;flex-shrink:0;font-size:25px}
.source-eyebrow{display:block;color:#308b91;font-size:10px;font-weight:700;letter-spacing:1.5px}
.source-library,.source-detail,.source-form-editor{padding:24px 28px!important;color:#23455e}
.source-library-filters{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-bottom:18px}
.source-library-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#426782}
.source-library-filters input,.source-library-filters select{min-height:45px;background:#fff;border:1px solid #c9dce9;border-radius:8px;padding:11px 12px;color:#264e6b;min-width:0;font-size:14px}
.source-library-count{font-size:11px;color:#6b8498;margin-bottom:12px}
.source-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.source-template-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;min-width:0;border:1px solid #d7e5ed;background:linear-gradient(140deg,#fff,#f6fafd);border-radius:12px;padding:20px;box-shadow:0 5px 20px #173c6108;position:relative;color:#28526e;cursor:pointer}
.source-template-card:before{position:absolute;content:'';top:0;left:20px;height:3px;width:48px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,#8876c7,#25ad93)}
.source-template-card:hover{border-color:#8dbbd9;background:linear-gradient(140deg,#fff,#eef7fc);box-shadow:0 6px 20px #173c6114}
.source-template-card:focus-visible,.source-section-nav button:focus-visible{outline:3px solid #3485d2;outline-offset:3px}
.source-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}
.source-file-icon{display:flex;align-items:center;justify-content:center;width:42px;height:46px;background:linear-gradient(140deg,#ecedfa,#e7f6f2);border:1px solid #dae4ed;color:#557f9c;border-radius:10px}
.source-file-icon svg{width:26px;height:26px}
.source-format{font-size:10px;letter-spacing:.6px;font-weight:650;color:#71889c;background:#eef4f8;border:1px solid #dce6ef;border-radius:4px;padding:4px 7px}
.source-template-card>small{font-size:10px;line-height:1.6;color:#6b899d;margin-bottom:7px}
.source-template-card>strong{font-size:17px;line-height:1.45;letter-spacing:-.2px;font-weight:650;color:#183f60;overflow-wrap:anywhere;display:block;margin-bottom:13px}
.source-card-status{font-size:10px;color:#286f85;line-height:1.6;font-weight:600;display:block;margin-top:auto;margin-bottom:11px}
.source-card-facts{font-size:10px;line-height:1.7;color:#7890a2;display:block;margin-bottom:13px}
.source-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #dfE9f0;padding-top:13px;font-size:9px;color:#8397a8;line-height:1.6}
.source-card-bottom>span:last-child{font-size:21px;color:#447eae}
.source-template-blocked{background:#faf8f5;border-color:#e4d9c8}
.source-template-blocked:before{background:#c58a43}
.source-template-blocked .source-card-status{color:#9b6329}
.source-template-blocked .source-file-icon{background:#f7eedf;color:#a97b3d;border-color:#eadcc5}
.source-footer{gap:10px!important;flex-wrap:wrap!important;padding:17px 28px!important;align-items:center!important;background:#f8fbfd;border-top:1px solid #dbe6ef}
.source-footer>.source-small-note{margin:0 auto 0 0}
.source-footer button{min-height:43px;font-size:12px;white-space:normal}
.source-small-note{font-size:11px;line-height:1.8;color:#748c9e;margin:11px 0}
.source-empty{grid-column:1/-1;padding:20px;border:1px dashed #cedfe9;background:#f7fbfd;border-radius:8px;font-size:12px;color:#6e8799;line-height:1.8}
.source-draft-note{display:flex;flex-direction:column;gap:7px;padding:16px 18px;border:1px solid #dfd7c1;border-left:3px solid #b89549;background:linear-gradient(105deg,#fffaf0,#fcfbf6);border-radius:7px;color:#88662a}
.source-draft-note>strong{font-size:12px;letter-spacing:.5px}
.source-draft-note>span{font-size:11px;line-height:1.75;color:#837552}
.source-blocked-note{background:#fff2e7;border:1px solid #e6c3a0;border-left:4px solid #bb7339;border-radius:8px;padding:18px;color:#925327;font-size:13px;line-height:1.8}
.source-blocked-note p{margin:8px 0 0}
.source-blocked-label{font-size:12px;color:#9b6329;font-weight:600}
.source-detail-meta{display:flex;flex-wrap:wrap;gap:10px 17px;margin:17px 0;color:#648097;font-size:11px;line-height:1.7}
.source-detail-section{padding:19px 0;border-bottom:1px solid #e0e9f0}
.source-detail-section h3,.source-editor-section h3{font-size:17px;font-weight:650;color:#214866;margin:0 0 12px}
.source-detail-section>p{font-size:12px;line-height:1.8;color:#658095}
.source-file-path{font-size:11px;line-height:1.8;overflow-wrap:anywhere;color:#7b8fa1;background:#f2f6fa;border-radius:6px;padding:10px 12px}
.source-detail-section>summary,.source-review-issues>summary{cursor:pointer;font-size:13px;font-weight:650;line-height:1.7;color:#6f684b;min-height:32px}
.source-detail-section>summary>span,.source-review-issues>summary>span{display:inline-block;margin-left:8px;padding:2px 7px;background:#efeadd;border:1px solid #e1d9c8;border-radius:4px;font-size:10px;font-weight:500}
.source-detail-section ul,.source-review-issues ul{padding-left:19px;font-size:12px;color:#748290;line-height:1.8;margin:11px 0}
.source-detail-section li+li,.source-review-issues li+li{margin-top:8px}
.source-detail-outline{display:grid;gap:12px}
.source-detail-outline>div{background:#f6f9fc;border:1px solid #dfE9f1;padding:14px;border-radius:8px;font-size:12px;line-height:1.7;min-width:0}
.source-detail-outline strong{color:#396580}
.source-detail-outline span{display:block;color:#879baa;font-size:10px;margin:4px 0}
.source-detail-outline p{font-size:11px;color:#748c9e;margin:7px 0 0;line-height:1.8;overflow-wrap:anywhere}
.source-role-list{display:grid;gap:9px;font-size:12px;line-height:1.8;color:#6b8295}
.source-role-list>div{display:flex;align-items:flex-start;gap:12px;border:1px dashed #c6d8e4;background:#f7fafc;padding:12px 14px;border-radius:7px}
.source-role-mark{width:30px;height:30px;background:#ecf2f7;border-radius:6px;text-align:center;line-height:30px;color:#7695a8;font-size:18px;flex-shrink:0}
.source-role-list strong{display:block;font-size:12px;color:#53768e;font-weight:600}
.source-role-list small{display:block;font-size:10px;color:#8196a7;line-height:1.8}
.source-editor-status{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:17px 0;color:#6a859a;font-size:11px;line-height:1.7}
.source-section-nav{display:flex;gap:7px;overflow-x:auto;padding:0 1px 12px;margin-bottom:10px;scrollbar-width:thin}
.source-section-nav button{border:1px solid #d6e2ec;border-radius:7px;background:#f2f7fb;color:#4d7792;padding:9px 12px;flex-shrink:0;font-size:10px;min-height:38px}
.source-editor-issues{padding:14px 16px;background:#f9f7ef;border:1px solid #e8e0cc;border-radius:8px;margin-bottom:20px}
.source-editor-section{margin:20px 0;border:1px solid #d9e5ed;border-radius:10px;padding:21px;background:#fcfdfe;scroll-margin-top:12px}
.source-editor-section>h3{margin-bottom:8px}
.source-editor-section>summary{font-size:15px;font-weight:650;line-height:1.65;color:#315b76;cursor:pointer;padding:2px 0;min-height:35px}
.source-editor-section>summary>span{display:inline-block;font-size:10px;line-height:1.6;font-weight:500;margin-left:12px;color:#748c9d;background:#eaf2f7;border:1px solid #d7e5ef;border-radius:4px;padding:3px 7px}
.source-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 19px;margin-top:19px}
.source-field{display:flex;flex-direction:column;gap:7px;font-size:12px;line-height:1.65;color:#426984;min-width:0;margin:0}
.source-field>span:first-child,.source-field>legend{font-weight:600}
.source-field small{font-size:10px;font-weight:500;color:#7893a5;margin-left:4px}
.source-field .source-inherited{display:block;margin:3px 0 0;font-size:9px;font-weight:400;color:#889eab}
.source-field input,.source-field select,.source-field textarea{width:100%;min-width:0;min-height:43px;border:1px solid #c6dbe7;border-radius:7px;background:#fff;color:#214e6d;padding:10px 12px;line-height:1.6;font-size:14px;font-weight:400;box-sizing:border-box;box-shadow:0 1px 3px #21506f04}
.source-field textarea{resize:vertical;min-height:78px}
.source-field input:focus,.source-field select:focus,.source-field textarea:focus,.source-library-filters input:focus,.source-library-filters select:focus{outline:0;border-color:#3f92ce;box-shadow:0 0 0 3px #2687c820}
.source-field input:disabled,.source-field select:disabled,.source-field textarea:disabled{background:#f0f5f8;color:#738d9f}
.source-field-wide{grid-column:1/-1}
fieldset.source-field{padding:0;border:0;min-width:0}
.source-multiselect{display:flex;flex-wrap:wrap;gap:9px}
.source-multiselect>label{display:flex;align-items:center;gap:8px;border:1px solid #d4e2ed;padding:9px 12px;background:#f8fbfe;border-radius:7px;font-size:12px;font-weight:400}
.source-multiselect input{width:17px;height:17px;min-height:17px;padding:0;margin:0;accent-color:#2884c4}
.source-signature-placeholder{padding:12px;border:1px dashed #c4d5e1;background:#f4f8fa;border-radius:6px;color:#7c92a1!important;font-size:11px;font-weight:400!important}
.source-question-list{display:grid;gap:14px;margin-top:17px}
.source-question{padding:17px 18px;border:1px solid #dce7ef;border-radius:9px;min-width:0;background:#fff;margin:0}
.source-question>legend{font-size:13px;line-height:1.7;font-weight:600;color:#355c76;padding:0 5px;max-width:100%;overflow-wrap:anywhere}
.source-answer-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:9px 0 13px}
.source-answer{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border:1px solid #d5e1eb;background:#f7fafd;border-radius:7px;min-height:39px;font-size:12px;color:#678498;line-height:1.4;cursor:pointer;font-weight:500}
.source-answer input{width:15px;height:15px;min-height:15px;margin:0;accent-color:#2684c6}
.source-answer.is-selected{background:#eaf3fc;border-color:#75acd4;color:#236b9d}
.source-clear-answer{border:0;background:transparent;color:#8598a7;font-size:10px;padding:9px;min-height:38px;margin-left:auto}
.source-answer-meaning{font-size:11px;line-height:1.7;color:#997348;background:#fbf6ed;border-radius:5px;padding:6px 9px;margin:3px 0 11px}
.source-action-needed{border-color:#d9aa72;background:#fffdf8}
.source-action-needed>.legend{color:#9a662d}
.source-action-needed .source-answer.is-selected{border-color:#c89350;background:#fbf0da;color:#90602a}
.source-measure-hint{font-size:11px;line-height:1.7;color:#976630;background:#fbf0dc;border-left:3px solid #c2904b;border-radius:0 5px 5px 0;padding:9px 11px;margin:10px 0 13px}
.source-note-field>span{font-size:11px}
.source-note-field textarea{font-size:13px;min-height:69px;background:#fbfdfe}
.source-table-rows{display:grid;gap:15px;margin-top:18px}
.source-table-row{padding:18px;border:1px solid #d4e3ed;border-radius:9px;background:#fff}
.source-table-row>header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e0eaf1;padding-bottom:12px}
.source-table-row h4{font-size:13px;color:#3b718e;margin:0;line-height:1.6;font-weight:650}
.source-row-remove{border:0;background:transparent;color:#8b7b7b;font-size:10px;padding:7px 0;min-height:32px;text-align:right}
.source-confirm-remove{color:#b85d42;font-weight:650}
.source-add-row{margin-top:15px;min-height:44px;width:100%;border-style:dashed!important;font-size:12px!important}
.source-discard-confirm{border:1px solid #e3c7ad;background:#fff6ed;padding:16px;border-radius:8px;margin-top:16px;font-size:12px;line-height:1.8;color:#946643}
.source-discard-confirm p{margin:0 0 10px}
.source-discard-confirm button{margin:5px 10px 0 0;min-height:40px;font-size:12px}
.source-discard-button{background:transparent;border:0;color:#a5654f;padding:9px}
.source-original-statements{margin:18px 0;padding:15px 17px;border:1px solid #d9d5e5;border-radius:9px;background:#f7f6fb;color:#6b6782}
.source-original-statements>summary{font-size:12px;font-weight:650;line-height:1.8;cursor:pointer;min-height:32px}.source-original-statements>summary>span{font-size:10px;padding:3px 6px;border-radius:4px;background:#eeecf5;margin-left:8px}
.source-original-statements>p{font-size:11px;line-height:1.8;margin:10px 0;color:#827b96}.source-original-statements blockquote{border-left:3px solid #b9aed0;background:#fdfcff;margin:12px 0;padding:11px 13px;border-radius:0 6px 6px 0}
.source-original-statements blockquote p{font-size:12px;line-height:1.85;color:#665f79;margin:0}.source-original-statements blockquote footer{font-size:9px;line-height:1.7;margin-top:9px;color:#938da2}
.source-form-editor [hidden],.source-detail [hidden]{display:none!important}
@media(max-width:900px){.source-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-template-card{padding:18px}}
@media(max-width:600px){
 .modal:has(.source-library),.modal:has(.source-detail),.modal:has(.source-form-editor){width:100%;max-width:100%}
 .source-modal-head{padding:19px 16px!important;gap:10px!important}.source-modal-head h2{font-size:21px!important;letter-spacing:-.4px}.source-modal-head p{font-size:11px}.source-eyebrow{font-size:8px;letter-spacing:1.2px}
 .source-library,.source-detail,.source-form-editor{padding:18px 15px!important}.source-library-filters{grid-template-columns:1fr;gap:12px}.source-library-filters input,.source-library-filters select{font-size:16px;min-height:46px}
 .source-library-grid{grid-template-columns:1fr;gap:13px}.source-template-card{padding:18px}.source-template-card>strong{font-size:18px}.source-card-top{margin-bottom:12px}.source-card-facts,.source-card-status,.source-template-card>small{font-size:11px}.source-card-bottom{font-size:10px}
 .source-footer{padding:14px 15px!important;gap:8px!important}.source-footer button{min-height:44px;font-size:12px;flex:1 1 auto}.source-footer>.source-small-note{width:100%;font-size:10px}
 .source-draft-note{padding:13px 14px}.source-draft-note>strong{font-size:11px}.source-draft-note>span{font-size:11px}.source-detail-meta{font-size:10px;gap:6px 12px}.source-small-note{font-size:10px}
 .source-editor-status{font-size:10px;gap:5px}.source-section-nav button{font-size:11px;min-height:43px;padding:10px}.source-editor-issues{padding:12px}.source-review-issues ul,.source-detail-section ul{font-size:11px}
 .source-editor-section{padding:16px 12px;margin:16px 0}.source-editor-section h3{font-size:16px}.source-editor-section>summary{font-size:14px;min-height:43px}.source-editor-section>summary>span{font-size:9px;margin:5px 0 0 5px}
 .source-field-grid{grid-template-columns:1fr;gap:17px;margin-top:16px}.source-field{font-size:12px;gap:8px}.source-field input,.source-field select,.source-field textarea{font-size:16px;min-height:46px;padding:11px 10px}.source-field textarea{min-height:87px}.source-field .source-inherited{font-size:10px}.source-field small{font-size:11px}
 .source-question{padding:15px 11px}.source-question>legend{font-size:13px;line-height:1.75}.source-answer-options{gap:7px}.source-answer{min-height:44px;padding:10px 9px;font-size:12px}.source-clear-answer{font-size:11px;min-height:44px}.source-note-field textarea{font-size:16px;min-height:80px}
 .source-table-row{padding:14px 11px}.source-table-row h4{font-size:13px}.source-row-remove{font-size:10px;min-height:40px;max-width:200px}.source-add-row{font-size:13px!important;min-height:46px}
 .source-role-list strong{font-size:12px}.source-role-list small{font-size:10px}.source-file-path{font-size:10px}.source-detail-section h3{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.source-form-editor *{scroll-behavior:auto!important}}
