/* Cost Dashboard */ body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif; background: var(--bg); color: var(--text); min-height: 100vh; } .costs-header { display: flex; align-items: center; gap: 16px; padding: 16px 24px; border-bottom: 1px solid rgba(232, 121, 29, 0.12); } .costs-header h1 { font-size: 1.4rem; margin-right: auto; } .back-link { color: var(--accent); text-decoration: none; font-size: 0.9rem; transition: color var(--transition); } .back-link:hover { color: var(--accent-hover); } .period-tabs { display: flex; gap: 4px; } .period-tab { background: transparent; color: var(--text-muted); border: 1px solid rgba(232, 121, 29, 0.15); border-radius: 20px; padding: 6px 14px; font-size: 0.8rem; cursor: pointer; transition: all var(--transition); } .period-tab:hover { color: var(--text); border-color: var(--accent); } .period-tab.active { background: var(--accent); color: var(--bg-dark); border-color: var(--accent); font-weight: 600; } .costs-main { max-width: 1400px; margin: 0 auto; padding: 20px 24px; } /* Summary Cards */ .summary-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 20px; } .card { background: var(--bg-light); border: 1px solid rgba(232, 121, 29, 0.08); border-radius: var(--radius); padding: 18px 20px; } .card-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); margin-bottom: 6px; } .card-value { font-size: 1.8rem; font-weight: 700; color: var(--text); line-height: 1.2; } .card-change { font-size: 0.75rem; margin-top: 4px; } .card-change.positive { color: var(--accent-red); } .card-change.negative { color: var(--accent-green); } /* Charts */ .chart-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; } .chart-container { background: var(--bg-light); border: 1px solid rgba(232, 121, 29, 0.08); border-radius: var(--radius); padding: 18px 20px; } .chart-container h3 { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 12px; font-weight: 500; } /* Tables */ .tables-section { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; } .table-container { background: var(--bg-light); border: 1px solid rgba(232, 121, 29, 0.08); border-radius: var(--radius); padding: 18px 20px; overflow-x: auto; } .table-container h3 { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 12px; font-weight: 500; } table { width: 100%; border-collapse: collapse; font-size: 0.82rem; } th { text-transform: uppercase; font-size: 0.68rem; letter-spacing: 0.04em; color: var(--text-muted); border-bottom: 1px solid rgba(232, 121, 29, 0.15); padding: 8px 10px; text-align: left; font-weight: 600; } td { padding: 8px 10px; border-bottom: 1px solid rgba(232, 121, 29, 0.06); color: var(--text); } tr:hover td { background: rgba(232, 121, 29, 0.04); } .clickable { cursor: pointer; } .clickable:hover td { background: rgba(232, 121, 29, 0.08); } /* Session Detail */ .session-detail { margin-top: 20px; } .session-detail.hidden { display: none; } .session-detail h2 { font-size: 1.2rem; margin-bottom: 12px; } .session-detail h2 span { color: var(--accent); } .close-detail { background: var(--bg-light); color: var(--text); border: 1px solid rgba(232, 121, 29, 0.15); border-radius: var(--radius-sm); padding: 6px 16px; font-size: 0.8rem; cursor: pointer; margin-bottom: 16px; transition: all var(--transition); } .close-detail:hover { border-color: var(--accent); color: var(--accent); } .detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .view-btn { background: transparent; color: var(--accent); border: 1px solid var(--accent); border-radius: var(--radius-sm); padding: 3px 10px; font-size: 0.72rem; cursor: pointer; transition: all var(--transition); } .view-btn:hover { background: var(--accent); color: var(--bg-dark); } /* Responsive */ @media (max-width: 768px) { .costs-header { flex-wrap: wrap; } .summary-cards { grid-template-columns: 1fr 1fr; } .chart-row, .tables-section, .detail-grid { grid-template-columns: 1fr; } }