:root{--font-family-sans: "Inter", "Helvetica Neue", "Helvetica", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--primary-color: #0052cc;--primary-hover-color: #0044aa;--secondary-color: #6c757d;--secondary-hover-color: #5a6268;--danger-color: #dc3545;--danger-hover-color: #c82333;--bg-color: #f8f9fa;--surface-color: #ffffff;--border-color: #dee2e6;--text-color: #212529;--text-color-light: #6c757d;--header-bg: #ffffff;--header-height: 60px;--btn-color: #dee2e6;--btn-font-color: #4f5153;--border-radius: 4px;--box-shadow: 0 4px 12px rgba(0, 0, 0, .08);--sidebar-width: 220px;--sidebar-collapsed-width: 60px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-sans);background-color:var(--bg-color);color:var(--text-color);overflow:hidden}.app-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:var(--header-bg);border-bottom:var(--border-color) 1px solid;z-index:1000;display:flex;align-items:center;padding:0 1.5rem}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.logo-section{display:flex;align-items:center;gap:12px}.logo-section h1{font-size:1.2rem;color:var(--text-color);font-weight:500}.user-info{display:flex;align-items:center;gap:1rem}.user-name{font-weight:500;color:var(--text-color)}#app{display:grid;grid-template-columns:var(--sidebar-width) 1fr 420px;height:calc(100vh - var(--header-height));padding-top:calc(var(--header-height));transition:grid-template-columns .3s ease-in-out}#app.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) 1fr 420px}.indexsidebar,.main-content-wrapper,.toolbar{background-color:var(--bg-color);height:calc(100vh - var(--header-height));display:flex;flex-direction:column;border-left:var(--border-color) 1px solid}.indexsidebar{transition:padding .3s ease-in-out}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;flex-shrink:0;transition:justify-content .3s ease-in-out;border-bottom:1px solid #dee2e6}#app.sidebar-collapsed .sidebar-header{justify-content:center}.sidebar-header h2{font-size:.9rem;white-space:nowrap;transition:opacity .2s,width .2s;width:auto;opacity:1}#app.sidebar-collapsed .sidebar-header h2{opacity:0;width:0;pointer-events:none}.thumbnail-container{overflow-y:auto;flex-grow:1;transition:opacity .2s ease-in-out;padding-top:20px}#app.sidebar-collapsed .thumbnail-container{opacity:0;pointer-events:none}.thumbnail-container .empty-state{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-color-light);font-size:12px}.thumbnail-item{margin-bottom:1rem;cursor:pointer;border:1px solid transparent;border-radius:0;transition:border-color .2s ease;padding:4px;max-width:150px;margin-left:auto;margin-right:auto;border-color:#c6c6c6}.thumbnail-item canvas{width:100%;display:block;border-radius:2px}.thumbnail-item.active{border-color:var(--primary-color)}.thumbnail-item p{text-align:center;margin-top:.5rem;font-size:.875rem}.sidebar-toggle-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-color-light);border-radius:var(--border-radius);transition:color .2s,background-color .2s,transform .3s ease-in-out}.sidebar-toggle-btn:hover{background-color:var(--bg-color);color:var(--text-color)}#app.sidebar-collapsed .sidebar-toggle-btn{transform:rotate(180deg)}.main-content-wrapper{padding:0;position:relative;overflow:hidden}.main-content{overflow:auto;flex-grow:1;display:flex;padding:2rem;background-color:var(--bg-color);position:relative;height:100%}.drop-zone{display:none;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;transition:all .2s}#app.no-pdf-loaded .main-content{padding:0}#app.no-pdf-loaded .drop-zone{display:flex}.main-content.dragover .drop-zone{display:flex;position:absolute;top:0;left:0;background-color:#007bff1a;border-color:var(--primary-color);z-index:10}.drop-zone-prompt{text-align:center;color:var(--text-color-light)}.drop-zone-prompt h2{color:var(--text-color);margin:1rem 0}.canvas-wrapper{margin:auto}.canvas-wrapper .canvas-container{box-shadow:0 4px 15px #0003}.main-content-footer{flex-shrink:0;padding:.75rem 1.5rem;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;font-size:.875rem;position:absolute;bottom:50px;border-radius:30px;background:#ffffffe6;left:calc(50% - 190px);width:380px;box-shadow:0 4px 15px #dedede66}.zoom-controls,.page-navigator{display:flex;align-items:center;gap:.75rem}#page-indicator{min-width:80px}.page-selector{padding:4px 8px;border-radius:4px;border:1px solid var(--border-color);background-color:var(--surface-color)}#zoom-slider{flex-grow:1;max-width:200px}#zoom-value{min-width:40px;text-align:right}.toolbar{padding:1.5rem;overflow-y:auto;background-color:var(--surface-color);position:relative}.toolbar-header{text-align:left;margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.toolbar-header h1{font-size:2rem}.tool-section{margin-bottom:.5rem}.tool-section h3{font-size:1rem;margin-bottom:1rem;color:var(--text-color);text-transform:uppercase;letter-spacing:1px}.file-inputs,.button-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.5rem}.button-group{margin-bottom:.5rem}.toolbar-footer{margin-top:1rem;text-align:center;font-size:.875rem;color:var(--text-color-light);padding-top:1rem;border-top:1px solid var(--border-color);flex-shrink:0}.toolbar-footer a{color:var(--primary-color);text-decoration:none}.seal-preview-container{width:100%;height:150px;border:1px dashed var(--border-color);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;position:relative;overflow:hidden}.seal-preview-image{max-width:100%;max-height:100%;object-fit:contain;transition:transform .2s ease-in-out}.seal-preview-placeholder{color:var(--text-color-light);font-size:14px}.hidden{display:none}.rotation-controls{display:flex;align-items:center;gap:.5rem}.rotation-controls label{font-size:.875rem;color:var(--text-color-light)}.rotation-controls input[type=range]{flex-grow:1}.rotation-input-box{width:60px;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;text-align:center}.seal-rotation-buttons{position:absolute;bottom:8px;right:8px;display:flex;gap:5px;z-index:10}.btn-rotate{background-color:var(--surface-color);color:var(--secondary-color);border:none;border-radius:4px;padding:5px 10px;cursor:pointer;font-size:12px;transition:background-color .2s;border:1px solid var(--surface-color)}.btn-rotate:hover{border:1px solid var(--border-color)}.btn-zoom{width:30px;height:30px;border-radius:50%;border:1px solid var(--border-color);background-color:var(--surface-color);color:var(--text-color);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-zoom:hover{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.zoom-controls{display:flex;align-items:center;gap:10px}.btn{display:inline-block;color:var(--surface-color);text-align:center;cursor:pointer;background-color:transparent;border:1px solid transparent;padding:.75rem 1.25rem;font-size:14px;border-radius:var(--border-radius);transition:all .15s ease-in-out;width:100%;font-weight:700}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary:hover{background-color:var(--primary-hover-color);border-color:var(--primary-hover-color)}.btn-secondary{background-color:var(--surface-color);color:var(--btn-font-color);border:1px solid var(--btn-color)}.btn-secondary:hover{background-color:var(--secondary-hover-color);border-color:var(--secondary-hover-color);color:var(--surface-color)}.btn-danger{background-color:var(--danger-color);border-color:var(--danger-color)}.btn-danger:hover{background-color:var(--danger-hover-color);border-color:var(--danger-hover-color)}.btn-action{background-color:var(--surface-color);color:var(--btn-font-color);border:1px solid var(--btn-color)}.btn-action:hover{background-color:var(--secondary-hover-color);color:var(--surface-color)}.btn-export{font-size:1rem;padding:1rem;box-shadow:0 4px 15px #0026ff33}.download_pdf{position:absolute;bottom:-7px;width:calc(100% + -0px);padding:20px;background:#f8f9fa;left:0;border-top:#dee2e6 1px solid}
