@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');



body.calculator-tdee-page {
    background-color: var(--ge-page);
    color: var(--ge-graphite);
}


.premium-calculator-v2 { padding: 10px 0 80px 0; }





.panel-title { font-family: var(--font-body); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.15em; color: var(--ge-blue); margin-bottom: 1.5rem; }

/* Form Controls */
.input-label { font-size: 0.75rem; font-weight: 700; color: var(--ge-graphite); letter-spacing: 0.05em; display: block; margin-bottom: 0.5rem; }
.input-field-wrap { position: relative; display: flex; align-items: center; }
.form-input {
    width: 100%; height: 50px; background: var(--ge-page); border: 1px solid var(--ge-soft);
    border-radius: 12px; padding: 0 1rem; font-family: var(--font-head); font-size: 1.1rem; font-weight: 600;
    color: var(--ge-graphite); outline: none; transition: all 0.3s;
.form-input:focus { border-color: var(--ge-blue); background: var(--ge-card); box-shadow: 0 0 0 3px rgba(108,130,147,0.1); }
.field-suffix { position: absolute; right: 1rem; font-size: 0.75rem; font-weight: 700; color: var(--ge-muted); pointer-events: none; }

.segmented-control {
    display: flex; background: var(--ge-page); border: 1px solid var(--ge-soft);
    border-radius: 12px; padding: 4px; 
.segmented-control input[type="radio"] { display: none; }
.segmented-control label { flex: 1; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.05em; color: var(--ge-text-sec); cursor: pointer; transition: all 0.3s ease; border-radius: 8px; }
.segmented-control input[type="radio"]:checked + label {
    background: var(--ge-graphite); color: var(--ge-graphite);
.mini-toggle { height: 40px; }

.btn-calculate-v2 {
    background: var(--ge-blue); color: var(--ge-card); border: none; border-radius: 12px;
    font-family: var(--font-body); font-size: 0.95rem; font-weight: 700; letter-spacing: 0.1em;
    height: 50px; cursor: pointer; transition: all 0.2s ease; width: 100%;
.btn-calculate-v2:hover { background: var(--ge-dark-blue); transform: translateY(-2px); box-shadow: 0 4px 15px rgba(111,135,151,0.3); }

/* Interactive Hover Chart */
.chart-segment:hover { opacity: 0.85; }
.legend-box.active { border-color: var(--ge-graphite) !important; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }

/* Education Modules */
.edu-card { transition: transform 0.3s; }
.edu-card:hover { transform: translateY(-5px); }


.form-input:focus-visible, .btn-calculate-v2:focus-visible, .cat-chip:focus-visible, .segmented-control label:focus-visible { outline: 2px solid var(--ge-blue); outline-offset: 2px; }


@media (min-width: 740px) {
}

@media (max-width: 768px) {
}


.input-field-wrap { display: flex; align-items: center; }

.form-input::-webkit-outer-spin-button,
.form-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.form-input[type=number] {
  -moz-appearance: textfield;
}

.animate-fade-in-up {
    animation: fadeInUp 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0;
    transform: translateY(15px);
}
@keyframes fadeInUp {
    to { opacity: 1; transform: translateY(0); }
}
.unit-suffix { font-weight: 400; opacity: 0.6; font-size: 0.75em; margin-left: 4px; }



