:root{--bg: #F7F5F2;--surface: #FFFFFF;--border: #E3DED7;--text: #1C1917;--text-muted: #78716C;--text-light: #A8A29E;--primary: #1B3A2D;--primary-bg: #EBF2EE;--cta: #E8953A;--cta-hover: #d4822d;--cta-bg: #FEF3E2;--danger: #B91C1C;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 4px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--font: "DM Sans", system-ui, -apple-system, sans-serif;--max-w: 660px;--transition: .15s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--primary);border-bottom:none;padding:0 24px;position:sticky;top:0;z-index:10}.header-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;height:60px;gap:8px}.logo{font-size:22px;font-weight:700;color:#fff;letter-spacing:-.5px;display:flex;align-items:center;gap:8px;text-decoration:none}.logo-icon{height:36px;width:auto;display:block}.logo-tag{font-size:12px;font-weight:500;color:#fff9;letter-spacing:0;margin-left:2px;margin-top:2px}.module-tabs{background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;position:relative;z-index:20}.tabs-inner{max-width:var(--max-w);margin:0 auto;display:flex;gap:0}.tab-wrap{flex:1;position:relative}.tab-btn{width:100%;padding:14px 8px;background:none;border:none;border-bottom:2.5px solid transparent;font-family:var(--font);font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color var(--transition),border-color var(--transition);text-align:center;white-space:nowrap}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-dropdown{position:absolute;top:calc(100% + 1px);left:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001a;padding:6px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease;z-index:100}.tab-wrap:hover .tab-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.tab-dropdown-item{display:block;width:100%;padding:9px 12px;background:none;border:none;border-radius:7px;font-family:var(--font);font-size:13px;font-weight:500;color:var(--text);text-align:left;cursor:pointer;transition:background var(--transition),color var(--transition);white-space:nowrap}.tab-dropdown-item:hover{background:var(--primary-bg);color:var(--primary)}.main{flex:1;padding:32px 24px 60px;max-width:var(--max-w);margin:0 auto;width:100%}.section-header{margin-bottom:24px}.section-title{font-size:20px;font-weight:700;color:var(--text);margin-bottom:4px}.section-sub{font-size:14px;color:var(--text-muted)}.doc-icon-wrap{width:44px;height:44px;background:var(--primary-bg);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0;transition:background var(--transition),color var(--transition)}.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.type-card{background:var(--surface);border:1px solid rgba(0,0,0,.07);border-radius:14px;padding:20px;cursor:pointer;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition);display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 3px #0000000d}.type-card:hover{border-color:var(--primary);box-shadow:0 6px 24px #1b3a2d1a;transform:translateY(-2px)}.type-card:hover .doc-icon-wrap{background:var(--primary);color:#fff}.type-card:active{transform:translateY(0)}.type-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.3}.type-desc{font-size:12px;color:var(--text-muted);line-height:1.45}.form-header{display:flex;align-items:center;gap:12px;margin-bottom:28px}.back-btn{background:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font);font-size:13px;font-weight:500;padding:6px 12px;cursor:pointer;transition:border-color var(--transition),color var(--transition);display:flex;align-items:center;gap:5px;white-space:nowrap}.back-btn:hover{border-color:var(--text-muted);color:var(--text)}.form-title{font-size:17px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:10px}.form-title .doc-icon-wrap{width:36px;height:36px;border-radius:8px}.field-group{margin-bottom:20px}.field-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:7px;letter-spacing:.01em}.field-label .optional{font-weight:400;color:var(--text-light);margin-left:4px}input[type=text],input[type=date],select,textarea{width:100%;font-family:var(--font);font-size:15px;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;outline:none;transition:border-color var(--transition),box-shadow var(--transition);-moz-appearance:none;appearance:none;-webkit-appearance:none}input[type=text]:focus,input[type=date]:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}input::placeholder,textarea::placeholder{color:var(--text-light)}textarea{resize:vertical;min-height:100px;line-height:1.6}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2378716C' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.field-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.field-label-row .field-label{margin-bottom:0}.voice-btn{display:flex;align-items:center;gap:5px;padding:5px 12px 5px 9px;background:var(--cta-bg);border:1.5px solid var(--cta);border-radius:20px;font-family:var(--font);font-size:12px;font-weight:600;color:var(--cta-hover);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition);white-space:nowrap;flex-shrink:0}.voice-btn:hover{background:var(--cta);color:#1c1917;border-color:var(--cta)}.voice-btn.listening{background:var(--danger);border-color:var(--danger);color:#fff;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.tag-group{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:7px 13px;border-radius:20px;border:1.5px solid var(--border);font-family:var(--font);font-size:13px;font-weight:500;color:var(--text-muted);background:var(--surface);cursor:pointer;transition:all var(--transition);-webkit-user-select:none;user-select:none}.tag:hover{border-color:var(--primary);color:var(--primary)}.tag.selected{background:var(--primary-bg);border-color:var(--primary);color:var(--primary);font-weight:600}.generate-wrap{margin-top:32px}.disclaimer-text{margin-top:10px;font-size:11px;color:var(--text-muted);text-align:center;line-height:1.4}.generate-btn{width:100%;padding:17px 24px;background:var(--cta);color:#1c1917;font-family:var(--font);font-size:16px;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--transition),transform var(--transition);letter-spacing:.01em}.generate-btn:hover{background:var(--cta-hover);transform:translateY(-1px)}.generate-btn:active{transform:translateY(0)}.generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading-state{text-align:center;padding:60px 24px}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}.loading-msg{font-size:16px;font-weight:500;color:var(--text);margin-bottom:6px}.loading-sub{font-size:14px;color:var(--text-muted)}.output-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.output-badge{display:inline-flex;align-items:center;gap:6px;background:var(--primary-bg);color:var(--primary);font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;letter-spacing:.02em}.output-actions{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.action-btn{flex:1;min-width:120px;padding:11px 16px;border-radius:var(--radius-sm);font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;justify-content:center;gap:7px;border:1.5px solid var(--border);background:var(--surface);color:var(--text)}.action-btn:hover{border-color:var(--text-muted)}.action-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.action-btn.primary:hover{background:#142d22;border-color:#142d22}.action-btn.success{background:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.new-doc-btn{width:100%;padding:13px;margin-top:16px;background:none;border:1.5px dashed var(--border);border-radius:var(--radius);font-family:var(--font);font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition),color var(--transition)}.new-doc-btn:hover{border-color:var(--primary);color:var(--primary)}.output-doc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px 40px;box-shadow:var(--shadow);line-height:1.75;font-size:15px;color:var(--text)}.output-doc h1{font-size:20px;font-weight:700;margin:0 0 16px;color:var(--text)}.output-doc h2{font-size:15px;font-weight:700;margin:24px 0 8px;color:var(--text);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);padding-bottom:6px}.output-doc h3{font-size:14px;font-weight:600;margin:16px 0 6px;color:var(--text)}.output-doc p{margin:0 0 10px}.output-doc ul,.output-doc ol{padding-left:20px;margin:0 0 10px}.output-doc li{margin-bottom:4px}.output-doc strong{font-weight:600;color:var(--text)}.output-doc hr{border:none;border-top:1px solid var(--border);margin:20px 0}.output-doc table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}.output-doc th{background:var(--bg);font-weight:600;text-align:left;padding:8px 12px;border:1px solid var(--border);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.output-doc td{padding:8px 12px;border:1px solid var(--border);vertical-align:top}.output-doc blockquote{border-left:3px solid var(--border);padding-left:16px;color:var(--text-muted);margin:12px 0}.error-box{background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm);padding:14px 16px;color:var(--danger);font-size:14px;margin-top:16px}.footer{text-align:center;padding:24px;font-size:12px;color:var(--text-light);border-top:1px solid var(--border);background:var(--surface)}.header-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.hdr-btn{display:flex;align-items:center;gap:6px;padding:7px 12px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);color:#ffffffe6;font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition);position:relative}.hdr-btn:hover{background:#ffffff38}.hdr-btn-label{display:inline}.hdr-btn-badge{background:var(--cta);color:#1c1917;font-size:10px;font-weight:700;padding:1px 5px;border-radius:10px;min-width:18px;text-align:center}@media (max-width: 400px){.hdr-btn-label{display:none}.hdr-btn{padding:7px 9px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:200;overflow-y:auto}.modal{background:var(--surface);border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 60px #0003;overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.modal-wide{max-width:560px}.modal-hd{display:flex;align-items:flex-start;gap:12px;padding:24px 24px 0}.modal-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px}.modal-sub{font-size:13px;color:var(--text-muted);line-height:1.45}.modal-x{margin-left:auto;flex-shrink:0;background:none;border:none;font-size:22px;line-height:1;color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:6px;transition:color var(--transition),background var(--transition)}.modal-x:hover{background:var(--bg);color:var(--text)}.modal-bd{padding:20px 24px;overflow-y:auto;flex:1}.modal-ft{padding:16px 24px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border)}.modal-skip-btn{background:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font);font-size:14px;font-weight:500;color:var(--text-muted);padding:9px 18px;cursor:pointer;transition:border-color var(--transition),color var(--transition)}.modal-skip-btn:hover{border-color:var(--text-muted);color:var(--text)}.modal-save-btn{background:var(--cta);color:#1c1917;border:none;border-radius:var(--radius-sm);font-family:var(--font);font-size:14px;font-weight:600;padding:9px 20px;cursor:pointer;transition:opacity var(--transition)}.modal-save-btn:hover{opacity:.88}.logo-upload{border:2px dashed var(--border);border-radius:var(--radius);padding:20px;cursor:pointer;transition:border-color var(--transition),background var(--transition);text-align:center;min-height:90px;display:flex;align-items:center;justify-content:center}.logo-upload:hover,.logo-upload:focus{border-color:var(--primary);background:var(--primary-bg);outline:none}.logo-upload.has-logo{padding:12px;border-style:solid;border-color:var(--border)}.logo-upload-empty{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-muted);font-size:13px;font-weight:500}.logo-upload-hint{font-size:11px;color:var(--text-light);font-weight:400}.logo-upload-preview{max-height:60px;max-width:100%;object-fit:contain}.logo-remove-btn{margin-top:6px;background:none;border:none;font-family:var(--font);font-size:12px;color:var(--danger);cursor:pointer;padding:2px 0;text-decoration:underline}.color-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.color-pick-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.color-swatch-btn{width:36px;height:36px;border-radius:8px;border:2px solid rgba(0,0,0,.12);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.color-swatch-btn input[type=color]{width:200%;height:200%;margin:-50%;border:none;padding:0;background:none;cursor:pointer;opacity:0}.color-hex-val{font-size:12px;font-weight:600;font-family:monospace;color:var(--text-muted);letter-spacing:.04em}.color-presets{display:flex;gap:6px;flex-wrap:wrap}.color-dot{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform var(--transition),border-color var(--transition)}.color-dot:hover{transform:scale(1.15)}.color-dot.active{border-color:var(--text);transform:scale(1.1)}.profile-preview{margin-top:8px;border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden}.profile-preview-label{font-size:11px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.06em;padding:8px 14px;background:var(--bg);border-bottom:1px solid var(--border)}.profile-preview-doc{display:flex;align-items:center;gap:12px;padding:14px;border-top:4px solid var(--primary);background:#fff}.profile-preview-logo{max-height:32px;max-width:100px;object-fit:contain}.profile-preview-name{font-size:15px;font-weight:700;color:var(--primary)}.brand-header{display:flex;align-items:center;gap:14px;padding:14px 0 18px;margin-bottom:20px;border-top:4px solid var(--primary);border-bottom:1px solid var(--border)}.brand-logo{max-height:40px;max-width:140px;object-fit:contain;flex-shrink:0}.brand-company-name{font-size:17px;font-weight:700;color:var(--primary);line-height:1.2}.forms-empty{text-align:center;padding:32px 0;color:var(--text-muted);font-size:14px;line-height:1.6}.forms-empty-sub{font-size:13px;color:var(--text-light);margin-top:6px}.forms-list{display:flex;flex-direction:column;gap:8px}.form-entry{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition)}.form-entry:hover{border-color:var(--primary)}.form-entry-icon{width:40px;height:40px;background:var(--primary-bg);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.form-entry-info{flex:1;min-width:0}.form-entry-type{font-size:11px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.form-entry-title{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-entry-date{font-size:12px;color:var(--text-muted);margin-top:2px}.form-entry-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.form-entry-btn{padding:6px 12px;border-radius:var(--radius-sm);font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);transition:all var(--transition);white-space:nowrap}.form-entry-btn:hover{border-color:var(--text-muted);color:var(--text)}.form-entry-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.form-entry-btn.primary:hover{opacity:.85}.form-entry-btn.danger{background:#fef2f2;border-color:#fecaca;color:var(--danger)}.form-entry-btn.icon-btn{padding:6px 9px;display:flex;align-items:center}@media print{.header,.module-tabs,.output-header,.output-actions,.new-doc-btn,.footer,.back-btn{display:none!important}body{background:#fff}.main{padding:0;max-width:100%}.output-doc{border:none;box-shadow:none;padding:0}.brand-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (max-width: 600px){.header,.module-tabs{padding:0 16px}.main{padding:24px 16px 48px}.tab-btn{font-size:13px;padding:12px 4px}.type-grid{grid-template-columns:1fr}.output-doc{padding:24px 20px}.logo-tag{display:none}.action-btn{min-width:0;font-size:13px}}
