html,body{margin:0;padding:0;height:100%;background-color:#0d1b2a}#root{min-height:100vh}.app-container{min-height:100vh;background-color:#0d1b2a;display:flex;flex-direction:column;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-header{text-align:center;padding:80px 20px 40px}.app-header h1{font-size:3rem;font-weight:500;color:#e0e1dd;margin:0}.app-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:0 20px 32px}.app-footer{padding:0 20px 32px;text-align:center;color:#aab6c5}.app-footer p{max-width:760px;margin:0 auto;font-size:.95rem;line-height:1.7}.app-footer p+p{margin-top:6px}@media(max-width:768px){.app-header{padding:56px 16px 28px}.app-header h1{font-size:2.3rem}.app-main,.app-footer{padding:0 16px 24px}}@media(max-width:480px){.app-header h1{font-size:1.95rem}.app-footer p{font-size:.92rem}}.form-card{width:100%;max-width:650px;background-color:#1b263b;padding:40px;border-radius:24px;box-shadow:0 25px 60px #0009}.form-content{display:flex;flex-direction:column;gap:28px}.form-group label{display:block;margin-bottom:10px;color:#e0e1dd}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.input-group label{margin-bottom:10px;display:block;color:#e0e1dd;font-weight:600}input,select{box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;border-radius:12px;border:2px solid #415a77;background-color:#415a77;color:#e0e1dd;font-size:.95rem;transition:all .2s ease}input:focus,select:focus{outline:none;border-color:#778da9}.radio-group{display:flex;gap:20px}.radio-group label{display:flex;align-items:center;gap:8px;color:#e0e1dd;cursor:pointer}.radio-group input{accent-color:#3f4650;width:18px;height:18px}.height-row{display:flex;gap:10px}.goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.goal-btn{width:100%;padding:14px;border-radius:14px;border:2px solid #415a77;background-color:#415a77;color:#e0e1dd;cursor:pointer;transition:all .25s ease}.goal-btn:hover{transform:scale(1.03);border-color:#778da9}.goal-btn.active{background-color:#778da9;border-color:#778da9;box-shadow:0 6px 20px #778da966}.action-row{display:flex;gap:15px}.form-error{margin:-8px 0 0;color:#d8b4b4;font-size:.92rem}.primary-btn{flex:1;width:100%;padding:14px;border-radius:14px;border:none;background-color:#778da9;color:#0d1b2a;font-weight:500;cursor:pointer;transition:all .25s ease}.primary-btn:hover{background-color:#8a9fb8;transform:scale(1.05)}.primary-btn:disabled{background-color:#556476;color:#0d1b2abf;cursor:not-allowed;transform:none;opacity:.75}.secondary-btn{flex:1;width:100%;padding:14px;border-radius:14px;border:none;background-color:#415a77;color:#e0e1dd;cursor:pointer;transition:all .25s ease}.secondary-btn:hover{background-color:#4d6889}@media(max-width:768px){.form-card{padding:28px 22px;border-radius:20px}.form-content{gap:22px}.form-group label,.input-group label{margin-bottom:8px;font-size:.95rem}.form-row{grid-template-columns:1fr;gap:16px}.height-row{flex-direction:column}.goal-grid{grid-template-columns:1fr;gap:10px}.action-row{flex-direction:column}input,select,.goal-btn,.primary-btn,.secondary-btn{width:100%;font-size:1rem}.goal-btn,.primary-btn,.secondary-btn{min-height:48px}.form-error{margin-top:-4px;font-size:.9rem}}@media(max-width:480px){.form-card{padding:22px 16px;border-radius:18px}.form-content{gap:18px}.radio-group{flex-direction:column;gap:12px}.goal-btn,.primary-btn,.secondary-btn{padding:13px 14px}input,select{min-height:44px;padding:10px;font-size:.95rem}}.results-card{margin-top:32px;padding:32px;border-radius:24px;background:linear-gradient(180deg,#415a7761,#1b263bf0);border:1px solid rgba(119,141,169,.35);box-shadow:inset 0 1px #e0e1dd0d,0 20px 45px #00000059;color:#e0e1dd}.results-card h2{margin:0 0 24px;font-size:1.6rem;font-weight:600;text-align:center;color:#e0e1dd}.Chart-Container,.chart-container{position:relative;min-height:300px;padding:20px;border-radius:20px;overflow:hidden;background-color:#0d1b2a99;border:1px solid rgba(119,141,169,.2)}.calories-center{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:132px;height:132px;border-radius:50%;background-color:#0d1b2aeb;border:2px solid rgba(119,141,169,.5);box-shadow:0 10px 25px #00000059;color:#e0e1dd;text-align:center;pointer-events:none}.calories-center strong{font-size:1.8rem;line-height:1;color:#f8fafc}.macro-list{margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.macro-list p{box-sizing:border-box;margin:0;padding:16px 18px;border-radius:16px;background-color:#415a77;border:1px solid rgba(119,141,169,.3);color:#e0e1dd;font-weight:600;text-align:center;box-shadow:0 10px 24px #0000002e}.macro-list p:nth-child(1){border-color:#ca000073}.macro-list p:nth-child(2){border-color:#cea42773}.macro-list p:nth-child(3){border-color:#21b12173}.results-action{margin-top:24px;display:flex;justify-content:center}.results-clear-btn{width:100%;max-width:260px;min-width:180px;padding:14px 22px;border:none;border-radius:14px;background-color:#415a77;color:#e0e1dd;font-size:.98rem;font-weight:600;cursor:pointer;transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;box-shadow:0 10px 24px #0003}.results-clear-btn:hover{background-color:#4d6889;transform:translateY(-1px);box-shadow:0 14px 30px #0000003d}@media(max-width:768px){.results-card{margin-top:24px;padding:24px 20px;border-radius:20px}.results-card h2{margin-bottom:20px;font-size:1.4rem}.Chart-Container,.chart-container{min-height:280px;padding:14px}.calories-center{width:108px;height:108px;border-width:1px}.calories-center strong{font-size:1.45rem}.macro-list{grid-template-columns:1fr;gap:12px;margin-top:20px}.results-clear-btn{width:100%;max-width:none}}@media(max-width:480px){.results-card{padding:20px 14px;border-radius:18px}.results-card h2{font-size:1.2rem}.Chart-Container,.chart-container{min-height:240px;padding:10px}.calories-center{width:92px;height:92px}.calories-center strong{font-size:1.2rem}.macro-list p{padding:14px 12px;font-size:.95rem}.results-action{margin-top:18px}.results-clear-btn{min-width:0;padding:13px 14px;font-size:.95rem}}
