/* ====================================== DANG VAN APP STYLES ====================================== */ .dangvan-app { min-height: 100vh; background: linear-gradient(135deg, #0a0a1a 0%, #1a1a2e 100%); color: #eee; font-family: system-ui, -apple-system, sans-serif; } /* Header */ .dangvan-header { padding: 20px 30px; background: rgba(0, 0, 0, 0.3); border-bottom: 1px solid #333; display: flex; align-items: center; gap: 20px; } .dangvan-header h1 { margin: 0; font-size: 1.5rem; color: #ff9f43; } .dangvan-header .subtitle { margin: 0; color: #888; font-size: 0.9rem; } /* Main Layout */ .dangvan-main { display: grid; grid-template-columns: 350px 1fr; gap: 20px; padding: 20px; min-height: calc(100vh - 100px); } @media (max-width: 1024px) { .dangvan-main { grid-template-columns: 1fr; } } /* Form Styles */ .dangvan-form { background: rgba(30, 30, 50, 0.8); border-radius: 8px; padding: 15px; border: 1px solid #333; } .dangvan-form h3 { margin: 0 0 15px; color: #ff9f43; font-size: 1.1rem; } /* Quick Examples */ .quick-examples { display: flex; gap: 8px; align-items: center; margin-bottom: 15px; flex-wrap: wrap; } .quick-examples span { color: #888; font-size: 0.85rem; } .quick-examples button { padding: 5px 12px; background: #2a2a4a; border: 1px solid #444; border-radius: 4px; color: #aaa; cursor: pointer; font-size: 0.8rem; transition: all 0.3s ease; } .quick-examples button:hover { background: #3a3a5a; border-color: #ff9f43; color: #ff9f43; } /* Formula Display */ .formula-display { background: rgba(0, 0, 0, 0.3); padding: 10px; border-radius: 4px; text-align: center; color: #ff9f43; font-family: 'Courier New', monospace; margin-top: 10px; } /* Help Text */ .help-text { display: block; font-size: 0.75rem; color: #666; margin-top: 4px; } /* Textarea */ .dangvan-form textarea { width: 100%; padding: 10px; background: #1a1a2e; border: 1px solid #444; border-radius: 4px; color: #eee; font-family: 'Courier New', monospace; font-size: 0.85rem; resize: vertical; box-sizing: border-box; } .dangvan-form textarea:focus { border-color: #ff9f43; outline: none; } /* Calculation History */ .calculation-history { background: rgba(30, 30, 50, 0.8); border-radius: 8px; padding: 15px; border: 1px solid #333; margin-top: 20px; } .calculation-history h3 { margin: 0 0 15px; color: #ff9f43; font-size: 1rem; } .history-list { list-style: none; padding: 0; margin: 0; max-height: 250px; overflow-y: auto; } .history-item { display: flex; align-items: center; gap: 10px; padding: 10px; background: rgba(0, 0, 0, 0.2); border-radius: 6px; margin-bottom: 8px; cursor: pointer; border: 1px solid transparent; transition: all 0.3s ease; } .history-item:hover { background: rgba(255, 159, 67, 0.1); border-color: #333; } .history-item.selected { border-color: #ff9f43; background: rgba(255, 159, 67, 0.15); } .history-info { display: flex; flex-direction: column; gap: 2px; } .history-params { font-size: 0.85rem; color: #eee; } .history-time { font-size: 0.75rem; color: #666; } /* Status Badge */ .status-badge { padding: 4px 8px; border-radius: 4px; font-size: 0.75rem; font-weight: bold; } .status-badge.safe { background: rgba(0, 255, 136, 0.2); color: #00ff88; } .status-badge.unsafe { background: rgba(255, 107, 107, 0.2); color: #ff6b6b; } /* Chart */ .dangvan-chart { display: flex; flex-direction: column; height: 100%; } .dangvan-chart canvas { width: 100%; height: 100%; min-height: 400px; background: #1a1a2e; border-radius: 8px; } .chart-help { padding: 8px; text-align: center; color: #666; font-size: 0.85rem; } /* Results Panel */ .results-panel { border-top: 1px solid #333; } .result-summary { padding: 15px; text-align: center; } .result-summary.safe { background: rgba(0, 255, 136, 0.1); } .result-summary.unsafe { background: rgba(255, 107, 107, 0.1); } .result-status { display: flex; align-items: center; justify-content: center; gap: 10px; } .status-icon { font-size: 1.5rem; font-weight: bold; } .result-summary.safe .status-icon { color: #00ff88; } .result-summary.unsafe .status-icon { color: #ff6b6b; } .status-text { font-size: 1.1rem; font-weight: 500; } .result-summary.safe .status-text { color: #00ff88; } .result-summary.unsafe .status-text { color: #ff6b6b; } /* Stats values */ .stat .value.positive { color: #00ff88; } .stat .value.negative { color: #ff6b6b; } /* Error Message */ .error-message { padding: 30px; text-align: center; color: #ff6b6b; } .error-message h3 { margin: 0 0 10px; } /* Placeholder */ .placeholder-icon { font-size: 4rem; color: #ff9f43; margin-bottom: 20px; font-family: serif; } /* Override accent color for Dang Van */ .dangvan-form .section-header:hover { background: rgba(255, 159, 67, 0.1); } .dangvan-form .section-header .toggle { color: #ff9f43; } .dangvan-form .btn-submit { background: linear-gradient(135deg, #ff9f43, #ff6b6b); } .dangvan-form .btn-submit:hover:not(:disabled) { box-shadow: 0 4px 15px rgba(255, 159, 67, 0.4); } .dangvan-form input[type="range"]::-webkit-slider-thumb { background: #ff9f43; } .dangvan-form input[type="text"]:focus, .dangvan-form input[type="number"]:focus, .dangvan-form select:focus { border-color: #ff9f43; }