.stepper{gap:0;margin-bottom:var(--sp8)}.step,.stepper{display:flex;align-items:center}.step{gap:var(--sp2);flex:1;position:relative}.step:not(:last-child):after{content:"";position:absolute;left:calc(32px + var(--sp2) * 2 + 60px);right:var(--sp2);top:50%;height:2px;background:var(--c-border);transform:translateY(-50%);border-radius:var(--r-full);z-index:0;transition:background var(--tr)}.step.done:not(:last-child):after{background:var(--c-success)}.step-num{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--c-border);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;color:var(--c-faint);background:var(--c-surface);flex-shrink:0;position:relative;z-index:1;transition:all var(--tr)}.step.active .step-num{border-color:var(--c-primary);background:var(--c-primary);color:#fff;box-shadow:0 0 0 4px color-mix(in oklab,var(--c-primary) 15%,transparent)}.step.done .step-num{border-color:var(--c-success);background:var(--c-success);color:#fff}.step-label{font-size:var(--text-xs);font-weight:600;color:var(--c-faint);white-space:nowrap;position:relative;z-index:1;text-decoration:none;transition:color var(--tr)}.step.active .step-label{color:var(--c-primary);font-weight:700}.step.done .step-label{color:var(--c-success);text-decoration:none}@keyframes spin{to{transform:rotate(1turn)}}.doc-type-picker{width:100%}.doc-type-categories{display:flex;flex-wrap:wrap;gap:var(--sp2);margin-bottom:var(--sp5)}.doc-type-category-btn{padding:var(--sp2) var(--sp4);border:1.5px solid var(--c-border);border-radius:var(--r-full);font-family:var(--font-body);font-size:var(--text-sm);color:var(--c-muted);background:var(--c-surface);cursor:pointer;transition:all var(--tr)}.doc-type-category-btn.active,.doc-type-category-btn:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-hi)}.doc-type-category-btn.active{font-weight:700}.doc-type-search{width:100%;padding:var(--sp4) var(--sp5);border:1.5px solid var(--c-border);border-radius:var(--r-lg);font-family:var(--font-body);font-size:var(--text-sm);color:var(--c-text);background:var(--c-surface);outline:none;margin-bottom:var(--sp5);transition:border-color var(--tr),box-shadow var(--tr)}.doc-type-search:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(13,74,107,.08)}.doc-type-search::placeholder{color:var(--c-faint)}.doc-category-section{margin-bottom:var(--sp6)}.doc-category-title{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-faint);margin-bottom:var(--sp3);display:flex;align-items:center;gap:var(--sp2)}.doc-category-title:before{content:"";display:inline-block;width:16px;height:2px;background:var(--c-gold);border-radius:9999px}.doc-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:var(--sp3)}.doc-type-card{border:1.5px solid var(--c-border);border-radius:var(--r-lg);padding:var(--sp4) var(--sp5);cursor:pointer;transition:border-color var(--tr),background var(--tr),box-shadow var(--tr);background:var(--c-surface);display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp2);text-align:left;width:100%}.doc-type-card:hover{box-shadow:var(--sh-sm)}.doc-type-card.selected,.doc-type-card:hover{border-color:var(--c-primary);background:var(--c-primary-hi)}.doc-type-card.selected{box-shadow:0 0 0 1px var(--c-primary)}.doc-type-icon{width:36px;height:36px;border-radius:var(--r-md);background:var(--c-primary);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.doc-type-label{font-size:var(--text-sm);font-weight:700;color:var(--c-text);margin-bottom:2px;line-height:1.35}.doc-type-hint{font-size:var(--text-xs);color:var(--c-muted);line-height:1.5}.source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp3);margin-bottom:var(--sp6)}.source-card{border:1.5px solid var(--c-border);border-radius:var(--r-lg);padding:var(--sp5) var(--sp4);cursor:pointer;transition:border-color var(--tr),background var(--tr),box-shadow var(--tr);text-align:center;background:var(--c-surface)}.source-card.active,.source-card:hover{border-color:var(--c-primary);background:var(--c-primary-hi)}.source-card.active{box-shadow:0 0 0 1px var(--c-primary)}.source-card-icon{width:40px;height:40px;border-radius:var(--r-lg);background:var(--c-primary-hi);display:flex;align-items:center;justify-content:center;color:var(--c-primary);margin:0 auto var(--sp3);transition:background var(--tr),color var(--tr)}.source-card.active .source-card-icon{background:var(--c-primary);color:#fff}.source-card-name{font-size:var(--text-sm);font-weight:700;color:var(--c-text)}.source-card-desc{font-size:var(--text-xs);color:var(--c-muted);margin-top:2px}.fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:var(--sp5);margin-bottom:var(--sp6)}.field-group{flex-direction:column}.field-group,.field-label{display:flex;gap:var(--sp2)}.field-label{font-size:var(--text-sm);font-weight:700;color:var(--c-text);align-items:center}.field-importance-high:after{content:"●";color:var(--c-warning);font-size:.55rem}.field-hint{font-size:var(--text-xs);color:var(--c-muted);margin-top:-4px;line-height:1.5}.field-input{width:100%;padding:var(--sp3) var(--sp4);border:1.5px solid var(--c-border);border-radius:var(--r-md);font-family:var(--font-body);font-size:var(--text-sm);color:var(--c-text);background:var(--c-surface);outline:none;transition:border-color var(--tr),box-shadow var(--tr)}.field-input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(13,74,107,.08)}.field-input::placeholder{color:var(--c-faint)}.field-input.full-width{grid-column:1/-1}.doc-editor-wrap{border:1.5px solid var(--c-border);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-md)}.doc-editor-toolbar{background:var(--c-surface-alt);border-bottom:1px solid var(--c-border);padding:var(--sp3) var(--sp5);justify-content:space-between;flex-wrap:wrap}.doc-editor-toolbar,.doc-editor-toolbar-left{display:flex;align-items:center;gap:var(--sp3)}.toolbar-doc-title{font-size:var(--text-sm);font-weight:700;color:var(--c-text)}.toolbar-meta{font-size:var(--text-xs);color:var(--c-muted)}.placeholder-warning{display:flex;align-items:center;gap:var(--sp2);padding:var(--sp2) var(--sp4);background:#fef9c3;border:1px solid #fde047;border-radius:var(--r-full);font-size:var(--text-xs);font-weight:600;color:#854d0e}.doc-textarea{width:100%;min-height:520px;padding:clamp(var(--sp6),4vw,var(--sp10));font-family:Georgia,Times New Roman,serif;font-size:.925rem;color:var(--c-text);background:var(--c-surface);border:none;outline:none;resize:vertical;line-height:1.9;letter-spacing:.01em}.doc-editor-footer{background:var(--c-surface-alt);border-top:1px solid var(--c-border);padding:var(--sp4) var(--sp5);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp3)}.word-count{font-size:var(--text-xs);color:var(--c-muted);font-variant-numeric:tabular-nums}.editor-actions{display:flex;align-items:center;gap:var(--sp2)}.download-row{display:flex;flex-wrap:wrap;gap:var(--sp3)}.download-btn{display:flex;align-items:center;gap:var(--sp2);padding:var(--sp3) var(--sp6);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:700;font-family:var(--font-body);cursor:pointer;transition:all var(--tr);border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text)}.download-btn:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-hi)}.download-btn.docx{border-color:rgba(37,99,235,.3);color:#1d4ed8}.download-btn.pdf{border-color:rgba(220,38,38,.3);color:#b91c1c}.download-btn.docx:hover{background:#eff6ff}.download-btn.pdf:hover{background:#fef2f2}@media (max-width:768px){.stepper .step-label{display:none}.stepper .step-num{width:28px;height:28px;font-size:.65rem}.doc-type-grid{grid-template-columns:1fr 1fr}.fields-grid,.source-grid{grid-template-columns:1fr}.download-row{flex-direction:column}.download-row>*{width:100%;justify-content:center}.doc-editor-toolbar{flex-direction:column;align-items:flex-start}}