:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--bg: #f8fafc;--border: #e2e8f0;--text: #1e293b;--text-muted: #64748b;--white: #ffffff}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg);color:var(--text);overflow:hidden;height:100vh;width:100vw}#root{height:100%;width:100%}.app-container{display:flex;flex-direction:column;height:100%;width:100%}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:64px;background:var(--white);border-bottom:1px solid var(--border);box-shadow:0 1px 3px #0000000d;z-index:20}.header-left{display:flex;align-items:center;gap:16px;min-width:200px}.menu-toggle{display:flex!important;align-items:center;justify-content:center;width:36px!important;height:36px!important;padding:0!important;border:none!important;background:transparent!important;color:#2563eb!important;border-radius:6px;cursor:pointer;transition:all .2s;z-index:1000!important;position:relative;overflow:visible!important}.menu-toggle:hover{background:#2563eb1a!important}.menu-toggle.active{background:#2563eb26!important}.menu-toggle-line{width:20px;height:2px;background-color:#2563eb!important;border-radius:1px;transition:all .3s ease;display:block!important;visibility:visible!important;opacity:1!important}.menu-toggle svg,.menu-toggle svg *{width:20px!important;height:20px!important;stroke:#2563eb!important;stroke-width:2.5px!important;display:block!important;visibility:visible!important;opacity:1!important;fill:none!important}.logo-section{display:flex;align-items:center;gap:12px}.logo-icon{background:var(--primary);color:#fff;padding:4px 8px;border-radius:6px;font-weight:700;font-size:14px}.auth-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 64px);background-color:var(--bg);padding:20px}.auth-card{background:var(--white);padding:40px;border-radius:12px;box-shadow:0 10px 25px #0000000d;width:100%;max-width:400px;border:1px solid var(--border)}.auth-header{text-align:center;margin-bottom:32px}.auth-header h2{margin:0 0 8px;font-size:24px;color:var(--text)}.auth-header p{margin:0;color:var(--text-muted);font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-error{background:#fef2f2;color:#dc2626;padding:12px;border-radius:6px;font-size:14px;border:1px solid #fee2e2}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--text)}.form-group input{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.auth-submit{background:var(--primary);color:#fff;padding:12px;border-radius:6px;border:none;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}.auth-submit:hover{background:var(--primary-hover)}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-footer{margin-top:24px;text-align:center;font-size:14px;color:var(--text-muted)}.auth-link{color:var(--primary);font-weight:600;background:none;border:none;padding:0;cursor:pointer}.auth-link:hover{text-decoration:underline}.logo-section h1{font-size:18px;margin:0;font-weight:600}.toolbar{display:flex;align-items:center;gap:2px;background:#f1f5f9;padding:4px;border-radius:8px}.tool-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:all .2s;position:relative}.tool-btn:after{content:attr(title);position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(8px);background:#1e293b;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s;z-index:100}.tool-btn:hover:after{opacity:1;transform:translate(-50%) translateY(4px)}.tool-btn svg,.tool-btn svg *{width:20px!important;height:20px!important;display:inline-block!important;stroke:#475569!important;stroke-width:2.5px!important;fill:none!important;visibility:visible!important;opacity:1!important}.tool-btn.active svg,.tool-btn.active svg *{stroke:#2563eb!important}.tool-btn{color:#475569!important;background:transparent;display:flex!important;align-items:center;justify-content:center;padding:0;border:none;overflow:visible!important}.tool-btn.active{color:#2563eb!important;background:#fff!important}.tool-btn.save-btn{background:var(--primary);border:1px solid var(--primary-hover);color:#fff!important;margin-left:4px;box-shadow:0 1px 2px #0000001a;width:42px;height:42px}.tool-btn.save-btn svg,.tool-btn.save-btn svg *{stroke:#fff!important;stroke-width:2.5px!important;width:22px!important;height:22px!important}.tool-btn.save-btn:hover{background:var(--primary-hover);border-color:#1e40af;box-shadow:0 2px 4px #2563eb33;transform:translateY(-1px)}.tool-btn.save-btn:active{transform:translateY(0)}.tool-btn.save-btn.saving{opacity:.7;cursor:not-allowed;transform:none}.tool-btn:hover{background:#e2e8f0;color:var(--text)}.tool-btn.active{background:var(--white);color:var(--primary);box-shadow:0 2px 4px #0000001a}.tool-btn.mini{width:32px;height:32px;padding:0}.tool-btn.mini svg{width:16px;height:16px}.tool-btn:disabled{opacity:.5;cursor:not-allowed}.divider{width:1px;height:24px;background:var(--border);margin:0 2px}.font-selector{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:#fff;font-size:13px;color:var(--text);outline:none;cursor:pointer}.font-selector:focus{border-color:var(--primary)}.actions{display:flex;align-items:center;gap:12px}.user-profile{display:flex;align-items:center;gap:12px;margin-right:8px;padding-right:16px;border-right:1px solid var(--border)}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-name{font-size:14px;font-weight:500;color:var(--text)}.modal-overlay{position:fixed;inset:0;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container{width:100%;margin:16px;position:relative}.modal-container.login{max-width:420px}.modal-container.signup{max-width:480px}.modal-close-btn{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;z-index:10;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close-btn:hover{background:#0000000d;color:var(--text)}.action-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.action-btn.primary{background:var(--primary);color:#fff}.action-btn.primary:hover{background:var(--primary-hover)}.action-btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.action-btn.secondary:hover{background:#f1f5f9}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal-content{background:#fff;border-radius:12px;width:540px;box-shadow:0 20px 25px -5px #0000001a}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:16px}.modal-header button{background:none;border:none;cursor:pointer;color:var(--text-muted)}.signature-pad{padding:20px;display:flex;justify-content:center}.signature-pad canvas{border:2px dashed var(--border);border-radius:8px;background:#fdfdfd;cursor:crosshair}.modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.upload-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#10b981;color:#fff;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.lang-dropdown-container{position:relative;display:inline-block}.lang-toggle{display:flex;align-items:center;gap:6px!important;min-width:80px;justify-content:center}.lang-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid var(--border);padding:4px;min-width:140px;z-index:50;display:flex;flex-direction:column}.lang-menu button{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;width:100%;text-align:left;border-radius:6px;cursor:pointer;font-size:14px;color:var(--text);transition:background .2s}.lang-menu button:hover{background:#f1f5f9}.lang-menu span{font-size:18px}.app-main{display:flex;flex:1;overflow:hidden}.upload-progress-container{padding:8px 4px;display:flex;flex-direction:column;gap:6px}.upload-progress-info{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);font-weight:500}.upload-progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.upload-progress-fill{height:100%;background:#10b981;transition:width .3s ease}.app-sidebar{width:280px;background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:15;transition:width .3s ease;overflow:hidden}.app-container.compact .app-sidebar{width:0;border-right:none}.sidebar-top{padding:20px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid var(--border)}.sidebar-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--white);color:var(--text);transition:all .2s;width:100%;box-sizing:border-box}.sidebar-btn:hover{background:#f1f5f9}.sidebar-btn.upload{background:#10b981;color:#fff;border-color:#059669}.sidebar-btn.upload:hover{background:#059669}.error-page{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw;background-color:#f8fafc;font-family:inherit;padding:24px;box-sizing:border-box}.error-content{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 25px #0000001a;max-width:600px;width:100%;text-align:center}.error-content h1{color:#ef4444;margin-top:0}.error-details{text-align:left;background:#f1f5f9;padding:16px;border-radius:8px;margin:20px 0;overflow:auto;max-height:300px}.error-details pre{margin:0;white-space:pre-wrap;word-break:break-all;color:#334155}.sidebar-btn.active{background:#eff6ff;border-color:#bfdbfe;color:var(--primary)}.sidebar-section{flex:1;padding:20px;overflow-y:auto}.sidebar-section h3{margin:0 0 16px;font-size:12px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.doc-list{display:flex;flex-direction:column;gap:8px}.doc-item{padding:12px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:all .2s}.doc-item:hover{background:#f1f5f9}.doc-item.active{background:#eff6ff;border-color:#bfdbfe}.doc-name{font-weight:500;font-size:14px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-meta{font-size:12px;color:var(--text-muted)}.text-layer{position:absolute;inset:0;overflow:hidden;opacity:.2;line-height:1}.text-layer>span{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}.canvas-area{flex:1;overflow:auto;background:#cbd5e1;display:flex;flex-direction:column;align-items:center;width:100%;height:100%}.empty-state{margin:auto;text-align:center;max-width:400px;padding:40px;background:var(--white);border-radius:16px;box-shadow:0 10px 25px #0000000d}.empty-icon{font-size:64px;margin-bottom:24px}.empty-state h2{margin:0 0 12px}.empty-state p{color:var(--text-muted);margin-bottom:32px;line-height:1.5}.cta-button{display:inline-block;background:var(--primary);color:#fff;padding:12px 32px;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.cta-button:hover{background:var(--primary-hover)}
