/* Shared document editor UI. All styles scoped to .dt-main. */
.dt-main{--dt-ink:#304b36;--dt-muted:#5f7c67;--dt-edge:#c7d8c3;color:var(--dt-ink);font-family:'DM Sans',Arial,sans-serif}
.dt-main *{box-sizing:border-box}
.dt-hero{background:#eef4e9;padding:clamp(44px,6vw,88px) clamp(18px,5vw,90px) 60px;border-bottom:1px solid var(--dt-edge)}
.dt-hero>a{display:inline-flex;color:#4b7c58;text-decoration:none;font:800 11px/1.3 'DM Sans',sans-serif;letter-spacing:.08em;margin:0 0 35px}
.dt-hero>a:hover{text-decoration:underline}
.dt-hero>span{display:block;color:#6b8c74;font:800 10px/1.4 'DM Sans',sans-serif;letter-spacing:.14em}
.dt-hero h1{font:700 clamp(43px,6vw,82px)/1.07 'DM Sans',sans-serif;letter-spacing:-.065em;margin:14px 0 17px}
.dt-hero h1 em{font-style:normal;color:#bc7a60}
.dt-hero>p{font:400 16px/1.8 'DM Sans',sans-serif;color:var(--dt-muted);max-width:770px;margin:0}
.dt-work{background:#f4f7ee;padding:clamp(35px,5vw,75px) clamp(18px,5vw,90px) 90px}
.dt-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(18px,3vw,40px);align-items:start}
.dt-panel{min-width:0;background:#fffdf6;border:1px solid var(--dt-edge);border-radius:24px;padding:clamp(19px,2.7vw,36px);box-shadow:0 15px 32px #4d6b4a11}
.dt-step small,.dt-options legend{color:#658869;letter-spacing:.12em;font:800 11px/1.4 'DM Sans',sans-serif}
.dt-step h2{font:700 28px/1.15 'DM Sans',sans-serif;letter-spacing:-.04em;margin:10px 0 20px}
.dt-drop{display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:center;text-align:center;background:#eef5e9;border:2px dashed #a9c5a9;border-radius:18px;min-height:210px;padding:22px 16px;cursor:pointer;transition:border .2s,background .2s}
.dt-drop:hover{border-color:#6f9878;background:#e7f0df}
.dt-drop>span{display:grid;place-items:center;width:70px;height:70px;border-radius:18px;background:#d4e5d0;color:#3e7650;font:900 45px/1 Georgia,serif}
.dt-drop>strong{font:800 19px 'DM Sans',sans-serif}
.dt-drop>small{font:500 12px/1.5 'DM Sans',sans-serif;color:#638069;max-width:420px}
.dt-form>input[type=file]{display:block;width:100%;font:500 12px 'DM Sans',sans-serif;color:#426f50;margin-top:12px}
.dt-form input[type=file]::file-selector-button{padding:9px;border-radius:9px;border:1px solid #a6c3a8;background:#e7f1e4;margin-right:12px;cursor:pointer}
.dt-filename{font:700 12px/1.5 'DM Sans',sans-serif;margin:13px 0 22px;color:#638068;overflow-wrap:anywhere}
.dt-warning{padding:16px;margin:22px 0;background:#faf0e6;color:#765c4c;border-left:3px solid #c78665;border-radius:10px;font:400 12px/1.65 'DM Sans',sans-serif}
.dt-check{display:flex;gap:11px;align-items:start;cursor:pointer;padding:18px;background:#ecf3e7;border:1px solid var(--dt-edge);border-radius:13px}
.dt-check input{width:18px;height:18px;accent-color:#518163;flex:none}
.dt-check span{display:grid;gap:7px}
.dt-check strong{font:800 13px/1.35 'DM Sans',sans-serif}
.dt-check small{font:400 12px/1.55 'DM Sans',sans-serif;color:#617b65}
.dt-options{margin:0 0 23px;display:flex;flex-wrap:wrap;gap:12px;border:0;padding:0}
.dt-options legend{margin-bottom:14px}
.dt-options label{display:inline-flex;align-items:center;gap:8px;border:1px solid #b3cbb1;background:#e9f2e5;border-radius:14px;cursor:pointer;min-height:52px;padding:12px 17px;font:800 13px 'DM Sans',sans-serif}
.dt-options input{accent-color:#52815b}
.dt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:16px 0}
.dt-field{display:flex;flex-direction:column;gap:8px;font:800 12px/1.45 'DM Sans',sans-serif;color:#41634a}
.dt-field input,.dt-field select{min-width:0;width:100%;height:47px;border:1px solid #b5ceb3;border-radius:10px;background:#f8faf2;color:#314d3b;padding:11px;font:500 13px/1.5 'DM Sans',sans-serif}
.dt-field small{font:400 11px/1.6 'DM Sans',sans-serif;color:#687e6b}
.dt-actions{display:flex;gap:11px;flex-wrap:wrap}
.dt-actions button,.dt-download{display:flex;align-items:center;justify-content:center;padding:13px 18px;min-height:50px;border:1px solid #376d4c;border-radius:12px;text-align:center;cursor:pointer;background:#3e7050;color:white;font:800 13px/1.35 'DM Sans',sans-serif;text-decoration:none}
.dt-actions button:first-child{flex:1}
.dt-actions button:last-child:not(:first-child){background:#fbf0e6;color:#9a5c48;border-color:#dfb6a8}
.dt-actions button:disabled{opacity:.42;cursor:not-allowed}
.dt-main button:focus-visible,.dt-main input:focus-visible,.dt-main select:focus-visible,.dt-download:focus-visible,.dt-drop:focus-within{outline:3px solid #b77758;outline-offset:3px}
.dt-result{position:sticky;top:20px}
.dt-result-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#55775f;font:800 10px/1.5 'DM Sans',sans-serif;letter-spacing:.09em}
.dt-result-top>span{border-radius:50px;background:#e5f0e1;padding:7px 12px}
.dt-illustration{display:flex;align-items:center;justify-content:center;min-height:235px;background:radial-gradient(circle,#f3f7ee,#deeadd);border:1px solid #c5dbbf;border-radius:18px;margin:18px 0;color:#628a6b}
.dt-illustration svg{width:150px;max-height:170px}
.dt-message{min-height:2.5em;color:#54765c;margin:15px 0;font:600 12px/1.75 'DM Sans',sans-serif}
.dt-message.is-error{color:#a7513f}
.dt-progress{margin:15px 0}.dt-progress label{display:flex;justify-content:space-between;margin-bottom:9px;font:800 12px 'DM Sans',sans-serif}
.dt-progress progress{width:100%;height:10px;accent-color:#4b8360}
.dt-download{width:100%;justify-content:space-between;margin-top:15px}
.dt-note{font:400 11px/1.7 'DM Sans',sans-serif;color:#7b917f;margin:14px 0}
.dt-main [hidden]{display:none!important}
.dt-text-preview{border-radius:12px;background:#f1f5ed;padding:17px;font:400 12px/1.65 'DM Sans',sans-serif;max-height:195px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.dt-caption{font:600 12px 'DM Sans',sans-serif;color:#62836c}
.dt-signature{display:block;max-width:100%;height:auto;width:100%;border-radius:12px;border:2px solid #bbcdb7;background:#fffdf6;touch-action:none;cursor:crosshair}
.dt-clear{padding:9px 13px;border:1px solid #aac7aa;border-radius:8px;background:#edf3ea;color:#426d4f;font:800 12px 'DM Sans',sans-serif;margin:10px 0 15px;cursor:pointer}
.dt-order-list{display:grid;gap:8px;max-height:270px;overflow:auto;margin:12px 0 20px}
.dt-order{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 12px;border:1px solid #c7d9c6;border-radius:10px;background:#f4f8f1;font:600 12px/1.5 'DM Sans',sans-serif}
.dt-order span{min-width:0;overflow-wrap:anywhere}.dt-order button{min-width:38px;min-height:38px;cursor:pointer;border:1px solid #aecaaf;border-radius:8px;background:#e7f1e1;color:#3c694b;font-size:19px}
@media(max-width:980px){.dt-grid{grid-template-columns:1fr;max-width:820px}.dt-result{position:static}}
@media(max-width:560px){.dt-hero{padding:44px 19px}.dt-work{padding:35px 18px 70px}.dt-panel{padding:20px}.dt-fields{grid-template-columns:1fr}.dt-options label{flex:1;justify-content:center}}
@media(prefers-reduced-motion:reduce){.dt-main *{animation:none!important;transition:none!important}}
