.stats-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:20px;margin-bottom:30px}.stat-card{background:white;border-radius:20px;padding:20px;display:flex;align-items:center;gap:16px;border:1px solid var(--gray-200);transition:all 0.3s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,0.1)}.stat-icon{width:50px;height:50px;background:linear-gradient(135deg, #e0e7ff, #f0f4ff);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--primary-color)}.stat-value{font-size:1.6rem;font-weight:700;color:var(--gray-800)}.stat-label{font-size:0.75rem;color:var(--gray-500)}.chart-editor{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.data-panel,.chart-panel{background:white;border-radius:20px;border:1px solid var(--gray-200);overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg, var(--gray-50), #fafafa);border-bottom:1px solid var(--gray-200)}.panel-header h3{font-size:1rem;display:flex;align-items:center;gap:8px}.panel-actions{display:flex;gap:8px}.btn-primary-sm{background:var(--primary-color);color:white;border:none;padding:6px 12px;border-radius:20px;cursor:pointer;font-size:0.75rem;transition:all 0.2s}.btn-primary-sm:hover{background:var(--primary-dark)}.dataset-list{padding:16px;max-height:300px;overflow-y:auto}.dataset-item{background:var(--gray-50);border-radius:12px;padding:12px 16px;margin-bottom:12px;border:1px solid var(--gray-200);transition:all 0.2s}.dataset-item:hover{border-color:var(--primary-light)}.dataset-header{display:flex;justify-content:space-between;align-items:center}.dataset-name{font-weight:500;font-size:0.9rem}.dataset-actions{display:flex;gap:8px}.dataset-actions button{background:transparent;border:none;cursor:pointer;color:var(--gray-500);padding:4px;border-radius:6px}.dataset-actions button:hover{background:var(--gray-200);color:var(--primary-color)}.dataset-input-row{display:flex;gap:8px;margin-top:8px}.dataset-input-row input{flex:1;padding:6px 12px;border:1px solid var(--gray-300);border-radius:8px;font-family:monospace;font-size:0.8rem}.dataset-color-picker{width:36px;height:36px;border:1px solid var(--gray-300);border-radius:8px;cursor:pointer}.label-input{padding:12px 16px;border-top:1px solid var(--gray-200)}.label-input label{font-size:0.75rem;color:var(--gray-500);display:block;margin-bottom:8px}.quick-examples{padding:12px 16px;border-top:1px solid var(--gray-200);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.quick-label{font-size:0.75rem;color:var(--gray-500)}.example-btn{background:var(--gray-100);border:1px solid var(--gray-200);padding:4px 12px;border-radius:20px;font-size:0.7rem;cursor:pointer;transition:all 0.2s}.example-btn:hover{background:var(--primary-color);color:white}.chart-container{padding:20px;height:400px;position:relative}.chart-container canvas{width:100% !important;height:100% !important}.chart-footer{padding:12px 20px;background:var(--gray-50);border-top:1px solid var(--gray-200);font-size:0.7rem;color:var(--gray-500)}.style-section{border:1px solid var(--gray-200);border-radius:20px;overflow:hidden}.style-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--gray-50);cursor:pointer;font-size:0.85rem;font-weight:500}.style-content{padding:16px 20px;border-top:1px solid var(--gray-200)}.style-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:16px}.style-group label{display:block;font-size:0.7rem;color:var(--gray-500);margin-bottom:4px}.style-select{width:100%;padding:6px 12px;border:1px solid var(--gray-300);border-radius:8px;background:white}.range-value{font-size:0.8rem;font-weight:600;color:var(--primary-color);margin-left:8px}@media (max-width:900px){.chart-editor{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2, 1fr)}}@media (max-width:600px){.stats-grid{grid-template-columns:1fr}.style-grid{grid-template-columns:1fr}.panel-header{flex-direction:column;align-items:flex-start;gap:8px}.dataset-input-row{flex-direction:column}}