.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-box{background:#fff;padding:40px;border-radius:10px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.login-box h1{text-align:center;color:#333;margin-bottom:10px;font-size:28px}.subtitle{text-align:center;color:#666;margin-bottom:30px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:16px;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.login-actions{margin-top:10px}.login-button{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.forgot-password-link{display:block;text-align:center;margin-top:14px;font-size:14px;color:#667eea;text-decoration:none}.forgot-password-link:hover{text-decoration:underline}.login-button:hover:not(:disabled){background:#5568d3}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:12px;border-radius:5px;margin-bottom:20px;font-size:14px;text-align:center}.success-message{background:#e6f9e6;color:#2a7a2a;padding:12px;border-radius:5px;margin-bottom:20px;font-size:14px;text-align:center}.mode-toggle{text-align:center;margin-top:20px;font-size:14px;color:#666}.toggle-button{background:none;border:none;color:#667eea;font-size:14px;font-weight:600;cursor:pointer;padding:0;text-decoration:none}.toggle-button:hover{text-decoration:underline}.social-login-divider{display:flex;align-items:center;margin:24px 0 20px;color:#999;font-size:13px}.social-login-divider:before,.social-login-divider:after{content:"";flex:1;height:1px;background:#ddd}.social-login-divider span{padding:0 12px}.social-login-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.social-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border:none;border-radius:5px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s}.social-button:hover{opacity:.9}.social-button.kakao{background:#fee500;color:#191919}.social-button.naver{background:#03c75a;color:#fff}.social-button.google{background:#fff;color:#757575;border:1px solid #dadce0}.social-button.google:hover{background:#f8f9fa;opacity:1}.social-icon{flex-shrink:0}.oauth-loading-spinner{width:40px;height:40px;margin:30px auto;border:4px solid #eee;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 480px){.login-box{padding:30px 20px;border-radius:0;box-shadow:none;max-width:100%}.login-container{padding:0;align-items:stretch}.login-box h1{font-size:24px}}.usage-summary{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px}.usage-summary h2{color:#333;font-size:20px;margin-bottom:20px}.usage-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.usage-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;border-radius:10px;position:relative;overflow:hidden}.usage-card.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.usage-card.clickable:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea66}.usage-card.clickable:active{transform:translateY(-1px)}.usage-card.clickable:focus-visible{outline:2px solid #fff;outline-offset:2px}.usage-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.usage-card-header h3{font-size:16px;font-weight:600;margin:0}.usage-period{font-size:12px;opacity:.9;background:#fff3;padding:4px 10px;border-radius:12px}.usage-stats{margin-bottom:15px}.usage-numbers{font-size:32px;font-weight:700;margin-bottom:8px}.usage-separator{opacity:.7;margin:0 5px}.usage-limit{opacity:.8;font-size:24px}.usage-remaining{font-size:13px;opacity:.9}.usage-progress{height:6px;background:#ffffff4d;border-radius:3px;overflow:hidden;margin-bottom:10px}.usage-progress-bar{height:100%;transition:width .3s ease;border-radius:3px}.upgrade-prompt{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 15px;border-radius:5px;cursor:pointer;font-size:13px;font-weight:600;width:100%;transition:all .3s}.upgrade-prompt:hover{background:#ffffff4d;transform:translateY(-1px)}@media (max-width: 768px){.usage-cards{grid-template-columns:1fr}}.usage-chart-container{margin-top:20px}.chart-info{display:flex;justify-content:space-between;margin-bottom:15px;font-size:14px;color:#666}.chart-wrapper{height:400px;position:relative}.chart-placeholder{height:400px;display:flex;justify-content:center;align-items:center;color:#999;font-size:16px}@media (max-width: 768px){.chart-info{flex-direction:column;gap:5px}.chart-wrapper{height:300px}}.tier-comparison{margin-top:20px}.tier-table-wrapper{overflow-x:auto}.tier-table{width:100%;border-collapse:collapse;font-size:14px}.tier-table th,.tier-table td{padding:15px;text-align:center;border:1px solid #e9ecef}.tier-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0}.tier-table tbody tr:hover{background:#f8f9fa}.tier-table tbody td:first-child{text-align:left;font-weight:500;background:#f8f9fa}.tier-header{min-width:150px}.tier-header.current{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.tier-header.upgradeable{background:#fff3cd}.tier-header-content{display:flex;flex-direction:column;gap:8px;align-items:center}.tier-name{font-size:16px;font-weight:600}.current-badge{background:#ffffff4d;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.upgrade-button-small{background:#667eea;color:#fff;border:none;padding:6px 12px;border-radius:5px;font-size:12px;cursor:pointer;font-weight:600;transition:background .3s}.upgrade-button-small:hover{background:#5568d3}.tier-table td.current{background:#e7f3ff;font-weight:600}@media (max-width: 768px){.tier-table{font-size:12px}.tier-table th,.tier-table td{padding:10px 8px}.tier-name{font-size:14px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:10px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid #e9ecef}.modal-header h2{color:#333;font-size:24px;margin:0}.modal-close{background:none;border:none;font-size:32px;color:#999;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .3s}.modal-close:hover{color:#333}.modal-body{padding:30px}.tier-description{color:#666;font-size:16px;margin-bottom:25px;line-height:1.6}.tier-features{margin-bottom:25px}.tier-features h3{color:#333;font-size:18px;margin-bottom:15px}.tier-features ul{list-style:none;padding:0}.tier-features li{padding:10px 0;color:#555;font-size:15px;border-bottom:1px solid #f0f0f0}.tier-features li:last-child{border-bottom:none}.upgrade-benefits{background:#f8f9fa;padding:20px;border-radius:8px}.upgrade-benefits h3{color:#333;font-size:18px;margin-bottom:15px}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.benefit-item{display:flex;align-items:center;gap:10px;padding:10px;background:#fff;border-radius:5px;font-size:14px;color:#555}.benefit-icon{font-size:20px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px 30px;border-top:1px solid #e9ecef}.cancel-button,.upgrade-button{padding:12px 24px;border:none;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.cancel-button{background:#e9ecef;color:#333}.cancel-button:hover{background:#dee2e6}.upgrade-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.upgrade-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}@media (max-width: 768px){.modal-content{max-width:100%;margin:10px}.modal-header,.modal-body,.modal-footer{padding:20px}.benefits-grid{grid-template-columns:1fr}}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.payment-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.payment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.payment-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.close-button{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button:hover{background-color:#f3f4f6}.payment-modal-body{padding:24px}.payment-info{background-color:#f9fafb;border-radius:8px;padding:16px;margin-bottom:20px}.payment-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.payment-info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.payment-info-row .label{color:#6b7280;font-size:14px}.payment-info-row .value{color:#111827;font-size:14px;font-weight:500}.payment-info-row .value.amount{font-size:18px;font-weight:700;color:#2563eb}.payment-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px;margin-bottom:20px}.payment-error p{margin:0;color:#dc2626;font-size:14px}.payment-actions{display:flex;gap:12px;margin-bottom:20px}.payment-button{flex:1;background-color:#2563eb;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.payment-button:hover:not(:disabled){background-color:#1d4ed8}.payment-button:disabled{background-color:#9ca3af;cursor:not-allowed}.cancel-button{flex:1;background-color:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.cancel-button:hover:not(:disabled){background-color:#f9fafb}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.payment-notice{border-top:1px solid #e5e7eb;padding-top:16px}.payment-notice p{margin:4px 0;color:#6b7280;font-size:13px;line-height:1.5}.monitoring{max-width:1400px;margin:0 auto;padding:0 0 30px}.monitoring-section{background:#fff;padding:24px;border-radius:10px;box-shadow:0 2px 10px #00000014;margin-bottom:24px}.monitoring-section h2{color:#333;font-size:18px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid #eee}.monitoring-tier-block{text-align:center;padding:40px 24px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:10px;color:#495057}.monitoring-tier-block h3{font-size:20px;margin-bottom:12px;color:#333}.monitoring-tier-block p{margin-bottom:20px;font-size:14px}.monitoring-guide{margin-bottom:16px}.monitoring-guide details{background:#f0f8ff;border:1px solid #d1ecf1;border-radius:8px;padding:12px 16px}.monitoring-guide summary{cursor:pointer;font-weight:600;font-size:14px;color:#0c5460}.monitoring-guide ol{margin:10px 0 8px;padding-left:20px;font-size:13px;color:#555;line-height:1.8}.monitoring-guide .guide-example{margin:8px 0 0;padding:10px 12px;background:#e8f4fc;border-radius:6px;font-size:13px;color:#333;line-height:1.6}.monitoring-guide .guide-example code{background:#0000000f;padding:2px 6px;border-radius:3px;font-size:12px;word-break:break-all}.monitoring-form{display:grid;gap:16px;max-width:600px}.monitoring-form .form-row{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:12px}.monitoring-form label{font-size:14px;color:#555;font-weight:500}.monitoring-form input{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.monitoring-form input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.monitoring-form .form-actions{grid-column:1 / -1;display:flex;gap:12px;margin-top:8px}.btn-primary{padding:10px 20px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;font-weight:500}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:10px 20px;background:#95a5a6;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.btn-secondary:hover{background:#7f8c8d}.btn-danger{padding:6px 12px;background:#e74c3c;color:#fff;border:none;border-radius:5px;font-size:12px;cursor:pointer}.btn-danger:hover{background:#c0392b}.product-list{list-style:none;padding:0;margin:0}.product-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #eee;border-radius:8px;margin-bottom:10px;background:#fafafa}.product-item:hover{background:#f5f5f5}.product-info{flex:1;min-width:0}.product-info .name{font-weight:600;color:#333;margin-bottom:4px}.product-info .meta{font-size:12px;color:#777}.product-price{margin:0 16px;font-weight:600;color:#2c3e50;white-space:nowrap}.product-actions{display:flex;gap:8px;align-items:center}.product-actions input[type=number]{width:90px;padding:6px 8px;border:1px solid #ddd;border-radius:5px;font-size:13px}.price-history-chart{min-height:280px;margin-top:12px}.price-history-placeholder{padding:40px;text-align:center;color:#888;background:#f9f9f9;border-radius:8px}.alert-list{list-style:none;padding:0;margin:0}.alert-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid #eee;border-radius:8px;margin-bottom:8px;background:#fff}.alert-item.unread{background:#f0f8ff;border-left:4px solid #3498db}.alert-item .alert-message{flex:1;font-size:14px;color:#333}.alert-item .alert-meta{font-size:12px;color:#888;margin-top:4px}.alert-item .alert-actions{flex-shrink:0}.alert-severity{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.alert-severity.info{background:#d1ecf1;color:#0c5460}.alert-severity.warning{background:#fff3cd;color:#856404}.alert-severity.critical{background:#f8d7da;color:#721c24}.alert-read-all{margin-bottom:16px}.monitoring-loading,.monitoring-error{text-align:center;padding:24px;color:#666}.monitoring-error{color:#e74c3c}@media (max-width: 768px){.product-item{flex-direction:column;align-items:flex-start;gap:12px}.product-price,.product-actions{margin:0;width:100%}.monitoring-form .form-row{grid-template-columns:1fr}}.admin-page{padding:1rem;max-width:1200px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-header h2{margin:0;font-size:1.25rem}.admin-dashboard-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer}.admin-dashboard-btn:hover{opacity:.9}.admin-error{padding:.75rem 1rem;background:#fee;color:#c00;border-radius:6px;margin-bottom:1rem}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.admin-tabs button{padding:.5rem 1rem;background:#f0f0f0;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem}.admin-tabs button.active{background:#667eea;color:#fff;border-color:#667eea}.admin-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.admin-filters input,.admin-filters select{padding:.4rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem}.admin-loading{padding:1rem;color:#666}.admin-table-wrap{overflow-x:auto}.admin-total{margin-bottom:.5rem;font-size:.9rem;color:#555}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th,.admin-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #eee}.admin-table th{background:#f8f9fa;font-weight:600}.admin-table tbody tr:hover{background:#f8f9fa}.admin-cell-order{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-pagination{display:flex;align-items:center;gap:1rem;margin-top:1rem}.admin-pagination button{padding:.4rem .8rem;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.85rem}.admin-pagination button:disabled{opacity:.5;cursor:not-allowed}.admin-pagination span{font-size:.9rem;color:#555}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.admin-stat-card{background:#f8f9fa;border-radius:8px;padding:16px;text-align:center;border:1px solid #e9ecef}.stat-value{font-size:1.5rem;font-weight:700;color:#333}.stat-label{font-size:.8rem;color:#777;margin-top:4px}.admin-stats-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.admin-stats-section{background:#f8f9fa;border-radius:8px;padding:16px;border:1px solid #e9ecef}.admin-stats-section h4{margin:0 0 12px;font-size:.9rem}.tier-distribution{display:flex;flex-wrap:wrap;gap:8px}.tier-item{display:flex;align-items:center;gap:6px}.tier-count{font-size:.85rem;color:#555}.tier-badge{padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.tier-badge.tier-free{background:#e9ecef;color:#555}.tier-badge.tier-basic{background:#d4edda;color:#155724}.tier-badge.tier-pro{background:#cce5ff;color:#004085}.tier-badge.tier-enterprise{background:#f8d7da;color:#721c24}.top-keywords-list{display:flex;flex-direction:column;gap:4px}.keyword-item{display:flex;align-items:center;gap:8px;font-size:.85rem}.keyword-rank{width:20px;font-weight:700;color:#667eea;text-align:center}.keyword-name{flex:1}.keyword-count{color:#888}.admin-actions-cell{white-space:nowrap}.admin-action-btn{padding:3px 8px;border:1px solid #ddd;border-radius:4px;background:#f8f9fa;font-size:.75rem;cursor:pointer;margin-right:4px}.admin-action-btn.edit{border-color:#667eea;color:#667eea}.admin-action-btn.edit:hover{background:#667eea;color:#fff}.admin-action-btn.delete{border-color:#e74c3c;color:#e74c3c}.admin-action-btn.delete:hover{background:#e74c3c;color:#fff}.admin-link-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.admin-link-btn:hover{color:#5568d3}.admin-filter-btn{padding:.4rem .8rem;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.inactive-row{opacity:.5}.admin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.admin-modal{background:#fff;border-radius:12px;width:90%;max-width:520px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.admin-modal-header h3{margin:0;font-size:1rem}.admin-modal-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#888}.admin-modal-body{padding:20px}.user-detail-grid{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid #f0f0f0;font-size:.85rem}.detail-label{font-weight:600;color:#555;min-width:100px}.admin-modal-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #eee}.edit-form{display:flex;flex-direction:column;gap:12px}.edit-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:#555}.edit-form input[type=text],.edit-form select{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important}.checkbox-label input[type=checkbox]{width:16px;height:16px}.admin-dashboard-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.admin-stats-row{grid-template-columns:1fr}.admin-stats-grid{grid-template-columns:repeat(2,1fr)}}.recommendations{max-width:1200px;margin:0 auto;padding:0 20px 40px}.recommendations-header{margin-bottom:24px}.recommendations-header h2{font-size:22px;color:#333;margin-bottom:8px}.recommendations-meta{color:#666;font-size:14px;margin-bottom:16px}.recommendations-meta .tier-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.recommendations-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.recommendations-filter{padding:8px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;background:#fff;min-width:140px}.recommendations-generate-btn,.recommendations-upgrade-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s,opacity .2s}.recommendations-generate-btn{background:#0d6efd;color:#fff}.recommendations-generate-btn:hover:not(:disabled){background:#0b5ed7}.recommendations-generate-btn:disabled{opacity:.7;cursor:not-allowed}.recommendations-upgrade-btn{background:#198754;color:#fff}.recommendations-upgrade-btn:hover{background:#157347}.recommendations-error{padding:12px 16px;background:#f8d7da;color:#721c24;border-radius:6px;margin-bottom:16px}.recommendations-loading,.recommendations-empty{text-align:center;padding:48px 20px;color:#666}.recommendations-empty p{margin-bottom:8px}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.recommendation-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}.recommendation-card:hover{box-shadow:0 4px 14px #0000001f}.recommendation-card-image{position:relative;aspect-ratio:1;background:#f1f3f5}.recommendation-card-image img{width:100%;height:100%;object-fit:cover}.recommendation-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#868e96;font-size:14px}.recommendation-card-image .badge.rocket{position:absolute;top:8px;left:8px;padding:4px 8px;background:#0d6efd;color:#fff;border-radius:4px;font-size:11px;font-weight:600}.recommendation-card-info{padding:14px;flex:1;display:flex;flex-direction:column}.recommendation-card-title{font-size:15px;font-weight:600;color:#212529;margin:0 0 8px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recommendation-card-price{font-size:16px;font-weight:700;color:#0d6efd;margin:0 0 8px}.recommendation-card-reason{font-size:13px;color:#495057;margin:0 0 8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recommendation-card-stats{font-size:12px;color:#868e96;margin-bottom:10px;display:flex;flex-wrap:wrap;gap:8px}.recommendation-card-link{margin-top:auto;display:inline-block;padding:6px 12px;background:#f1f3f5;color:#495057;border-radius:6px;font-size:13px;text-decoration:none;text-align:center;transition:background .2s}.recommendation-card-link:hover{background:#e9ecef;color:#212529}.recommendations-delete-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;background:#dc3545;color:#fff;transition:background .2s}.recommendations-delete-btn:hover{background:#bb2d3b}.rec-checkbox{position:absolute;top:8px;right:8px;z-index:2;cursor:pointer}.rec-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#0d6efd}.rec-heart{position:absolute;bottom:8px;right:8px;z-index:2;background:#ffffffd9;border:none;border-radius:50%;width:32px;height:32px;font-size:20px;line-height:32px;text-align:center;cursor:pointer;color:#e91e63;transition:transform .15s,background .15s;padding:0}.rec-heart:hover{transform:scale(1.15);background:#fff}.rec-heart.active{color:#e91e63}.rec-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center}.rec-confirm-popup{background:#fff;border-radius:12px;padding:28px 32px;max-width:400px;width:90%;text-align:center;box-shadow:0 8px 30px #0000002e}.rec-confirm-popup p{margin:0 0 8px;font-size:16px;color:#333}.rec-confirm-sub{font-size:13px!important;color:#888!important;margin-bottom:20px!important}.rec-confirm-buttons{display:flex;gap:12px;justify-content:center;margin-top:16px}.rec-confirm-cancel,.rec-confirm-ok{padding:8px 24px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.rec-confirm-cancel{background:#e9ecef;color:#495057}.rec-confirm-cancel:hover{background:#dee2e6}.rec-confirm-ok{background:#dc3545;color:#fff}.rec-confirm-ok:hover{background:#bb2d3b}.recommendations-favorites-section{margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #f1f3f5}.recommendations-section-title{font-size:17px;color:#333;margin:0 0 16px;font-weight:600}.recommendations-main-section{margin-top:8px}@media (max-width: 768px){.recommendations{padding:0 10px 30px}.recommendations-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.recommendations-actions{flex-direction:column}.recommendations-filter{width:100%}.rec-confirm-popup{padding:20px}}@media (max-width: 480px){.recommendations-grid{grid-template-columns:1fr}.recommendations-header h2{font-size:18px}}.api-usage{animation:fadeIn .3s ease}.api-usage-header{margin-bottom:24px}.api-usage-title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.api-usage-title-row h2{color:#333;font-size:20px;margin:0}.back-button{background:none;border:1px solid #dee2e6;color:#666;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.back-button:hover{background:#f0f0f0;color:#333}.api-usage-desc{color:#888;font-size:14px;margin:0}.api-usage-error{background:#fee;color:#c0392b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.api-usage-loading{text-align:center;padding:60px 0;color:#888;font-size:15px}.api-usage-status-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:28px;border-radius:12px;margin-bottom:24px}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.status-header h3{font-size:16px;font-weight:600;margin:0}.status-badge{font-size:12px;padding:4px 12px;border-radius:12px;font-weight:600}.status-badge.status-safe{background:#2ecc714d}.status-badge.status-warning{background:#f39c124d}.status-badge.status-danger{background:#e74c3c4d}.status-numbers{font-size:36px;font-weight:700;margin-bottom:12px}.status-separator{opacity:.7;margin:0 6px}.status-limit{opacity:.8;font-size:26px}.status-progress{height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden;margin-bottom:12px}.status-progress-bar{height:100%;border-radius:4px;transition:width .3s ease}.status-progress-bar.status-safe{background:#2ecc71}.status-progress-bar.status-warning{background:#f39c12}.status-progress-bar.status-danger{background:#e74c3c}.status-info{display:flex;justify-content:space-between;font-size:13px;opacity:.9}.api-upgrade-btn{margin-top:14px;width:100%;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.api-upgrade-btn:hover{background:#ffffff4d}.api-usage-chart-section,.api-usage-history-section{background:#fff;padding:24px;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{color:#333;font-size:17px;font-weight:600;margin:0}.period-select{padding:6px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:13px;color:#555;background:#fff;cursor:pointer}.chart-wrapper{height:300px;margin-bottom:12px}.chart-empty{text-align:center;padding:40px 0;color:#aaa}.chart-summary{display:flex;gap:20px;font-size:13px;color:#888;padding-top:8px;border-top:1px solid #f0f0f0}.history-table-wrapper{overflow-x:auto}.history-table{width:100%;border-collapse:collapse;font-size:14px}.history-table th{text-align:left;padding:10px 12px;background:#f8f9fa;color:#555;font-weight:600;border-bottom:2px solid #e9ecef;white-space:nowrap}.history-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:#444}.history-table tr:hover td{background:#f8f9fa}.endpoint-cell{font-family:monospace;font-size:12px;color:#667eea;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.api-usage-status-card{padding:20px}.status-numbers{font-size:28px}.status-limit{font-size:20px}.api-usage-chart-section,.api-usage-history-section{padding:16px}.section-header{flex-direction:column;align-items:flex-start;gap:8px}}.keyword-analysis{animation:fadeIn .3s ease}.keyword-analysis-header{margin-bottom:24px}.keyword-analysis-title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.keyword-analysis-title-row h2{color:#333;font-size:20px;margin:0}.keyword-analysis-desc{color:#888;font-size:14px;margin:0}.keyword-analysis-error{background:#fee;color:#c0392b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.keyword-analysis-loading{text-align:center;padding:60px 0;color:#888;font-size:15px}.keyword-status-card{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;padding:28px;border-radius:12px;margin-bottom:24px}.keyword-status-card .status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.keyword-status-card .status-header h3{font-size:16px;font-weight:600;margin:0}.keyword-status-card .status-numbers{font-size:36px;font-weight:700;margin-bottom:12px}.keyword-status-card .status-separator{opacity:.7;margin:0 6px}.keyword-status-card .status-limit{opacity:.8;font-size:26px}.keyword-status-card .status-progress{height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden;margin-bottom:12px}.keyword-status-card .status-progress-bar{height:100%;border-radius:4px;transition:width .3s ease}.keyword-status-card .status-progress-bar.status-safe{background:#ffffffb3}.keyword-status-card .status-progress-bar.status-warning{background:#f39c12}.keyword-status-card .status-progress-bar.status-danger{background:#e74c3c}.keyword-status-card .status-info{display:flex;justify-content:space-between;font-size:13px;opacity:.9}.keyword-search-section{background:#fff;padding:24px;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:24px}.keyword-search-section h3{color:#333;font-size:17px;font-weight:600;margin:0 0 16px}.keyword-search-bar{display:flex;gap:8px}.keyword-search-input{flex:1;padding:10px 14px;border:1px solid #dee2e6;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.keyword-search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.keyword-search-btn{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.keyword-search-btn:hover{background:#5568d3}.keyword-search-btn:disabled{opacity:.6;cursor:not-allowed}.keyword-search-result{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:8px}.search-error{color:#c0392b;margin:0}.search-result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.search-result-header h4{margin:0;color:#333;font-size:15px}.search-result-meta{display:flex;gap:8px;align-items:center}.growth-rate{font-size:14px;font-weight:600;padding:2px 8px;border-radius:4px}.growth-rate.positive{color:#27ae60;background:#27ae601a}.growth-rate.negative{color:#e74c3c;background:#e74c3c1a}.trend-label{font-size:12px;color:#666;padding:2px 8px;background:#e9ecef;border-radius:4px}.search-result-chart{height:200px}.search-no-data{color:#999;font-size:14px;text-align:center;padding:20px 0;margin:0}.keyword-insights-section{background:#fff;padding:24px;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:24px}.keyword-insights-section h3{color:#333;font-size:17px;font-weight:600;margin:0 0 16px}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:16px}.insight-card{background:#f8f9fa;padding:16px;border-radius:8px;text-align:center}.insight-value{font-size:22px;font-weight:700;color:#333;margin-bottom:4px;word-break:break-word}.insight-label{font-size:12px;color:#888}.insight-pattern{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#eef2ff;border-radius:8px;font-size:14px;color:#555}.pattern-icon{font-size:18px}.keyword-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.keyword-chart-section{background:#fff;padding:24px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.keyword-chart-section h3{color:#333;font-size:17px;font-weight:600;margin:0 0 16px}.keyword-chart-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.keyword-chart-section .section-header h3{margin:0}.keyword-chart-section .chart-wrapper{height:280px}.keyword-chart-section .chart-empty{text-align:center;padding:40px 0;color:#aaa}.keyword-table-section{background:#fff;padding:24px;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:24px}.keyword-table-section h3{color:#333;font-size:17px;font-weight:600;margin:0 0 16px}.keyword-table-wrapper{overflow-x:auto}.keyword-table{width:100%;border-collapse:collapse;font-size:14px}.keyword-table th{text-align:left;padding:10px 12px;background:#f8f9fa;color:#555;font-weight:600;border-bottom:2px solid #e9ecef}.keyword-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:#444}.keyword-table tr:hover td{background:#f8f9fa}.rank-cell{width:50px;text-align:center}.rank-badge{display:inline-block;width:26px;height:26px;line-height:26px;text-align:center;border-radius:50%;font-size:12px;font-weight:600;background:#e9ecef;color:#666}.rank-badge.top3{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.section-header-right{display:flex;align-items:center;gap:12px}.last-updated{font-size:11px;color:#999;white-space:nowrap}.source-legend{display:flex;gap:12px;font-size:12px;color:#666}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.legend-dot.datalab{background:#ea4335d9}.legend-dot.naver{background:#1ec800d9}.legend-dot.category{background:#4285f4d9}.legend-dot.seasonal{background:#ffc107d9}.internal-usage-section{margin-bottom:24px}.internal-usage-toggle{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f8f9fa;border-radius:10px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s;list-style:none}.internal-usage-toggle::-webkit-details-marker{display:none}.internal-usage-toggle:before{content:"▶";font-size:10px;color:#999;transition:transform .2s}.internal-usage-section[open]>.internal-usage-toggle:before{transform:rotate(90deg)}.internal-usage-toggle:hover{background:#e9ecef}.internal-usage-toggle h3{color:#555;font-size:15px;font-weight:600;margin:0}.toggle-hint{font-size:12px;color:#aaa}.internal-usage-section>.keyword-charts-row{margin-top:16px}@media (max-width: 768px){.keyword-charts-row{grid-template-columns:1fr}.keyword-status-card{padding:20px}.keyword-status-card .status-numbers{font-size:28px}.keyword-status-card .status-limit{font-size:20px}.keyword-search-bar{flex-direction:column}.insights-grid{grid-template-columns:repeat(2,1fr)}}.ai-analysis{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-analysis-header{margin-bottom:24px}.ai-analysis-title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.ai-analysis-title-row h2{color:#333;font-size:20px;margin:0}.ai-analysis-desc{color:#888;font-size:14px;margin:0}.ai-analysis-error{background:#fee;color:#c0392b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.ai-analysis-loading{text-align:center;padding:60px 0;color:#888;font-size:15px}.ai-status-card{background:linear-gradient(135deg,#e74c3c,#c0392b,#764ba2);color:#fff;padding:28px;border-radius:12px;margin-bottom:24px}.ai-status-card .status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ai-status-card .status-header h3{font-size:16px;font-weight:600;margin:0}.ai-status-card .status-numbers{font-size:36px;font-weight:700;margin-bottom:12px}.ai-status-card .status-separator{opacity:.7;margin:0 6px}.ai-status-card .status-limit{opacity:.8;font-size:26px}.ai-status-card .status-progress{height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden;margin-bottom:12px}.ai-status-card .status-progress-bar{height:100%;border-radius:4px;transition:width .3s ease}.ai-status-card .status-progress-bar.status-safe{background:#ffffffb3}.ai-status-card .status-progress-bar.status-warning{background:#f39c12}.ai-status-card .status-progress-bar.status-danger{background:#e74c3c}.ai-status-card .status-info{display:flex;justify-content:space-between;font-size:13px;opacity:.9}.ai-upgrade-btn{margin-top:14px;width:100%;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.ai-upgrade-btn:hover{background:#ffffff4d}.ai-analysis-form-section,.ai-insight-section,.ai-chart-section,.ai-history-section{background:#fff;padding:24px;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:24px}.ai-analysis-form-section h3,.ai-insight-section h3,.ai-chart-section h3,.ai-history-section h3{color:#333;font-size:17px;font-weight:600;margin:0 0 12px}.form-desc{color:#888;font-size:13px;margin:0 0 16px}.analysis-input-row,.insight-input-row{display:flex;gap:8px;margin-bottom:16px}.analysis-input,.insight-input{flex:1;padding:10px 14px;border:1px solid #dee2e6;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.analysis-input:focus,.insight-input:focus{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.analysis-btn{padding:10px 24px;background:#e74c3c;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.analysis-btn:hover{background:#c0392b}.analysis-btn:disabled{opacity:.6;cursor:not-allowed}.insight-btn{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.insight-btn:hover{background:#5568d3}.insight-btn:disabled{opacity:.6;cursor:not-allowed}.analysis-error{color:#c0392b;background:#fee;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.analysis-result{border:1px solid #e9ecef;border-radius:10px;padding:20px;background:#fafbfc}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.result-header-actions{display:flex;align-items:center;gap:10px}.export-pdf-btn{padding:6px 14px;background:#e74c3c;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.export-pdf-btn:hover:not(:disabled){background:#c0392b}.export-pdf-btn:disabled{opacity:.6;cursor:not-allowed}.result-header h4{margin:0;color:#333;font-size:16px}.result-tier{font-size:12px;padding:4px 10px;background:#667eea;color:#fff;border-radius:12px;font-weight:600}.result-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.result-stat{background:#fff;padding:14px;border-radius:8px;text-align:center;border:1px solid #e9ecef}.result-stat.highlight{border-color:#667eea;background:#eef2ff}.stat-value{display:block;font-size:18px;font-weight:700;color:#333;margin-bottom:4px}.stat-label{display:block;font-size:11px;color:#888}.result-ai-insights{margin-top:16px;padding:16px;background:#eef2ff;border-radius:8px}.result-ai-insights h5{margin:0 0 12px;color:#667eea;font-size:15px}.ai-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:12px}.ai-insight-item{background:#fff;padding:12px;border-radius:6px;text-align:center}.ai-insight-label{display:block;font-size:11px;color:#888;margin-bottom:4px}.ai-insight-value{display:block;font-size:16px;font-weight:600;color:#333}.ai-strategy{font-size:13px;color:#555;padding:10px;background:#fff;border-radius:6px;margin-bottom:8px;line-height:1.5}.ai-risks{font-size:13px;color:#555}.ai-risks ul{margin:4px 0 0;padding-left:20px}.ai-risks li{margin-bottom:4px}.result-products{margin-top:16px}.result-products h5{margin:0 0 12px;color:#333;font-size:15px}.products-table-wrapper{overflow-x:auto}.products-table{width:100%;border-collapse:collapse;font-size:13px}.products-table th{text-align:left;padding:8px 10px;background:#f0f0f0;color:#555;font-weight:600;border-bottom:2px solid #e9ecef;white-space:nowrap}.products-table td{padding:8px 10px;border-bottom:1px solid #f0f0f0;color:#444}.products-table tr:hover td{background:#f8f9fa}.product-name-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-name-cell a{color:#667eea;text-decoration:none}.product-name-cell a:hover{text-decoration:underline}.section-header-with-badge{display:flex;align-items:center;gap:8px;margin-bottom:12px}.section-header-with-badge h3{margin:0!important}.pro-badge{font-size:11px;padding:2px 8px;background:#667eea;color:#fff;border-radius:10px;font-weight:600}.insight-result{margin-top:12px;padding:16px;background:#f8f9fa;border-radius:8px}.insight-error{color:#c0392b;margin:0;font-size:14px}.insight-content h4{margin:0 0 12px;color:#333;font-size:15px}.pro-upgrade-prompt{text-align:center;padding:24px;background:#f8f9fa;border-radius:8px}.pro-upgrade-prompt p{color:#666;margin:0 0 12px}.pro-upgrade-btn{padding:10px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.pro-upgrade-btn:hover{background:#5568d3}.ai-chart-section .chart-wrapper{height:300px;margin-bottom:12px}.ai-chart-section .chart-empty{text-align:center;padding:40px 0;color:#aaa}.ai-chart-section .chart-summary{display:flex;gap:20px;font-size:13px;color:#888;padding-top:8px;border-top:1px solid #f0f0f0}.ai-history-section .history-table-wrapper{overflow-x:auto}.ai-history-section .history-table{width:100%;border-collapse:collapse;font-size:14px}.ai-history-section .history-table th{text-align:left;padding:10px 12px;background:#f8f9fa;color:#555;font-weight:600;border-bottom:2px solid #e9ecef;white-space:nowrap}.ai-history-section .history-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:#444}.ai-history-section .history-table tr:hover td{background:#f8f9fa}.keyword-cell{font-weight:500;color:#333}.insight-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.insight-badge.has{background:#d4edda;color:#155724}.insight-badge.none{background:#e9ecef;color:#888}.view-insight-btn{padding:4px 10px;background:#667eea;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.view-insight-btn:hover{background:#5568d3}.price-diff{font-size:11px;margin-left:4px;font-weight:600}.price-diff.up{color:#e74c3c}.price-diff.down{color:#2ecc71}.history-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.history-header-row h3{margin:0!important}.history-search-row{display:flex;gap:6px;align-items:center}.history-search-input{padding:6px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:13px;width:180px;outline:none;transition:border-color .2s}.history-search-input:focus{border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c1a}.history-search-clear{padding:6px 12px;border:1px solid #dee2e6;border-radius:6px;background:#f8f9fa;font-size:12px;cursor:pointer;color:#666;white-space:nowrap}.history-search-clear:hover{background:#e9ecef}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.sortable-th:hover{color:#e74c3c}.history-pagination{display:flex;justify-content:center;gap:4px;margin-top:16px;padding-top:12px;border-top:1px solid #f0f0f0}.history-page-btn{min-width:32px;height:32px;padding:0 8px;border:1px solid #dee2e6;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;color:#555;transition:all .2s}.history-page-btn:hover{background:#f0f0f0}.history-page-btn.active{background:#e74c3c;color:#fff;border-color:#e74c3c}.insight-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center}.insight-popup{background:#fff;border-radius:12px;max-width:560px;width:92%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 30px #0000002e}.insight-popup-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #eee}.insight-popup-header h4{margin:0;font-size:17px;color:#333}.insight-popup-close{background:none;border:none;font-size:24px;color:#888;cursor:pointer;padding:0 4px;line-height:1}.insight-popup-close:hover{color:#333}.insight-popup-body{padding:20px 24px 24px}.insight-popup-loading{text-align:center;padding:32px 0;color:#888}.insight-popup-error{color:#dc3545;text-align:center;padding:16px 0}.insight-popup-body .ai-insights-grid{margin-bottom:16px}.insight-popup-body .ai-strategy{margin-bottom:12px}.insight-popup-body .ai-strategy ul{margin:8px 0 0;padding-left:20px}.insight-popup-body .ai-strategy li{margin-bottom:4px;color:#555;font-size:14px}.insight-popup-body .ai-risks ul{margin:8px 0 0;padding-left:20px}.insight-popup-body .ai-risks li{margin-bottom:4px;color:#555;font-size:14px}.history-empty{text-align:center;padding:40px 0;color:#aaa;font-size:14px}@media (max-width: 768px){.ai-status-card{padding:20px}.ai-status-card .status-numbers{font-size:28px}.ai-status-card .status-limit{font-size:20px}.analysis-input-row,.insight-input-row{flex-direction:column}.result-stats-grid{grid-template-columns:repeat(2,1fr)}.ai-insights-grid{grid-template-columns:1fr}.ai-analysis-form-section,.ai-insight-section,.ai-chart-section,.ai-history-section{padding:16px}.history-search-input{width:120px}.insight-popup{width:98%;max-height:90vh}.insight-popup-header{padding:14px 16px}.insight-popup-body{padding:16px}}@media (max-width: 480px){.result-stats-grid{grid-template-columns:1fr}.history-header-row{flex-direction:column;align-items:flex-start}.history-search-row{width:100%}.history-search-input{flex:1;width:auto}.ai-chart-section .chart-summary{flex-direction:column;gap:4px}}.daily-report{animation:drFadeIn .3s ease}@keyframes drFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.daily-report-loading,.daily-report-error{text-align:center;padding:60px 20px;color:#666;font-size:15px}.daily-report-error p{margin-bottom:15px;color:#e74c3c}.dr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dr-header h2{font-size:22px;color:#333;margin:0}.dr-tier-info{font-size:13px;color:#888;margin-top:4px;display:block}.dr-upgrade-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:13px;margin-left:8px;text-decoration:underline}.dr-upgrade-link:hover{color:#5568d3}.dr-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:25px}.dr-stat-box{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:10px;text-align:center}.dr-stat-label{opacity:.9;font-size:13px}.dr-stat-value{font-size:28px;font-weight:700;margin:8px 0 4px}.dr-stat-sub{opacity:.7;font-size:11px}.dr-section{background:#fff;padding:25px 30px;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px}.dr-section h3{font-size:18px;color:#333;margin:0 0 20px}.dr-section-header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.dr-section-header h3{margin-bottom:0}.dr-locked-badge{font-size:11px;background:#f8d7da;color:#721c24;padding:3px 10px;border-radius:12px;cursor:pointer}.dr-locked-badge:hover{background:#f5c6cb}.dr-empty{text-align:center;padding:40px 20px;color:#999;font-size:14px}.dr-loading-inline{text-align:center;padding:30px;color:#888}.dr-locked-section{text-align:center;padding:40px 20px;color:#666}.dr-locked-icon{font-size:40px;margin-bottom:12px}.dr-locked-section p{margin-bottom:15px;font-size:14px}.dr-report-list{border-top:1px solid #eee}.dr-report-item{padding:20px 0;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.dr-report-item:last-child{border-bottom:none}.dr-report-info{flex:1}.dr-report-name{font-size:16px;color:#333;font-weight:600;margin-bottom:5px}.dr-report-date{color:#999;font-size:13px;margin-bottom:8px}.dr-report-keywords{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.dr-keyword-tag{font-size:11px;background:#e8f4fc;color:#3498db;padding:2px 8px;border-radius:10px}.dr-keyword-more{font-size:11px;color:#999;padding:2px 6px}.dr-report-summary{display:flex;flex-wrap:wrap;gap:15px;padding:10px 15px;background:#f8f9fa;border-radius:6px;border-left:3px solid #667eea}.dr-summary-item{display:flex;align-items:center;gap:5px;font-size:13px;color:#666}.dr-summary-icon{font-size:14px}.dr-summary-value{font-weight:600;color:#333}.dr-report-actions{display:flex;gap:10px;flex-shrink:0;align-items:flex-start}.dr-btn{padding:8px 18px;background:#667eea;color:#fff;border:none;border-radius:5px;font-size:13px;cursor:pointer;transition:background .3s;white-space:nowrap}.dr-btn:hover{background:#5568d3}.dr-btn:disabled{opacity:.6;cursor:not-allowed}.dr-btn-download{background:#27ae60}.dr-btn-download:hover{background:#219a52}.dr-btn-locked{background:#bdc3c7;cursor:pointer}.dr-btn-locked:hover{background:#a5adb3}.dr-upgrade-btn{padding:10px 24px;background:#667eea;color:#fff;border:none;border-radius:5px;font-size:14px;cursor:pointer;transition:background .3s}.dr-upgrade-btn:hover{background:#5568d3}.dr-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;justify-content:center;align-items:center;padding:20px}.dr-preview-modal{background:#fff;border-radius:10px;width:95%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.dr-preview-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #eee;flex-shrink:0}.dr-preview-header h3{font-size:16px;color:#333;margin:0}.dr-preview-actions{display:flex;gap:10px;align-items:center}.dr-preview-close{background:none;border:none;font-size:20px;color:#999;cursor:pointer;padding:4px 8px}.dr-preview-close:hover{color:#333}.dr-sheet-tabs{display:flex;gap:0;padding:0 25px;background:#f8f9fa;border-bottom:1px solid #eee;overflow-x:auto;flex-shrink:0}.dr-sheet-tab{padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:13px;color:#666;white-space:nowrap;transition:all .2s}.dr-sheet-tab:hover{color:#333;background:#f0f0f0}.dr-sheet-tab.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.dr-sheet-content{overflow:auto;flex:1;padding:20px 25px}.dr-data-table{width:100%;border-collapse:collapse;font-size:13px}.dr-data-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px;text-align:center;font-weight:600;white-space:nowrap;border:none;position:sticky;top:0}.dr-data-table td{padding:10px 12px;border-bottom:1px solid #e9ecef;color:#495057;text-align:right}.dr-data-table td:first-child{text-align:left}.dr-data-table tbody tr:hover{background:#f8f9fa}.dr-data-table tbody tr:nth-child(2n){background:#fafbfc}.dr-label-cell{font-weight:600;color:#667eea!important;white-space:nowrap;width:30%}@media (max-width: 768px){.dr-stats{grid-template-columns:repeat(2,1fr);gap:12px}.dr-stat-value{font-size:22px}.dr-report-item{flex-direction:column}.dr-report-actions{width:100%}.dr-btn{flex:1;text-align:center}.dr-report-summary{flex-direction:column;gap:8px}.dr-preview-modal{width:100%;max-height:85vh}.dr-preview-header{padding:15px}.dr-sheet-content{padding:10px}}@media (max-width: 480px){.dr-stats{grid-template-columns:1fr}.dr-section{padding:20px 15px}}.alert-settings{animation:fadeIn .3s ease}.alert-settings-loading{text-align:center;padding:60px 0;color:#888}.alert-settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.alert-settings-header h2{font-size:20px;color:#333;margin:0 0 6px}.alert-settings-desc{color:#888;font-size:14px;margin:0}.alert-header-actions{display:flex;gap:8px;flex-shrink:0}.alert-btn-create{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.alert-btn-create:hover{background:#5568d3}.alert-btn-logs{padding:10px 16px;background:#f8f9fa;color:#555;border:1px solid #dee2e6;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.alert-btn-logs:hover{background:#e9ecef}.alert-error{background:#fee;color:#c0392b;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.alert-create-form{background:#fff;padding:24px;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:24px}.alert-form-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.alert-form-group{flex:1;min-width:150px}.alert-form-group label{display:block;font-size:13px;font-weight:600;color:#555;margin-bottom:6px}.alert-form-group input,.alert-form-group select{width:100%;padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.alert-form-group input:focus,.alert-form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.alert-btn-submit{padding:10px 28px;background:#27ae60;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.alert-btn-submit:hover{background:#219a52}.alert-btn-submit:disabled{opacity:.6;cursor:not-allowed}.alert-empty{text-align:center;padding:48px 20px;color:#888;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a}.alert-empty p{margin:4px 0;font-size:14px}.alert-list{display:flex;flex-direction:column;gap:8px}.alert-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000f;transition:opacity .2s}.alert-item.inactive{opacity:.55}.alert-item-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1}.alert-keyword{font-size:15px;font-weight:600;color:#333}.alert-type-badge{font-size:11px;padding:3px 10px;border-radius:12px;font-weight:600}.alert-type-badge.trending{background:#e8f4fc;color:#2980b9}.alert-type-badge.price_change{background:#fef3e2;color:#e67e22}.alert-type-badge.growth_spike{background:#e8faf0;color:#27ae60}.alert-threshold{font-size:12px;color:#888;background:#f0f0f0;padding:2px 8px;border-radius:8px}.alert-freq{font-size:12px;color:#aaa}.alert-item-meta{font-size:12px;color:#aaa;flex-shrink:0}.alert-item-actions{display:flex;gap:6px;flex-shrink:0}.alert-toggle{padding:6px 14px;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s}.alert-toggle.on{background:#d4edda;color:#155724}.alert-toggle.off{background:#e9ecef;color:#888}.alert-delete{padding:6px 12px;background:none;border:1px solid #dee2e6;border-radius:6px;font-size:12px;color:#888;cursor:pointer;transition:all .2s}.alert-delete:hover{border-color:#e74c3c;color:#e74c3c}.alert-logs-section{margin-top:24px;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.alert-logs-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.alert-logs-header h3{margin:0;font-size:16px;color:#333}.alert-logs-close{background:none;border:none;font-size:24px;color:#888;cursor:pointer}.alert-logs-empty{text-align:center;padding:30px;color:#aaa;font-size:14px}.alert-logs-list{padding:8px 0}.alert-log-item{display:flex;align-items:center;gap:12px;padding:10px 20px;font-size:13px;border-bottom:1px solid #f5f5f5}.alert-log-item:last-child{border-bottom:none}.alert-log-type{font-weight:600;color:#555;min-width:80px}.alert-log-message{flex:1;color:#444}.alert-log-date{color:#aaa;font-size:12px;flex-shrink:0}.alert-log-status.success{color:#27ae60;font-weight:600}.alert-log-status.fail{color:#e74c3c;font-weight:600}@media (max-width: 768px){.alert-settings-header{flex-direction:column}.alert-header-actions{width:100%}.alert-btn-create,.alert-btn-logs{flex:1;text-align:center}.alert-form-row{flex-direction:column}.alert-form-group{min-width:auto}.alert-item{flex-direction:column;align-items:flex-start;gap:10px}.alert-item-actions{width:100%}.alert-toggle,.alert-delete{flex:1;text-align:center}.alert-log-item{flex-wrap:wrap;gap:6px}}.dashboard{min-height:100vh;background-color:#f5f7fa}.dashboard-header{background:#fff;padding:20px 30px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.dashboard-header h1{color:#333;font-size:24px;margin-bottom:5px}.user-info{color:#666;font-size:14px}.tier-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;margin-left:5px}.tier-free{background:#e9ecef;color:#495057}.tier-basic{background:#d1ecf1;color:#0c5460}.tier-pro{background:#d4edda;color:#155724}.tier-enterprise{background:#f8d7da;color:#721c24}.logout-button{padding:10px 20px;background:#e74c3c;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:background .3s}.logout-button:hover{background:#c0392b}.dashboard-tabs{display:flex;gap:4px;padding:0 30px 16px;max-width:1400px;margin:0 auto;border-bottom:1px solid #e9ecef;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.dashboard-tab{padding:10px 20px;font-size:15px;font-weight:500;color:#666;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:color .2s,background .2s;white-space:nowrap}.dashboard-tab:hover{color:#333;background:#f0f0f0}.dashboard-tab.active{color:#3498db;background:#e8f4fc}.dashboard-tab.locked{color:#adb5bd}.dashboard-tab.locked:hover{color:#868e96;background:#f8f9fa}.dashboard-content{max-width:1400px;margin:0 auto;padding:0 30px 30px}.chart-section,.tier-section{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px}.chart-section h2,.tier-section h2{color:#333;font-size:20px;margin-bottom:20px}.tier-alert-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.tier-alert-modal{background:#fff;padding:30px;border-radius:10px;box-shadow:0 10px 30px #0000004d;max-width:400px;width:90%;text-align:center}.tier-alert-message{font-size:16px;color:#333;margin-bottom:24px;line-height:1.5}.tier-alert-actions{display:flex;gap:12px;justify-content:center}.tier-alert-upgrade{padding:10px 24px;background:#667eea;color:#fff;border:none;border-radius:5px;font-size:14px;font-weight:600;cursor:pointer;transition:background .3s}.tier-alert-upgrade:hover{background:#5568d3}.tier-alert-close{padding:10px 24px;background:#e9ecef;color:#495057;border:none;border-radius:5px;font-size:14px;font-weight:500;cursor:pointer;transition:background .3s}.tier-alert-close:hover{background:#dee2e6}.hamburger-menu{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.hamburger-menu span{display:block;width:24px;height:2px;background:#333;border-radius:2px;transition:all .2s}.header-title-area{flex:1}.mobile-sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:1100}.mobile-sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;background:#fff;z-index:1101;display:flex;flex-direction:column;box-shadow:4px 0 20px #00000026;animation:slideIn .25s ease}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.mobile-sidebar-header h2{font-size:18px;color:#333;margin:0}.mobile-sidebar-close{background:none;border:none;font-size:28px;color:#888;cursor:pointer;padding:0 4px;line-height:1}.mobile-sidebar-user{padding:16px 20px;border-bottom:1px solid #eee}.mobile-sidebar-user p{font-size:13px;color:#666;margin:0 0 6px;word-break:break-all}.mobile-sidebar-nav{flex:1;overflow-y:auto;padding:8px 0}.mobile-nav-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 20px;background:none;border:none;font-size:15px;color:#444;cursor:pointer;text-align:left;transition:background .15s}.mobile-nav-item:hover{background:#f5f7fa}.mobile-nav-item.active{color:#3498db;background:#e8f4fc;font-weight:600}.mobile-nav-lock{font-size:11px;color:#adb5bd;font-weight:400}.mobile-sidebar-logout{padding:16px 20px;background:none;border:none;border-top:1px solid #eee;color:#e74c3c;font-size:15px;cursor:pointer;text-align:left}.mobile-sidebar-logout:hover{background:#fee}@media (max-width: 768px){.hamburger-menu{display:flex}.dashboard-header{padding:15px 20px;gap:0}.dashboard-header h1{font-size:18px;margin-bottom:0}.user-info-desktop,.logout-desktop{display:none}.dashboard-tabs{padding:0 15px 12px;gap:2px}.dashboard-tab{padding:8px 14px;font-size:13px}.dashboard-content{padding:0 15px 30px}.chart-section,.tier-section{padding:20px}}.dashboard-footer{text-align:center;padding:20px 30px;border-top:1px solid #e9ecef;margin-top:30px}.privacy-policy-link{background:none;border:none;color:#888;font-size:13px;cursor:pointer;text-decoration:underline;padding:4px 8px}.privacy-policy-link:hover{color:#555}.privacy-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1200}.privacy-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column}.privacy-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.privacy-modal-header h2{margin:0;font-size:18px;color:#333}.privacy-modal-close{background:none;border:none;font-size:28px;color:#888;cursor:pointer;padding:0 4px;line-height:1}.privacy-modal-close:hover{color:#333}.privacy-modal-body{padding:24px;overflow-y:auto;line-height:1.7;color:#444;font-size:14px}.privacy-modal-body h3{font-size:16px;color:#333;margin:0 0 12px}.privacy-modal-body p{margin:0 0 16px}.privacy-table{width:100%;border-collapse:collapse}.privacy-table th,.privacy-table td{border:1px solid #dee2e6;padding:10px 14px;text-align:left;font-size:13px}.privacy-table th{background:#f8f9fa;color:#333;font-weight:600;width:140px;white-space:nowrap}.privacy-table td{color:#555}@media (max-width: 480px){.dashboard-tabs{padding:0 10px 10px}.dashboard-tab{padding:7px 10px;font-size:12px}.dashboard-content{padding:0 10px 20px}.chart-section,.tier-section{padding:15px;border-radius:8px}}.payment-result-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.payment-result-card{background:#fff;border-radius:16px;padding:48px;max-width:500px;width:100%;text-align:center;box-shadow:0 10px 40px #0003}.spinner{width:60px;height:60px;border:4px solid #f3f4f6;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}@keyframes spin{to{transform:rotate(360deg)}}.success-icon{width:80px;height:80px;background-color:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:48px;margin:0 auto 24px;animation:scaleIn .5s ease-out}.error-icon{width:80px;height:80px;background-color:#ef4444;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:48px;margin:0 auto 24px;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.payment-result-card h2{margin:0 0 12px;font-size:24px;font-weight:700;color:#111827}.payment-result-card p{margin:8px 0;color:#6b7280;font-size:16px;line-height:1.5}.redirect-notice{color:#9ca3af;font-size:14px;margin-top:16px}.error-message{color:#dc2626;font-weight:500}.back-button{margin-top:24px;background-color:#2563eb;color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.back-button:hover{background-color:#1d4ed8}.App{min-height:100vh}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:#666}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
