@charset "UTF-8";*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-color);color:var(--text-main);margin:0;padding:0;min-height:100vh}.app-container{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-color)}.page-container{min-height:100vh;background:var(--bg-color)}.center-container{display:flex;justify-content:center;align-items:center;height:100vh}.content-wrapper{max-width:900px;margin:0 auto;padding:40px 20px}.header{background:#fff;padding:20px 40px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.header-title{font-size:24px;color:#333;margin:0}.header-logo{font-size:22px;font-weight:700}.header-actions{display:flex;gap:10px}.header-user-info{display:flex;align-items:center;gap:10px}.main-content{display:flex;flex:1;gap:20px;padding:20px}.content-card{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.card-section{padding:8px 0;border-bottom:1px solid #e5e7eb}.card-title{border-bottom:none;margin-bottom:10px;font-size:24px}.card-subtitle{margin-bottom:30px;color:#666;font-size:14px}.btn-primary{padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{padding:10px 24px;background:#9e9e9e;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#757575}.btn-danger{padding:10px 24px;background:var(--danger);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#b91c1c}.btn-success{padding:10px 24px;background:var(--success);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.btn-success:hover{background:#059669}.sidebar{width:300px;background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a;height:fit-content;position:sticky;top:20px}.sidebar-header{padding-bottom:15px;margin-bottom:20px;border-bottom:2px solid #e5e7eb;font-size:18px;font-weight:700;color:#333}.sidebar-content{flex:1;overflow-y:auto}.sidebar-item{padding:15px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:10px;cursor:pointer;transition:all .2s}.sidebar-item:hover{background:#f9fafb;box-shadow:0 2px 4px #0000001a}.sidebar-item.selected{border-color:var(--primary);background:#eff6ff}.sidebar-empty{text-align:center;padding:40px 20px;color:#999}.sidebar-empty-text{margin:10px 0;font-size:14px}.data-table{width:100%;border-collapse:collapse;margin-top:20px}.data-table thead tr{background:#f9fafb}.data-table th{padding:10px;border-bottom:2px solid #e5e7eb;font-weight:700;text-align:left}.data-table th.text-right{text-align:right}.data-table th.text-center{text-align:center}.data-table td{padding:8px;border-bottom:1px solid #e5e7eb}.data-table td.text-right{text-align:right}.data-table td.text-center{text-align:center}.data-table tfoot td{padding:12px 8px;font-weight:700;background:#f9fafb}.drawing-area{flex:1;background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden}.drawing-header{padding-bottom:15px;margin-bottom:20px;border-bottom:2px solid #e5e7eb}.drawing-filename{font-size:16px;color:#666;margin-bottom:10px}.drawing-canvas-wrapper{flex:1;overflow:auto;display:flex;justify-content:center;align-items:center;background:#fafafa;border-radius:6px;padding:20px}.drawing-canvas-container{position:relative;max-width:100%;max-height:100%}.drawing-image{max-width:100%;max-height:100%;display:block;box-shadow:0 4px 6px #0000001a;cursor:crosshair}.marker{position:absolute;width:24px;height:24px;border-radius:50%;border:3px solid white;cursor:move;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0000004d;transition:transform .1s}.marker:hover{transform:translate(-50%,-50%) scale(1.2)}.marker.selected{box-shadow:0 0 0 4px #2563eb4d}.marker-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:6px 10px;border-radius:4px;font-size:12px;white-space:nowrap;margin-bottom:8px;pointer-events:none}.marker-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000c}.confidence-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700}.confidence-high{background:#d1fae5;color:#065f46}.confidence-low{background:#fee2e2;color:#991b1b}.error-text{color:var(--danger)}.loading-text{color:var(--text-sub)}.text-muted{color:#666}.card{background:#fff;width:100%;max-width:400px;padding:40px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-sizing:border-box;margin:40px auto}.logo{font-size:2rem;font-weight:700;color:var(--primary);display:inline-block;margin-bottom:.5rem;border:none}h2{font-size:1.5rem;margin-bottom:2rem;color:var(--text-main);text-align:center}.form-group label{display:block;font-size:.875rem;font-weight:600;margin-bottom:8px;color:var(--text-main)}input[type=text],input[type=email],input[type=password],input[type=date],select{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-size:1rem;box-sizing:border-box;transition:border-color .2s}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.btn{width:100%;padding:.75rem;background-color:var(--primary);color:#fff;border:none;border-radius:6px;font-weight:700;font-size:16px;cursor:pointer;transition:all .2s}.btn:hover{background-color:var(--primary-hover)}.btn-link{width:100%;background:none;border:none;color:var(--text-sub);font-size:14px;text-decoration:underline;cursor:pointer;padding:8px;transition:color .2s}.btn-link:hover{color:var(--text-main)}.error-msg{background:#fee2e2;border:1px solid var(--danger);padding:.75rem;border-radius:4px;color:#991b1b;margin:1rem 0;font-size:.875rem;display:none}.external-btn{display:block;padding:1rem;border:2px solid var(--primary);border-radius:6px;text-align:center;text-decoration:none;color:var(--primary);font-weight:600;font-size:.875rem;transition:all .2s}.external-btn:hover{background:#eff6ff;transform:translateY(-2px)}.header-right{display:flex;align-items:center;gap:15px}.user-info span{background:#eff6ff;padding:8px 15px;border-radius:20px;color:var(--primary);font-weight:700;font-size:14px}.btn-logout{background:none;border:none;color:var(--danger);font-size:14px;text-decoration:underline;cursor:pointer;padding:8px 12px;font-weight:500;transition:color .2s}.side-banner{position:fixed;top:var(--header-height);width:150px;height:calc(100vh - var(--header-height));background:linear-gradient(180deg,#e0e7ff,#c7d2fe);border:2px solid var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:700;color:var(--primary);font-size:14px;line-height:1.8;z-index:10}.side-banner.left{left:0}.side-banner.right{right:0}.dashboard-main{max-width:1000px;margin:0 auto;padding:40px 20px}.dashboard-main>h2{font-size:24px;margin-bottom:30px;color:var(--text-main)}.upload-section{background:#fff;border-radius:8px;padding:30px;margin-bottom:40px;box-shadow:0 1px 3px #0000001a}.upload-section h3{font-size:18px;margin-bottom:15px;margin-top:30px;color:var(--text-main)}.upload-section h3:first-child{margin-top:0}.upload-zone{border:2px dashed var(--border);border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .2s;background:#f9fafb}.upload-icon{font-size:48px;display:block;margin-bottom:15px}.upload-zone p{margin:10px 0;color:var(--text-sub)}.file-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f9fafb;border:1px solid var(--border);border-radius:6px;margin-top:15px}.file-item input{width:120px;padding:8px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin:20px 0}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:12px;border:1px solid var(--border);border-radius:6px;transition:all .2s;background:#fff}.checkbox-label:hover{background:#f9fafb}.secondary-upload{display:none;background:#fef3c7;border:2px solid #fbbf24;border-radius:8px;padding:20px;margin-top:20px}.secondary-upload.active{display:block}.secondary-upload h4{margin:0 0 10px;color:#92400e}.secondary-upload p{margin-bottom:10px;color:#92400e;font-size:14px}.secondary-upload input[type=file]{width:100%;padding:10px;border:1px solid #fbbf24;border-radius:4px;background:#fff}.settings-section{background:#fff;border-radius:8px;padding:30px;margin-bottom:40px;box-shadow:0 1px 3px #0000001a;border-top:3px solid var(--primary)}.settings-section h2{font-size:20px;margin-bottom:10px}.settings-section>p{color:var(--text-sub);margin-bottom:25px;font-size:14px}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.menu-btn{position:relative;display:flex;align-items:center;gap:15px;padding:20px;border:2px solid var(--primary);border-radius:8px;background:linear-gradient(135deg,#eff6ff,#dbeafe);cursor:pointer;transition:all .2s;text-align:left}.menu-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb33}.status-badge{position:absolute;top:10px;right:10px;padding:4px 12px;background:#fef3c7;color:#92400e;border-radius:12px;font-size:12px;font-weight:700}.menu-btn.completed .status-badge{background:#d1fae5;color:#065f46}.menu-icon{font-size:32px;flex-shrink:0}.menu-text>div:first-child{font-weight:700;font-size:16px;margin-bottom:5px;color:var(--text-main)}.menu-text>div:last-child{font-size:13px;color:var(--text-sub)}.action-area{padding:30px 0;margin-top:30px}.action-area h3{margin-bottom:20px;font-size:18px;font-weight:700;color:var(--text-main)}.action-area p{color:var(--text-sub);margin-top:15px;font-size:14px}.execute-hint{text-align:center}.btn-execute{width:100%;max-width:400px;display:block;margin:0 auto;padding:16px 32px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;border:3px solid var(--primary-hover);border-radius:8px;font-size:20px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #2563eb4d}.btn-execute:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}.btn-execute:disabled{background:#9ca3af;border-color:#6b7280;cursor:not-allowed;opacity:.6}.modal-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:100;align-items:center;justify-content:center}.modal-overlay.active{display:flex}.modal-header button{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.modal-header button:hover{opacity:.8}.setting-section.active{display:block}.custom-table{width:100%;border-collapse:collapse;margin-top:15px}.custom-table thead{background:#f1f5f9}.custom-table th{padding:12px;text-align:left;border:1px solid #e2e8f0;font-size:13px;font-weight:600;color:var(--text-main)}.custom-table input{width:100%;border:1px solid transparent;background:transparent;padding:8px;font-size:14px;box-sizing:border-box}.custom-table input:focus{background:#fff;border-color:var(--primary);outline:none}.custom-table input.editable-input{border:1px solid var(--border);background:#fff}.custom-table input.editable-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb1a}.custom-table input.readonly-input{background:#f3f4f6;color:var(--text-sub);cursor:not-allowed;border:1px solid #e5e7eb}.modal-footer{padding:20px 30px;background:#f9fafb;border-top:1px solid var(--border);display:flex;justify-content:center;gap:15px}.modal-footer .btn{padding:12px 30px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;width:auto}.modal-footer .btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.banner-area{width:100%;max-width:1000px;height:100px;background:#4f46e5;background:linear-gradient(135deg,#4f46e5,#818cf8);margin:30px auto 0;display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;font-size:20px;border-radius:8px;box-shadow:0 4px 6px #0000001a}.menu-btn{display:flex;align-items:center;justify-content:center;gap:15px;padding:25px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:.2s;text-align:left}.menu-btn:hover{border-color:var(--primary);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-2px)}.menu-icon{font-size:32px;background:#eff6ff;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--primary)}.menu-text div:first-child{font-size:18px;font-weight:700;color:var(--text-main)}.menu-text div:last-child{font-size:13px;color:var(--text-sub);margin-top:4px}.upload-zone{border:2px dashed #cbd5e1;border-radius:10px;padding:50px;text-align:center;background:#f8fafc;transition:.2s;cursor:pointer}.file-item{background:#fff;border:1px solid var(--border);padding:15px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;margin-top:15px;box-shadow:0 1px 2px #0000000d}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#f9fafb;padding:20px;border-radius:8px;border:1px solid var(--border)}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;padding:5px}.checkbox-label input{width:18px;height:18px}.secondary-upload{margin-top:20px;padding:20px;border:1px solid var(--border);border-radius:8px;background:#f1f5f9;opacity:.6;pointer-events:none}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:none;justify-content:center;align-items:center;z-index:100}.modal-overlay.active{display:flex;animation:fadeIn .2s}.modal-window{background:#fff;width:900px;height:85vh;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040}.modal-footer{padding:20px 30px;border-top:1px solid var(--border);text-align:right;background:#f9fafb;border-radius:0 0 12px 12px}.step-nav{display:flex;justify-content:center;margin-bottom:30px;gap:20px}.step-item{padding:10px 25px;background:#e5e7eb;color:var(--text-sub);border-radius:30px;font-weight:700;font-size:14px}.step-item.active{background:var(--primary);color:#fff}.setting-section{display:none}.setting-section.active{display:block;animation:fadeIn .3s}.custom-table{width:100%;border-collapse:collapse;margin-top:10px}.custom-table th{background:#f1f5f9;padding:12px;text-align:left;border:1px solid #e2e8f0;font-size:13px}.custom-table td{padding:8px;border:1px solid #e2e8f0}.custom-table input{border:1px solid transparent;background:transparent;padding:8px}.custom-table input:focus{background:#fff;border-color:var(--primary)}.menu-btn.completed{border-color:#10b981;background:#f0fdf4}.menu-btn.completed .menu-icon{background:#d1fae5;color:#10b981}.menu-btn.completed .status-badge{background:#10b981;color:#fff}.menu-btn.completed:hover{box-shadow:0 4px 12px #10b98133}.side-banner{position:fixed;top:100px;width:160px;height:600px;background:#e0e7ff;border:1px dashed var(--primary);display:flex;justify-content:center;align-items:center;color:var(--primary);font-weight:700;text-align:center;border-radius:8px;z-index:10}.side-banner.left{left:20px}.side-banner.right{right:20px}@media(max-width:1400px){.side-banner{display:none}}.card.wide{max-width:900px;margin:40px auto 80px}.editor-layout{display:flex;height:calc(100vh - var(--header-height));overflow:hidden}.ad-banners-left{width:150px;height:100%;display:flex;flex-direction:column;flex-shrink:0}.ad-banners-sidebar{display:flex;flex-direction:column;flex:1;min-height:0}.ad-banner{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font-weight:700;font-size:14px;line-height:1.6;border:none;margin:0;padding:20px}.main-canvas-area{flex:1;background:#e5e5e5;position:relative;overflow:hidden;cursor:grab;border-right:1px solid var(--border)}.sidebar-right{width:320px;background:#fff;display:flex;flex-direction:column;z-index:10;box-shadow:-2px 0 10px #0000000d;flex-shrink:0}.sidebar-section{padding:15px;border-bottom:1px solid var(--border)}.sidebar-title{font-weight:700;font-size:16px;margin-bottom:10px;color:var(--text-main)}.doc-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.doc-chk-label{font-size:13px;display:flex;align-items:center;gap:5px;cursor:pointer}.ctrl-row{display:flex;gap:10px;margin-bottom:5px}.ctrl-btn{flex:1;padding:6px;font-size:12px;border-radius:4px;cursor:pointer;text-align:center;border:1px solid var(--border);background:#f9fafb;transition:.2s}.ctrl-btn:hover{background:#e5e7eb}.ctrl-btn.red-mode{color:var(--danger);border-color:#fca5a5;background:#fef2f2}.ctrl-btn.red-mode.active{background:var(--danger);color:#fff}.symbol-list-area{flex:1;overflow-y:auto;padding:0}.symbol-row{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:.2s}.symbol-row:hover{background:#f9fafb}.symbol-row.active{background:#eff6ff}.sym-info{display:flex;align-items:center;gap:10px}.sym-color-box{width:12px;height:12px;border-radius:2px}.sym-name{font-size:13px;font-weight:500}.sym-count{font-size:14px;font-weight:700;color:var(--text-main)}.sidebar-bottom{padding:15px;background:#f9fafb;border-top:1px solid var(--border)}.upload-mini{border:2px dashed var(--border);border-radius:6px;padding:15px;text-align:center;background:#fff;cursor:pointer;margin-bottom:15px}.upload-mini:hover{border-color:var(--primary)}.upload-mini-text{font-size:12px;color:var(--text-sub)}.btn-create{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-weight:700;cursor:pointer}.btn-create:hover{background:var(--primary-hover)}.summary-table{width:100%;border-collapse:collapse;margin-bottom:30px}.summary-table th{background:#f9fafb;padding:12px;text-align:left;border-bottom:2px solid var(--border);color:var(--text-sub);font-size:13px}.summary-table td{padding:15px 12px;border-bottom:1px solid #f3f4f6;font-size:15px}.summary-table td.num{text-align:right;font-family:monospace;font-size:16px}.total-row td{background:#eff6ff;border-top:2px solid var(--primary);font-weight:700;color:var(--primary);font-size:18px;padding:20px 12px}.payment-box{border:1px solid var(--border);border-radius:8px;padding:25px;background:#fff;margin-bottom:30px}.payment-header{font-weight:700;margin-bottom:15px;display:flex;align-items:center;gap:10px;font-size:16px}.card-display{display:flex;align-items:center;gap:15px;padding:15px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.card-icon{font-size:24px}.card-number{font-family:monospace;font-size:16px;font-weight:700;letter-spacing:2px}.notice-text{font-size:13px;color:var(--text-sub);margin-top:10px;line-height:1.6}.ocr-proposals-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px}.proposals-header{max-width:1200px;margin:0 auto 30px;background:#fff;padding:30px;border-radius:16px;box-shadow:0 4px 20px #0000001a}.proposals-header h1{margin:0 0 15px;font-size:32px;color:#1f2937;font-weight:700}.header-description{color:#6b7280;font-size:14px;line-height:1.6;margin:0 0 20px}.back-button{padding:10px 20px;background:#f3f4f6;border:none;border-radius:8px;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.back-button:hover{background:#e5e7eb}.proposals-list{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.proposal-card{background:#fff;border-radius:16px;padding:30px;box-shadow:0 4px 20px #0000001a;transition:transform .2s,box-shadow .2s;border-left:6px solid #667eea}.proposal-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00000026}.proposal-card.status-confirmed{border-left-color:#10b981;opacity:.85}.proposal-card.status-pending{border-left-color:#f59e0b}.proposal-card.status-editing{border-left-color:#3b82f6}.proposal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px;padding-bottom:20px;border-bottom:2px solid #f3f4f6}.proposal-title{display:flex;align-items:center;gap:15px}.proposal-title h2{margin:0;font-size:24px;color:#1f2937;font-weight:700}.status-badge{padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-pending{background:#fef3c7;color:#d97706}.status-badge.status-editing{background:#dbeafe;color:#1d4ed8}.status-badge.status-confirmed{background:#d1fae5;color:#047857}.proposal-date{color:#6b7280;font-size:13px}.proposal-content{display:flex;flex-direction:column;gap:25px;margin-bottom:25px}.info-section{background:#f9fafb;padding:20px;border-radius:12px;border:1px solid #e5e7eb}.info-section h3{margin:0 0 15px;font-size:18px;color:#374151;font-weight:600;display:flex;align-items:center;gap:8px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item .label{font-size:12px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.info-item .value{font-size:15px;color:#1f2937;font-weight:500}.proposal-actions{display:flex;gap:12px;justify-content:flex-end}.proposal-actions button{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-edit{background:#3b82f6;color:#fff}.btn-edit:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-edit:disabled{background:#d1d5db;cursor:not-allowed;opacity:.5}.btn-confirm{background:#10b981;color:#fff}.btn-confirm:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-confirm:disabled{background:#d1d5db;cursor:not-allowed;opacity:.5}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header{padding:25px 30px;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:24px;color:#1f2937;font-weight:700}.modal-close{background:none;border:none;font-size:28px;color:#9ca3af;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:30px;overflow-y:auto;flex:1}.edit-section{margin-bottom:30px}.edit-section:last-child{margin-bottom:0}.edit-section h3{margin:0 0 20px;font-size:18px;color:#374151;font-weight:600;display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:2px solid #f3f4f6}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;color:#374151;font-weight:600}.form-group input,.form-group select{padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;color:#1f2937;transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-footer{padding:20px 30px;border-top:2px solid #f3f4f6;display:flex;gap:12px;justify-content:flex-end}.btn-cancel{padding:12px 24px;background:#f3f4f6;border:none;border-radius:8px;font-size:14px;font-weight:600;color:#374151;cursor:pointer;transition:all .2s}.btn-save{padding:12px 24px;background:#3b82f6;border:none;border-radius:8px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.btn-save:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}@media(max-width:768px){.ocr-proposals-container{padding:20px 10px}.proposals-header{padding:20px}.proposals-header h1{font-size:24px}.proposal-card{padding:20px}.proposal-header{flex-direction:column;gap:12px}.proposal-title{flex-direction:column;align-items:flex-start;gap:8px}.info-grid,.form-grid{grid-template-columns:1fr}.proposal-actions{flex-direction:column}.proposal-actions button{width:100%;justify-content:center}.modal-content{max-height:95vh}.modal-header,.modal-body{padding:20px}.modal-footer{padding:15px 20px;flex-direction:column}.modal-footer button{width:100%}}.profile-container{max-width:800px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.profile-header h1{margin:0;color:#333}.back-button{background-color:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .3s}.back-button:hover{background-color:#5a6268}.message{padding:10px;margin-bottom:20px;border-radius:5px;text-align:center}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.profile-tabs{display:flex;margin-bottom:30px;border-bottom:1px solid #ddd}.profile-tabs button{background:none;border:none;padding:15px 20px;cursor:pointer;font-size:16px;color:#666;border-bottom:3px solid transparent;transition:all .3s}.profile-tabs button:hover{color:#007bff}.profile-tabs button.active{color:#007bff;border-bottom-color:#007bff}.tab-content{min-height:400px}.tab-content h2{margin-bottom:20px;color:#333}.user-info{background-color:#f8f9fa;padding:15px;border-radius:5px;margin-bottom:30px}.user-info p{margin:5px 0}.profile-form,.password-form,.cancel-form{max-width:500px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:#333}.form-group input,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px;box-sizing:border-box}.form-group textarea{min-height:80px;resize:vertical}.submit-button{background-color:#007bff;color:#fff;border:none;padding:12px 30px;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .3s}.submit-button:hover{background-color:#0056b3}.payment-info{background-color:#f8f9fa;padding:20px;border-radius:5px;margin-bottom:30px}.payment-method-button{background-color:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:not-allowed;opacity:.6;margin-top:10px}.payment-history h3{margin-bottom:15px;color:#333}.payment-table{width:100%;border-collapse:collapse;margin-top:15px}.payment-table th,.payment-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.payment-table th{background-color:#f8f9fa;font-weight:700;color:#333}.payment-table .paid{color:#28a745;font-weight:700}.cancel-warning{background-color:#fff3cd;border:1px solid #ffeaa7;padding:15px;border-radius:5px;margin-bottom:30px}.cancel-warning p{margin:0;color:#856404}.cancel-button{background-color:#dc3545;color:#fff;border:none;padding:12px 30px;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .3s}.cancel-button:hover{background-color:#c82333}.loading{text-align:center;padding:50px;font-size:18px;color:#666}.error{text-align:center;padding:50px;font-size:16px;color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:5px}@media(max-width:768px){.profile-container{padding:10px}.profile-header{flex-direction:column;gap:15px;text-align:center}.profile-tabs{flex-wrap:wrap}.profile-tabs button{flex:1;min-width:120px}.payment-table{font-size:14px}.payment-table th,.payment-table td{padding:8px}}: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}body{margin:0;padding:0;min-width:320px;min-height:100vh}.editor-page{display:flex;flex-direction:column;height:100vh;background-color:#f8fafc;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.editor-page.loading{justify-content:center;align-items:center}.spinner{font-size:48px;margin-bottom:16px}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;z-index:10}.header-left h1{margin:0;font-size:20px;font-weight:600;color:#1f2937}.drawing-info{font-size:14px;color:#6b7280;background:#f3f4f6;padding:4px 12px;border-radius:16px}.btn-back{padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;transition:all .2s}.editor-content{display:flex;flex:1;overflow:hidden}.editor-sidebar{width:320px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow-y:auto}.control-section{padding:20px;border-bottom:1px solid #f3f4f6}.control-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937}.control-group{margin-bottom:16px}.control-group:last-child{margin-bottom:0}.control-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.confidence-slider{width:100%;margin-bottom:4px}.confidence-value{font-size:12px;color:#6b7280}.type-filter{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.selection-controls{display:flex;flex-direction:column;gap:8px}.btn-select-all,.btn-deselect-all{padding:8px 12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.btn-select-all:hover,.btn-deselect-all:hover{background:#e5e7eb}.btn-delete{padding:8px 12px;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-delete:hover:not(:disabled){background:#dc2626}.btn-delete:disabled{background:#9ca3af;cursor:not-allowed}.add-controls{display:flex;flex-direction:column;gap:6px}.add-controls button{padding:6px 12px;background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;transition:all .2s}.add-controls button:hover{background:#2563eb}.symbol-list{flex:1;padding:20px}.symbol-items{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.symbol-item{padding:12px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff}.symbol-item:hover{border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.symbol-item.selected{border-color:#3b82f6;background:#eff6ff}.symbol-info{display:flex;align-items:center;gap:12px}.symbol-type-indicator{width:16px;height:16px;border-radius:50%;flex-shrink:0}.symbol-type{font-weight:500;font-size:14px;color:#1f2937}.symbol-details{font-size:12px;color:#6b7280}.action-type{font-weight:500}.pdf-viewer-container{flex:1;display:flex;flex-direction:column;background:#f9fafb}.pdf-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#fff;border-bottom:1px solid #e5e7eb}.zoom-controls{display:flex;align-items:center;gap:12px}.zoom-controls button{width:32px;height:32px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s}.zoom-controls button:hover{background:#f3f4f6}.zoom-controls span{font-size:14px;font-weight:500;color:#374151;min-width:50px;text-align:center}.document-info{font-size:14px;color:#6b7280}.pdf-display{flex:1;position:relative;overflow:auto;background:#e5e7eb;transform-origin:top left}.pdf-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#6b7280;font-size:16px}.pdf-placeholder p{margin:8px 0}.symbol-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.symbol-marker{position:absolute;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;cursor:pointer;pointer-events:all;transition:all .2s;border:2px solid rgba(255,255,255,.8);box-shadow:0 2px 4px #0000004d}.symbol-marker:hover{transform:translate(-50%,-50%) scale(1.2);z-index:10}.symbol-marker.selected{border-color:#fbbf24;box-shadow:0 0 0 3px #fbbf244d}.symbol-marker.low-confidence{border-color:#ef4444;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.editor-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -1px 3px #0000001a}.document-type-selector{display:flex;align-items:center;gap:12px}.document-type-selector label{font-size:14px;font-weight:500;color:#374151}.document-type-selector select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff}.generate-controls{display:flex;align-items:center;gap:16px}.selection-summary{font-size:14px;color:#6b7280}.confidence-summary{color:#059669;font-weight:500}.btn-generate{padding:12px 24px;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;transition:all .2s}.btn-generate:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.btn-generate:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:768px){.editor-sidebar{width:280px}.control-section{padding:16px}.editor-header{padding:12px 16px}.editor-footer{padding:12px 16px;flex-direction:column;gap:12px}}.mypage-container{display:flex;flex-direction:column;min-height:100vh;background-color:#f8fafc;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.mypage-loading,.mypage-error{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;text-align:center}.mypage-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.header-left h1{margin:0;font-size:24px;font-weight:600;color:#1f2937}.btn-back{padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;text-decoration:none;transition:all .2s}.btn-back:hover{background:#e5e7eb}.mypage-content{flex:1;max-width:800px;margin:0 auto;padding:32px 24px;width:100%}.alert{padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px;font-weight:500}.alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.alert-success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.profile-section,.subscription-section,.account-actions{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #f3f4f6}.section-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.btn-edit{padding:8px 16px;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-edit:hover{background:#2563eb}.profile-display{padding:24px}.profile-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #f3f4f6}.profile-item:last-child{border-bottom:none}.profile-item label{font-weight:500;color:#374151;min-width:140px}.profile-item span{color:#1f2937;font-weight:400}.profile-form{padding:24px}.form-group:last-of-type{margin-bottom:32px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-actions{display:flex;gap:12px}.btn-save{padding:12px 24px;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.btn-save:hover{background:#059669}.btn-cancel{padding:12px 24px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-cancel:hover{background:#e5e7eb}.subscription-info{padding:24px}.subscription-plan{display:flex;align-items:center;gap:12px;margin-bottom:24px}.plan-badge{padding:6px 12px;background:#dbeafe;color:#1d4ed8;border-radius:20px;font-size:14px;font-weight:600}.status-badge{padding:4px 10px;border-radius:16px;font-size:12px;font-weight:600}.payment-info{margin-bottom:24px}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f3f4f6}.payment-item:last-child{border-bottom:none}.payment-item label{font-weight:500;color:#374151}.payment-item span{color:#1f2937}.credit-card-info{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.card-display{display:flex;align-items:center;gap:12px}.card-brand{font-weight:600;color:#1f2937}.card-number{font-family:monospace;color:#6b7280}.btn-update-card{padding:8px 16px;background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-update-card:hover{background:#d97706}.account-actions .section-header{border-bottom-color:#fecaca}.action-buttons{padding:24px;display:flex;flex-direction:column;gap:16px}.btn-danger{padding:12px 24px;background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;align-self:flex-start}.btn-danger:hover{background:#dc2626}.danger-notice{padding:16px 24px;background:#fef2f2;border-top:1px solid #fecaca}.danger-notice p{margin:0;color:#dc2626;font-size:14px}@media(max-width:768px){.mypage-content{padding:16px}.section-header{padding:16px;flex-direction:column;gap:12px;align-items:flex-start}.profile-display,.profile-form,.subscription-info{padding:16px}.profile-item{flex-direction:column;align-items:flex-start;gap:4px}.credit-card-info{flex-direction:column;gap:12px;align-items:flex-start}.form-actions{flex-direction:column}.action-buttons{padding:16px}}.admin-panel{display:flex;flex-direction:column;min-height:100vh;background-color:#f8fafc;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.admin-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;text-align:center}.loading-spinner{font-size:48px;margin-bottom:16px}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #00000026}.header-left{display:flex;align-items:center;gap:16px}.header-left h1{margin:0;font-size:28px;font-weight:600}.admin-badge{padding:4px 12px;background:#fff3;border-radius:20px;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-right{display:flex;gap:12px}.btn-dashboard{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-dashboard:hover{background:#fff3}.btn-logout{padding:8px 16px;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-logout:hover{background:#dc2626}.admin-content{flex:1;display:flex;flex-direction:column}.admin-tabs{display:flex;background:#fff;border-bottom:1px solid #e5e7eb;padding:0 24px;box-shadow:0 1px 3px #0000001a}.tab{padding:16px 24px;background:none;border:none;cursor:pointer;font-size:16px;font-weight:500;color:#6b7280;position:relative;transition:all .2s}.tab:hover{color:#374151;background:#f9fafb}.tab.active{color:#3b82f6;background:#eff6ff}.tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:#3b82f6}.admin-main{flex:1;padding:32px 24px}.overview-section h2{margin:0 0 32px;font-size:24px;font-weight:600;color:#1f2937}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.stat-card{background:#fff;border-radius:12px;padding:24px;display:flex;align-items:center;gap:20px;box-shadow:0 1px 3px #0000001a;border:1px solid #f3f4f6;transition:all .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.stat-icon{font-size:48px;width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:16px}.stat-info{flex:1}.stat-value{font-size:32px;font-weight:700;color:#1f2937;line-height:1.2}.stat-label{font-size:14px;color:#6b7280;margin-top:4px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header h2{margin:0;font-size:24px;font-weight:600;color:#1f2937}.search-controls,.controls{display:flex;gap:12px}.search-input{padding:10px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;width:250px;transition:all .2s}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-add{padding:10px 20px;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.btn-add:hover{background:#059669;transform:translateY(-1px)}.table-container,.users-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.admin-table{width:100%;border-collapse:collapse}.admin-table th{background:#f8fafc;padding:16px 20px;text-align:left;font-weight:600;color:#374151;font-size:14px;border-bottom:1px solid #e5e7eb}.admin-table td{padding:16px 20px;border-bottom:1px solid #f3f4f6;color:#1f2937;font-size:14px}.admin-table tbody tr:hover{background:#f9fafb}.admin-table tbody tr:last-child td{border-bottom:none}.plan-badge,.status-badge{padding:4px 10px;border-radius:16px;font-size:12px;font-weight:600;text-align:center}.plan-badge.premium{background:#dbeafe;color:#1d4ed8}.plan-badge.basic{background:#f3f4f6;color:#374151}.status-badge.active{background:#dcfce7;color:#16a34a}.status-badge.cancelled{background:#fef3c7;color:#d97706}.status-badge.expired{background:#fecaca;color:#dc2626}.action-buttons{display:flex;gap:8px}.btn-edit-small{padding:6px 12px;background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.btn-edit-small:hover{background:#d97706}.btn-delete-small{padding:6px 12px;background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.btn-delete-small:hover{background:#dc2626}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:20px}.pagination button{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:14px;transition:all .2s}.pagination button:hover:not(:disabled){background:#f3f4f6}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-size:14px;color:#6b7280;font-weight:500}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media(max-width:768px){.admin-header{padding:12px 16px;flex-direction:column;gap:12px}.header-left{flex-direction:column;gap:8px}.admin-tabs{padding:0 16px;overflow-x:auto}.tab{padding:12px 16px;white-space:nowrap}.admin-main{padding:16px}.section-header{flex-direction:column;gap:16px;align-items:flex-start}.search-input,.controls{width:100%}.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.admin-table{font-size:12px}.admin-table th,.admin-table td{padding:8px 12px}.table-container,.users-table-container{overflow-x:auto}.admin-table{min-width:800px}}@media(max-width:480px){.stat-card{flex-direction:column;text-align:center}.stat-icon{width:60px;height:60px;font-size:36px}.stat-value{font-size:24px}}.analysis-page{min-height:100vh;background:#f5f5f5;display:flex;flex-direction:column}.analysis-header{background:#fff;padding:20px 40px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.header-actions{display:flex;gap:12px;align-items:center}.analysis-header h1{font-size:24px;color:#333;margin:0;font-weight:700}.analysis-content{flex:1;display:flex;gap:20px;padding:20px;overflow:hidden}.pdf-viewer-section{flex:2;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden}.file-tab{padding:8px 16px;background:#fff;border:1px solid #ddd;border-radius:4px 4px 0 0;cursor:pointer;font-size:14px;white-space:nowrap;transition:all .2s}.file-tab:hover{background:#f0f0f0}.file-tab.active{background:#667eea;color:#fff;border-color:#667eea;font-weight:700}.pdf-viewer{flex:1;padding:20px;overflow:hidden;display:flex;align-items:center;justify-content:center}.pdf-iframe{width:100%;height:100%;border:none;border-radius:4px}.no-file{color:#999;font-size:16px}.symbols-section{flex:1;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px;overflow-y:auto;display:flex;flex-direction:column}.symbols-section h2{font-size:18px;color:#333;margin:0 0 20px;padding-bottom:10px;border-bottom:2px solid #667eea;flex-shrink:0}.loading-message{text-align:center;padding:40px 20px;color:#999;font-size:14px}.symbols-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.symbols-header h2{margin:0;font-size:18px;color:#333}.bulk-actions{display:flex;gap:8px}.btn-select-all{padding:8px 16px;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}.btn-select-all:hover{background:#667eea;color:#fff}.btn-delete-selected{padding:8px 16px;background:#f44336;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}.btn-delete-selected:hover{background:#d32f2f}.symbol-list{flex:1;overflow-y:auto}.symbol-item{display:flex;justify-content:space-between;align-items:center;padding:12px;margin-bottom:8px;background:#f9f9f9;border:2px solid #e0e0e0;border-left:4px solid #667eea;border-radius:6px;cursor:pointer;transition:all .2s;position:relative}.symbol-item:hover{background:#f0f0f0;border-color:#667eea}.symbol-item.selected{background:#e8ebff;border-color:#667eea;box-shadow:0 2px 8px #667eea4d}.symbol-item.checked{background:#fff3e0;border-color:#ff9800}.symbol-checkbox{width:18px;height:18px;cursor:pointer;margin-right:8px;flex-shrink:0}.symbol-color-indicator{width:12px;min-width:12px;height:12px;border-radius:50%;margin-right:8px;flex-shrink:0}.symbol-info{flex:1}.symbol-name{font-size:14px;font-weight:700;color:#333;margin-bottom:4px}.symbol-type{font-size:12px;color:#667eea;margin-bottom:2px;font-weight:600}.symbol-details{font-size:12px;color:#666;margin-bottom:2px}.symbol-confidence{font-size:12px;color:#4caf50;font-weight:700}.symbol-confidence.low{color:#f44336}.btn-delete-symbol{padding:6px 12px;background:#f44336;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.btn-delete-symbol:hover{background:#d32f2f}.symbols-placeholder{text-align:center;padding:40px 20px;color:#999}.symbols-placeholder p{margin:10px 0;font-size:14px}.btn-back{padding:10px 24px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-back:hover{background:#5568d3;box-shadow:0 2px 8px #667eea66}.btn-back:active{transform:translateY(1px)}.document-settings{background:#f0f4ff;padding:20px;border-radius:8px;margin-bottom:20px}.document-settings h2{margin:0 0 16px;font-size:16px;color:#333;font-weight:700}.document-settings h3{margin:16px 0 8px;font-size:14px;color:#555;font-weight:700}.document-types{display:flex;flex-direction:column;gap:12px}.document-type-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#333}.document-type-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.document-type-item span{-webkit-user-select:none;user-select:none}.application-upload{margin-top:16px;padding-top:16px;border-top:1px solid #ddd}.file-input{display:none}.file-label{display:block;padding:12px 16px;background:#fff;border:2px dashed #667eea;border-radius:6px;text-align:center;cursor:pointer;font-size:14px;color:#667eea;transition:all .3s ease}.file-label:hover{background:#f8f9ff;border-color:#5568d3}.action-buttons{margin-top:20px;padding-top:20px;border-top:2px solid #e0e0e0}.btn-next{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-next:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-next:active:not(:disabled){transform:translateY(0)}.btn-next:disabled{background:#ccc;cursor:not-allowed;box-shadow:none}.confirm-page{min-height:100vh;background:#f5f5f5;display:flex;flex-direction:column}.confirm-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px}.confirm-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;padding:40px;max-width:900px;width:100%}.confirm-card h2{font-size:24px;color:#333;margin:0 0 10px;padding-bottom:10px;border-bottom:2px solid #667eea}.confirm-description{color:#666;font-size:14px;line-height:1.8;margin-bottom:30px}.confirm-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:40px}.confirm-info-box{background:#f9fafb;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.confirm-info-box h3{font-size:14px;color:#667eea;margin:0 0 12px;font-weight:600}.file-info{margin-bottom:8px}.file-info:last-child{margin-bottom:0}.file-name{font-size:16px;font-weight:700;color:#333}.file-pages{font-size:13px;color:#888;margin-top:4px}.document-list{margin:0;padding-left:20px;font-size:14px;font-weight:700;color:#333}.document-list li{margin-bottom:6px}.document-list li:last-child{margin-bottom:0}.no-documents{color:#888;font-size:14px;margin:0}.summary-section{margin-bottom:30px}.summary-section h3{font-size:16px;color:#333;margin:0 0 15px;padding-bottom:8px;border-bottom:1px solid #e0e0e0}.summary-table{width:100%;border-collapse:collapse;font-size:14px}.summary-table th{background:#f5f5f5;padding:12px 16px;text-align:left;font-weight:600;color:#555;border-bottom:2px solid #ddd}.summary-table td{padding:12px 16px;border-bottom:1px solid #eee;color:#333}.summary-table .col-name{width:30%}.summary-table .col-type{width:20%}.summary-table .col-price{width:18%;text-align:right}.summary-table .col-count{width:12%;text-align:center}.summary-table .col-subtotal{width:20%;text-align:right}.summary-table td.type{color:#666;font-size:13px}.summary-table td.num{text-align:right;font-family:Consolas,Monaco,monospace}.summary-table td.count{text-align:center;font-weight:600}.summary-table .no-data{text-align:center;color:#888;padding:30px}.summary-table tfoot{background:#667eea;color:#fff}.summary-table .total-row td{padding:14px 16px;font-weight:700;border:none}.summary-table .total-price{font-size:18px;font-family:Consolas,Monaco,monospace}.summary-table tbody tr:hover{background:#f9f9f9}.action-area{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #e0e0e0}.action-right{display:flex;gap:15px}.btn-outline{padding:12px 24px;background:#fff;border:2px solid #667eea;color:#667eea;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-outline:hover:not(:disabled){background:#667eea;color:#fff}.btn-outline:disabled{opacity:.5;cursor:not-allowed}.btn-preview{display:flex;align-items:center;gap:6px}.btn-preview .icon{font-size:18px}.btn-execute{padding:14px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #667eea4d}.btn-execute:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-execute:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(max-width:768px){.confirm-card{padding:24px}.confirm-info-grid{grid-template-columns:1fr}.action-area{flex-direction:column;gap:16px}.action-right{width:100%;flex-direction:column}.btn-outline,.btn-execute{width:100%;text-align:center}.summary-table{font-size:12px}.summary-table th,.summary-table td{padding:8px 10px}}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--bg-color: #f3f4f6;--text-main: #1f2937;--text-sub: #6b7280;--border: #d1d5db;--danger: #dc2626;--success: #10b981;--header-height: 64px}.dashboard-page{min-height:100vh;background-color:var(--bg-color)}.dashboard-header{height:var(--header-height);background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 30px;position:sticky;top:0;z-index:50;box-shadow:0 1px 2px #0000000d}.dashboard-header h1{font-size:22px;font-weight:700;color:var(--primary);margin:0}.user-info{display:flex;align-items:center;gap:15px}.user-info span{background:#eff6ff;padding:8px 15px;border-radius:20px;color:var(--primary);font-weight:700;font-size:14px;display:flex;align-items:center;gap:5px}.user-info span:before{content:""}.btn-settings{background:none;border:none;color:var(--text-sub);font-size:14px;text-decoration:underline;cursor:pointer;padding:8px 12px;transition:color .2s}.btn-settings:hover{color:var(--text-main)}.btn-ocr-proposals{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:14px;cursor:pointer;padding:10px 18px;border-radius:8px;transition:all .3s;font-weight:600;box-shadow:0 2px 8px #667eea4d}.btn-ocr-proposals:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-profile{background:none;border:none;color:var(--primary);font-size:14px;text-decoration:underline;cursor:pointer;padding:8px 12px;transition:color .2s;font-weight:500}.btn-profile:hover{color:#0056b3;text-decoration:none}.btn-logout{background:none;border:none;color:var(--danger);font-size:14px;text-decoration:underline;cursor:pointer;padding:8px 12px;transition:color .2s;font-weight:500}.btn-logout:hover{color:#b91c1c;text-decoration:none}.dashboard-main{max-width:1000px;margin:30px auto 50px;padding:40px;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.dashboard-main h2{font-size:22px;margin-bottom:20px;color:var(--text-main);border-bottom:1px solid #eee;padding-bottom:10px}.dashboard-main h3{font-size:18px;margin:25px 0 15px;border-left:5px solid var(--primary);padding-left:12px;display:flex;align-items:center;justify-content:space-between}.setup-notice{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:15px 20px;margin-bottom:30px;text-align:center}.setup-notice p{margin:0;color:#92400e;font-weight:500;font-size:14px}.loading,.error{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:18px}.loading{color:var(--text-sub)}.error{flex-direction:column;gap:16px}.error p{color:var(--danger);font-weight:500}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:40px}.menu-btn{display:flex;align-items:flex-start;gap:15px;padding:25px 30px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid var(--primary);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;position:relative;box-shadow:0 2px 4px #2563eb26;min-height:auto}.menu-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb40}.menu-btn:active{transform:translateY(0);box-shadow:0 2px 4px #2563eb26}.menu-btn.completed{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:var(--success)}.menu-btn.completed:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98140}.menu-number{font-size:18px;font-weight:700;color:var(--primary);flex-shrink:0}.menu-text{flex:1}.menu-title{font-size:16px;font-weight:700;color:var(--text-main);margin-bottom:4px}.menu-subtitle{font-size:13px;color:var(--text-sub);margin-bottom:8px}.menu-status{font-size:14px;color:var(--text-sub)}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center}.modal-header{background:var(--primary);color:#fff;padding:20px 30px;display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:20px;font-weight:700}.modal-close{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.modal-close:hover{opacity:.8}.step-nav{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid var(--border)}.step-item{padding:12px 20px;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;color:var(--text-sub);font-weight:500}.step-item:hover{color:var(--text-main)}.step-item.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.setting-section{display:block}.setting-section h3{font-size:18px;margin-bottom:20px;margin-top:30px;color:var(--text-main)}.setting-section h3:first-child{margin-top:0}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-main);font-size:14px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=date],.form-group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.qualifications-list{margin-bottom:15px}.qualification-item h4{margin:0 0 15px;font-size:14px;color:var(--text-sub)}.form-row>div{flex:1}.modal-footer{padding:20px 30px;border-top:1px solid var(--border);display:flex;justify-content:center;background:#f9fafb}.modal-footer .btn{min-width:200px;padding:12px 30px;font-size:16px;font-weight:600;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}.modal-footer .btn:hover{background:var(--primary-hover)}.btn-add{background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-add:hover{background:#059669}.btn-remove-small{background:none;border:none;color:var(--danger);font-size:14px;cursor:pointer;padding:4px 8px;text-decoration:underline}.btn-remove-small:hover{color:#b91c1c}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.marker-hint{font-size:12px;color:var(--text-sub);margin-bottom:15px}.marker-option:hover{box-shadow:0 2px 4px #0000001a}.marker-option input[type=radio]{margin-right:8px}.marker-option span{display:block}.marker-option small{font-size:10px;color:#999;font-weight:400}.products-hint{font-size:13px;color:var(--text-sub);margin-bottom:15px}.products-table-container{border:1px solid var(--border);border-radius:6px;padding:20px;text-align:center}.text-muted{color:var(--text-sub);font-size:14px}.settings-buttons{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.btn-outline{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:20px 25px;border:2px solid var(--primary);border-radius:8px;background:linear-gradient(135deg,#eff6ff,#dbeafe);cursor:pointer;transition:all .2s ease;text-align:left;box-shadow:0 2px 4px #2563eb26}.btn-outline:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb40}.btn-outline:active{transform:translateY(0);box-shadow:0 2px 4px #2563eb26}.setting-title{font-size:16px;font-weight:700;color:var(--text-main);margin-bottom:8px}.setting-desc{font-size:13px;color:var(--text-sub);margin-bottom:12px}.setting-badge{position:absolute;top:15px;right:15px;padding:4px 12px;background:#fef3c7;color:#92400e;border-radius:12px;font-size:12px;font-weight:700}.setting-badge.set{background:#d1fae5;color:#065f46}@media(max-width:768px){.dashboard-header{padding:0 16px}.dashboard-header h1{font-size:18px}.dashboard-main{margin:16px;padding:24px 16px}.menu-grid{grid-template-columns:1fr}}.drawing-canvas-container{position:relative;width:100%;height:100%;overflow:auto;background:#f5f5f5;display:flex;align-items:center;justify-content:center}.drawing-image{max-width:100%;max-height:100%;display:block;-webkit-user-select:none;user-select:none;cursor:crosshair}.symbol-marker{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;transition:all .2s ease;-webkit-user-select:none;user-select:none}.symbol-marker:hover{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 4px 12px #0006;z-index:999!important}.symbol-marker.selected{animation:pulse 1s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #0006}50%{box-shadow:0 0 0 8px #0000}}.symbol-marker.low-confidence{border-color:red!important;border-width:3px!important;animation:blink 1.5s infinite}.confidence-label{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:2px 6px;border-radius:3px;font-size:11px;white-space:nowrap;pointer-events:none}.symbol-marker.low-confidence .confidence-label{background:red}.edit-mode-indicator{position:absolute;top:10px;left:10px;background:#667eeae6;color:#fff;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #0003;pointer-events:none;z-index:1001}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:100;animation:fadeIn .2s}.modal-content{background:#fff;width:1200px;max-height:85vh;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040}.modal-header{padding:20px 30px;background:var(--text-main);color:#fff;display:flex;justify-content:space-between;align-items:center;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:20px;color:#fff;border:none;padding:0}.btn-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.btn-close:hover{opacity:.8}.modal-tabs{display:flex;justify-content:center;gap:20px;padding:20px 30px 0;background:#fff}.modal-tabs button{padding:10px 25px;background:#e5e7eb;color:var(--text-sub);border:none;border-radius:30px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s}.modal-tabs button.active{background:var(--primary);color:#fff}.modal-tabs button:hover:not(.active){background:#d1d5db}.modal-body{flex:1;overflow-y:auto;padding:30px}.tab-content{display:none;animation:fadeIn .3s}.tab-content.active{display:block}.modal-body h3{font-size:18px;margin:30px 0 15px;color:var(--text-main);border-left:5px solid var(--primary);padding-left:12px}.modal-body h3:first-child{margin-top:0}.form-group label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:var(--text-main)}.form-group input[type=text],.form-group input[type=date],.form-group select{width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;box-sizing:border-box;font-size:16px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.qualifications-table{width:100%;border-collapse:collapse;margin-top:10px}.qualifications-table thead{background:#f1f5f9}.qualifications-table th{padding:12px;text-align:left;border:1px solid #e2e8f0;font-size:13px;font-weight:600;color:var(--text-main)}.qualifications-table td{padding:8px;border:1px solid #e2e8f0}.qualifications-table input{width:100%;border:1px solid transparent;background:transparent;padding:8px;font-size:14px;box-sizing:border-box}.qualifications-table input:focus{background:#fff;border-color:var(--primary);outline:none}.btn-add-row{margin-top:10px;padding:8px 16px;background:#f3f4f6;border:1px solid var(--border);border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-add-row:hover{background:#e5e7eb}.manufacturer-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#f9fafb;padding:20px;border-radius:8px;border:1px solid var(--border)}.manufacturer-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;padding:5px;color:var(--text-main)}.manufacturer-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.modal-footer{padding:20px 30px;border-top:1px solid var(--border);text-align:right;background:#f9fafb;border-radius:0 0 12px 12px;display:flex;gap:10px;justify-content:flex-end}.btn-cancel{padding:12px 24px;background:#fff;border:1px solid var(--border);color:var(--text-main);border-radius:6px;font-weight:700;font-size:16px;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f9fafb;border-color:var(--text-main)}.btn-save{padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-weight:700;font-size:16px;cursor:pointer;transition:all .2s}.btn-save:hover{background:var(--primary-hover)}.btn-save:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#fee2e2;border:1px solid #dc2626;border-radius:8px;padding:15px;margin-bottom:20px;color:#991b1b;font-size:14px}.manufacturer-selection{background:#f9fafb;padding:20px;border-radius:8px;border:1px solid var(--border);display:flex;flex-direction:column;gap:15px}.manufacturer-item{display:flex;align-items:center;gap:20px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;min-width:150px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-sub)}.radio-label input[type=radio],.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.price-master-table-wrapper{overflow-x:auto;margin-top:15px}.price-master-table{width:100%;border-collapse:collapse;min-width:1000px}.price-master-table thead{background:#f1f5f9}.price-master-table th{padding:12px 8px;text-align:center;border:1px solid #e2e8f0;font-size:13px;font-weight:600;color:var(--text-main);white-space:nowrap}.price-master-table td{padding:4px;border:1px solid #e2e8f0}.price-master-table .delete-button{width:100%;padding:6px;background:#dc2626;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s}.price-master-table .delete-button:hover{background:#b91c1c}.price-master-table .editable-input,.price-master-table .readonly-input{width:100%;padding:6px 8px;border:1px solid transparent;font-size:13px;box-sizing:border-box;background:#fff}.price-master-table .readonly-input{background:#f9fafb;color:#6b7280;cursor:not-allowed}.price-master-table .editable-input:hover{border-color:#cbd5e1}.price-master-table .editable-input:focus{outline:none;border-color:var(--primary);background:#fffbeb}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:960px){.modal-content{width:95%;max-height:90vh}}@media(max-width:768px){.modal-tabs{gap:10px;padding:15px 20px 0}.modal-tabs button{padding:8px 16px;font-size:13px}.modal-body{padding:20px}.manufacturer-grid{grid-template-columns:1fr}.manufacturer-item{flex-direction:column;align-items:flex-start;gap:8px}}.upload-section h2{font-size:22px;margin-bottom:20px;color:var(--text-main);border-bottom:1px solid #eee;padding-bottom:10px}.upload-section h3{font-size:18px;margin:25px 0 15px;border-left:5px solid var(--primary);padding-left:12px}.upload-zone{border:2px dashed #cbd5e1;border-radius:10px;padding:50px;text-align:center;background:#f8fafc;transition:all .2s;cursor:pointer;margin-bottom:20px}.upload-zone:hover{border-color:var(--primary);background:#eff6ff}.upload-zone.drag-over{border-color:var(--primary);background:#dbeafe}.upload-icon{font-size:48px;margin-bottom:15px;display:block}.upload-zone p{margin:8px 0}.upload-zone p:first-of-type{font-size:16px;font-weight:700;color:var(--text-main)}.upload-zone p:last-of-type{font-size:14px;color:var(--text-sub)}.upload-zone input[type=file]{display:none}.file-list{margin-top:15px}.file-item{background:#fff;border:1px solid var(--border);padding:15px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;box-shadow:0 1px 2px #0000000d}.file-item-left{display:flex;align-items:center;gap:10px}.file-item-left span:first-child{font-size:24px}.file-item-left span:last-child{font-weight:700;color:var(--text-main)}.file-item-right{display:flex;align-items:center;gap:10px}.file-item-right span{font-size:13px;color:var(--text-sub)}.file-item-right input[type=text]{width:100px;padding:8px;border:1px solid var(--border);border-radius:4px;font-size:14px}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#f9fafb;padding:20px;border-radius:8px;border:1px solid var(--border);margin-bottom:20px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;padding:5px;color:var(--text-main)}.secondary-upload{margin-top:20px;padding:20px;border:1px solid var(--border);border-radius:8px;background:#f1f5f9;opacity:.6;pointer-events:none;transition:all .3s}.secondary-upload.active{opacity:1;pointer-events:auto;background:#fff;border-color:var(--primary)}.secondary-upload h4{margin:0 0 10px;font-size:16px;color:var(--text-main)}.secondary-upload p{margin-bottom:10px;font-size:14px;color:var(--text-sub)}.secondary-upload input[type=file]{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;font-size:14px}.settings-section{margin-top:60px;border-top:1px solid #eee;padding-top:40px}.settings-section>p{margin-bottom:20px;font-size:14px;color:var(--text-sub)}.action-area{text-align:center;margin-top:40px;padding-top:20px;border-top:1px solid #eee}.action-area p{margin-bottom:15px;font-size:14px;color:var(--text-sub)}.btn-execute{width:300px;padding:16px 32px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;border:3px solid var(--primary-hover);border-radius:8px;font-size:20px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #2563eb4d}.btn-execute:hover{background:linear-gradient(135deg,var(--primary-hover) 0%,#1e40af 100%);border-color:#1e40af;transform:translateY(-3px);box-shadow:0 8px 16px #2563eb66}.btn-execute:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);border-color:#6b7280;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #0000001a;opacity:.6}.login-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-width:400px;width:100%;padding:40px}.login-header{text-align:center;margin-bottom:2rem}.login-header .logo{font-size:2rem;font-weight:700;color:#2563eb;margin-bottom:.5rem;display:inline-block}.login-header .subtitle{font-size:1rem;color:#666;margin:0}.login-title{font-size:1.5rem;font-weight:600;color:#333;margin:0 0 1.5rem;text-align:left}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:500;color:#333}.required{color:#d93025;margin-left:.25rem}.form-input{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-input--error{border-color:#d93025}.form-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-error{font-size:.875rem;color:#d93025;margin-top:.25rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:#1a73e8}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-full-width{width:100%}.alert{padding:.75rem 1rem;border-radius:4px;font-size:.875rem}.alert-error{background-color:#fce8e6;color:#d93025;border:1px solid #d93025}.external-links{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.link{font-size:.875rem;text-decoration:none;transition:color .2s}.link--primary{color:#1a73e8}.link--primary:hover{color:#1557b0;text-decoration:underline}.link--secondary{color:#666}.link--secondary:hover{color:#333;text-decoration:underline}.text-muted{color:#999;font-size:.75rem}.divider{border-top:1px solid #e5e7eb;margin:2rem 0}.external-links{text-align:center}.external-title{margin-bottom:1rem;font-size:.875rem;color:#6b7280}.external-buttons{display:grid;grid-template-columns:1fr;gap:.8rem}.external-btn{display:block;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;text-decoration:none;color:#333;font-size:.9rem;transition:background-color .2s,border-color .2s}.external-btn:hover{background:#f3f4f6;border-color:#d1d5db}.external-btn small{font-size:.75rem;font-weight:400;color:#6b7280}.otp-description{text-align:center;color:#666;margin-bottom:1.5rem;line-height:1.6}.otp-input{text-align:center;font-size:1.5rem;letter-spacing:.5rem}.otp-timer{text-align:center;font-size:.875rem;color:#6b7280;margin-bottom:1rem}.error-msg{display:none;padding:.75rem;background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;font-size:.875rem;margin-bottom:1rem}.error-msg.visible{display:block}.btn-link{background:none;border:none;color:#2563eb;font-size:.875rem;cursor:pointer;padding:.5rem;text-align:center;width:100%;margin-top:.5rem}.btn-link:hover{text-decoration:underline}@media(max-width:480px){.login-card{padding:30px 20px}.login-title,h2{font-size:1.25rem}.form-input{font-size:16px}}.loading-container{display:flex;align-items:center;justify-content:center;height:100vh}.loading-content{text-align:center}.loading-icon{font-size:24px;margin-bottom:10px}.side-banner.left-top{top:20%;height:20%}.side-banner.left-middle{top:40%;height:20%}.side-banner.left-bottom{top:60%;height:20%}.side-banner.right-top{top:20%;height:20%}.side-banner.right-middle{top:40%;height:20%}.side-banner.right-bottom{top:60%;height:20%}.upload-section.margin-top{margin-top:30px}.file-list-title{margin:20px 0 15px;font-size:16px}.file-item{display:flex;align-items:center;gap:15px;padding:15px;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;margin-bottom:10px}.file-item-icon{font-size:24px}.file-item-content{flex:1}.file-item-name{font-weight:700;margin-bottom:5px}.file-item-size{font-size:12px;color:#6b7280}.file-item-label{display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}.file-item-checkbox{width:18px;height:18px}.file-item-label-text{font-size:14px;font-weight:500}.file-item-page-control{display:flex;align-items:center;gap:8px}.file-item-page-label{font-size:13px;color:#6b7280;white-space:nowrap}.file-item-page-input{width:120px;padding:8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.file-item-page-input:disabled{background:#e5e7eb;cursor:not-allowed}.file-item-remove{background:none;border:none;color:#dc2626;font-size:20px;cursor:pointer;padding:4px 8px}.cert-file-item{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid;border-radius:8px}.cert-file-item.processing{background:#fef3c7;border-color:#f59e0b}.cert-file-item.complete{background:#f0fdf4;border-color:#10b981}.cert-file-item.pending{background:#f0f9ff;border-color:#0ea5e9}.cert-file-icon{font-size:24px}.cert-file-content{flex:1}.cert-file-name{font-weight:700;margin-bottom:5px}.cert-file-size{font-size:12px;color:#6b7280;margin-bottom:5px}.cert-file-status{font-size:12px;font-weight:700}.cert-file-status.processing{color:#d97706}.cert-file-status.complete{color:#059669}.cert-file-status.pending{color:#6b7280}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center}.modal-window{background:#fff;width:90%;max-width:900px;max-height:90vh;border-radius:12px;overflow:hidden;box-shadow:0 20px 50px #0000004d}.modal-header{background:#2563eb;color:#fff;padding:20px 30px;display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:18px;font-weight:700}.modal-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-body{padding:30px;max-height:calc(90vh - 180px);overflow-y:auto}.modal-footer{padding:20px 30px;border-top:1px solid #e5e7eb;display:flex;justify-content:center;background:#f9fafb}.step-nav{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #e5e7eb}.step-item{padding:12px 20px;cursor:pointer;border-bottom:3px solid transparent;color:#6b7280;font-weight:500;background:transparent;border-radius:8px 8px 0 0}.step-item.active{border-bottom:3px solid #2563eb;color:#2563eb;font-weight:700;background:#eff6ff}.setting-section{display:block;padding:20px;background:#fff}.setting-section h3{font-size:18px;margin-bottom:15px;color:#1f2937}.setting-section h3.margin-top{margin-top:30px;margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#1f2937;font-size:14px}.form-group input[readonly]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-group input[type=text],.form-group input[type=date]{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px}.form-row{display:flex;gap:10px;margin-bottom:10px}.form-group.flex-1{flex:1;margin-bottom:0}.qualification-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:15px;margin-bottom:15px}.qualification-item h4{margin:0 0 15px;font-size:14px;color:#6b7280}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;margin-bottom:10px}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.btn-add{background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.btn-remove-small{background:none;border:none;color:#dc2626;font-size:14px;cursor:pointer;padding:4px 8px;text-decoration:underline}.marker-hint{font-size:12px;color:#6b7280;margin-bottom:15px}.marker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px;padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.marker-option{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px 15px;font-size:14px;font-weight:700;border:1px solid #ccc;border-radius:6px;background-color:#fff;color:#333;cursor:pointer;transition:all .2s}.marker-option.selected{border:2px solid #4CAF50;background-color:#e8f5e9;color:#2e7d32}.marker-option-content{display:flex;align-items:center;gap:8px;width:100%}.marker-option-date{font-size:10px;color:#666;font-weight:400}.marker-option.selected .marker-option-date{color:#666}.products-hint{font-size:13px;color:#6b7280;margin-bottom:15px}.products-table-container{border:1px solid #e5e7eb;border-radius:6px;overflow-x:auto;max-height:400px;overflow-y:auto}.products-table-container.empty{padding:20px;text-align:center}.products-table-container table{width:100%;border-collapse:collapse;font-size:13px}.products-table-container thead{background:#f9fafb;position:sticky;top:0}.products-table-container th{padding:10px 8px;border-bottom:2px solid #e5e7eb}.products-table-container th.text-center{text-align:center;width:50px}.products-table-container th.spec{text-align:left;width:120px}.products-table-container th.name{text-align:left}.products-table-container th.price{text-align:right;width:100px}.products-table-container td{padding:8px;border-bottom:1px solid #e5e7eb}.products-table-container td.text-center{text-align:center}.products-table-container td.text-right{text-align:right}.products-table-container td.text-bold{font-weight:500}.products-table-container input[type=checkbox]{width:16px;height:16px;cursor:pointer}.btn-execute{opacity:1}.btn-execute:disabled{opacity:.5}.text-muted{color:#6b7280}.text-bold{font-weight:700}.text-small{font-size:12px}.text-medium{font-size:14px}.empty-state{padding:20px;text-align:center;color:#6b7280}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.gap-8{gap:8px}.gap-10{gap:10px}.gap-15{gap:15px}.mb-8{margin-bottom:8px}.mb-10{margin-bottom:10px}.mt-15{margin-top:15px}.p-4{padding:4px}.pl-15{padding-left:15px}.min-w-120{min-width:120px}.color-primary{color:#667eea}.hidden{display:none}.btn-primary{background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer}.btn-primary:hover{background:#1d4ed8}.btn-save{min-width:200px;padding:12px 30px;font-size:16px;font-weight:600}.text-xs{font-size:12px}.text-sm{font-size:13px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:18px}.text-2xl{font-size:28px}.mt-20{margin-top:20px}.mt-30{margin-top:30px}.mb-20{margin-bottom:20px}.icon-large{font-size:24px}.icon-small{width:18px;height:18px}.flex-2{flex:2}.gap-20{gap:20px}.w-100{width:100px}.btn-small{padding:6px 12px;font-size:12px}.btn-medium{padding:10px 20px;font-size:14px}.btn-large{padding:15px;font-size:16px}.admin-title{margin-bottom:20px;font-size:28px;color:#2c3e50}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:30px}.admin-card{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s}.admin-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.card-title{font-size:16px;color:#7f8c8d;margin-bottom:10px}.card-description{font-size:14px;color:#95a5a6}.table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.table-full{width:100%;border-collapse:collapse}.table-header-row{background-color:#ecf0f1}.table-header-cell{padding:15px;text-align:left;border-bottom:2px solid #bdc3c7}.table-body-row{border-bottom:1px solid #ecf0f1}.table-body-cell{padding:15px}.pagination{margin-top:20px;display:flex;justify-content:center;gap:10px}.header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.search-section{margin-bottom:20px}.color-secondary{color:#2c3e50}.color-muted-dark{color:#7f8c8d}.color-muted-light{color:#95a5a6}.drawing-area-flex{flex:2}.file-tabs{display:flex;gap:4px;padding:10px;background:#f9f9f9;border-bottom:1px solid #e0e0e0;overflow-x:auto}.file-tab-active{padding:8px 16px;background:#667eea;color:#fff;border:1px solid #667eea;border-radius:4px 4px 0 0;font-size:14px;white-space:nowrap;font-weight:700}.edit-mode-badge{position:absolute;top:10px;left:10px;background:#667eeae6;color:#fff;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #0003;z-index:1001}.symbol-info-flex{flex:1}.symbol-item-delete-btn{padding:6px 12px;font-size:12px}.summary-section{margin-top:15px;font-size:14px}.product-category{padding:20px;background:#f0f4ff;border-radius:8px;margin-bottom:15px}.category-title{font-weight:700;margin-bottom:8px;color:#667eea}.product-item{padding:4px 0}.table-total-row{font-size:16px}.table-total-value{font-size:18px;color:#667eea}.note-list{margin:0;padding-left:20px}.export-buttons{display:flex;gap:15px}.export-success-message{padding:15px;background:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:4px;margin-top:15px;font-size:14px}.section-box{background:#f9f9f9;padding:20px;border-radius:8px;border:1px solid #ddd;margin-bottom:20px}.section-title-large{font-size:24px;margin-bottom:15px;color:#333;font-weight:700;border-bottom:2px solid #667eea;padding-bottom:10px}.info-row{display:flex;gap:10px;margin-bottom:10px}.info-label{min-width:120px}.file-list-container{margin-top:20px}.upload-file-item{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:10px;background:#fff;transition:all .2s}.upload-file-item:hover{box-shadow:0 2px 8px #0000001a}.upload-file-icon{font-size:24px}.upload-file-content{flex:1}.upload-file-name{font-weight:700;margin-bottom:5px}.upload-file-meta{font-size:12px;color:var(--text-sub)}.upload-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.upload-checkbox{width:18px;height:18px;cursor:pointer}.upload-checkbox-text{font-size:14px;font-weight:500}.upload-file-actions{display:flex;align-items:center;gap:8px}.upload-page-label{font-size:13px;color:var(--text-sub);white-space:nowrap}.upload-page-input{width:60px;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;text-align:center}.upload-delete-btn{padding:6px 12px;background:#ef4444;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.upload-delete-btn:hover{background:#dc2626}.upload-empty{margin-top:20px;padding:40px;text-align:center;color:#9ca3af;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px}.login-test-account{margin-top:20px;padding:15px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;font-size:14px}.login-test-title{font-weight:700;margin-bottom:10px}.login-test-item{margin-bottom:8px}.admin-layout{display:flex;min-height:100vh;width:100vw;overflow:hidden;margin:0;padding:0}.admin-sidebar{width:250px;background:linear-gradient(180deg,#667eea,#764ba2);color:#fff;padding:30px 20px;box-shadow:2px 0 5px #0000001a;overflow-y:auto;flex-shrink:0}.admin-sidebar-title{margin-bottom:30px;font-size:20px;margin-top:0;padding-top:0;padding-left:20px;margin-left:0}.user-form-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.user-form-container{background:#fff;border-radius:8px;padding:30px;width:90%;max-width:500px;box-shadow:0 4px 6px #0000001a;max-height:90vh;overflow-y:auto}.user-form-title{margin-bottom:20px;font-size:24px;color:#2c3e50}.user-form-group{margin-bottom:20px}.user-form-label{display:block;margin-bottom:5px;font-size:14px;font-weight:700;color:#34495e}.user-form-required{color:red}.user-form-hint{font-size:12px;color:#7f8c8d}.user-form-input{width:100%;padding:10px;border:1px solid #bdc3c7;border-radius:4px;font-size:14px;box-sizing:border-box}.user-form-select{width:100%;padding:10px;border:1px solid #bdc3c7;border-radius:4px;font-size:14px;box-sizing:border-box;background:#fff;cursor:pointer}.user-form-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#667eea;cursor:pointer;font-size:12px;padding:5px}.user-form-actions{display:flex;gap:10px;justify-content:flex-end}.user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.list-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.list-page-title{font-size:28px;color:#2c3e50}.list-page-search{margin-bottom:20px;display:flex;gap:10px}.list-page-search-input{flex:1;padding:10px 15px;border:1px solid #ddd;border-radius:4px;font-size:14px}.list-page-search-btn{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700}.list-page-search-btn:hover{background:#5568d3}.list-page-table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.list-page-table{width:100%;border-collapse:collapse}.list-page-table thead tr{background-color:#ecf0f1}.list-page-table th{padding:15px;text-align:left;border-bottom:2px solid #bdc3c7}.list-page-table tbody tr{border-bottom:1px solid #ecf0f1}.list-page-table td{padding:15px}.list-page-edit-btn{padding:6px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;margin-right:5px}.list-page-edit-btn:hover{background:#2980b9}.list-page-delete-btn{padding:6px 12px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer}.list-page-delete-btn:hover{background:#c0392b}.list-page-pagination{margin-top:20px;display:flex;justify-content:center;gap:10px}.list-page-pagination button{padding:8px 16px;border:1px solid #667eea;background:#fff;color:#667eea;border-radius:4px;cursor:pointer}.list-page-pagination button:disabled{opacity:.5;cursor:not-allowed}.list-page-pagination button:hover:not(:disabled){background:#667eea;color:#fff}.list-page-pagination span{padding:8px 16px;display:flex;align-items:center}.list-page-create-btn{padding:10px 20px;background-color:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px}.list-page-create-btn:hover{background-color:#2980b9}.list-page-filter{display:flex;gap:15px;margin-bottom:20px}.list-page-filter-input{flex:1;max-width:400px;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px}.list-page-filter-select{padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px;min-width:150px}.list-page-error{color:red}.list-page-table-scroll{overflow-x:auto}.list-page-table-wide{width:100%;border-collapse:collapse;min-width:1000px}.list-page-table-wide thead tr{background-color:#ecf0f1}.list-page-table-wide th{padding:12px;text-align:left;border-bottom:2px solid #bdc3c7;white-space:nowrap}.list-page-table-wide th.align-right{text-align:right}.list-page-table-wide tbody tr{border-bottom:1px solid #ecf0f1}.list-page-table-wide td{padding:12px}.list-page-table-wide td.align-right{text-align:right}.list-page-table-wide td.max-width-200{max-width:200px}.list-page-product-name{font-weight:700}.list-page-actions{white-space:nowrap}.list-page-edit-btn-small{padding:5px 10px;background-color:#f39c12;color:#fff;border:none;border-radius:3px;cursor:pointer;margin-right:5px;font-size:12px}.list-page-edit-btn-small:hover{background-color:#e67e22}.list-page-delete-btn-small{padding:5px 10px;background-color:#e74c3c;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:12px}.list-page-delete-btn-small:hover{background-color:#c0392b}.analysis-empty{text-align:center;padding:40px;background:#f9fafb;border-radius:8px;margin:20px}.confirm-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.canvas-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;color:#667eea}.manufacturer-form-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.manufacturer-form-container{background-color:#fff;padding:30px;border-radius:8px;width:100%;max-width:500px;box-shadow:0 4px 6px #0000001a}.manufacturer-form-title{margin-bottom:20px;font-size:24px;color:#2c3e50}.manufacturer-form-field{margin-bottom:20px}.manufacturer-form-label{display:block;margin-bottom:5px;font-size:14px;font-weight:700;color:#34495e}.manufacturer-form-required{color:red}.manufacturer-form-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px}.manufacturer-form-error{padding:10px;background-color:#fee;color:#c33;border-radius:5px;margin-bottom:20px;font-size:14px}.manufacturer-form-actions{display:flex;gap:10px;justify-content:flex-end}.manufacturer-form-btn-cancel{padding:10px 20px;background-color:#95a5a6;color:#fff;border:none;border-radius:5px;font-size:14px;cursor:pointer}.manufacturer-form-btn-cancel:disabled{cursor:not-allowed;opacity:.6}.manufacturer-form-btn-submit{padding:10px 20px;background-color:#3498db;color:#fff;border:none;border-radius:5px;font-size:14px;cursor:pointer}.manufacturer-form-btn-submit:disabled{background-color:#bdc3c7;cursor:not-allowed}.admin-sidebar-nav-list{list-style:none;padding:0;margin:0}.admin-sidebar-nav-item{margin-bottom:10px}.admin-sidebar-nav-btn{width:100%;padding:10px 15px 10px 20px;border:none;background-color:transparent;color:#fff;text-align:left;cursor:pointer;border-radius:5px;font-size:14px;transition:background-color .2s}.admin-sidebar-nav-btn:hover{background-color:#34495e}.admin-main-container{flex:1;display:flex;flex-direction:column;min-width:0;overflow:auto}.admin-header{background-color:#ecf0f1;padding:15px 30px;border-bottom:1px solid #bdc3c7;display:flex;justify-content:space-between;align-items:center;min-height:60px}.admin-header-user-info{font-size:14px;color:#7f8c8d}.admin-header-user-name{font-weight:700}.admin-header-user-badge{margin-left:10px;font-size:12px;padding:2px 8px;background-color:#3498db;color:#fff;border-radius:3px}.admin-header-logout-btn{padding:8px 20px;background-color:#e74c3c;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px}.admin-main-content{flex:1;padding:30px;background-color:#f8f9fa;overflow:auto;min-height:calc(100vh - 60px)}.admin-user-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-user-list-title{font-size:28px;color:#2c3e50}.admin-user-list-btn-toggle{padding:10px 20px;background-color:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px}.admin-user-list-form-card{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.admin-user-list-form-title{font-size:20px;margin-bottom:15px}.admin-user-list-form-field{margin-bottom:15px}.admin-user-list-form-label{display:block;margin-bottom:5px;font-size:14px;font-weight:700}.admin-user-list-form-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px}.admin-user-list-form-btn-submit{padding:10px 20px;background-color:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px}.admin-user-list-table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.admin-user-list-table{width:100%;border-collapse:collapse}.admin-user-list-table thead tr{background-color:#ecf0f1}.admin-user-list-table th{padding:15px;text-align:left;border-bottom:2px solid #bdc3c7}.admin-user-list-table tbody tr{border-bottom:1px solid #ecf0f1}.admin-user-list-table td{padding:15px}.admin-user-list-role-badge{background-color:#3498db;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700}.admin-user-list-status-badge{color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700}.admin-user-list-status-badge.active{background-color:#27ae60}.admin-user-list-status-badge.inactive{background-color:#95a5a6}.admin-user-list-delete-btn{padding:5px 10px;background-color:#e74c3c;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:12px}.admin-user-list-pagination{margin-top:20px;display:flex;justify-content:center;gap:10px}.admin-user-list-pagination-btn{padding:8px 16px;border:none;border-radius:5px;cursor:pointer}.admin-user-list-pagination-btn.prev{background-color:#3498db;color:#fff}.admin-user-list-pagination-btn.prev:disabled{background-color:#ecf0f1;color:#95a5a6;cursor:not-allowed}.admin-user-list-pagination-btn.next{background-color:#3498db;color:#fff}.admin-user-list-pagination-btn.next:disabled{background-color:#ecf0f1;color:#95a5a6;cursor:not-allowed}.admin-user-list-pagination-info{padding:8px 16px;display:flex;align-items:center}.upload-page-input-disabled{background:#e5e7eb;cursor:not-allowed}.confirmation-export-buttons{display:flex;gap:10px}.confirmation-export-btn-pdf{width:200px;padding:12px;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px}.confirmation-export-btn-excel{width:200px;padding:12px;background:#10b981;color:#fff;border:2px solid #10b981;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px}.confirmation-actions-container{display:flex;justify-content:space-between;margin-top:30px}.confirmation-btn-back{width:140px;padding:12px;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer}.confirmation-btn-create{width:180px;padding:12px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer}.confirmation-btn-create:disabled{background:#bdc3c7;cursor:not-allowed}.editor-confidence-badge-low{animation:blink 1.5s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.editor-symbol-info-flex{display:flex;flex-direction:column}.editor-file-tab-active{background:#fff;border-bottom:3px solid #667eea;font-weight:700;padding:10px 20px}.editor-edit-mode-badge{position:absolute;top:10px;left:10px;background:#000000b3;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;z-index:10}.editor-symbol-item-delete-btn{padding:6px 12px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.ml-10{margin-left:10px}.mb-4{margin-bottom:4px}.flex-1{flex:1}.w-40{width:40%}.w-20{width:20%}.w-15{width:15%}.w-25{width:25%}.text-right{text-align:right}.text-center{text-align:center}.note-list{list-style:disc;margin-left:20px}.section-box{border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin-bottom:25px;background:#fafafa}.section-title-large{font-size:18px;font-weight:700;margin-bottom:15px;color:#1f2937;border-bottom:2px solid #e5e7eb;padding-bottom:10px}.info-row{display:flex;padding:10px 0;border-bottom:1px solid #f3f4f6}.info-label{font-weight:700;min-width:150px;color:#374151}.product-category{margin-bottom:20px}.category-title{font-weight:700;margin-bottom:10px;color:#1f2937;padding:8px;background:#f3f4f6;border-left:4px solid #667eea}.product-list{padding-left:15px}.product-item{padding:5px 0;color:#4b5563}.summary-section{margin-top:15px}.table-total-row{text-align:right;font-weight:700;font-size:16px}.table-total-value{text-align:right;font-weight:700;font-size:18px;color:#667eea}.btn-outline-primary{background:#fff;color:#667eea;border:2px solid #667eea;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s}.btn-outline-primary:hover{background:#667eea;color:#fff}.error-message{color:red}.icon-xl{font-size:18px}.project-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.project-list-title{font-size:28px;color:#2c3e50}.project-search-filters{margin-bottom:20px;display:flex;gap:10px}.project-search-input{padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px;flex:1;max-width:400px}.project-status-select{padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px}.project-table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.project-table{width:100%;border-collapse:collapse}.project-table thead tr{background-color:#ecf0f1}.project-table th{padding:15px;text-align:left;border-bottom:2px solid #bdc3c7}.project-table tbody tr{border-bottom:1px solid #ecf0f1}.project-table td{padding:15px}.project-delete-btn{padding:5px 10px;background-color:#e74c3c;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:12px}.project-delete-btn:hover{background-color:#c0392b}.project-pagination{margin-top:20px;display:flex;justify-content:center;gap:10px}.project-pagination-btn{padding:8px 16px;border:none;border-radius:5px;cursor:pointer}.project-pagination-btn:disabled{background-color:#ecf0f1;color:#95a5a6;cursor:not-allowed}.project-pagination-btn:not(:disabled){background-color:#3498db;color:#fff}.project-pagination-btn:not(:disabled):hover{background-color:#2980b9}.project-pagination-info{padding:8px 16px;display:flex;align-items:center}.login-page{min-height:100vh;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans JP,sans-serif}.brand-side{flex:1;background:linear-gradient(135deg,#0f1c3f,#1e3a5f 60%,#2563eb);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;position:relative;overflow:hidden}.brand-side:before{display:none}.brand-logo{font-size:3rem;font-weight:800;color:#fff;margin-bottom:16px}.brand-logo span{color:#60a5fa}.brand-features{text-align:left}.feature-item{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;color:#fff}.feature-icon{width:48px;height:48px;background:#ffffff1a;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.feature-text h3{font-size:1rem;font-weight:600;margin-bottom:4px}.feature-text p{font-size:.875rem;color:#fff9;line-height:1.5}.login-side{flex:1;background:#f8fafc;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px}.login-container{width:100%;max-width:400px}.login-header{margin-bottom:40px}.login-header h1{font-size:1.75rem;font-weight:700;color:#1f2937;margin-bottom:8px}.login-header p{color:#6b7280;font-size:.95rem}.otp-header h1{font-size:1.75rem;font-weight:700;color:#1f2937;margin-bottom:8px}.otp-header p{color:#6b7280;font-size:.95rem}.login-page .form-group{margin-bottom:24px}.login-page .form-group label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:8px}.input-wrapper input{width:100%;padding:16px 16px 16px 48px;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .2s ease;background:#fff}.input-wrapper input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1a}.input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:1.25rem}.options{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;font-size:.875rem}.remember{display:flex;align-items:center;gap:8px;color:#6b7280;cursor:pointer}.remember input{width:18px;height:18px;accent-color:#2563eb}.admin-login-option{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:8px 12px;border-radius:8px;border:1px solid #f59e0b;color:#92400e;font-weight:500;margin-top:8px}.admin-login-option input{accent-color:#f59e0b}.forgot-link{color:#2563eb;text-decoration:none;font-weight:500;background:none;border:none;cursor:pointer;font-size:.875rem}.login-page .btn-primary{width:100%;padding:16px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.login-page .btn-primary:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb66}.login-page .btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.login-page .divider{display:flex;align-items:center;margin:32px 0;color:#9ca3af;font-size:.875rem}.login-page .divider:before,.login-page .divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.login-page .divider span{padding:0 16px}.sub-actions{display:flex;gap:12px;margin-bottom:24px}.btn-sub{flex:1;padding:14px;border:2px solid #e5e7eb;border-radius:10px;background:#f9fafb;font-size:.9rem;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}.btn-sub:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb;transform:translateY(-2px)}.btn-sub .icon{font-size:1.1rem}.login-page .copyright{margin-top:48px;text-align:center;color:#9ca3af;font-size:.75rem}.login-page .error{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.875rem}.otp-container{width:100%;max-width:400px}.otp-input-group{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.otp-input-group input{width:50px;height:60px;text-align:center;font-size:1.5rem;font-weight:700;border:2px solid #e5e7eb;border-radius:10px;transition:all .2s ease}.otp-input-group input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1a}.otp-actions{display:flex;gap:12px}.back-btn{flex:1;padding:14px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;font-size:.9rem;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:#f3f4f6}.resend-btn{flex:1;padding:14px;border:2px solid #2563eb;border-radius:10px;background:#fff;font-size:.9rem;font-weight:600;color:#2563eb;cursor:pointer;transition:all .2s ease}.resend-btn:hover{background:#eff6ff}.resend-btn:disabled{border-color:#9ca3af;color:#9ca3af;cursor:not-allowed}@media(max-width:768px){.login-page{flex-direction:column}.brand-side{flex:none;min-height:40vh;padding:40px 20px}.login-side{flex:none;padding:40px 20px}.brand-logo{font-size:2.5rem}.login-container{max-width:100%}.sub-actions,.otp-actions{flex-direction:column}}#root{margin:0;padding:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}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}}.app-header{background:linear-gradient(135deg,#1e3a8a,#1d4ed8);height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 50px;box-shadow:0 2px 8px #0003;position:relative;z-index:100}.header-logo{display:flex;align-items:center;gap:12px;text-decoration:none;cursor:pointer}.header-logo-img{height:32px;width:auto;object-fit:contain}.header-logo-icon{font-size:28px}.header-logo-text{font-size:24px;font-weight:800;color:#fff;letter-spacing:1px}.header-nav{display:flex;gap:20px;align-items:center}.header-nav-link{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;color:#ffffffd9;cursor:pointer;transition:all .2s;text-decoration:none;background:none;border:none;font-family:inherit}.header-nav-link:hover{background:#ffffff26;color:#fff}.header-nav-link.active{background:#ffffff40;color:#fff}.nav-dropdown{position:relative}.nav-dropdown-btn{display:flex;align-items:center;gap:4px}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:8px;box-shadow:0 8px 24px #00000026;min-width:160px;z-index:200;overflow:hidden}.nav-dropdown-item{display:block;width:100%;padding:12px 18px;text-align:left;background:none;border:none;font-size:14px;font-weight:600;color:#1e293b;cursor:pointer;transition:background .15s;font-family:inherit}.nav-dropdown-item:hover{background:#eff6ff;color:#1d4ed8}.step-bar-wrap{background:#fff;border-bottom:1px solid #e2e8f0;padding:16px 50px;display:flex;justify-content:center}.step-bar-wrap .step-bar{max-width:560px;width:100%;margin-bottom:0}.step-bar{display:flex;justify-content:space-between;padding:0 10px;position:relative}.step-bar:before{content:"";position:absolute;top:20px;left:15%;right:15%;height:2px;background:#e2e8f0}.step-item{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1}.step-circle{width:40px;height:40px;border-radius:50%;background:#fff;border:3px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-weight:800;color:#94a3b8;font-size:14px;transition:all .3s}.step-item.active .step-circle{background:linear-gradient(135deg,#1e3a8a,#1d4ed8);border-color:#1d4ed8;color:#fff}.step-item.complete .step-circle{background:#6366f1;border-color:#6366f1;color:#fff}.step-label{font-size:11px;font-weight:600;color:#94a3b8;text-align:center}.step-item.active .step-label{color:#1d4ed8;font-weight:700}.step-item.complete .step-label{color:#6366f1;font-weight:700}.step-sublabel{font-size:10px;color:#94a3b8;text-align:center;margin-top:-4px}.confirmation-page{min-height:100vh;background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans JP,sans-serif}.confirmation-main{width:100%;min-height:calc(100vh - 70px);background:#f8fafc}.confirmation-content{max-width:960px;margin:0 auto;padding:30px 20px}.confirmation-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000d;overflow:hidden;margin-bottom:20px}.card-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px 25px;display:flex;align-items:center;gap:12px}.card-icon{font-size:1.5rem;flex-shrink:0}.card-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.card-content{padding:25px}.tab-navigation{display:flex;border-bottom:1px solid #e5e7eb;margin:-25px -25px 25px;padding:0 25px}.tab-button{padding:15px 20px;border:none;background:none;cursor:pointer;font-size:1rem;font-weight:500;color:#6b7280;border-bottom:2px solid transparent;transition:all .2s ease}.tab-button:hover{color:#374151}.tab-button.active{color:#2563eb;border-bottom-color:#2563eb}.results-table{width:100%;border-collapse:collapse;margin-bottom:20px}.results-table th,.results-table td{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb}.results-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.results-table td{color:#1f2937}.results-table tr:hover{background:#f8fafc}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;text-align:center;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:0}.stat-number{font-size:2rem;font-weight:700;color:#2563eb;margin-bottom:5px}.confirmation-actions{display:flex;justify-content:center;align-items:center;padding:25px;background:#f9fafb;border-top:1px solid #e5e7eb;gap:15px;margin:-25px -25px 0}.btn-secondary{padding:12px 24px;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px)}.btn-primary{padding:12px 24px;background:#2563eb;border:1px solid #2563eb;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.btn-primary:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.btn-success{padding:12px 24px;background:#10b981;border:1px solid #10b981;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.btn-success:hover{background:#059669;border-color:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.file-preview{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:15px;margin:15px 0}.file-info{display:flex;align-items:center;gap:12px;margin-bottom:10px}.file-icon{font-size:1.5rem;color:#ef4444}.file-name{font-weight:500;color:#1f2937}.file-size{font-size:.875rem;color:#6b7280}.file-actions{display:flex;gap:10px}.file-action-btn{padding:6px 12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#374151;cursor:pointer;transition:all .2s ease}.file-action-btn:hover{background:#e5e7eb;border-color:#9ca3af}.alert-title{font-weight:600;margin-bottom:4px}.alert-message{font-size:.9rem;line-height:1.4}.loading-overlay{position:fixed;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:1000;flex-direction:column;gap:15px}.loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:#6b7280;font-weight:500}@media(max-width:768px){.confirmation-content{padding:20px 15px}.confirmation-actions{flex-direction:column;align-items:stretch}.tab-navigation{flex-wrap:wrap}.results-table{font-size:.875rem}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}} .dashboard-page{min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans JP,sans-serif;background:#f8fafc;color:#1e293b}.dashboard-container{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;padding:40px 50px;max-width:1800px;margin:0 auto}.dashboard-work-area{overflow-y:auto;padding-right:15px}.dashboard-control-area{overflow-y:auto;padding-left:15px}.dashboard-card{background:#fff;border-radius:16px;padding:35px;margin-bottom:25px;box-shadow:0 1px 3px #0000001a;transition:all .3s}.dashboard-card:hover{box-shadow:0 8px 20px #0000001a}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #f1f5f9}.card-icon{font-size:28px}.card-title{font-size:22px;font-weight:700;color:#0f172a}.card-subtitle{color:#94a3b8;font-size:13px;margin-top:4px}.card-description{color:#64748b;font-size:14px;line-height:1.6;margin-bottom:20px}.upload-zone{border:3px dashed #cbd5e1;border-radius:16px;padding:50px 30px;text-align:center;cursor:pointer;transition:all .3s;background:linear-gradient(135deg,#fafafa,#f1f5f9);margin-bottom:20px}.upload-zone:hover,.upload-zone.drag-over{border-color:#6366f1;background:linear-gradient(135deg,#eff6ff,#dbeafe);transform:scale(1.01)}.upload-zone-content{display:flex;flex-direction:column;align-items:center;gap:12px}.upload-icon{font-size:64px;margin-bottom:15px;opacity:.6}.upload-text{font-size:18px;font-weight:700;color:#0f172a;margin-bottom:8px}.upload-hint{color:#64748b;font-size:13px}.ocr-spinner{width:56px;height:56px;display:flex;align-items:center;justify-content:center}.ocr-spinner-ring{width:48px;height:48px;border:4px solid #e2e8f0;border-top:4px solid #6366f1;border-radius:50%;animation:ocr-spin 1s linear infinite}@keyframes ocr-spin{to{transform:rotate(360deg)}}.ocr-processing-hint{color:#6366f1;font-size:14px;font-weight:500;animation:ocr-pulse 2s ease-in-out infinite}@keyframes ocr-pulse{0%,to{opacity:1}50%{opacity:.5}}.uploaded-files{margin-top:16px}.uploaded-file{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:18px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;transition:all .2s}.uploaded-file:hover{background:#fff;box-shadow:0 4px 12px #00000014;border-color:#6366f1}.file-info{display:flex;align-items:center;gap:12px}.file-name{font-weight:700;color:#0f172a;margin-bottom:2px}.file-size{font-size:12px;color:#94a3b8}.btn-remove{padding:8px 14px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600}.btn-remove:hover{background:#dc2626}.page-input-group{margin-top:16px}.page-input-label{display:block;font-size:.9rem;font-weight:500;color:#374151;margin-bottom:8px}.page-input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:.9rem;transition:all .2s ease}.page-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.checkbox-group{display:flex;flex-direction:column;gap:12px;margin-top:16px}.checkbox-item{display:flex;align-items:center;gap:12px;cursor:pointer}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:#2563eb}.checkbox-label{font-size:.9rem;color:#374151}.settings-buttons{display:grid;gap:15px}.settings-button{border:2px solid #e2e8f0;border-radius:12px;padding:25px;cursor:pointer;transition:all .3s;position:relative;display:flex;align-items:center;gap:16px;background:#fff;text-align:left;color:inherit;font-family:inherit}.settings-button:hover{box-shadow:0 4px 12px #00000014}.settings-button.complete-state{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.settings-button.incomplete-state{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.settings-icon{font-size:2rem;flex-shrink:0}.settings-title{font-size:15px;font-weight:700;color:#0f172a;line-height:1.4}.settings-desc{font-size:12px;color:#64748b;margin-top:4px}.settings-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:10px;font-size:11px;font-weight:700;margin-left:auto;flex-shrink:0}.settings-status.complete{background:#10b981;color:#fff}.settings-status.incomplete{background:#f59e0b;color:#fff}.execute-button{width:100%;padding:18px;background:#fff;color:#6366f1;border:none;border-radius:10px;font-size:17px;font-weight:800;cursor:pointer;transition:all .3s}.execute-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 8px 24px #ffffff4d}.execute-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.execute-hint{font-size:12px;margin-top:12px;opacity:.9}.analyzing-status{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:12px;padding:20px 24px;margin-top:16px;text-align:center}.analyzing-spinner{width:36px;height:36px;border:4px solid #bfdbfe;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}.analyzing-label{font-size:15px;font-weight:700;color:#1d4ed8;margin-bottom:4px}.analyzing-timer{font-size:28px;font-weight:800;color:#1e3a8a;font-family:SF Mono,Monaco,monospace;letter-spacing:2px}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container{background:#fff;border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e5e7eb}.modal-title{font-size:1.5rem;font-weight:700;color:#1f2937}.modal-close-btn{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.modal-close-btn:hover{background:#f3f4f6;color:#374151}.modal-tabs{display:flex;border-bottom:1px solid #e5e7eb}.modal-tab{flex:1;padding:16px 24px;background:none;border:none;font-size:.95rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.modal-tab:hover{color:#374151}.modal-tab.active{color:#2563eb;border-bottom:2px solid #2563eb}.modal-body{padding:32px}.form-section{margin-bottom:32px}.section-title{font-size:1.1rem;font-weight:600;color:#1f2937;margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:.9rem;font-weight:500;color:#374151;margin-bottom:8px}.form-input,.form-select{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:.9rem;transition:all .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.engineer-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:16px}.engineer-header{display:flex;justify-content:between;align-items:center;margin-bottom:16px}.engineer-title{font-size:.95rem;font-weight:600;color:#374151}.representative-badge{background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.btn-add-engineer{width:100%;padding:16px;background:#f3f4f6;border:2px dashed #d1d5db;border-radius:10px;color:#6b7280;font-size:.9rem;cursor:pointer;transition:all .2s ease;margin-bottom:20px}.btn-add-engineer:hover{border-color:#2563eb;color:#2563eb;background:#2563eb05}.modal-footer{padding:24px 32px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:16px}.btn-secondary{padding:12px 24px;background:#f3f4f6;color:#374151;border:none;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#e5e7eb}.btn-primary{padding:12px 24px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#1d4ed8;transform:translateY(-1px)}@media(max-width:1200px){.dashboard-container{grid-template-columns:1fr;padding:30px}}@media(max-width:768px){.dashboard-container{padding:20px}.dashboard-card{padding:24px}.form-row{grid-template-columns:1fr}.modal-container{margin:20px;max-height:calc(100vh - 40px)}.modal-body{padding:24px}}.analyzing-overlay{position:fixed;inset:0;background:#0f172ad1;z-index:9999;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.analyzing-modal{background:#fff;border-radius:24px;padding:48px 52px;text-align:center;box-shadow:0 24px 64px #0000004d;max-width:360px;width:90%}.analyzing-modal-label{font-size:17px;font-weight:800;color:#1e3a8a;margin-bottom:8px}.ring-wrap{position:relative;width:160px;height:160px;margin:0 auto 24px}.ring-wrap svg{transform:rotate(-90deg);width:160px;height:160px}.ring-bg{fill:none;stroke:#dbeafe;stroke-width:10}.ring-fg{fill:none;stroke:url(#ringGrad);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.ring-timer{font-size:32px;font-weight:800;color:#1e3a8a;font-family:SF Mono,Monaco,Cascadia Code,monospace;letter-spacing:2px;line-height:1}.ring-label-inner{font-size:11px;color:#64748b;margin-top:4px;font-weight:600}.analyzing-steps{margin-top:20px;text-align:left}.analyzing-step{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569;padding:5px 0}.analyzing-step.done{color:#10b981}.analyzing-step.current{color:#2563eb;font-weight:700}.analyzing-step-dot{width:8px;height:8px;border-radius:50%;background:#cbd5e1;flex-shrink:0}.analyzing-step.done .analyzing-step-dot{background:#10b981}.analyzing-step.current .analyzing-step-dot{background:#2563eb;animation:analyzing-pulse 1s ease-in-out infinite}@keyframes analyzing-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.analyzing-notice{font-size:12px;color:#94a3b8;margin-top:16px}.editor-page{min-height:100vh;background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans JP,sans-serif;color:#1e293b}.editor-main{width:100%;min-height:calc(100vh - 122px);background:#f8fafc}.editor-content{padding:0 40px;max-width:1800px;margin:0 auto}.editor-workspace{display:grid;grid-template-columns:2.4fr 1fr;gap:20px;height:calc(100vh - 180px);min-height:500px}.work-area{overflow-y:auto;padding-right:15px}.control-area{overflow-y:auto;padding-left:15px}.card{background:#fff;border-radius:16px;padding:35px;margin-bottom:25px;box-shadow:0 1px 3px #0000001a;transition:all .3s}.card:hover{box-shadow:0 8px 20px #0000001a}.card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #f1f5f9}.card-title{font-size:18px;font-weight:700;color:#0f172a;white-space:nowrap}.card-subtitle{color:#94a3b8;font-size:12px;margin-top:2px;white-space:nowrap}.ai-result-notice-bar{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1.5px solid #93c5fd;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:700;color:#1d4ed8;margin:14px 40px;display:flex;align-items:center;gap:8px}.ai-result-notice{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1.5px solid #93c5fd;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:700;color:#1d4ed8;margin-bottom:14px;display:flex;align-items:center;gap:8px}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.zoom-toolbar{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:6px 12px;width:fit-content}.zoom-btn{width:30px;height:30px;border-radius:6px;border:1.5px solid #e2e8f0;background:#fff;font-size:18px;line-height:1;cursor:pointer;transition:all .2s;color:#334155;font-weight:700;display:flex;align-items:center;justify-content:center}.zoom-btn:hover{border-color:#6366f1;color:#6366f1;background:#eef2ff}.zoom-level{font-size:13px;font-weight:700;color:#334155;min-width:44px;text-align:center}.zoom-sep{width:1px;height:18px;background:#e2e8f0;margin:0 2px}.zoom-reset{padding:5px 10px;border-radius:6px;border:1.5px solid #e2e8f0;background:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;color:#64748b;font-family:inherit}.zoom-reset:hover{border-color:#6366f1;color:#6366f1;background:#eef2ff}.drawing-wrapper{background:#e8ecf0;border-radius:12px;padding:10px;overflow:auto;max-height:calc(100vh - 260px);min-height:400px}.drawing-container{position:relative;display:inline-block;background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;overflow:visible}.drawing-image{display:block;width:100%;height:auto;cursor:crosshair}.symbol-marker{position:absolute;width:22px;height:22px;border:2px solid currentColor;border-radius:3px;transform:translate(-50%,-50%);cursor:pointer;transition:all .2s ease;background:transparent;z-index:10}.symbol-marker:before{content:"";position:absolute;inset:-4px;border-radius:5px;border:2px solid currentColor;opacity:0;animation:markerPulse 2.5s ease-out infinite;pointer-events:none}@keyframes markerPulse{0%{opacity:.5;inset:-2px}to{opacity:0;inset:-10px}}.symbol-marker:hover{border-width:3px;box-shadow:0 0 10px currentColor;z-index:20}.symbol-marker.selected{border-width:3px;box-shadow:0 0 14px currentColor;z-index:30}.symbol-marker .tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:#0f172a;color:#fff;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s;z-index:100;box-shadow:0 4px 12px #0003}.symbol-marker .tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#0f172a}.symbol-marker:hover .tooltip{opacity:1;visibility:visible}.visibility-btns{display:flex;gap:6px}.btn-vis-all{padding:5px 12px;border-radius:6px;border:1.5px solid #e2e8f0;background:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;color:#475569;font-family:inherit}.btn-vis-all:hover{border-color:#6366f1;color:#6366f1;background:#eef2ff}.btn-vis-all.hide-all:hover{border-color:#94a3b8;color:#475569;background:#f1f5f9}.stat-card{background:#f8fafc;padding:20px;border-radius:12px;text-align:center;border:1px solid #e2e8f0;margin-bottom:20px}.stat-value{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.stat-label{font-size:12px;font-weight:600;color:#94a3b8;margin-top:4px}.symbol-summary-list{list-style:none;margin:0 0 6px;padding:0}.symbol-summary-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:#f8fafc;margin-bottom:4px;border:1px solid #f1f5f9;transition:opacity .2s}.symbol-summary-item.type-dimmed{opacity:.4}.symbol-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:2px solid rgba(0,0,0,.1)}.symbol-summary-name{font-size:12px;font-weight:700;color:#334155;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;cursor:default}.symbol-summary-name:after{content:attr(title);position:absolute;left:0;top:100%;margin-top:4px;background:#1e293b;color:#fff;padding:6px 10px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap;z-index:1000;opacity:0;visibility:hidden;transition:opacity .1s;pointer-events:none;box-shadow:0 2px 8px #0003}.symbol-summary-name:hover:after{opacity:1;visibility:visible}.symbol-summary-count{font-size:11px;font-weight:700;color:#94a3b8;flex-shrink:0}.btn-vis{width:20px;height:20px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(to right,#22c55e 50%,#e2e8f0 50%);flex-shrink:0;transition:transform .15s,box-shadow .15s;outline:none}.btn-vis:hover{transform:scale(1.2);box-shadow:0 0 0 3px #22c55e33}.btn-vis.hidden-active{background:#cbd5e1}.btn-vis.hidden-active:hover{box-shadow:0 0 0 3px #64748b33}.execute-panel{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;padding:35px;text-align:center;color:#fff;box-shadow:0 8px 24px #6366f166;margin-bottom:25px}.execute-title{font-size:24px;font-weight:800;margin-bottom:12px}.execute-desc{font-size:14px;margin-bottom:25px;opacity:.95}.btn-execute{width:100%;padding:18px;background:#fff;color:#6366f1;border:none;border-radius:10px;font-size:17px;font-weight:800;cursor:pointer;transition:all .3s;font-family:inherit}.btn-execute:hover{transform:scale(1.05);box-shadow:0 8px 24px #ffffff4d}.btn-execute:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-back{width:100%;padding:14px;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;margin-bottom:25px;font-family:inherit}.btn-back:hover{border-color:#c7d2fe;color:#6366f1;background:#eef2ff}.loading-overlay{position:fixed;inset:0;background:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #6366f1;border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:12px;font-size:14px;color:#64748b;font-weight:600}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1200px){.editor-workspace{grid-template-columns:1fr;height:auto}.editor-content{padding:20px}.control-area{padding-left:0}.work-area{padding-right:0}}@media(max-width:768px){.editor-content{padding:16px}.toolbar-row{flex-direction:column;align-items:stretch}.drawing-wrapper{max-height:50vh}.card{padding:20px}}.edit-panel{position:fixed;z-index:1500;width:380px;max-height:72vh;display:none;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003,0 4px 16px #6366f12e;border:2px solid #6366f1;top:120px;right:40px}.edit-panel.open{display:flex;animation:panelIn .18s ease-out}@keyframes panelIn{0%{opacity:0;transform:scale(.97) translateY(-6px)}to{opacity:1;transform:none}}.edit-panel-header{padding:20px 24px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #f1f5f9}.edit-panel-title{font-size:16px;font-weight:800;color:#0f172a}.edit-panel-close{width:32px;height:32px;border-radius:8px;border:none;background:#f1f5f9;cursor:pointer;font-size:16px;color:#64748b;transition:all .2s;display:flex;align-items:center;justify-content:center}.edit-panel-close:hover{background:#fee2e2;color:#ef4444}.edit-current{padding:14px 24px;background:#f8fafc;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f1f5f9}.edit-current-dot{width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,0,0,.1);flex-shrink:0}.edit-current-label{font-size:11px;color:#94a3b8;font-weight:600}.edit-current-name{font-size:13px;font-weight:700;color:#0f172a}.edit-current-arrow{margin-left:auto;color:#94a3b8;font-size:16px}.edit-search{padding:14px 24px;border-bottom:1px solid #f1f5f9}.search-input-wrap{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:#94a3b8;font-size:14px;pointer-events:none}.search-input{width:100%;padding:10px 12px 10px 38px;border:2px solid #e2e8f0;border-radius:10px;font-size:13px;font-weight:600;color:#0f172a;outline:none;transition:border-color .2s;font-family:inherit}.search-input:focus{border-color:#6366f1}.search-input::placeholder{color:#cbd5e1;font-weight:500}.edit-body{padding:10px 14px 16px;overflow-y:auto;flex:1;min-height:0}.category-group{margin-bottom:4px}.category-header{display:flex;align-items:center;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .15s;font-size:12px;font-weight:700;color:#475569;-webkit-user-select:none;user-select:none}.category-header:hover{background:#f1f5f9}.category-arrow{width:18px;height:18px;display:flex;align-items:center;justify-content:center;margin-right:6px;font-size:9px;color:#94a3b8;transition:transform .2s}.category-group.open>.category-header .category-arrow{transform:rotate(90deg)}.category-count{margin-left:auto;font-size:10px;font-weight:600;color:#94a3b8;background:#f1f5f9;padding:2px 7px;border-radius:5px}.category-items{display:none;padding-left:18px}.category-group.open>.category-items{display:block}.symbol-option{display:flex;align-items:center;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .15s;margin-bottom:2px}.symbol-option:hover{background:#eef2ff}.symbol-option.selected{background:#eef2ff;outline:2px solid #6366f1}.symbol-option-dot{width:11px;height:11px;border-radius:50%;margin-right:8px;flex-shrink:0;border:2px solid rgba(0,0,0,.08)}.symbol-option-name{font-size:12px;font-weight:600;color:#1e293b;flex:1}.symbol-option-code{font-size:10px;font-weight:600;color:#94a3b8;font-family:SF Mono,Monaco,monospace}.no-results{text-align:center;padding:30px 16px;color:#94a3b8}.no-results-icon{font-size:32px;margin-bottom:10px}.no-results-text{font-size:13px;font-weight:600}.edit-panel-footer{padding:14px 24px;border-top:2px solid #f1f5f9;display:flex;gap:10px;justify-content:flex-end}.btn-panel{padding:9px 20px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s;border:none;font-family:inherit}.btn-panel-cancel{background:#f1f5f9;color:#64748b}.btn-panel-cancel:hover{background:#e2e8f0}.btn-panel-confirm{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-panel-confirm:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f166}.btn-panel-confirm:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-panel-delete{background:#fff;color:#ef4444;border:2px solid #fecaca;margin-right:auto}.btn-panel-delete:hover{background:#fef2f2;border-color:#ef4444}} .login-page{display:flex;min-height:100vh;background:#f8fafc;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.brand-side{flex:1;background:linear-gradient(135deg,#0f2460,#1e3a8a,#1d4ed8);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;position:relative;overflow:hidden}.brand-watermark{position:absolute;top:-150px;left:-80px;width:750px;height:auto;opacity:.1;pointer-events:none;z-index:0}.brand-content{position:relative;z-index:1;text-align:center;max-width:500px}.brand-logo{font-size:3rem;font-weight:800;color:#fff;margin-bottom:12px;letter-spacing:0}.brand-logo span{color:#fff}.brand-tagline{font-size:1rem;color:#ffffffb3;margin-bottom:48px;letter-spacing:1px}.brand-features{text-align:left;display:flex;flex-direction:column;gap:0}.feature-item{display:flex;align-items:flex-start;gap:16px;margin-bottom:28px;color:#fff}.feature-icon{width:52px;height:52px;background:#ffffff1f;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:52px;text-align:center}.feature-icon-img{width:52px;height:52px;flex-shrink:0;object-fit:contain}.feature-text h3,.feature-text h4{font-size:1rem;font-weight:700;margin:0 0 4px;color:#fff}.feature-text p{font-size:.875rem;color:#ffffffa6;line-height:1.6;margin:0}.login-side{flex:1;background:#f8fafc;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;overflow-y:auto}.login-container{width:100%;max-width:420px;height:fit-content}.login-card{background:#fff;border-radius:16px;padding:40px;box-shadow:0 1px 3px #0000001a;transition:box-shadow .3s}.login-card:hover{box-shadow:0 8px 20px #0000001a}.login-container form,.modal-content form{display:block}.login-header{margin-bottom:32px;text-align:center}.login-header h1{font-size:1.6rem;font-weight:800;color:#0f172a;margin:0 0 8px}.login-header p{color:#94a3b8;font-size:.9rem;margin:0}.form-group{margin-bottom:22px}.form-group label{display:block;font-size:.85rem;font-weight:700;color:#374151;margin-bottom:8px}.input-wrapper{position:relative}.input-wrapper .input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.15rem;z-index:1;pointer-events:none}.input-wrapper input{width:100%;padding:14px 14px 14px 46px;border:2px solid #e2e8f0;border-radius:10px;font-size:.95rem;transition:all .2s ease;background:#f8fafc;color:#1e293b}.input-wrapper input:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 4px #1d4ed81f;background:#fff}.input-wrapper input.error{border-color:#ef4444}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#94a3b8;font-size:18px}.options{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:.85rem;flex-wrap:wrap;gap:8px}.remember{display:flex;align-items:center;gap:8px;color:#64748b;cursor:pointer;font-size:.85rem}.remember input[type=checkbox]{width:18px;height:18px;accent-color:#1d4ed8}.admin-login-option{color:#64748b}.forgot-link{color:#1d4ed8;text-decoration:none;font-weight:600;font-size:.85rem;background:none;border:none;cursor:pointer;padding:0}.forgot-link:hover{text-decoration:underline}.error-message,.error{background:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.85rem;flex:none!important;height:auto!important;min-height:unset!important}.login-button,.login-page .btn-primary{display:block;width:100%;padding:16px;background:linear-gradient(135deg,#1e3a8a,#1d4ed8);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:800;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #1d4ed84d}.login-button:hover:not(:disabled),.login-page .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #1d4ed873}.login-button:disabled,.login-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}.divider{display:flex;align-items:center;margin:28px 0;color:#94a3b8;font-size:.8rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.divider span{padding:0 16px}.sub-actions{display:flex;gap:12px}.btn-sub{flex:1;padding:14px;border:2px solid #e2e8f0;border-radius:10px;background:#f8fafc;font-size:.85rem;font-weight:700;color:#475569;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-sub:hover{background:#eff6ff;border-color:#1d4ed8;color:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 12px #1d4ed81f}.copyright{margin-top:32px;text-align:center;color:#94a3b8;font-size:.75rem}.otp-header{text-align:center;margin-bottom:24px}.otp-header h1{font-size:1.6rem;font-weight:800;color:#0f172a;margin:0 0 8px}.otp-header p{color:#94a3b8;font-size:.9rem}.otp-info{background:#eff6ff;border:1px solid #bfdbfe;padding:12px 16px;border-radius:10px;margin-bottom:24px;font-size:.85rem;color:#1d4ed8;font-weight:600}.otp-info p{margin:0}.otp-input{text-align:center;font-size:1.5rem;font-weight:800;letter-spacing:8px}.otp-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px}.resend-btn{background:none;border:none;color:#1d4ed8;font-size:.85rem;font-weight:600;cursor:pointer;padding:8px}.resend-btn:disabled{color:#94a3b8;cursor:not-allowed}.back-btn{width:100%;padding:14px;border:2px solid #e2e8f0;border-radius:10px;background:#f8fafc;font-size:.85rem;font-weight:700;color:#475569;cursor:pointer;transition:all .2s}.back-btn:hover{background:#eff6ff;border-color:#1d4ed8;color:#1d4ed8}.checkbox-group{display:flex;align-items:center;gap:8px;margin-bottom:20px}.checkbox-group label{font-size:14px;color:#64748b;cursor:pointer}.register-link{display:block;text-align:center;margin-top:16px;color:#1d4ed8;text-decoration:none;font-size:14px}.register-link:hover{text-decoration:underline}.admin-toggle{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.admin-toggle button{background:none;border:none;color:#64748b;font-size:14px;cursor:pointer}.admin-toggle button:hover{color:#1e293b;text-decoration:underline}.back-button{background:none;border:2px solid #e2e8f0;color:#475569;padding:14px 24px;border-radius:10px;width:100%;margin-top:12px;cursor:pointer;font-weight:700;transition:all .2s}.back-button:hover{background:#eff6ff;border-color:#1d4ed8;color:#1d4ed8}.modal-overlay{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;padding:40px;border-radius:16px;max-width:450px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px #0003;position:relative;height:fit-content}.modal-content form{display:block}.modal-content .error{padding:12px 16px;margin-bottom:16px;height:auto;min-height:unset;flex:none}.modal-content h2{margin:0 0 8px;font-size:1.4rem;font-weight:800;color:#0f172a}.modal-description{color:#64748b;margin-bottom:24px;line-height:1.6;font-size:.9rem}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:8px;border:none;background:#f1f5f9;cursor:pointer;font-size:16px;color:#64748b;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:#fee2e2;color:#ef4444}.modal-note{margin-top:16px;font-size:.8rem;color:#94a3b8;line-height:1.5}.modal-content .form-group input{width:100%;padding:14px;border:2px solid #e2e8f0;border-radius:10px;font-size:.95rem;background:#f8fafc;color:#1e293b;transition:all .2s}.modal-content .form-group input:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 4px #1d4ed81f;background:#fff}.modal-buttons{display:flex;gap:12px}.modal-buttons button{flex:1;padding:14px;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer}.modal-buttons .cancel-btn{background:#f8fafc;border:2px solid #e2e8f0;color:#475569}.modal-buttons .confirm-btn{background:linear-gradient(135deg,#1e3a8a,#1d4ed8);border:none;color:#fff}@media(max-width:768px){.login-page{flex-direction:column}.brand-side{padding:40px 20px}.brand-logo{font-size:2rem}.brand-features{display:none}.login-side{padding:40px 20px}}.maintenance-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.maintenance-container{background:#fff;border-radius:16px;padding:60px 40px;text-align:center;max-width:500px;width:100%;box-shadow:0 20px 60px #00000026}.maintenance-icon{font-size:64px;margin-bottom:20px}.maintenance-title{font-size:28px;font-weight:700;color:#1a1a2e;margin-bottom:16px}.maintenance-message{font-size:16px;color:#555;line-height:1.8;margin-bottom:12px}.maintenance-sub{font-size:14px;color:#888;margin-bottom:30px}.maintenance-reload-btn{background:#667eea;color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.maintenance-reload-btn:hover{background:#5a6fd6}.mypage-page{display:flex;min-height:100vh;background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans JP,sans-serif}.mypage-sidebar{width:300px;background:linear-gradient(135deg,#0f1c3f,#1e3a5f 60%,#2563eb);color:#fff;position:fixed;left:0;top:0;height:100vh;z-index:100;box-shadow:2px 0 10px #0000001a}.sidebar-content{display:flex;flex-direction:column;height:100%;padding:30px 25px}.sidebar-header{margin-bottom:40px;text-align:center}.sidebar-logo{font-size:2rem;font-weight:700;margin:0 0 8px;letter-spacing:-.5px;color:#60a5fa}.sidebar-logo span{color:#60a5fa}.sidebar-tagline{font-size:.875rem;margin:0;opacity:.8;font-weight:300}.sidebar-nav{flex:1}.sidebar-nav-item{display:flex;align-items:center;padding:12px 16px;margin-bottom:8px;border-radius:10px;cursor:pointer;transition:all .2s ease;font-weight:500;color:#fffc}.sidebar-nav-item:hover{background:#ffffff1a;transform:translateY(-2px);color:#fff}.sidebar-nav-item.active{background:#ffffff26;color:#fff;box-shadow:0 4px 12px #0000001a}.sidebar-nav-icon{margin-right:12px;font-size:1.2rem}.sidebar-footer{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.user-info{display:flex;align-items:center;margin-bottom:15px;gap:12px;background:#fff;border-radius:10px;padding:10px 12px;color:#1e293b}.user-info>div>div{color:#1e293b}.user-avatar{width:40px;height:40px;background:#60a5fa;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff;flex-shrink:0}.logout-btn{width:100%;padding:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.logout-btn:hover{background:#ef444433;border-color:#ef444480;color:#f87171;transform:translateY(-1px)}.mypage-main{margin-left:300px;width:calc(100% - 300px);min-height:100vh;background:#f8fafc}.mypage-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:25px 30px;box-shadow:0 1px 3px #0000000d}.mypage-title{font-size:1.75rem;font-weight:700;color:#1f2937;margin:0 0 8px}.mypage-subtitle{color:#6b7280;margin:0;font-size:1rem}.mypage-content{padding:30px}.profile-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000d;padding:30px;margin-bottom:30px}.profile-header{display:flex;align-items:center;gap:20px;margin-bottom:25px;padding-bottom:25px;border-bottom:1px solid #e5e7eb}.profile-avatar{width:80px;height:80px;background:linear-gradient(135deg,#2563eb,#60a5fa);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;font-weight:600;flex-shrink:0}.profile-info{flex:1}.profile-name{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 5px}.profile-role{color:#6b7280;font-size:1rem;margin:0 0 10px}.profile-company{color:#2563eb;font-weight:500;margin:0}.profile-actions{display:flex;gap:10px}.btn-edit-profile{padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-edit-profile:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.tab-navigation{display:flex;background:#fff;border:1px solid #e5e7eb;border-radius:10px 10px 0 0;overflow:hidden;margin-bottom:0}.tab-button{flex:1;padding:15px 20px;border:none;background:#fff;cursor:pointer;font-size:1rem;font-weight:500;color:#6b7280;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.tab-button:hover{background:#f9fafb;color:#374151}.tab-button.active{background:#2563eb;color:#fff}.tab-button:not(:last-child){border-right:1px solid #e5e7eb}.tab-content{background:#fff;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 10px 10px;box-shadow:0 1px 3px #0000000d}.tab-panel{padding:30px}.profile-form{display:grid;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column}.form-label{font-weight:600;color:#374151;margin-bottom:6px;font-size:.875rem}.form-input{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;color:#1f2937;background:#fff;transition:all .2s ease}.form-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-select{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;color:#1f2937;background:#fff;transition:all .2s ease}.form-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-textarea{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;color:#1f2937;background:#fff;resize:vertical;min-height:100px;transition:all .2s ease;font-family:inherit}.form-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-actions{display:flex;justify-content:flex-end;gap:15px;padding-top:20px;border-top:1px solid #e5e7eb;margin-top:10px}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:15px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.history-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.history-table td{color:#1f2937;vertical-align:middle}.history-table tr:hover{background:#f8fafc}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:500}.status-completed{background:#dcfce7;color:#166534}.status-processing{background:#fef3c7;color:#92400e}.status-failed{background:#fee2e2;color:#dc2626}.action-link{color:#2563eb;text-decoration:none;font-weight:500;font-size:.875rem}.action-link:hover{text-decoration:underline}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:25px;text-align:center;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{font-size:2.5rem;margin-bottom:10px}.stat-number{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:5px}.stat-label{font-size:.875rem;color:#6b7280;font-weight:500}.stat-change{font-size:.75rem;font-weight:500;margin-top:5px}.stat-change.positive{color:#10b981}.stat-change.negative{color:#ef4444}.settings-section{margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid #e5e7eb}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header{margin-bottom:20px}.section-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 5px}.section-description{color:#6b7280;font-size:.875rem;margin:0}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:15px 0}.settings-item-info{flex:1}.settings-item-title{font-weight:500;color:#1f2937;margin:0 0 3px}.settings-item-description{font-size:.875rem;color:#6b7280;margin:0}.toggle-switch{position:relative;width:44px;height:24px;background:#d1d5db;border-radius:12px;cursor:pointer;transition:all .2s ease}.toggle-switch.active{background:#2563eb}.toggle-switch:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:2px;left:2px;transition:all .2s ease;box-shadow:0 1px 3px #0003}.toggle-switch.active:before{left:22px}.btn-secondary{padding:10px 20px;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px)}.btn-primary{padding:10px 20px;background:#2563eb;border:1px solid #2563eb;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-danger{padding:10px 20px;background:#ef4444;border:1px solid #ef4444;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.btn-danger:hover{background:#dc2626;border-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.alert{padding:15px;border-radius:8px;margin-bottom:20px;display:flex;align-items:flex-start;gap:10px}.alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.alert-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.alert-warning{background:#fffbeb;border:1px solid #fed7aa;color:#92400e}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px}.alert-content{flex:1}@media(max-width:1200px){.mypage-sidebar{width:250px}.mypage-main{margin-left:250px;width:calc(100% - 250px)}.form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.mypage-sidebar{width:200px}.mypage-main{margin-left:200px;width:calc(100% - 200px)}.mypage-content{padding:20px}.profile-header{flex-direction:column;text-align:center}.profile-actions{justify-content:center}.tab-navigation{flex-wrap:wrap}.history-table{font-size:.875rem}.settings-item{flex-direction:column;align-items:flex-start;gap:10px}.stats-grid{grid-template-columns:1fr}}@media(max-width:480px){.mypage-sidebar{transform:translate(-100%);transition:transform .3s ease}.mypage-sidebar.open{transform:translate(0)}.mypage-main{margin-left:0;width:100%}.form-actions{flex-direction:column}}.ai-results-page{display:flex;min-height:100vh;background:#f0f2f5}.ai-results-sidebar{width:240px;min-height:100vh;background:linear-gradient(180deg,#1a1a2e,#16213e);color:#fff;position:fixed;left:0;top:0;z-index:100}.ai-results-sidebar .sidebar-content{display:flex;flex-direction:column;height:100vh;padding:20px 16px}.ai-results-sidebar .sidebar-header{text-align:center;margin-bottom:30px}.ai-results-sidebar .sidebar-logo{font-size:1.5rem;font-weight:700;margin:0}.ai-results-sidebar .sidebar-logo span{color:#667eea}.ai-results-sidebar .sidebar-tagline{font-size:.7rem;color:#ffffff80;margin-top:4px}.ai-results-sidebar .sidebar-nav{flex:1}.ai-results-sidebar .sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background .2s;margin-bottom:4px}.ai-results-sidebar .sidebar-nav-item:hover{background:#ffffff1a}.ai-results-sidebar .sidebar-nav-item.active{background:#667eea4d;font-weight:600}.ai-results-sidebar .sidebar-nav-icon{font-size:1.1rem}.ai-results-sidebar .sidebar-footer{border-top:1px solid rgba(255,255,255,.1);padding-top:16px}.ai-results-sidebar .user-info{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ai-results-sidebar .user-avatar{font-size:1.5rem}.ai-results-sidebar .logout-btn{width:100%;padding:8px;background:#ffffff1a;border:none;border-radius:6px;color:#fff;font-size:.85rem;cursor:pointer;transition:background .2s}.ai-results-sidebar .logout-btn:hover{background:#fff3}.ai-results-main{margin-left:240px;flex:1;display:flex;flex-direction:column;min-height:100vh}.ai-results-header{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;background:#fff;border-bottom:1px solid #e5e7eb}.ai-results-title{font-size:1.4rem;font-weight:700;color:#1f2937;margin:0}.ai-results-subtitle{font-size:.85rem;color:#6b7280;margin-top:4px}.ai-results-header-actions{display:flex;gap:10px}.ai-results-header-actions .btn-primary{padding:8px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s}.ai-results-header-actions .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.ai-results-header-actions .btn-secondary{padding:8px 20px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;cursor:pointer;transition:background .15s}.ai-results-header-actions .btn-secondary:hover{background:#f3f4f6}.ai-results-toolbar{display:flex;gap:24px;padding:12px 28px;background:#fff;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center}.ai-results-toolbar .toolbar-section{display:flex;align-items:center;gap:8px}.ai-results-toolbar .toolbar-title{font-size:.8rem;font-weight:600;color:#6b7280;margin:0;white-space:nowrap}.ai-results-toolbar .toolbar-controls{display:flex;gap:8px;align-items:center}.ai-results-toolbar .toolbar-select{padding:5px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.82rem;color:#374151;background:#fff;cursor:pointer}.ai-results-toolbar .toolbar-checkbox{display:flex;align-items:center;gap:4px;font-size:.82rem;color:#374151;cursor:pointer;white-space:nowrap}.toolbar-stats{display:flex;gap:14px;font-size:.82rem;color:#4b5563}.toolbar-stats .stat-high{color:#10b981}.toolbar-stats .stat-medium{color:#f59e0b}.toolbar-stats .stat-low{color:#ef4444}.ai-results-workspace{display:flex;flex:1;padding:20px 28px;gap:20px;overflow:hidden}.ai-results-canvas-area{flex:1;display:flex;flex-direction:column;min-width:0}.drawing-tabs{display:flex;gap:4px;margin-bottom:8px}.drawing-tab{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-bottom:none;border-radius:8px 8px 0 0;font-size:.85rem;color:#6b7280;cursor:pointer;transition:background .15s,color .15s}.drawing-tab.active{background:#667eea;color:#fff;border-color:#667eea;font-weight:600}.drawing-tab:hover:not(.active){background:#f3f4f6}.canvas-container{position:relative;background:#fff;border:1px solid #d1d5db;border-radius:0 8px 8px;overflow:auto;flex:1;min-height:400px}.drawing-image{width:100%;height:auto;display:block;-webkit-user-select:none;user-select:none}.ai-marker{position:absolute;transform:translate(-50%,-50%);min-width:18px;min-height:18px;padding:2px;border:1.5px solid #E53935;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,opacity .3s ease;background:#ffffffe6;z-index:10;animation:markerAppear .5s ease-out both;font-size:12px}@keyframes markerAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}60%{transform:translate(-50%,-50%) scale(1.2)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.ai-marker:before{content:"";position:absolute;inset:-2px;border-radius:4px;border:1px solid currentColor;opacity:0;animation:markerPulse 2.5s ease-out infinite;pointer-events:none}@keyframes markerPulse{0%{opacity:.5;inset:-1px}to{opacity:0;inset:-6px}}.ai-marker:hover,.ai-marker.hovered{transform:translate(-50%,-50%) scale(1.15);box-shadow:0 2px 10px #00000040;z-index:20;animation:none}.ai-marker.selected{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 0 0 2px #667eea80,0 3px 12px #0000004d;z-index:30;border-color:#667eea!important;animation:markerBounce .4s ease}@keyframes markerBounce{0%{transform:translate(-50%,-50%) scale(1)}30%{transform:translate(-50%,-50%) scale(1.3)}50%{transform:translate(-50%,-50%) scale(1.1)}70%{transform:translate(-50%,-50%) scale(1.25)}to{transform:translate(-50%,-50%) scale(1.2)}}.ai-marker.dragging{opacity:.8;cursor:grabbing;box-shadow:0 8px 32px #0006;z-index:100;animation:none}.ai-marker-icon{width:24px;height:24px}.ai-marker-confidence{position:absolute;top:-10px;right:-10px;font-size:9px;font-weight:700;padding:1px 4px;border-radius:8px;white-space:nowrap}.confidence-high{background:#dcfce7;color:#166534}.confidence-medium{background:#fef3c7;color:#92400e}.confidence-low{background:#fee2e2;color:#dc2626}.ai-marker-label{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:6px 10px;border-radius:6px;font-size:.75rem;white-space:nowrap;pointer-events:none;z-index:50;display:flex;flex-direction:column;align-items:center;gap:2px}.ai-marker-label:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000d9}.ai-marker-label-action{font-size:.7rem;font-weight:600}.ai-results-legend{margin-top:12px;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:14px 18px}.legend-title{font-size:.9rem;font-weight:700;color:#1f2937;margin:0 0 10px}.legend-grid{display:flex;flex-wrap:wrap;gap:8px}.legend-item{display:flex;align-items:center;gap:6px;background:#f9fafb;padding:4px 10px;border-radius:6px;font-size:.8rem;color:#374151}.legend-icon{width:20px;height:20px}.legend-name{font-weight:500}.legend-count{color:#6b7280;font-weight:600}.legend-actions{margin-top:10px;padding-top:10px;border-top:1px solid #e5e7eb}.legend-actions h5{font-size:.8rem;color:#6b7280;margin:0 0 6px}.legend-action-items{display:flex;gap:8px}.legend-action-badge{display:inline-block;padding:2px 10px;border:1.5px solid;border-radius:12px;font-size:.75rem;font-weight:600}.ai-results-panel{width:340px;min-width:340px;background:#fff;border:1px solid #d1d5db;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.ai-results-panel .panel-header{padding:14px 16px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-results-panel .panel-title{font-size:.95rem;font-weight:700;color:#1f2937;margin:0}.btn-add{padding:6px 14px;border-radius:8px;background:linear-gradient(135deg,#667eea,#9b59b6);color:#fff;border:none;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}.btn-add:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.add-panel{border-bottom:1px solid #e5e7eb;background:#fafbff;animation:addPanelIn .2s ease-out}@keyframes addPanelIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.add-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 10px;border-bottom:1px solid #e5e7eb}.add-panel-title{font-size:.9rem;font-weight:700;color:#1f2937}.add-panel-close{width:26px;height:26px;border:none;background:#f3f4f6;border-radius:6px;cursor:pointer;font-size:14px;color:#6b7280;display:flex;align-items:center;justify-content:center;transition:all .15s}.add-panel-close:hover{background:#fee2e2;color:#ef4444}.add-panel-search{padding:10px 14px;border-bottom:1px solid #f3f4f6}.add-panel-input{width:100%;padding:8px 12px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:.83rem;outline:none;transition:border-color .2s}.add-panel-input:focus{border-color:#667eea}.add-panel-input::placeholder{color:#c0c4cc}.add-panel-body{max-height:220px;overflow-y:auto;padding:6px 14px}.add-cat-group{margin-bottom:4px}.add-cat-label{font-size:.72rem;font-weight:700;color:#9ca3af;padding:6px 4px 4px;text-transform:uppercase;letter-spacing:.03em}.add-def-option{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;cursor:pointer;transition:background .15s;margin-bottom:1px}.add-def-option:hover{background:#eef2ff}.add-def-option.selected{background:#eef2ff;outline:2px solid #667eea}.add-def-name{font-size:.82rem;font-weight:600;color:#1f2937;flex:1}.add-no-results{text-align:center;padding:20px 10px;font-size:.82rem;color:#9ca3af}.add-panel-footer{display:flex;gap:8px;justify-content:flex-end;padding:10px 14px 14px;border-top:1px solid #f3f4f6}.add-btn-cancel{padding:8px 16px;border-radius:7px;border:1.5px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .15s}.add-btn-cancel:hover{background:#f3f4f6}.add-btn-confirm{padding:8px 18px;border-radius:7px;border:none;background:linear-gradient(135deg,#667eea,#9b59b6);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .2s}.add-btn-confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.add-btn-confirm:disabled{opacity:.45;cursor:not-allowed}.panel-summary{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.summary-chip{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:3px 10px;font-size:.72rem;color:#374151}.summary-chip-icon{width:14px;height:14px}.summary-chip strong{color:#667eea;margin-left:2px}.panel-content{flex:1;overflow-y:auto;padding:10px 12px}.panel-empty{text-align:center;padding:40px 20px;color:#6b7280}.symbol-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.symbol-card:hover{background:#f0f4ff;border-color:#c7d2fe}.symbol-card.selected{background:#eef2ff;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.symbol-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.symbol-card-id{font-size:.75rem;font-weight:700;color:#6b7280}.symbol-card-confidence{font-size:.72rem;font-weight:700;padding:1px 8px;border-radius:10px}.symbol-card-body{display:flex;align-items:flex-start;gap:10px}.symbol-card-icon{width:32px;height:32px;flex-shrink:0}.symbol-card-info{flex:1;min-width:0}.symbol-card-name{font-size:.85rem;font-weight:600;color:#1f2937;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.symbol-card-position{font-size:.75rem;color:#6b7280}.symbol-card-category{font-size:.72rem;color:#9ca3af;margin-top:2px}.symbol-card-footer{display:flex;justify-content:flex-end;margin-top:6px}.symbol-card-action{display:inline-block;padding:1px 10px;border:1.5px solid;border-radius:10px;font-size:.72rem;font-weight:600}@media(max-width:1200px){.ai-results-panel{width:280px;min-width:280px}}@media(max-width:900px){.ai-results-sidebar{width:60px}.ai-results-sidebar .sidebar-logo,.ai-results-sidebar .sidebar-tagline,.ai-results-sidebar .sidebar-nav-item span:not(.sidebar-nav-icon),.ai-results-sidebar .sidebar-footer .user-info div:last-child,.ai-results-sidebar .logout-btn{display:none}.ai-results-main{margin-left:60px}.ai-results-workspace{flex-direction:column}.ai-results-panel{width:100%;min-width:unset;max-height:300px}}.set-password-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.set-password-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 20px #00000026;max-width:440px;width:100%;text-align:center}.set-password-card h1{font-size:24px;margin-bottom:8px;color:#333}.set-password-card .description{color:#666;margin-bottom:24px;font-size:14px}.set-password-card .form-group{margin-bottom:16px;text-align:left}.set-password-card .form-group label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:6px}.set-password-card .form-group input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:15px;box-sizing:border-box;transition:border-color .2s}.set-password-card .form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.set-password-card .btn-primary{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;margin-top:8px;transition:background .2s}.set-password-card .btn-primary:hover{background:#5a6fd6}.set-password-card .btn-primary:disabled{background:#aaa;cursor:not-allowed}.set-password-card .error{color:#dc3545;font-size:14px;margin-bottom:12px;padding:8px 12px;background:#fff5f5;border-radius:4px}.set-password-card .success-icon{width:64px;height:64px;border-radius:50%;background:#28a745;color:#fff;font-size:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.set-password-card .error-icon{width:64px;height:64px;border-radius:50%;background:#dc3545;color:#fff;font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.set-password-card .hint{color:#999;font-size:13px;margin-top:8px}.loading-spinner{width:40px;height:40px;border:4px solid #eee;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.symbol-list-page{max-width:960px;margin:0 auto;padding:32px 24px 64px}.symbol-list-header{margin-bottom:28px}.symbol-list-header h1{font-size:1.6rem;font-weight:700;color:#1a1a2e;margin:0 0 8px}.symbol-list-header p{color:#555;margin:0;font-size:.95rem}.symbol-loading{text-align:center;padding:64px;color:#888}.symbol-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.marker-tabs{display:flex;flex-wrap:wrap;gap:8px}.marker-tab{padding:7px 16px;border:1.5px solid #d1d5db;background:#fff;border-radius:20px;font-size:.875rem;font-weight:500;cursor:pointer;color:#444;transition:all .15s}.marker-tab:hover{border-color:#e85d00;color:#e85d00}.marker-tab.active{background:#e85d00;border-color:#e85d00;color:#fff}.symbol-search{width:280px;padding:8px 12px;border:1.5px solid #d1d5db;border-radius:6px;font-size:.875rem;outline:none;transition:border-color .15s}.symbol-search:focus{border-color:#e85d00}.symbol-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.symbol-table{width:100%;border-collapse:collapse;font-size:.9rem}.symbol-table thead{background:#f9fafb}.symbol-table th{padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;white-space:nowrap}.symbol-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .1s}.symbol-table tbody tr:last-child{border-bottom:none}.symbol-table tbody tr:hover{background:#fef9f6}.symbol-table td{padding:11px 16px;color:#374151}.model-cell{font-family:Courier New,monospace;font-size:.85rem;color:#555}.price-cell{white-space:nowrap;font-weight:500;color:#1a1a2e}.empty-cell{text-align:center;padding:32px!important;color:#9ca3af}.symbol-note{margin-top:12px;font-size:.8rem;color:#9ca3af}.faq-page{max-width:960px;margin:0 auto;padding:32px 24px 64px}.faq-header{margin-bottom:28px}.faq-header h1{font-size:1.6rem;font-weight:700;color:#1a1a2e;margin:0 0 8px}
