/* InvestCalc – Custom Styles */

/* Number input clean style */
.num-input {
    font-family: 'JetBrains Mono', 'Fira Code', monospace;
    font-size: 15px;
    background: #0d1117;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    color: #e2e8f0;
    padding: 10px 14px;
    width: 100%;
    transition: border-color 0.2s;
}
.num-input:focus {
    outline: none;
    border-color: #10b981;
    box-shadow: 0 0 0 3px rgba(16,185,129,0.15);
}
.num-input::placeholder { color: #4b5563; }

/* Hide number input spinners */
.num-input::-webkit-inner-spin-button,
.num-input::-webkit-outer-spin-button {
    -webkit-appearance: none; margin: 0;
}
.num-input[type=number] { -moz-appearance: textfield; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.08); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.15); }

/* Animations */
@keyframes fadeIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@keyframes countUp { from { opacity:0; } to { opacity:1; } }
.fade-in { animation: fadeIn 0.5s ease-out both; }
.fade-up { animation: fadeUp 0.6s ease-out both; }

/* Tab styling */
.tab-active {
    color: #10b981 !important;
    border-bottom-color: #10b981 !important;
}

/* Result card glow */
.result-glow {
    box-shadow: 0 0 30px rgba(16,185,129,0.08);
}

/* Hover lift */
.hover-lift {
    transition: transform 0.2s, box-shadow 0.2s;
}
.hover-lift:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}

/* Toast */
.animate-fade-up {
    animation: fadeUp 0.35s ease-out;
}

/* DCA row entry animation */
.dca-row {
    animation: fadeIn 0.3s ease-out both;
}

/* Chart container */
.chart-container {
    position: relative;
    height: 320px;
    width: 100%;
}

/* Profit text effects */
.profit-positive { color: #10b981; }
.profit-negative { color: #ef4444; }
.profit-zero { color: #9ca3af; }

/* Responsive table */
.result-table {
    width: 100%;
    border-collapse: collapse;
}
.result-table th, .result-table td {
    padding: 8px 12px;
    text-align: right;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    font-size: 13px;
}
.result-table th {
    color: #9ca3af;
    font-weight: 500;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.result-table td:first-child,
.result-table th:first-child { text-align: left; }

/* Collapse unfilled AdSense slots */
.ad-slot { overflow: hidden; line-height: 0; font-size: 0; }
.ad-slot:empty { display: none; }
ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }
.ad-slot:has(ins[data-ad-status="unfilled"]) { display: none; }
