.input-group-custom{margin-bottom:12px}.input-label{font-weight:500;color:#4a5568;margin-bottom:8px;display:flex;align-items:center;gap:8px;font-size:.95rem;position:relative}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#22c55e;color:#fff;font-size:.7rem;cursor:help;margin-left:5px;position:relative}.tooltip-icon:hover .tooltip-text{visibility:visible;opacity:1}.tooltip-text{visibility:hidden;opacity:0;position:absolute;z-index:1000;bottom:125%;left:50%;transform:translateX(-50%);background-color:#2d3748;color:#fff;text-align:center;padding:8px 12px;border-radius:8px;font-size:.85rem;white-space:nowrap;transition:opacity .3s;box-shadow:0 4px 6px rgba(0,0,0,.1);font-weight:400}.tooltip-text::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#2d3748 transparent transparent transparent}.input-wrapper{position:relative}.form-input{width:100%;padding:10px 12px;border:2px solid #48bb78;border-radius:12px;font-size:1rem;font-family:'Roboto Mono',monospace;transition:all .3s ease;background:#f0fff4}.form-input:focus{outline:none;border-color:#38a169;box-shadow:0 0 0 4px rgba(72,187,120,.2);transform:translateY(-2px)}.input-range{font-size:.75rem;color:#2d3748;margin-top:4px}.form-input.error{border-color:#ef4444;animation:shake .5s ease}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.input-row{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}@media(max-width:768px){.input-row{grid-template-columns:1fr}}.radio-group{display:flex;gap:15px;flex-wrap:wrap}.radio-option{flex:1;min-width:120px}.radio-option input[type="radio"]{display:none}.radio-label{display:block;padding:12px;border:2px solid #48bb78;border-radius:12px;text-align:center;cursor:pointer;transition:all .3s ease;background:#fff}.radio-option input[type="radio"]:checked+.radio-label{background:linear-gradient(135deg,#4ade80 0%,#22c55e 100%);color:#fff;border-color:#22c55e}.radio-label:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(34,197,94,.2)}.result-card{background:linear-gradient(135deg,#4ade80 0%,#22c55e 100%);color:#fff}@media(min-width:992px){.result-card{position:sticky;top:20px}}.result-main{text-align:center;padding:20px 0}.result-label{font-size:1.2rem;font-weight:500;opacity:.95;margin-bottom:10px}.result-value{font-family:'Roboto Mono',monospace;font-size:3rem;font-weight:700;margin-bottom:20px;animation:pulse .5s ease}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.result-divider{border:0;height:2px;background:rgba(255,255,255,.3);margin:20px 0}.result-details{background:rgba(255,255,255,.1);border-radius:12px;padding:12px;margin-top:15px}.result-item{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.1)}.result-item:last-child{border-bottom:none}.result-item-label{font-size:.9rem;opacity:.9}.result-item-value{font-family:'Roboto Mono',monospace;font-weight:600}.chart-container{position:relative;height:350px;margin:10px 0}.macro-card{background:#fff;border-radius:12px;padding:20px;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.1)}.macro-icon{font-size:2.5rem;margin-bottom:10px}.macro-name{font-weight:600;font-size:1.1rem;margin-bottom:10px}.macro-amount{font-family:'Roboto Mono',monospace;font-size:1.3rem;font-weight:700;color:#22c55e;margin-bottom:5px}.macro-calories{font-size:.9rem;color:#6b7280}.meal-card{background:#f0fdf4;border-left:4px solid #22c55e;padding:15px;border-radius:8px;margin-bottom:15px}.meal-title{font-weight:600;color:#22c55e;margin-bottom:8px;display:flex;align-items:center;gap:8px}.meal-content{color:#4a5568;line-height:1.6}.tip-item{background:#fff;padding:12px 15px;border-radius:8px;margin-bottom:10px;border-left:4px solid #22c55e}.health-check{padding:15px;border-radius:12px;margin-top:15px;font-weight:500}.health-check.safe{background:#d1fae5;color:#065f46;border:2px solid #10b981}.health-check.warning{background:#fef3c7;color:#92400e;border:2px solid #f59e0b}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.page-header h1{font-size:2rem}.result-value{font-size:2rem}.glass-card{padding:20px}}