:root {
--mfit-primary: #3b82f6;
--mfit-primary-hover: #2563eb;
}
.mfit-calc-container * {
box-sizing: border-box;
}
.mfit-calc-wrapper,
.mfit-calc-wrapper * {
box-sizing: border-box;
}
.mfit-calc-wrapper {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 32px;
background: #fff;
padding: 32px;
border-radius: 12px;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
} .mfit-grid-1 .mfit-form-group-header,
.mfit-grid-tablet-1 .mfit-form-group-header {
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.mfit-grid-1 .mfit-input-with-unit,
.mfit-grid-tablet-1 .mfit-input-with-unit {
width: 100%;
max-width: 100%;
}
.mfit-grid-1 .mfit-input-number,
.mfit-grid-tablet-1 .mfit-input-number {
flex: 1;
min-width: 0;
}
.mfit-calc-form-col {
min-width: 0;
}
.mfit-calc-results-col {
min-width: 0;
display: flex;
flex-direction: column;
} .mfit-calc-header {
margin-bottom: 24px;
}
.mfit-calc-title {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #111827;
} .mfit-calc-unit-switcher {
display: flex;
background: #f1f5f9;
border-radius: 8px;
padding: 10px;
margin-bottom: 30px;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02);
}
.mfit-unit-input {
position: absolute;
opacity: 0;
pointer-events: none;
width: 0;
height: 0;
}
.mfit-unit-label {
text-align: center;
padding: 10px 16px;
border-radius: 6px;
cursor: pointer;
font-weight: 600;
color: #64748b;
transition: all 0.2s ease;
border: 1px solid transparent;
display: flex;
justify-content: center;
}
.mfit-unit-label-wrap {
flex: 1;
margin: 0;
}
.mfit-unit-input:checked+.mfit-unit-label {
background: #ffffff;
color: #0f172a;
border-color: #e2e8f0;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
} .mfit-calc-gender-select {
display: flex;
gap: 16px;
margin-bottom: 30px;
}
.mfit-gender-label {
flex: 1;
cursor: pointer;
}
.mfit-gender-radio {
position: absolute;
opacity: 0;
pointer-events: none;
width: 0;
height: 0;
}
.mfit-gender-box {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 16px;
border: 2px solid #e2e8f0;
border-radius: 8px;
color: #64748b;
transition: all 0.2s ease;
}
.mfit-gender-box span {
line-height: 1;
}
.mfit-gender-box svg {
margin-bottom: 8px;
width: 32px;
height: 32px;
}
.mfit-gender-radio:checked+.mfit-gender-box {
border-color: var(--mfit-primary);
color: var(--mfit-primary);
background: #eff6ff;
} .mfit-calc-form-col {
display: flex;
flex-direction: column;
align-items: stretch;
width: 100%;
}
.mfit-calc-results-col {
display: flex;
flex-direction: column;
width: 100%;
}
.mfit-form-group {
display: flex;
flex-direction: column;
width: 100%;
margin-bottom: 30px;
}
.mfit-form-group-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
}
.mfit-form-group-header label {
font-weight: 600;
color: #374151;
margin: 0;
}
.mfit-input-with-unit {
display: flex;
align-items: center;
width: 100%;
max-width: 35%;
}
.mfit-input-number {
width: 70px;
text-align: right;
padding: 8px !important;
border: 1px solid #d1d5db;
border-radius: 4px;
font-size: 1rem;
font-weight: 600;
color: #111827;
margin-right: 6px;
}
.mfit-input-number:focus {
outline: none;
border-color: var(--mfit-primary);
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}
.mfit-input-number::-webkit-inner-spin-button,
.mfit-input-number::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
.mfit-activity-select {
width: 100%;
padding: 10px 12px;
border: 1px solid #d1d5db;
border-radius: 4px;
font-size: 1rem;
font-weight: 500;
color: #111827;
background-color: #fff;
cursor: pointer;
appearance: none;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 12px center;
background-size: 16px;
}
.mfit-activity-select:focus {
outline: none;
border-color: var(--mfit-primary);
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}
.mfit-unit-text {
color: #6b7280;
font-size: 0.9rem;
font-weight: 500;
width: 24px;
} .mfit-input-range {
-webkit-appearance: none;
width: 100%;
height: 6px;
border-radius: 3px;
background: #e5e7eb;
outline: none;
}
.mfit-input-range::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 20px;
height: 20px;
border-radius: 50%;
background: var(--mfit-primary);
cursor: pointer;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.mfit-input-range::-moz-range-thumb {
width: 20px;
height: 20px;
border-radius: 50%;
background: var(--mfit-primary);
cursor: pointer;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
border: none;
} .mfit-calc-card {
background: #F1F5F9;
border-radius: 12px;
padding: 32px;
height: 100%;
display: flex;
flex-direction: column;
}
.mfit-card-title {
margin-top: 0;
margin-bottom: 24px;
font-size: 1.25rem;
color: #111827;
}
.mfit-primary-result {
padding: 24px;
background: #ffffff;
border-radius: 12px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
margin-bottom: 24px;
transition: all 0.3s ease;
}
.mfit-result-label {
display: block;
color: #64748b;
font-size: 0.9rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.mfit-result-value-wrap {
color: #0f172a;
font-weight: 800;
}
.mfit-result-val,
.mfit-result-label {
line-height: 1.2 !important;
}
.mfit-primary-result .mfit-result-val {
font-size: 3.5rem;
line-height: 1 !important;
}
.mfit-primary-result .mfit-result-unit {
font-size: 1.5rem;
margin-left: 4px;
}
.mfit-progress-bar {
height: 8px;
background: #e2e8f0;
border-radius: 4px;
margin: 16px 0 8px;
overflow: hidden;
}
.mfit-progress-fill {
height: 100%;
background: #10b981;
border-radius: 4px;
transition: width 0.5s ease-out, background-color 0.3s ease;
}
.mfit-result-status {
font-size: 1rem;
font-weight: 600;
color: #10b981;
} .mfit-result-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-bottom: 24px;
flex: 1;
}
.mfit-result-box {
background: #ffffff;
padding: 16px;
border-radius: 8px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
text-align: center;
transition: all 0.3s ease;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.mfit-full-width {
grid-column: 1 / -1;
}
.mfit-result-box .mfit-result-val {
font-size: 1.75rem;
} .mfit-calc-actions {
display: flex;
gap: 12px;
margin-top: 24px;
}
.mfit-action-btn {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 12px;
border: none;
border-radius: 6px;
font-weight: 600;
cursor: pointer;
transition: all 0.2s;
font-size: 0.95rem;
}
.mfit-btn-copy {
background: #F1F5F9;
color: #334155;
}
.mfit-btn-copy:hover {
background: #cbd5e1;
}
.mfit-btn-print {
background: var(--mfit-primary);
color: #ffffff;
}
.mfit-btn-print:hover {
background: var(--mfit-primary-hover);
}
.mfit-only-print {
display: none;
}  @media (min-width: 768px) {
.mfit-reverse-desktop .mfit-calc-form-col {
order: 2;
}
.mfit-reverse-desktop .mfit-calc-results-col {
order: 1;
}
} @media (max-width: 768px) {
.mfit-calc-wrapper {
flex-direction: column;
}
} @media (max-width: 767px) {
.mfit-reverse-desktop .mfit-calc-form-col {
order: 1;
}
.mfit-reverse-desktop .mfit-calc-results-col {
order: 2;
}
.mfit-calc-wrapper {
grid-template-columns: 1fr;
}
.mfit-calc-unit-switcher {
flex-direction: column;
gap: 8px;
}
.mfit-form-group-header {
flex-direction: column;
align-items: flex-start !important;
gap: 8px;
}
.mfit-input-with-unit {
width: 100%;
max-width: 100%;
}
.mfit-input-number {
flex: 1;
min-width: 0;
}
.mfit-result-grid {
grid-template-columns: 1fr !important;
}
.mfit-primary-result,
.mfit-result-status {
text-align: center !important;
}
} .mfit-print-data-table {
display: none;
}
body>.mfit-print-zone {
display: none !important;
}
#mfit-print-placeholder-bmi,
#mfit-print-placeholder-fat,
#mfit-print-placeholder-burned,
#mfit-print-placeholder-heart,
#mfit-print-placeholder-ideal,
#mfit-print-placeholder-orm,
#mfit-print-placeholder-protein,
#mfit-print-placeholder-tdee,
[id^="mfit-print-placeholder-"] {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
} @media print {
body>.mfit-print-zone {
display: flex !important;
}
body.mfit-print-active>*:not(.mfit-print-zone),
body.mfit-print-active .mfit-calc-actions {
display: none !important;
}
body.mfit-print-active {
margin: 0 !important;
padding: 0 !important;
background: #fff !important;
display: block !important;
}
body.mfit-print-active .mfit-printing-this .mfit-print-zone {
position: relative !important;
top: auto !important;
left: auto !important;
width: 100% !important;
max-width: 100% !important;
margin: 0 auto !important;
padding: 20px !important;
background: #fff !important;
page-break-inside: auto;
}
body.mfit-print-active .mfit-print-data-table {
display: block;
}
body.mfit-print-active .mfit-calc-wrapper {
page-break-before: avoid !important;
page-break-after: avoid !important;
break-inside: avoid !important;
margin: 0 !important;
padding: 0 !important;
border: none !important;
box-shadow: none !important;
}
body.mfit-print-active .mfit-calc-card {
background: transparent !important;
box-shadow: none !important;
border: none !important;
}
body.mfit-print-active .mfit-only-print {
display: block !important;
margin-top: 30px;
text-align: center;
font-size: 0.9rem;
color: #666;
border-top: 1px solid #ddd;
padding-top: 15px;
}
body.mfit-print-active .mfit-primary-result {
background: transparent !important;
box-shadow: none !important;
border: 1px solid #ddd !important;
}
body.mfit-print-active .mfit-result-box {
background: transparent !important;
border: 1px solid #ddd !important;
box-shadow: none !important;
}
body.mfit-print-active .mfit-progress-bar {
display: none !important;
height: 0 !important;
overflow: hidden !important;
margin: 0 !important;
}
body.mfit-print-active table {
width: 100%;
border-collapse: collapse;
text-align: left;
}
body.mfit-print-active table th {
padding: 8px 12px;
border: 1px solid #e2e8f0;
font-size: 0.95rem;
color: #475569;
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
background-color: #f8fafc !important;
font-weight: 600;
}
body.mfit-print-active table td {
padding: 8px 12px;
border: 1px solid #e2e8f0;
font-size: 0.95rem;
color: #475569;
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
body.mfit-print-active .mfit-print-data-table tr td:first-child {
font-weight: 600;
background-color: #f8fafc !important;
width: 45%;
}
@page {
margin: 0;
}
}