:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{margin:0 auto;padding:2rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#00bd7e33}}.history-detail-container[data-v-8a996c17]{padding:20px;background:#fff;min-height:100vh}.header[data-v-8a996c17]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.header h2[data-v-8a996c17]{margin:0;color:#333;font-size:24px}.back-btn[data-v-8a996c17]{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.back-btn[data-v-8a996c17]:hover{background:#545b62}.export-btn[data-v-8a996c17]{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;background:#28a745;color:#fff;margin-right:10px}.export-btn[data-v-8a996c17]:hover{background:#218838}.loading[data-v-8a996c17]{text-align:center;padding:60px 20px}.spinner[data-v-8a996c17]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-8a996c17 1s linear infinite;margin:0 auto 20px}@keyframes spin-8a996c17{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state[data-v-8a996c17]{text-align:center;padding:80px 20px}.empty-icon[data-v-8a996c17]{font-size:80px;margin-bottom:20px}.empty-state h3[data-v-8a996c17]{color:#333;margin-bottom:10px}.empty-state p[data-v-8a996c17]{color:#666;margin-bottom:30px}.content[data-v-8a996c17]{background:#fff}.search-section[data-v-8a996c17]{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px;display:flex;flex-wrap:wrap;gap:20px;align-items:end}.search-group[data-v-8a996c17]{display:flex;flex-direction:column;gap:5px}.search-group label[data-v-8a996c17]{font-size:14px;font-weight:500;color:#333}.search-group input[data-v-8a996c17]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:150px}.search-btn[data-v-8a996c17],.reset-btn[data-v-8a996c17]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;height:36px}.search-btn[data-v-8a996c17]{background:#007bff;color:#fff}.search-btn[data-v-8a996c17]:hover{background:#0056b3}.reset-btn[data-v-8a996c17]{background:#6c757d;color:#fff}.reset-btn[data-v-8a996c17]:hover{background:#545b62}.quote-list-container[data-v-8a996c17]{display:flex;flex-direction:column;gap:20px}.quote-item[data-v-8a996c17]{border:1px solid #e9ecef;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.quote-item[data-v-8a996c17]:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.quote-row[data-v-8a996c17]{padding:16px 20px;border-bottom:1px solid #f1f3f4}.quote-row[data-v-8a996c17]:last-child{border-bottom:none}.basic-info[data-v-8a996c17]{background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;flex-wrap:wrap;gap:20px;align-items:center}.info-item[data-v-8a996c17]{display:flex;align-items:center;gap:8px;min-width:120px}.info-item label[data-v-8a996c17]{font-weight:600;color:#495057;font-size:14px;white-space:nowrap}.info-item span[data-v-8a996c17]{color:#212529;font-size:14px}.pricing-data[data-v-8a996c17]{background:#fff}.data-grid[data-v-8a996c17]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.data-item[data-v-8a996c17]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8f9fa;border-radius:6px;border-left:3px solid #dee2e6}.data-item label[data-v-8a996c17]{font-weight:500;color:#6c757d;font-size:13px}.data-item span[data-v-8a996c17]{font-weight:600;color:#495057;font-size:14px}.data-item.highlight-item[data-v-8a996c17]{border-left-color:#28a745;background:linear-gradient(135deg,#d4edda,#c3e6cb)}.price[data-v-8a996c17]{color:#007bff;font-weight:600}.highlight[data-v-8a996c17]{font-weight:600;color:#28a745}.notes-section[data-v-8a996c17]{background:#fafbfc}.notes-content[data-v-8a996c17]{display:flex;flex-direction:column;gap:8px}.notes-content label[data-v-8a996c17]{font-weight:600;color:#495057;font-size:14px}.notes-text[data-v-8a996c17]{color:#6c757d;font-size:14px;line-height:1.5;padding:12px;background:#fff;border-radius:6px;border:1px solid #e9ecef;min-height:60px}.files-section[data-v-8a996c17]{background:#f8f9fa}.files-content[data-v-8a996c17]{display:flex;gap:30px}.images-section[data-v-8a996c17],.files-section-part[data-v-8a996c17]{flex:1;display:flex;flex-direction:column;gap:12px}.images-section label[data-v-8a996c17],.files-section-part label[data-v-8a996c17]{font-weight:600;color:#495057;font-size:14px}.images-container[data-v-8a996c17],.files-container[data-v-8a996c17]{background:#fff;border-radius:8px;border:1px solid #e9ecef;padding:16px;min-height:80px}.image-list[data-v-8a996c17],.file-list[data-v-8a996c17]{display:flex;flex-wrap:wrap;gap:12px}.image-item[data-v-8a996c17]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px;border:1px solid #e9ecef;border-radius:8px;background:#fafbfc;transition:all .3s ease}.image-item[data-v-8a996c17]:hover{border-color:#007bff;transform:translateY(-2px);box-shadow:0 4px 12px #007bff26}.image-thumb[data-v-8a996c17]{width:60px;height:60px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.image-thumb[data-v-8a996c17]:hover{transform:scale(1.05)}.image-name[data-v-8a996c17]{font-size:12px;color:#6c757d;text-align:center;max-width:80px;word-break:break-all}.file-item[data-v-8a996c17]{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e9ecef;border-radius:8px;background:#fafbfc;cursor:pointer;transition:all .3s ease;min-width:200px}.file-item[data-v-8a996c17]:hover{border-color:#007bff;background:#e3f2fd;transform:translateY(-1px)}.file-icon[data-v-8a996c17]{font-size:24px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#007bff;color:#fff;border-radius:6px}.file-name[data-v-8a996c17]{flex:1;font-size:14px;color:#495057;font-weight:500;word-break:break-all}.file-size[data-v-8a996c17]{font-size:12px;color:#6c757d;white-space:nowrap}.no-files[data-v-8a996c17]{color:#adb5bd;font-size:14px;text-align:center;padding:20px;font-style:italic}.pagination[data-v-8a996c17]{padding:20px;display:flex;justify-content:center;align-items:center;gap:20px;background:#f8f9fa;margin-top:20px;border-radius:8px}.pagination button[data-v-8a996c17]{padding:8px 16px;border:1px solid #007bff;background:#fff;color:#007bff;border-radius:4px;cursor:pointer}.pagination button[data-v-8a996c17]:hover:not(:disabled){background:#007bff;color:#fff}.pagination button[data-v-8a996c17]:disabled{background:#f8f9fa;color:#6c757d;border-color:#dee2e6;cursor:not-allowed}.pagination span[data-v-8a996c17]{color:#333;font-size:14px}.btn[data-v-8a996c17]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-primary[data-v-8a996c17]{background:#007bff;color:#fff}.btn-primary[data-v-8a996c17]:hover{background:#0056b3}.desc-cell[data-v-8a996c17]{max-width:200px}.desc-content[data-v-8a996c17]{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help}.image-cell[data-v-8a996c17]{text-align:center}.image-preview[data-v-8a996c17]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.thumb-image[data-v-8a996c17]{width:30px;height:30px;object-fit:cover;border-radius:4px;cursor:pointer;border:1px solid #ddd;transition:all .3s ease}.thumb-image[data-v-8a996c17]:hover{transform:scale(1.1);border-color:#007bff}.more-images[data-v-8a996c17]{font-size:12px;color:#666;background:#f8f9fa;padding:2px 6px;border-radius:4px;border:1px solid #ddd}.no-image[data-v-8a996c17]{color:#999;font-size:12px}.modal-overlay[data-v-8a996c17]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.image-preview-modal[data-v-8a996c17]{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #0000004d}.image-preview-header[data-v-8a996c17]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.image-preview-header h3[data-v-8a996c17]{margin:0;color:#333}.image-preview-header .close-btn[data-v-8a996c17]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:50%;transition:all .3s ease}.image-preview-header .close-btn[data-v-8a996c17]:hover{background:#e9ecef;color:#333}.image-preview-body[data-v-8a996c17]{padding:20px;display:flex;justify-content:center;align-items:center;max-height:70vh}.image-preview-body img[data-v-8a996c17]{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.user-management-container[data-v-6de3d275]{padding:20px;background:#fff;min-height:100vh}.header[data-v-6de3d275]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.header h2[data-v-6de3d275]{margin:0;color:#333;font-size:24px}.loading[data-v-6de3d275]{text-align:center;padding:60px 20px}.spinner[data-v-6de3d275]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-6de3d275 1s linear infinite;margin:0 auto 20px}@keyframes spin-6de3d275{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.user-table[data-v-6de3d275]{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden}.user-table th[data-v-6de3d275],.user-table td[data-v-6de3d275]{padding:12px 16px;text-align:left;border-bottom:1px solid #e9ecef}.user-table th[data-v-6de3d275]{background:#f8f9fa;font-weight:600;color:#495057}.role-badge[data-v-6de3d275],.status-badge[data-v-6de3d275]{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.role-admin[data-v-6de3d275]{background:#d4edda;color:#155724}.role-user[data-v-6de3d275]{background:#cce5ff;color:#004085}.role-none[data-v-6de3d275]{background:#f8d7da;color:#721c24}.status-active[data-v-6de3d275]{background:#d4edda;color:#155724}.status-inactive[data-v-6de3d275]{background:#f8d7da;color:#721c24}.btn[data-v-6de3d275]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-primary[data-v-6de3d275]{background:#007bff;color:#fff}.btn-primary[data-v-6de3d275]:hover{background:#0056b3}.btn-secondary[data-v-6de3d275]{background:#6c757d;color:#fff}.btn-secondary[data-v-6de3d275]:hover{background:#545b62}.btn-small[data-v-6de3d275]{padding:6px 12px;font-size:12px}.modal-overlay[data-v-6de3d275]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-6de3d275]{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d}.modal-header[data-v-6de3d275]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.modal-header h3[data-v-6de3d275]{margin:0;color:#333}.close-btn[data-v-6de3d275]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:50%}.close-btn[data-v-6de3d275]:hover{background:#f8f9fa;color:#333}.modal-body[data-v-6de3d275]{padding:24px}.form-group[data-v-6de3d275]{margin-bottom:20px}.form-group label[data-v-6de3d275]{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input[data-v-6de3d275],.form-group select[data-v-6de3d275],.form-group textarea[data-v-6de3d275]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s ease;box-sizing:border-box}.form-group input[data-v-6de3d275]:focus,.form-group select[data-v-6de3d275]:focus,.form-group textarea[data-v-6de3d275]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-group input[data-v-6de3d275]:disabled{background:#f8f9fa;color:#6c757d}.form-actions[data-v-6de3d275]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Microsoft YaHei,Arial,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:20px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;color:#fff}.header-left h1{font-size:2.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3);margin:0}.header-right{display:flex;align-items:center;gap:15px}.login-section,.user-section{display:flex;align-items:center;gap:10px}.welcome-text{color:#fff;font-size:16px;margin-right:10px}.login-btn,.register-btn,.history-btn,.manage-btn,.logout-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease;font-weight:500}.login-btn{background:#28a745;color:#fff}.login-btn:hover{background:#1e7e34}.register-btn{background:#17a2b8;color:#fff}.register-btn:hover{background:#138496}.history-btn{background:#ffc107;color:#212529}.history-btn:hover{background:#e0a800}.manage-btn{background:#17a2b8;color:#fff}.manage-btn:hover{background:#138496}.logout-btn{background:#dc3545;color:#fff}.logout-btn:hover{background:#c82333}.customer-info-section{margin:20px 0;padding:0 20px}.customer-info-container{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 12px #0000001a;display:flex;gap:30px;flex-wrap:wrap;align-items:end}.customer-info-container .form-group{flex:1;min-width:200px;margin-bottom:0}.customer-info-container .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.customer-info-container .form-group input{width:100%;padding:12px 15px;border:2px solid #e1e5e9;border-radius:8px;font-size:14px;transition:all .3s ease;box-sizing:border-box}.customer-info-container .form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}@media (max-width: 768px){.customer-info-container{flex-direction:column;gap:20px}.customer-info-container .form-group{min-width:unset}}.login-required-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:40px 20px}.login-required-content{text-align:center;background:#fff;padding:60px 40px;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:500px}.login-required-icon{font-size:80px;margin-bottom:30px}.login-required-content h2{color:#333;margin-bottom:20px;font-size:28px}.login-required-content p{color:#666;margin-bottom:40px;font-size:16px;line-height:1.6}.login-required-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.btn-large{padding:15px 30px;font-size:16px;border-radius:25px}.checking-login-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:40px 20px}.checking-login-content{text-align:center;background:#fff;padding:40px;border-radius:15px;box-shadow:0 10px 30px #0000001a}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.checking-login-content p{color:#666;font-size:16px;margin:0}.form-container{background:#fff;border-radius:15px;padding:30px;box-shadow:0 15px 35px #0000001a;margin-bottom:30px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.form-section{background:#f8f9fa;padding:20px;border-radius:10px;border-left:4px solid #667eea}.form-section h3{color:#333;margin-bottom:20px;font-size:1.2rem;border-bottom:2px solid #e9ecef;padding-bottom:10px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.checkbox-label{display:flex;align-items:center;padding:8px;background:#fff;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.checkbox-label:hover{background-color:#f1f3f4}.checkbox-label input[type=checkbox]{width:auto;margin-right:8px}.finishing-display{display:flex;flex-direction:column;align-items:flex-start;flex:1}.finishing-main{display:flex;align-items:center;margin-bottom:2px}.finishing-spec{color:#666;font-size:.9em;font-weight:400}.finishing-price{color:#28a745;font-size:.85em;font-weight:500}.finishing-options-list{display:flex;flex-direction:column;gap:15px}.finishing-option-item{border:2px solid #e9ecef;border-radius:10px;padding:15px;background:#fff;transition:all .3s ease}.finishing-option-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.finishing-checkbox-container{margin-bottom:10px}.finishing-checkbox-label{display:flex;align-items:center;cursor:pointer;margin-bottom:0}.finishing-checkbox-label input[type=checkbox]{width:auto;margin-right:12px;margin-top:2px}.finishing-area-input{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px;background:#f8f9fa;border-radius:6px;border-left:4px solid #007bff}.finishing-area-input label{min-width:80px;margin-bottom:0;font-weight:600;color:#495057;font-size:14px}.finishing-area-input input{flex:1;padding:8px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;transition:border-color .3s ease}.finishing-area-input input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.finishing-option-item:has(input[type=checkbox]:checked){border-color:#007bff;background:#f0f8ff}.finishing-option-item:has(input[type=checkbox]:checked) .finishing-main strong{color:#007bff}.coil-options-list{display:flex;flex-direction:column;gap:15px}.coil-option-item{border:2px solid #e9ecef;border-radius:10px;padding:15px;background:#fff;transition:all .3s ease}.coil-option-item:hover{border-color:#28a745;box-shadow:0 2px 8px #28a7451a}.coil-option-label{display:flex;align-items:flex-start;cursor:pointer;margin-bottom:0}.coil-option-label input[type=radio]{width:auto;margin-right:12px;margin-top:2px}.coil-display{flex:1}.coil-main{display:flex;align-items:center;margin-bottom:8px}.coil-spec{color:#666;font-size:.9em;font-weight:400}.coil-details{display:flex;flex-wrap:wrap;gap:12px;font-size:.85em;color:#495057}.coil-details span{background:#f8f9fa;padding:4px 8px;border-radius:4px;border:1px solid #e9ecef}.coil-option-item:has(input[type=radio]:checked){border-color:#28a745;background:#f8fff9}.coil-option-item:has(input[type=radio]:checked) .coil-main strong{color:#28a745}.button-container{text-align:center;margin-top:30px;padding-top:30px;border-top:2px solid #e9ecef}.calculate-btn,.reset-btn{padding:15px 40px;margin:0 10px;border:none;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.calculate-btn{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.calculate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea99}.calculate-btn:disabled{opacity:.6;cursor:not-allowed}.reset-btn{background:#6c757d;color:#fff}.reset-btn:hover{background:#5a6268;transform:translateY(-2px)}.error-message{background:#f8d7da;color:#721c24;padding:15px;border-radius:8px;margin-top:20px;border:1px solid #f5c6cb}.result-container{background:#fff;border-radius:15px;padding:30px;box-shadow:0 15px 35px #0000001a;margin-bottom:30px}.result-container h2{color:#333;margin-bottom:30px;text-align:center;font-size:1.8rem}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.result-item{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#f8f9fa;border-radius:10px;border-left:4px solid #28a745}.result-item.total{background:linear-gradient(45deg,#28a745,#20c997);color:#fff;border-left:4px solid #155724;font-weight:600;font-size:1.1rem}.result-item label{font-weight:500}.result-item span{font-size:1.2rem;font-weight:600}.debug-info{margin-top:30px;padding:20px;background:#f1f3f4;border-radius:10px}.debug-info h3{margin-bottom:15px;color:#333}.debug-info pre{background:#2d3748;color:#e2e8f0;padding:15px;border-radius:8px;overflow-x:auto;font-size:12px}.result-actions{text-align:center;padding-top:20px;border-top:2px solid #e9ecef}.action-btn{padding:10px 25px;margin:0 10px;border:none;border-radius:20px;font-size:14px;cursor:pointer;transition:all .3s ease;background:#667eea;color:#fff}.action-btn.secondary{background:#6c757d}.action-btn.save{background:#28a745}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0003}.try-calculate-btn{width:100%;padding:12px 20px;background:linear-gradient(45deg,#28a745,#20c997);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.try-calculate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #28a74566}.try-calculate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.try-result-full-width-section{background:#f8f9fa;padding:20px;border-radius:10px;border-left:4px solid #667eea;margin-bottom:30px;width:100%}.try-result-full-width-section h3{color:#333;margin-bottom:20px;font-size:1.2rem;border-bottom:2px solid #e9ecef;padding-bottom:10px}.try-result-horizontal-container{display:flex;flex-direction:row;gap:15px;flex-wrap:wrap;width:100%;align-items:stretch}.try-result-card{flex:1;min-width:250px;border:2px solid #e9ecef;border-radius:12px;background:#fff;transition:all .3s ease;position:relative}.try-result-card:hover{border-color:#667eea;box-shadow:0 8px 25px #667eea26;transform:translateY(-2px)}.try-result-radio-wrapper{position:relative;width:100%;height:100%}.try-result-radio-wrapper input[type=radio]{position:absolute;top:15px;left:15px;width:20px;height:20px;cursor:pointer;z-index:2}.try-result-card-label{display:block;width:100%;height:100%;padding:50px 15px 15px;cursor:pointer;border-radius:10px;transition:background-color .3s ease}.try-result-card-label:hover{background-color:#f8f9ff}.try-result-header{margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #e9ecef}.try-result-type-title{font-size:18px;font-weight:700;color:#333;text-align:center}.try-result-content-wrapper{display:flex;flex-direction:column;gap:10px}.try-result-radio-wrapper input[type=radio]:checked+.try-result-card-label{background-color:#e3f2fd;border-radius:10px}.try-result-radio-wrapper input[type=radio]:checked+.try-result-card-label .try-result-type-title{color:#667eea}.try-result-card:has(input[type=radio]:checked){border-color:#667eea;background-color:#f0f8ff;box-shadow:0 8px 25px #667eea33}.try-result-content-wrapper .detail-section{margin-bottom:8px;padding:6px 10px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:6px;border-left:4px solid #007bff;box-shadow:0 1px 3px #0000001a}.try-result-content-wrapper .detail-section:last-child{margin-bottom:0}.try-result-content-wrapper .detail-section span{display:block;margin-bottom:2px;font-weight:500;font-size:13px;line-height:1.3}.try-result-content-wrapper .detail-section span:last-child{margin-bottom:0}.detail-section{margin-bottom:12px;padding:8px 12px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:6px;border-left:4px solid #007bff;box-shadow:0 1px 3px #0000001a}.detail-section:last-child{margin-bottom:0}.detail-section span{display:block;margin-bottom:4px;font-weight:500}.detail-section span:last-child{margin-bottom:0}.edit-section{margin-bottom:16px;padding:12px;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d}.edit-section:last-child{margin-bottom:0}.edit-section h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#495057;border-bottom:2px solid #007bff;padding-bottom:6px}.detail-section:nth-child(1){border-left-color:#28a745;background:linear-gradient(135deg,#f8fff8,#e8f5e8)}.detail-section:nth-child(2){border-left-color:#17a2b8;background:linear-gradient(135deg,#f0fffe,#e0f7fa)}.detail-section:nth-child(3){border-left-color:#ffc107;background:linear-gradient(135deg,#fffef0,#fff8e1)}.detail-section:nth-child(4){border-left-color:#fd7e14;background:linear-gradient(135deg,#fff8f0,#ffe0b3)}.detail-section:nth-child(5){border-left-color:#dc3545;background:linear-gradient(135deg,#fff5f5,#fce4ec)}.detail-section:nth-child(6){border-left-color:#6f42c1;background:linear-gradient(135deg,#f8f5ff,#e8e1f5)}.try-result-label:has(input[type=radio]:checked){background:#e3f2fd;border-color:#667eea}.try-result-label:has(input[type=radio]:checked) .try-result-type{color:#667eea}.calculation-info{font-size:11px!important;color:#007bff!important;font-style:italic;background:#007bff1a;padding:2px 6px;border-radius:3px;margin-top:2px}.try-result-edit{margin-bottom:15px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.edit-group{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:10px}.edit-field{display:flex;flex-direction:column;min-width:120px;flex:1}.edit-field label{font-size:13px;font-weight:500;color:#555;margin-bottom:5px;white-space:nowrap}.edit-field input{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box;min-width:0}.try-result-actions{margin-top:10px;text-align:right}.edit-btn,.save-btn,.cancel-btn{padding:6px 16px;margin-left:8px;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s ease;font-weight:500}.edit-btn{background:#007bff;color:#fff}.edit-btn:hover{background:#0056b3}.save-btn{background:#28a745;color:#fff}.save-btn:hover{background:#1e7e34}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover{background:#545b62}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:15px;max-width:500px;width:90%;box-shadow:0 20px 40px #0003;overflow:hidden}.modal-header{padding:20px;display:flex;justify-content:space-between;align-items:center;background:#667eea;color:#fff}.modal-header.error{background:#dc3545}.modal-header.success{background:#28a745}.modal-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;justify-content:center;align-items:center}.modal-body{padding:30px;text-align:center}.modal-icon{width:60px;height:60px;border-radius:50%;display:flex;justify-content:center;align-items:center;margin:0 auto 20px;font-size:30px;font-weight:700;background:#667eea;color:#fff}.modal-icon.error{background:#dc3545}.modal-icon.success{background:#28a745}.modal-body p{font-size:16px;line-height:1.6;color:#333}.modal-footer{padding:20px;text-align:center;border-top:1px solid #e9ecef}.modal-btn{padding:10px 30px;border:none;border-radius:20px;font-size:16px;cursor:pointer;background:#667eea;color:#fff;transition:all .3s ease}.modal-btn.error{background:#dc3545}.modal-btn.success{background:#28a745}.modal-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0003}.login-modal,.register-modal,.save-modal{max-width:400px}.login-modal .form-group,.register-modal .form-group,.save-modal .form-group{margin-bottom:15px}.login-modal .form-group label,.register-modal .form-group label,.save-modal .form-group label{display:block;margin-bottom:5px;font-weight:600;color:#333}.login-modal .form-group input,.register-modal .form-group input,.save-modal .form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.login-modal .form-actions,.register-modal .form-actions,.save-modal .form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease;font-weight:500}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-primary:disabled{background:#6c757d;cursor:not-allowed}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62}.btn-small{padding:4px 8px;font-size:12px}.btn-info{background:#17a2b8;color:#fff}.btn-info:hover{background:#138496}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.history-modal{max-width:800px;max-height:80vh}.history-list{max-height:400px;overflow-y:auto;margin-bottom:20px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:15px;border:1px solid #e9ecef;border-radius:8px;margin-bottom:10px;background:#f8f9fa}.history-info{flex:1}.history-name{font-weight:600;font-size:16px;color:#333;margin-bottom:5px}.history-details{display:flex;gap:15px;font-size:14px;color:#666}.history-actions{display:flex;gap:8px}.history-pagination{display:flex;justify-content:center;align-items:center;gap:20px;padding-top:15px;border-top:1px solid #e9ecef}.loading-text,.empty-text{text-align:center;padding:40px;color:#666;font-size:16px}.selected-finishing-list{margin-top:15px}.selected-finishing-list h4{margin-bottom:10px;color:#333;font-size:16px;border-bottom:2px solid #007bff;padding-bottom:5px}.selected-finishing-item{border:1px solid #e9ecef;border-radius:8px;padding:15px;margin-bottom:10px;background:#f8f9fa;position:relative}.finishing-info{margin-bottom:10px}.finishing-info strong{color:#333;font-size:16px}.finishing-spec{color:#666;font-size:14px;margin-left:5px}.finishing-price{color:#28a745;font-size:14px;margin-left:10px}.remove-finishing-btn{position:absolute;top:10px;right:10px;background:#dc3545;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;transition:all .3s ease}.remove-finishing-btn:hover{background:#c82333}@media (max-width: 768px){.form-row,.checkbox-group,.result-grid{grid-template-columns:1fr}.header h1{font-size:2rem}.container{padding:10px}.form-container,.result-container{padding:20px}.try-result-item{min-width:unset;max-width:unset}}.additional-info-container{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 12px #0000001a;margin-top:20px}.additional-info-container .form-group.full-width{width:100%;margin-bottom:25px}.additional-info-container .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.additional-info-container textarea{width:100%;padding:12px 15px;border:2px solid #e1e5e9;border-radius:8px;font-size:14px;transition:all .3s ease;box-sizing:border-box;resize:vertical;font-family:inherit}.additional-info-container textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.char-count{text-align:right;font-size:12px;color:#666;margin-top:5px}.file-upload-container{width:100%}.upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;width:100%}.file-item{border-radius:8px;border:2px solid #e1e5e9;background:#f8f9fa;transition:all .3s ease;overflow:hidden}.file-item:hover{border-color:#007bff;background:#e3f2fd}.file-item.is-image{aspect-ratio:1;position:relative}.image-preview-container{width:100%;height:100%;position:relative}.image-preview{width:100%;height:100%;object-fit:cover;display:block}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;gap:10px;opacity:0;transition:opacity .3s ease}.file-item.is-image:hover .image-overlay{opacity:1}.preview-btn{padding:6px 12px;background:#007bff;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .3s ease}.preview-btn:hover{background:#0056b3}.file-info-container{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;min-height:80px}.file-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.file-icon{font-size:24px;color:#007bff;flex-shrink:0}.file-details{flex:1;min-width:0}.file-name{font-size:14px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.file-size{font-size:12px;color:#666}.file-actions{display:flex;gap:8px;flex-shrink:0}.download-btn,.remove-btn{padding:4px 8px;font-size:12px;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease}.download-btn{background:#28a745;color:#fff}.download-btn:hover{background:#218838}.remove-btn{background:#dc3545;color:#fff}.remove-btn:hover{background:#c82333}.upload-item{aspect-ratio:1;min-height:120px}.upload-placeholder{width:100%;height:100%;border:2px dashed #ccc;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .3s ease;background:#fafafa}.upload-placeholder:hover{border-color:#667eea;background:#f0f8ff}.upload-icon{font-size:24px;color:#666}.upload-text{font-size:12px;color:#666;font-weight:500;text-align:center}.upload-hint{font-size:10px;color:#999}.image-preview-modal{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #0000004d}.image-preview-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.image-preview-header h3{margin:0;color:#333}.image-preview-header .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:50%;transition:all .3s ease}.image-preview-header .close-btn:hover{background:#e9ecef;color:#333}.image-preview-body{padding:20px;display:flex;justify-content:center;align-items:center;max-height:70vh}.image-preview-body img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.radio-button-group{display:flex;border:2px solid #e9ecef;border-radius:8px;overflow:hidden;width:fit-content}.radio-button-item{position:relative;margin:0;cursor:pointer;display:flex;align-items:center;background:#fff;transition:all .3s ease}.radio-button-item:hover{background:#f8f9fa}.radio-button-item input[type=radio]{position:absolute;opacity:0;width:0;height:0}.radio-button-label{padding:8px 20px;font-size:14px;font-weight:500;color:#666;transition:all .3s ease;border-right:1px solid #e9ecef;min-width:50px;text-align:center}.radio-button-item:last-child .radio-button-label{border-right:none}.radio-button-item input[type=radio]:checked+.radio-button-label{background:#667eea;color:#fff;font-weight:600}.radio-button-item input[type=radio]:checked{background:#667eea}.radio-button-item:has(input[type=radio]:checked){background:#667eea}.radio-button-item input[type=radio]:focus+.radio-button-label{box-shadow:inset 0 0 0 2px #667eea4d}.config-selection-container{display:flex;gap:10px;align-items:center}.config-selection-container select{flex:1}.filter-btn{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.filter-btn:hover{background:#5a67d8;transform:translateY(-1px)}.filter-modal{max-width:900px;width:95%;max-height:90vh}.filter-form{margin-bottom:20px}.filter-row{display:flex;gap:20px;margin-bottom:15px}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;margin-bottom:5px;font-weight:600;color:#333;font-size:14px}.filter-group select,.filter-group input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s ease}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.filter-results{margin-bottom:20px;border-top:1px solid #e9ecef;padding-top:20px}.filter-results h4{margin-bottom:15px;color:#333;font-size:16px}.config-list{max-height:300px;overflow-y:auto;border:1px solid #e9ecef;border-radius:8px;background:#f8f9fa}.config-item{border-bottom:1px solid #e9ecef}.config-item:last-child{border-bottom:none}.config-label{display:flex;align-items:flex-start;padding:15px;cursor:pointer;transition:background-color .3s ease;margin:0}.config-label:hover{background-color:#e9ecef}.config-label input[type=radio]{margin-right:12px;margin-top:2px;width:auto}.config-info{flex:1}.config-name{font-weight:600;font-size:16px;color:#333;margin-bottom:8px}.config-details{display:flex;flex-wrap:wrap;gap:8px}.config-details span{background:#fff;padding:4px 8px;border-radius:4px;font-size:12px;color:#666;border:1px solid #ddd}.filter-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:15px;border-top:1px solid #e9ecef}.config-label:has(input[type=radio]:checked){background-color:#e3f2fd;border-left:4px solid #667eea}.config-label:has(input[type=radio]:checked) .config-name{color:#667eea}@media (max-width: 768px){.try-result-horizontal-container{flex-direction:column}.try-result-card{min-width:unset;max-width:unset}.additional-info-container{padding:15px;margin-top:15px}.upload-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.image-item,.upload-item{width:100px;height:100px}.image-preview-modal{max-width:95vw;max-height:95vh}.image-preview-header{padding:15px}.image-preview-body{padding:15px;max-height:60vh}.config-selection-container{flex-direction:column;align-items:stretch;gap:8px}.filter-row{flex-direction:column;gap:15px}.filter-group{min-width:unset}.filter-modal{width:98%;max-height:95vh}.config-details{flex-direction:column;gap:4px}}.detail-section:nth-child(7){border-left-color:#e91e63;background:linear-gradient(135deg,#fdf2f8,#fce7f3)}
