:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eaf2ff;background:#07111f;line-height:1.5}*{box-sizing:border-box;min-width:0}html,body{max-width:100%;overflow-x:hidden}body{margin:0;background:radial-gradient(circle at 82% 0,#12345a 0,transparent 34%),#07111f}header{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:16px;align-items:center;padding:20px max(18px,calc((100vw - 1180px)/2));border-bottom:1px solid #25364b;background:#091625f2;backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}header nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}header h1{font-size:clamp(1.35rem,2.1vw,2rem);margin:0;max-width:290px}.eyebrow{font-size:12px;letter-spacing:.22em;color:#79d8ff;margin:0 0 4px}h1,h2,h3,p{margin-top:0}main{width:min(1180px,100%);margin:26px auto;padding:0 18px 48px}.card,.meal,.recommendation{width:100%;background:#0d1b2bee;border:1px solid #26384e;border-radius:18px;padding:clamp(15px,2vw,20px);box-shadow:0 18px 55px #0004}.card{margin-bottom:18px}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px}.info,.settings-card,.supplement-editor,.schedule-editor{display:grid!important;align-items:stretch!important}.hidden{display:none!important}label{display:grid;gap:7px}input,select,button,textarea{max-width:100%;font:inherit;border-radius:10px;border:1px solid #36506c;padding:10px 12px;background:#0b1726;color:#eef7ff}input,select,textarea{width:100%}textarea{resize:vertical}button{cursor:pointer;background:#17304d}button:hover:not(:disabled){filter:brightness(1.14)}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.nav.active{background:#1c8dd8;border-color:#55baff;font-weight:700}.nav{white-space:normal}.muted,.option-meta{color:#9db0c5;font-size:13px}.grid2,.grid3,.grid4{display:grid;gap:14px;margin-bottom:14px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.buttons,.rec-actions{display:flex;gap:9px;flex-wrap:wrap}.check,.switch{display:flex;align-items:center;gap:10px}.check input,.switch input{width:auto}.tall{align-self:end;min-height:43px}.meals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.metric{background:#091624;border-radius:10px;padding:8px;text-align:center}.metric strong{display:block;font-size:18px}.recommendations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.recommendation{display:flex;flex-direction:column}.recommendation ol{padding-left:18px}.badge{font-size:12px;padding:4px 8px;border-radius:999px;background:#17395a;white-space:nowrap}.agent-comment,.rec-analysis{padding:12px;border-left:3px solid #55baff;background:#0a1828;border-radius:8px}.score-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.score-breakdown span,.supp-macros span{background:#091624;border-radius:9px;padding:7px;text-align:center;font-size:12px}.strategy-familiar{border-top:3px solid #46a3e5}.strategy-nutrition{border-top:3px solid #35c981}.strategy-alternative{border-top:3px solid #b38cff}.meal-picker{position:relative}.picker-trigger{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left}.picker-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-menu{display:none;position:absolute;z-index:30;top:calc(100% + 7px);left:0;right:0;max-height:310px;overflow:auto;padding:7px;background:#091522;border:1px solid #36506c;border-radius:12px;box-shadow:0 18px 45px #000a}.meal-picker.open .picker-menu{display:grid;gap:5px}.picker-option{width:100%;display:grid;gap:3px;text-align:left;background:#0d1d2e;white-space:normal}.picker-option.selected{background:#16395a;border-color:#55baff}.training-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:14px 0 25px}.training-day{background:#0d1b2b;border:1px solid #29425e;border-radius:12px;padding:10px;cursor:pointer}.training-day.completed{border-left:4px solid #22c55e}.training-day.planned:not(.completed){border-left:4px solid #f59e0b}.training-day.rest{opacity:.78;background:#091522}.training-day h3{font-size:.86rem}.training-day p{font-size:.78rem;margin:4px 0}.training-weekday{text-align:center;color:#8fb1d2;font-size:.75rem;font-weight:800}.month-nav,.weekday-checks{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.stat-card{background:#0d1b2b;border:1px solid #26384e;border-radius:14px;padding:15px}.supplements-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.supplement-card{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;cursor:pointer;margin:0}.supp-macros{display:grid;grid-template-columns:repeat(2,auto);gap:7px}.help-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.help-examples p{background:#091624;border-radius:10px;padding:12px;margin:0}.onboarding-shell{min-height:65vh;display:grid;place-items:center}.onboarding-card{max-width:1040px}.onboarding-card>button{width:100%}footer{width:min(1180px,calc(100% - 36px));margin:32px auto;padding:22px;text-align:center;color:#b4c2d1;border-top:1px solid #27323e;font-size:14px}footer a{color:#f4d53f;text-decoration:none;font-weight:800}footer span{color:#f4d53f;margin:0 5px}details{margin:16px 0}details label{margin-top:12px}
@media(max-width:1100px){header{grid-template-columns:1fr auto}header nav{grid-column:1/-1;order:3;justify-content:flex-start}.recommendations{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.training-list{grid-template-columns:repeat(4,minmax(0,1fr))}.training-weekday,.training-spacer{display:none}}
@media(max-width:760px){header{display:flex;flex-wrap:wrap;padding:14px 16px;position:relative}header>div{width:100%}header h1{max-width:none}header nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav,#logout{width:100%}#status{display:none}main{padding:0 12px 35px;margin-top:16px}.toolbar,.training-header,.week-summary,.supplement-card{display:flex!important;flex-direction:column!important;align-items:stretch!important}.grid2,.grid3,.grid4,.meals,.supplements-list,.stats-grid,.help-examples{grid-template-columns:1fr}.training-list{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.buttons>*{flex:1 1 150px}.picker-menu{position:fixed;left:12px;right:12px;top:15vh;max-height:70vh}.card,.meal,.recommendation{border-radius:14px}.month-nav{justify-content:center}}
@media(max-width:430px){header nav{grid-template-columns:1fr}.training-list{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.score-breakdown{grid-template-columns:1fr}.buttons>*{flex-basis:100%}footer{width:calc(100% - 24px)}}
button.danger{background:#5b1d2a;border-color:#b94b62;color:#fff}footer a{color:#66e38d!important}footer span{color:#35a8ff!important}.provider-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.provider-card-actions button{padding:7px 10px;font-size:13px}.status-ok{color:#8de5a8}.status-error{color:#ff9f9f}

/* v3.3 — logiczny podział Profil / Konto / Agent AI */
label[data-help]::after{content:attr(data-help);display:block;color:#91a7be;font-size:.78rem;line-height:1.4;font-weight:400;margin-top:1px}.account-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:16px}.status-pill{display:inline-flex;width:max-content;padding:7px 11px;border-radius:999px;font-weight:800}.status-pill.configured{color:#baf7ce;background:#123c29;border:1px solid #2f8c5a}.status-pill.not-configured{color:#ffd0d0;background:#421d26;border:1px solid #a54a5d}.login-history{display:grid;gap:8px}.login-entry{display:flex;gap:10px;align-items:center;background:#091624;border:1px solid #233a52;border-radius:10px;padding:10px 12px}.login-entry span{color:#7bcfff}.danger-zone{border-color:#693446}.danger-zone .danger{background:#6b2432;border-color:#c65d73}footer a{color:#c9ff00!important;text-shadow:0 0 16px rgba(201,255,0,.24)}footer span{color:#5ccfff!important}.settings-layout{display:grid;gap:0}fieldset{border:1px solid #2b425d;border-radius:12px;padding:14px;margin:4px 0 16px}legend{color:#c6d8eb;padding:0 8px;font-weight:700}
@media(max-width:900px){.account-grid{grid-template-columns:1fr}}

/* v3.4 */
footer a{color:#c9ff00!important;font-weight:600!important;letter-spacing:.025em;text-shadow:none!important}footer span{color:#5ccfff!important}.score-chart{display:grid;gap:8px;margin:14px 0}.score-row{display:grid;grid-template-columns:90px 1fr 46px;gap:10px;align-items:center;font-size:.82rem}.score-row strong{text-align:right}.score-track{height:10px;background:#071421;border:1px solid #263e56;border-radius:999px;overflow:hidden}.score-track i{display:block;height:100%;background:linear-gradient(90deg,#35a8ff,#c9ff00);border-radius:999px}.rec-choice-history{display:block;color:#9fd7ff;font-size:.78rem;margin-top:4px;line-height:1.45}.supplement-note{padding:10px 12px;border-radius:10px;background:#091624;border:1px solid #22394f}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.estimate-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.estimate-metrics article,.estimate-days article{background:#091624;border:1px solid #263e56;border-radius:12px;padding:13px}.estimate-metrics span{display:block;color:#91a7be;font-size:.78rem}.estimate-metrics strong{display:block;font-size:1.2rem;margin-top:4px}.estimate-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.estimate-days p{margin:0}.mail-pref-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.consent{align-items:flex-start}.login-row{display:grid;gap:3px;background:#091624;border:1px solid #233a52;border-radius:10px;padding:10px 12px}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-metric{background:#091624;border:1px solid #263e56;border-radius:12px;padding:14px}.admin-metric span{display:block;color:#91a7be;font-size:.8rem}.admin-metric strong{font-size:1.45rem}.logout-button{order:10}
@media(max-width:1100px){.estimate-metrics,.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){header nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}header nav .nav{padding:8px 10px;min-height:42px;font-size:.94rem}.logout-button{order:99;padding:8px 10px!important;min-height:42px}header>.logout-button{width:100%;margin-top:2px}.estimate-metrics,.estimate-days,.mail-pref-grid,.admin-metrics{grid-template-columns:1fr}.score-row{grid-template-columns:78px 1fr 42px}.section-heading{flex-direction:column}.section-heading button{width:100%}}
@media(max-width:430px){header nav{grid-template-columns:repeat(2,minmax(0,1fr))}header nav .nav{font-size:.88rem;padding:7px}.score-row{grid-template-columns:70px 1fr 38px}}
.history-list{display:grid;gap:9px}.history-entry{margin:0;background:#091624;border:1px solid #263e56;border-radius:12px;padding:10px 13px}.history-entry summary{cursor:pointer}.history-analysis{padding:12px 4px 2px}
.history-list{display:grid;gap:9px}.history-entry{margin:0;background:#091624;border:1px solid #263e56;border-radius:12px;padding:10px 13px}.history-entry summary{cursor:pointer}.history-analysis{padding:12px 4px 2px}

/* === PilotDiet v3.5 — identyfikacja produktu i przyjazny UX === */
:root{
  color-scheme:light;
  --pd-green:#0b4b3e;
  --pd-green-2:#146c58;
  --pd-green-soft:#e7f3ee;
  --pd-blue:#34aee8;
  --pd-blue-2:#2098d1;
  --pd-blue-soft:#e9f7fd;
  --pd-ink:#16322d;
  --pd-muted:#66827b;
  --pd-line:#cfe3dd;
  --pd-surface:#ffffff;
  --pd-bg:#f3f9f7;
  --pd-danger:#a43e51;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--pd-ink);background:var(--pd-bg)
}
html,body{background:var(--pd-bg);color:var(--pd-ink)}
body{background:radial-gradient(circle at 88% -8%,rgba(52,174,232,.16),transparent 33%),radial-gradient(circle at 5% 22%,rgba(20,108,88,.08),transparent 28%),var(--pd-bg)}
header{grid-template-columns:minmax(250px,1fr) auto auto;gap:18px;border-bottom:1px solid var(--pd-line);background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(11,75,62,.08);backdrop-filter:blur(14px)}
.brand-lockup{display:flex;align-items:center;gap:12px;color:var(--pd-green);text-decoration:none;min-width:210px}
.brand-lockup img{width:clamp(130px,15vw,190px);height:58px;object-fit:contain;object-position:left center}
.brand-lockup span{font-size:.82rem;line-height:1.3;color:var(--pd-muted);max-width:180px}
.card,.meal,.recommendation{background:rgba(255,255,255,.96);border-color:var(--pd-line);box-shadow:0 14px 34px rgba(11,75,62,.075)}
.card:hover,.meal:hover,.recommendation:hover{box-shadow:0 17px 40px rgba(11,75,62,.095)}
input,select,textarea,button{border-color:#bcd5cf;background:#fff;color:var(--pd-ink)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(52,174,232,.18);border-color:var(--pd-blue)}
button{background:#eef6f3;color:var(--pd-green);font-weight:650}
button:hover:not(:disabled){filter:none;background:#e3f1ec}
button.primary,.nav.active{background:linear-gradient(135deg,var(--pd-blue),var(--pd-blue-2));border-color:var(--pd-blue-2);color:#fff;box-shadow:0 7px 18px rgba(32,152,209,.18)}
.nav{background:#f2f8f6;border-color:#d4e6e1;color:var(--pd-green)}
.nav.active{color:#fff}.nav:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid rgba(52,174,232,.28);outline-offset:2px}
.muted,.option-meta,label[data-help]::after{color:var(--pd-muted)}
.eyebrow{color:var(--pd-blue-2)}
.metric,.stat-card,.help-examples p,.estimate-metrics article,.estimate-days article,.login-row,.admin-metric,.history-entry,.supplement-note,.score-breakdown span,.supp-macros span{background:#f7fbfa;border-color:#d8e8e4;color:var(--pd-ink)}
.badge{background:var(--pd-blue-soft);color:#1679a8;border:1px solid #c4e9f7}
.agent-comment,.rec-analysis{background:#f3faf8;border-left-color:var(--pd-blue)}
.strategy-familiar{border-top-color:#38a9e1}.strategy-nutrition{border-top-color:#1e8068}.strategy-alternative{border-top-color:#76a695}
.score-track{background:#e4efec;border-color:#cee1dc}.score-track i{background:linear-gradient(90deg,var(--pd-green-2),var(--pd-blue))}
.rec-choice-history{color:#2a7e70}.picker-menu{background:#fff;border-color:#c8ddd7;box-shadow:0 22px 50px rgba(11,75,62,.18)}.picker-option{background:#f6faf9}.picker-option.selected{background:#e5f5fb;border-color:var(--pd-blue)}
.training-day{background:#fff;border-color:#d1e3de}.training-day.rest{background:#f6faf9}.training-weekday{color:var(--pd-green-2)}
.status-pill.configured{color:#0c624e;background:#e5f5ee;border-color:#8bc5b3}.status-pill.not-configured{color:#8e3447;background:#fff0f3;border-color:#e5a6b4}
button.danger,.danger-zone .danger{background:#fff1f4;border-color:#d98c9c;color:#8e3447}.danger-zone{border-color:#efc8d0}
fieldset{border-color:#cfe2dc}legend{color:var(--pd-green)}
footer{color:var(--pd-muted);border-top-color:var(--pd-line)}footer a{color:#a8d400!important;font-weight:700!important;letter-spacing:.01em!important}footer span{color:var(--pd-blue)!important}
.welcome-card{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:22px;align-items:center;background:linear-gradient(135deg,#fff 0%,#f0faf7 55%,#edf8fd 100%)}
.user-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.user-dashboard article{padding:14px;border:1px solid #d4e6e1;border-radius:14px;background:rgba(255,255,255,.82)}.user-dashboard span,.user-dashboard small{display:block;color:var(--pd-muted)}.user-dashboard strong{display:block;font-size:1.4rem;color:var(--pd-green);margin:4px 0}
.brand-dialog{width:min(720px,calc(100vw - 30px));padding:0;border:1px solid #cde0da;border-radius:20px;color:var(--pd-ink);background:#fff;box-shadow:0 30px 80px rgba(5,51,42,.28)}.brand-dialog::backdrop{background:rgba(4,39,33,.48);backdrop-filter:blur(3px)}.brand-dialog form{padding:22px}.dialog-brand{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--pd-line);padding-bottom:14px;margin-bottom:14px}.dialog-brand img{width:145px;height:70px;object-fit:contain}.dialog-brand h3{margin-bottom:3px}.confirm-summary{display:grid;gap:8px;margin:14px 0}.confirm-date{font-weight:800;color:var(--pd-green);font-size:1.05rem}.confirm-meal{display:grid;grid-template-columns:120px 1fr;gap:4px 12px;padding:10px 12px;background:#f7fbfa;border:1px solid #dbeae6;border-radius:12px}.confirm-meal strong{color:var(--pd-green)}.confirm-meal small{grid-column:2;color:var(--pd-muted)}.confirm-total{display:flex;justify-content:space-between;gap:12px;padding:12px;background:var(--pd-blue-soft);border-radius:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 85% 10%,rgba(52,174,232,.18),transparent 30%),radial-gradient(circle at 12% 90%,rgba(11,75,62,.14),transparent 34%),#f4faf8}.auth-shell{width:min(960px,100%);display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:26px;align-items:center}.auth-shell.auth-wide{width:min(1080px,100%)}.auth-brand{display:grid;justify-items:center;text-align:center;padding:20px}.auth-brand img{width:min(440px,100%);max-height:280px;object-fit:contain}.auth-brand p{color:var(--pd-green);font-size:1.1rem;font-weight:650;margin-top:-10px}.auth-card{margin:0;padding:clamp(22px,4vw,34px)}.auth-card label{margin:13px 0}.wide{width:100%}.auth-link,.link-button{display:inline-block;margin-top:14px;color:var(--pd-blue-2);font-weight:700;text-decoration:none}.link-button{background:transparent;border:0;padding:0}.form-message{min-height:25px;margin-top:12px}.form-message.success,.status-ok{color:#16735d}.form-message.error,.status-error{color:#a43e51}.steps{display:grid;gap:14px}.steps article{padding:14px;border-radius:14px;background:#f7fbfa;border:1px solid var(--pd-line)}.copy-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.copy-row code{flex:1;min-width:240px;overflow-wrap:anywhere;padding:10px;border-radius:10px;background:#eaf5f2;color:var(--pd-green)}
.admin-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-metric strong{color:var(--pd-green)}.template-layout{align-items:end}code{color:#176b5a;background:#edf6f3;padding:.1em .35em;border-radius:5px}.template-layout select{min-height:44px}
@media(max-width:1100px){.user-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.welcome-card{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr;max-width:620px}.auth-brand{padding:0}.auth-brand img{max-height:180px}.auth-brand p{margin-top:-5px}}
@media(max-width:760px){header{background:#fff;gap:10px}.brand-lockup{width:100%;justify-content:center}.brand-lockup img{width:150px;height:54px}.brand-lockup span{display:none}header nav{order:2}.logout-button{order:99}.user-dashboard,.admin-metrics{grid-template-columns:1fr 1fr}.dialog-brand{align-items:flex-start}.dialog-brand img{width:110px;height:55px}.confirm-meal{grid-template-columns:1fr}.confirm-meal small{grid-column:auto}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}.auth-page{padding:14px}.auth-card{border-radius:18px}}
@media(max-width:430px){.user-dashboard,.admin-metrics{grid-template-columns:1fr}.brand-lockup img{width:135px}.auth-brand img{max-height:150px}}
.input-action{display:flex;gap:8px}.input-action input{flex:1}.input-action button{flex:0 0 auto}
.field-title{display:block;font-weight:650;margin-bottom:7px;color:var(--pd-ink)}


/* === PilotDiet v3.6 — responsywny branding, prywatność dashboardu i przypomnienia === */
.brand-lockup img{width:clamp(205px,17vw,235px);height:72px}
.brand-lockup{min-width:280px}.brand-lockup span{max-width:190px;font-size:.84rem}
.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.auth-actions .wide{margin:0;min-height:44px}.button-link{display:flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #bcd5cf;border-radius:10px;padding:10px 12px;background:#eef6f3;color:var(--pd-green);font-weight:700}.button-link:hover{background:#e3f1ec}
.user-dashboard .dashboard-action{border-color:#9bd7ef;background:linear-gradient(135deg,#f7fcfe,#eef9fd)}.user-dashboard .dashboard-action strong{color:var(--pd-blue-2)}
.reminder-settings{align-items:end}.reminder-settings label{height:100%}
@media(max-width:1180px){header{grid-template-columns:1fr;justify-items:center}.brand-lockup{min-width:0;width:auto}.brand-lockup img{width:220px;height:70px}header nav{width:100%;justify-content:center}.logout-button{justify-self:center}}
@media(max-width:760px){.brand-lockup img{width:clamp(180px,54vw,220px);height:66px}.brand-lockup span{display:none}.auth-actions{grid-template-columns:1fr}.welcome-card{padding:18px}.user-dashboard article{padding:12px}.reminder-settings{grid-template-columns:1fr!important}}
@media(max-width:430px){.brand-lockup img{width:180px;height:60px}.auth-actions{gap:8px}.user-dashboard strong{font-size:1.18rem}}

.status-warning{color:#8a5b12;font-weight:650}.status-warning::before{content:'⚠ ';}

/* === PilotDiet v3.6.2 — dopracowanie UX/UI === */
.app-header{grid-template-columns:minmax(300px,360px) minmax(0,1fr) minmax(150px,180px);gap:18px;padding-top:14px;padding-bottom:14px}
.brand-lockup{min-width:0;display:flex;align-items:center;gap:14px}
.brand-lockup img{width:clamp(245px,17vw,285px);height:88px;object-fit:contain}
.brand-lockup span{max-width:175px;font-size:.82rem;line-height:1.35}
.header-center{display:grid;justify-items:center;gap:7px;min-width:0}
.primary-nav{display:flex;flex-wrap:nowrap!important;gap:6px!important;justify-content:center;align-items:center;width:100%}
.primary-nav .nav{padding:8px 10px;font-size:.9rem;white-space:nowrap}
.admin-nav-row{min-height:38px;display:flex;align-items:center;justify-content:center}
.admin-nav-row:has(#adminLaunch.hidden){min-height:0}
.session-box{display:grid;justify-items:end;align-content:center;gap:2px;color:var(--pd-muted);font-size:.76rem;white-space:nowrap}
.session-box strong{color:var(--pd-green);font-size:.93rem;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.session-box .logout-button{margin-top:5px;padding:7px 12px;font-size:.84rem}

.user-dashboard{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}
.user-dashboard article{min-height:126px;display:flex;flex-direction:column;justify-content:flex-start}
.user-dashboard small{line-height:1.35;margin-top:auto;padding-top:6px;overflow-wrap:anywhere}
.user-dashboard .diet-range{font-size:1.05rem;line-height:1.35}
.user-dashboard .diet-range span{display:inline;color:inherit;margin:0 .18rem}
.user-dashboard .dashboard-placeholder{font-size:1rem;line-height:1.25;color:var(--pd-muted)}

.rec-choice-macros{display:block;margin-top:5px;line-height:1.45;color:var(--pd-muted);overflow-wrap:anywhere}
.recommendation li{margin-bottom:10px;line-height:1.48}
.recommendation ol{padding-left:22px}
.totals-line{line-height:1.5}

.stat-card{display:grid;grid-template-columns:auto auto 1fr;grid-template-areas:'period value label' 'details details details';align-items:baseline;column-gap:7px;row-gap:8px}
.stat-period{grid-area:period}.stat-value{grid-area:value;font-size:1.3rem;color:var(--pd-green)}.stat-card>small{grid-area:label}.stat-details{grid-area:details;display:flex;gap:12px;flex-wrap:wrap;color:var(--pd-muted);font-size:.82rem}
.week-summary{display:flex!important;align-items:center!important;gap:12px!important;flex-direction:row!important;flex-wrap:wrap}
.week-summary strong{margin-right:4px}.week-summary span{display:inline-block}

.step-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.compact-action{flex:0 0 auto;white-space:nowrap}
.registration-message.success{font-weight:800;font-size:1rem;color:#0d7259}
.registration-info:empty{display:none}

.onboarding-card .grid4>label,.onboarding-card .grid3>label,.onboarding-card .grid2>label{align-self:start}
.onboarding-card .grid4>label>input,.onboarding-card .grid4>label>select{min-height:48px}
.onboarding-card label[data-help]::after{min-height:2.8em}

@media(max-width:1380px){
  .app-header{grid-template-columns:minmax(250px,300px) minmax(0,1fr) 150px;padding-left:18px;padding-right:18px}
  .brand-lockup img{width:235px;height:78px}.brand-lockup span{display:none}
  .primary-nav .nav{padding:7px 8px;font-size:.82rem}
  .user-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1050px){
  .app-header{grid-template-columns:1fr auto;justify-items:stretch}
  .brand-lockup{justify-content:flex-start}.header-center{grid-column:1/-1;order:3}.primary-nav{flex-wrap:wrap!important}
  .session-box{justify-self:end}.user-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .app-header{display:flex;flex-direction:column;align-items:stretch;padding:12px}
  .brand-lockup{justify-content:center}.brand-lockup img{width:clamp(215px,68vw,275px);height:82px}
  .header-center{order:2}.primary-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}.primary-nav .nav{width:100%;font-size:.88rem;padding:9px}
  .admin-nav-row{width:100%}.admin-nav-row .nav{width:100%}
  .session-box{order:3;justify-items:center;justify-self:stretch;border-top:1px solid var(--pd-line);padding-top:10px}.session-box .logout-button{width:min(260px,100%)}
  .user-dashboard{grid-template-columns:1fr 1fr}.user-dashboard article{min-height:120px}
  .stat-card{grid-template-columns:auto auto 1fr}.week-summary{align-items:flex-start!important}
  .step-heading{align-items:flex-start}.compact-action{width:100%}
}
@media(max-width:430px){.primary-nav{grid-template-columns:1fr}.user-dashboard{grid-template-columns:1fr}.brand-lockup img{width:230px;height:74px}}
.user-dashboard .diet-range{display:grid;gap:1px}.user-dashboard .diet-range span{display:block;margin:0;color:inherit}

/* === PilotDiet v3.6.3 — porządek dashboardu, nagłówka i formularzy === */
.app-header{grid-template-columns:minmax(300px,360px) minmax(0,1fr) 190px;padding:12px 24px!important;gap:16px}
.session-box{justify-self:end;justify-items:end;padding-right:0}
.session-box .logout-button{min-width:92px}
.user-dashboard article>span:first-child{font-weight:650;line-height:1.25}
.user-dashboard .diet-range{margin-top:3px}
.user-dashboard .diet-range span{font-weight:800}

/* Wszystkie kontrolki w siatkach Profilu/Agenta mają identyczną wysokość i punkt startu. */
.settings-card .grid2>label:not(.check),.settings-card .grid3>label:not(.check),.settings-card .grid4>label:not(.check){align-self:start}
.settings-card .grid2>label:not(.check)>input,.settings-card .grid2>label:not(.check)>select,
.settings-card .grid3>label:not(.check)>input,.settings-card .grid3>label:not(.check)>select,
.settings-card .grid4>label:not(.check)>input,.settings-card .grid4>label:not(.check)>select{height:48px;min-height:48px;padding-top:10px;padding-bottom:10px}
.settings-card .grid2>label[data-help]::after,.settings-card .grid3>label[data-help]::after,.settings-card .grid4>label[data-help]::after{min-height:2.8em}
.registration-message.success{font-weight:850!important;font-size:1.02rem!important;color:#0b6f57!important}

@media(max-width:1380px){.app-header{padding-left:18px!important;padding-right:18px!important;grid-template-columns:minmax(235px,285px) minmax(0,1fr) 160px}.brand-lockup img{width:220px;height:74px}.primary-nav .nav{font-size:.8rem;padding:7px 7px}}
@media(max-width:1050px){.app-header{grid-template-columns:1fr auto}.session-box{justify-self:end}.header-center{grid-column:1/-1}}
@media(max-width:760px){.app-header{padding:12px!important}.session-box{justify-items:center}}

/* === PilotDiet v3.6.5 — hotfix odbiorców mailingu; UX bez zmian === */
.app-header{grid-template-columns:minmax(430px,520px) minmax(0,1fr) 170px;padding:10px 24px!important;gap:18px}
.app-header .brand-lockup{gap:18px}
.app-header .brand-lockup img{width:clamp(300px,19vw,350px);height:108px;object-fit:contain;flex:0 0 auto}
.app-header .brand-lockup span{max-width:190px;font-size:.96rem;line-height:1.38;color:var(--pd-muted)}
.session-box{width:155px;justify-self:end;justify-items:center!important;text-align:center!important;align-content:center;gap:3px;padding:0}
.session-box>span,.session-box>strong{display:block;width:100%;text-align:center!important}
.session-box strong{max-width:155px}
.session-box .logout-button{justify-self:center!important;min-width:100px;margin:6px auto 0!important}

/* Równe wiersze formularza suplementów: tytuł -> kontrolka -> opis. */
.supplement-editor .grid4{align-items:stretch}
.supplement-editor .grid4>label:not(.check){display:grid;grid-template-rows:auto 48px minmax(3.2em,auto);align-content:start;align-self:stretch;gap:7px}
.supplement-editor .grid4>label:not(.check)>input,.supplement-editor .grid4>label:not(.check)>select{height:48px;min-height:48px;margin:0}
.supplement-editor .grid4>label[data-help]::after{min-height:3.2em;margin:0;align-self:start}
.supplement-editor .grid4>.check.tall{align-self:start;margin-top:31px;min-height:48px}

/* Własne komunikaty zamiast natywnych alert/confirm przeglądarki. */
.pd-message-dialog{width:min(560px,calc(100vw - 28px))}
.pd-message-dialog .pd-dialog-message{font-size:1rem;line-height:1.6;margin:8px 0 2px;white-space:pre-wrap;overflow-wrap:anywhere}
.pd-message-dialog[data-type="error"]{border-color:#e1a1ae}.pd-message-dialog[data-type="error"] .dialog-brand h3{color:#9c3850}

/* Administracja — elastyczny edytor szablonów i kampanii. */
.compact-buttons{justify-content:flex-end}.compact-buttons button{min-width:92px}
.mail-campaign-panel{margin-top:22px;padding-top:20px;border-top:1px solid var(--pd-line)}
.audience-count{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:var(--pd-blue-soft);color:var(--pd-blue-2);white-space:nowrap}
.campaign-controls{align-items:end}.campaign-buttons{align-items:end;height:100%;padding-top:25px}.campaign-buttons button{flex:1 1 160px}
.campaign-list{display:grid;gap:9px}.campaign-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;border:1px solid var(--pd-line);border-radius:12px;background:#f8fcfb}.campaign-row>div{display:grid;gap:3px}.campaign-row>div:last-child{justify-items:end}.campaign-row span,.campaign-row small{color:var(--pd-muted)}
#newTemplateFields{padding:14px;border:1px dashed #acd0c6;border-radius:14px;background:#f7fbfa}
#templateDisplayName:disabled,#templateAudience:disabled{opacity:.7;background:#f0f5f3}

@media(max-width:1450px){
  .app-header{grid-template-columns:minmax(330px,410px) minmax(0,1fr) 155px;padding-left:18px!important;padding-right:18px!important}
  .app-header .brand-lockup img{width:270px;height:90px}.app-header .brand-lockup span{font-size:.85rem;max-width:150px}
  .primary-nav .nav{font-size:.78rem;padding:7px 7px}
}
@media(max-width:1180px){
  .app-header{grid-template-columns:1fr auto;align-items:center}
  .app-header .brand-lockup{justify-self:start}.app-header .brand-lockup img{width:260px;height:86px}.app-header .brand-lockup span{display:block}
  .session-box{justify-self:end}
  .header-center{grid-column:1/-1;width:100%;order:3}
  .primary-nav{justify-content:center;flex-wrap:wrap!important}
}
@media(max-width:760px){
  .app-header{grid-template-columns:1fr;justify-items:center;padding:12px!important}
  .app-header .brand-lockup{justify-self:center;justify-content:center;width:100%}.app-header .brand-lockup img{width:250px;height:84px}.app-header .brand-lockup span{display:none}
  .session-box{justify-self:center;width:100%;max-width:220px;order:2}.header-center{order:3}
  .primary-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}
  .session-box .logout-button{width:auto!important;min-width:120px}
  .supplement-editor .grid4>label:not(.check){grid-template-rows:auto 48px auto}.supplement-editor .grid4>label[data-help]::after{min-height:0}
  .supplement-editor .grid4>.check.tall{margin-top:0}
  .campaign-row{align-items:flex-start;flex-direction:column}.campaign-row>div:last-child{justify-items:start}.campaign-buttons{padding-top:0}
}
@media(max-width:430px){.primary-nav{grid-template-columns:1fr}.app-header .brand-lockup img{width:225px;height:76px}.compact-buttons{width:100%}.compact-buttons button{flex:1}}


/* === PilotDiet v3.6.6 — mobilny nagłówek + 2FA UX === */
.app-header .brand-lockup img{object-position:center center}
.account-status label{margin-top:10px}.account-status .buttons{margin-top:12px}
#reloadCampaigns{margin-bottom:4px}
@media(max-width:760px){
  .app-header .brand-lockup{width:100%!important;max-width:none!important;justify-content:center!important;align-self:center!important;margin-inline:auto!important}
  .app-header .brand-lockup img{display:block!important;margin:0 auto!important;object-position:center center!important}
  .mail-campaign-panel .section-heading{width:100%;gap:10px;margin-bottom:12px}
  .mail-campaign-panel .section-heading>button{width:100%;margin:0 0 6px}
  .mail-campaign-panel .campaign-list{clear:both}
  .account-status .buttons{display:grid;grid-template-columns:1fr;gap:8px}.account-status .buttons button{width:100%}
}


/* === PilotDiet v3.6.7 — mobile checkbox consistency: wyłącznie Konto + Agent AI === */
@media(max-width:760px){
  #accountView .consent,#mailInterestTopics label.check,#aiDataScope label.check,#settingsView label.switch{display:flex!important;align-items:flex-start!important;gap:12px!important}
  #mailConsent,#mailInterestTopics input[type="checkbox"],#aiDataScope input[type="checkbox"],#settingsView label.switch>input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;margin:3px 0 0!important;padding:0!important}
  #mailInterestTopics label.check,#aiDataScope label.check{min-height:32px;line-height:1.35}
  #accountView .consent{line-height:1.45}
}

/* === PilotDiet v3.6.8 — obrazy posiłków + wykluczone dania === */
.meal-image-wrap,.meal-image-placeholder{width:min(62%,320px);margin:14px auto 16px;border-radius:14px;overflow:hidden;background:#eef7f5;border:1px solid var(--pd-line);aspect-ratio:4/3}
.meal-image-wrap img{width:100%;height:100%;display:block;object-fit:contain}
.meal-image-placeholder{display:grid;place-items:center;min-height:96px;aspect-ratio:auto;color:var(--pd-muted);font-weight:700;text-align:center;padding:16px}
.dish-exclude-toggle{margin-top:14px;display:flex!important;align-items:center!important;gap:10px;font-weight:700;color:var(--pd-green)}
.dish-exclude-toggle input{flex:0 0 20px;width:20px;height:20px;margin:0}
.dish-exclude-help{margin:5px 0 0;font-size:.86rem}
.excluded-dishes-panel{margin:22px 0 18px;padding:18px;border:1px solid var(--pd-line);border-radius:16px;background:#f8fcfb}
#excludedDishesList{display:grid;gap:10px}.excluded-dish-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;background:#fff;border:1px solid var(--pd-line);border-radius:12px}.excluded-dish-row>div{display:grid;gap:3px}.excluded-dish-row small{color:var(--pd-muted)}
@media(max-width:760px){.meal-image-wrap,.meal-image-placeholder{width:min(64%,290px);margin-top:14px}.excluded-dish-row{align-items:stretch;flex-direction:column}.excluded-dish-row button{width:100%}.dish-exclude-toggle input{appearance:auto!important;-webkit-appearance:checkbox!important;min-width:20px!important;max-width:20px!important;min-height:20px!important;max-height:20px!important}}

/* v3.6.8 — kompaktowe miniatury w propozycjach algorytmu */
.rec-choice-list{display:grid;gap:8px}
.rec-choice-item{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:12px;align-items:center;margin-bottom:4px}
.rec-choice-copy{min-width:0}
.rec-choice-thumb{width:92px;height:72px;border:1px solid var(--pd-line);border-radius:12px;overflow:hidden;background:#eef7f5;display:grid;place-items:center}
.rec-choice-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.rec-choice-thumb-empty{padding:6px;text-align:center;color:var(--pd-muted);font-size:.72rem;line-height:1.15}
@media(max-width:760px){.rec-choice-item{grid-template-columns:minmax(0,1fr) 76px;gap:10px}.rec-choice-thumb{width:76px;height:62px}.rec-choice-thumb-empty{font-size:.64rem}}
@media(max-width:390px){.rec-choice-item{grid-template-columns:1fr}.rec-choice-thumb{width:88px;height:68px;justify-self:start}}

.selection-history{margin:5px 0 0;font-size:.78rem;color:#2a7e70}.selection-history summary{cursor:pointer;font-weight:700}.selection-history div{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px}.selection-history span{white-space:nowrap}
/* v3.7.0 — PilotDiet Plus */
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.pricing-grid article{border:1px solid #c7ded8;border-radius:14px;padding:1rem;background:#f8fbfa;display:flex;flex-direction:column;gap:.35rem}.pricing-grid strong{font-size:1.35rem;color:#0c594b}.recommendation-locked{min-height:330px}.plus-lock{margin-top:2rem;padding:1.25rem;border:1px dashed #8ebeb2;border-radius:14px;background:#f5faf8;text-align:center}.plus-lock strong{display:block;font-size:1.1rem;margin-bottom:.65rem}.plus-history-notice{padding:.9rem 1rem;border-left:4px solid #2fa8dc;background:#f2fafc;border-radius:8px;margin-bottom:1rem}.subscription-status{margin:.75rem 0}.subscription-status p{margin:0}.subscription-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.subscription-user-controls{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.8rem}
@media(max-width:760px){.pricing-grid,.subscription-admin-grid,.subscription-user-controls{grid-template-columns:1fr}}
.email-verification-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.35rem 0 1rem}

/* v3.7.2 */
.registration-success{margin-top:1rem;padding:1rem;border:1px solid #c8ded8;border-radius:16px;background:#f3faf8}.registration-success h2{margin-top:0}.auth-success-link{display:block;text-align:center;text-decoration:none;margin-top:1rem}.session-plan{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.session-plan>span{font-size:.78rem;color:#647b76}.subscription-current-label{display:flex;align-items:center;gap:.6rem;font-size:1rem}.subscription-plan-badge{font-size:1rem;padding:.45rem .75rem}.status-ok,.status-error{display:block;padding:.7rem .9rem;margin-top:.6rem;border-radius:10px;font-weight:700}.status-ok{background:#e7f7f1;border:1px solid #b6dfd2}.status-error{background:#fff0f0;border:1px solid #efc1c1}.recovery-recommendations{margin-top:1rem;padding:.85rem 1rem;border:1px solid #c8ded8;border-radius:12px;background:#f4faf8}.recovery-recommendations h4{margin:.1rem 0 .5rem}.recovery-recommendations ul{margin:.3rem 0 .1rem}
@media(max-width:760px){.session-box{gap:.35rem}.session-plan{order:-1}.session-plan>span{display:none}.session-plan .badge{font-size:.75rem;padding:.3rem .5rem}}

/* v3.7.2 — dashboard, icons, responsive navigation, insights */
.nav-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px}.nav-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.primary-nav .nav,#adminLaunch{display:inline-flex;align-items:center;gap:6px}.session-plan .badge{font-size:11px;padding:3px 7px;line-height:1.1;min-width:auto}.dashboard-greeting{max-width:1180px;margin:12px auto 14px;padding:0 4px}.dashboard-greeting h1{margin:0 0 4px;font-size:clamp(24px,2.3vw,34px)}.dashboard-greeting p{margin:0;color:var(--muted,#627a76)}.dashboard-overview{align-items:stretch}.user-dashboard{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.user-dashboard article{min-height:180px;display:flex;flex-direction:column}.dashboard-card-link{margin-top:auto;align-self:flex-start;padding:7px 11px;font-size:13px}.dashboard-section{max-width:1180px;margin-inline:auto}.insight-list{display:grid;gap:10px}.insight-item{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:14px;border:1px solid #d6e6e2;border-radius:14px;background:#f7fbfa}.insight-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e7f5f1;font-size:21px}.insight-item p{margin:4px 0}.insight-item small{color:#617b76}.training-progress{padding:8px 2px}.progress-copy,.progress-scale{display:flex;justify-content:space-between;gap:12px;align-items:center}.progress-track{height:13px;background:#e6f0ed;border-radius:999px;overflow:hidden;margin:14px 0 8px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#187763,#31aee8);border-radius:inherit}.choices-intro{max-width:1180px;margin-inline:auto}.subscription-plan-badge{font-size:12px!important}.status-ok,.status-warning,.status-error{font-weight:650}.status-ok{background:#edf9f4;border-left:4px solid #187763;padding:8px 10px;border-radius:8px}.status-warning{background:#fff8e9;border-left:4px solid #d28a00;padding:8px 10px;border-radius:8px}.status-error{background:#fff0f0;border-left:4px solid #b83232;padding:8px 10px;border-radius:8px}
@media(max-width:820px){.primary-nav{display:flex;overflow-x:auto;flex-wrap:nowrap;max-width:100vw;padding-bottom:4px;scrollbar-width:thin}.primary-nav .nav{white-space:nowrap;font-size:12px;padding:8px 9px}.nav-icon{width:14px;height:14px;flex-basis:14px}.app-header{align-items:flex-start}.dashboard-greeting{padding-inline:14px}.welcome-card{display:block}.user-dashboard{margin-top:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.user-dashboard article{min-height:145px}.dashboard-section{margin-inline:10px}.section-heading{gap:10px;align-items:flex-start}.section-heading button{white-space:nowrap}}
@media(max-width:480px){.user-dashboard{grid-template-columns:1fr 1fr}.user-dashboard article{padding:12px;min-height:135px}.user-dashboard article strong{font-size:18px}.insight-item{grid-template-columns:36px 1fr}.insight-icon{width:34px;height:34px;font-size:17px}.session-plan .badge{font-size:10px;padding:2px 6px}}


/* === PilotDiet v3.7.2-FIX — transparent image icons, centered navigation, responsive dashboard, interactive chart === */
.nav-icon{width:20px!important;height:20px!important;flex:0 0 20px!important;display:inline-grid!important;place-items:center!important;overflow:visible!important}
.nav-icon img{display:block!important;width:20px!important;height:20px!important;object-fit:contain!important;background:transparent!important;border:0!important;box-shadow:none!important}
.primary-nav .nav,#adminLaunch,.logout-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;text-align:center!important}
.primary-nav .nav>span:last-child,#adminLaunch>span:last-child,.logout-button>span:last-child{display:inline-block;line-height:1.15}
.logout-button .nav-icon{width:19px!important;height:19px!important;flex-basis:19px!important}.logout-button .nav-icon img{width:19px!important;height:19px!important}

/* Dashboard ma zawsze mieścić się w viewport i używać dostępnej szerokości. */
#portalView{width:100%;max-width:100%;min-width:0;overflow:visible}
#portalView>.dashboard-greeting,#portalView>.dashboard-section,#portalView>.dashboard-overview{width:100%;max-width:1360px;margin-left:auto;margin-right:auto}
.dashboard-overview{display:grid!important;grid-template-columns:minmax(245px,310px) minmax(0,1fr)!important;gap:18px!important}
.dashboard-overview>.user-dashboard{width:100%;min-width:0;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;margin:0!important}
.dashboard-overview>.user-dashboard article{min-width:0!important;min-height:168px!important;padding:14px!important}

/* Interaktywny wykres miesięczny */
.training-chart-wrap{position:relative;width:100%;margin-top:12px;border:1px solid var(--pd-line,#c9ded8);border-radius:14px;background:linear-gradient(180deg,#fbfefd 0%,#f4faf8 100%);padding:12px 12px 8px;overflow:hidden}
.training-chart{display:block;width:100%;height:auto;min-height:260px;touch-action:pan-y}
.training-chart .grid-line{stroke:#dbe9e5;stroke-width:1}.training-chart .axis-line{stroke:#bdd4ce;stroke-width:1.2}.training-chart .planned-line{fill:none;stroke:#79aa9e;stroke-width:4;stroke-dasharray:8 7;stroke-linecap:round;stroke-linejoin:round}.training-chart .completed-line{fill:none;stroke:#27a6dd;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.training-chart .hover-line{stroke:#6d8f87;stroke-width:1;stroke-dasharray:3 4;opacity:0}.training-chart .hover-dot{stroke:#fff;stroke-width:2;opacity:0}.training-chart.is-hovering .hover-line,.training-chart.is-hovering .hover-dot{opacity:1}.training-chart text{font-size:11px;fill:#637e77}.training-chart .axis-strong{font-weight:700;fill:#486a61}.training-chart-overlay{position:absolute;inset:12px 12px 8px;cursor:crosshair}
.training-chart-tooltip{position:absolute;z-index:4;pointer-events:none;min-width:155px;padding:9px 11px;border-radius:10px;background:#0b3f36;color:#fff;box-shadow:0 10px 28px rgba(4,48,40,.22);font-size:12px;line-height:1.4;opacity:0;transform:translate(-50%,-108%);transition:opacity .08s ease;white-space:nowrap}
.training-chart-tooltip.visible{opacity:1}.training-chart-tooltip strong{display:block;margin-bottom:3px}.training-chart-legend{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:8px;font-size:12px;color:#5c766f}.training-chart-legend span{display:inline-flex;align-items:center;gap:7px}.training-chart-legend i{display:inline-block;width:22px;height:3px;border-radius:3px}.training-chart-legend .planned{background:#79aa9e}.training-chart-legend .completed{background:#27a6dd}.training-chart-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px}.training-chart-summary strong{color:var(--pd-green,#0c594b)}

@media(max-width:1180px){
  .dashboard-overview{grid-template-columns:1fr!important}
  .dashboard-overview>.user-dashboard{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .dashboard-overview>.user-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  main{width:100%!important;max-width:100%!important;margin:14px auto 0!important;padding:0 12px 32px!important;overflow:visible!important}
  #portalView{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;transform:none!important;left:auto!important;right:auto!important}
  #portalView>.dashboard-greeting,#portalView>.dashboard-section,#portalView>.dashboard-overview{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;transform:none!important}
  .dashboard-greeting{padding:0 4px!important}
  .dashboard-overview{display:block!important;width:100%!important;padding:16px!important}
  .dashboard-overview>.user-dashboard{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:14px!important;gap:10px!important}
  .dashboard-section{margin-inline:0!important;padding:16px!important}
  .insight-list,.insight-item,.training-progress,.training-chart-wrap{width:100%!important;max-width:100%!important;min-width:0!important}
  .primary-nav{width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;padding:0!important}
  .primary-nav .nav{width:100%!important;min-height:48px!important;padding:9px 8px!important;white-space:normal!important;overflow:visible!important}
  .nav-icon{width:22px!important;height:22px!important;flex-basis:22px!important}.nav-icon img{width:22px!important;height:22px!important}
  .admin-nav-row{width:100%!important}.admin-nav-row .nav{width:100%!important;min-height:48px!important}
  .session-box{align-items:center!important;text-align:center!important;margin-inline:auto!important}
  .training-chart{min-height:215px}.training-chart-wrap{padding:8px 6px 6px}.training-chart-overlay{inset:8px 6px 6px}
}
@media(max-width:480px){
  .dashboard-overview>.user-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-overview>.user-dashboard article{min-height:138px!important;padding:11px!important}
  .dashboard-overview>.user-dashboard article strong{font-size:17px!important}
  .training-chart{min-height:190px}
}
@media(max-width:370px){.primary-nav{grid-template-columns:1fr!important}.dashboard-overview>.user-dashboard{grid-template-columns:1fr!important}}
@media(min-width:761px){
  #portalView{width:min(1360px,calc(100vw - 36px));max-width:none;margin-left:50%;transform:translateX(-50%)}
}

/* === PilotDiet v3.7.3 — navigation icon readability + chart polish === */
.dashboard-overview .eyebrow{
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  color:#209fd4!important;
  margin-bottom:10px!important;
}
/* Raster icons contain their own artwork; keep every navigation icon at one readable size. */
.primary-nav .nav-icon,
#adminLaunch .nav-icon,
.logout-button .nav-icon{
  width:27px!important;
  height:27px!important;
  flex:0 0 27px!important;
}
.primary-nav .nav-icon img,
#adminLaunch .nav-icon img,
.logout-button .nav-icon img{
  width:27px!important;
  height:27px!important;
  max-width:27px!important;
  max-height:27px!important;
  object-fit:contain!important;
}
.training-chart{
  overflow:visible;
  shape-rendering:geometricPrecision;
}
.training-chart .planned-line,
.training-chart .completed-line{
  fill:none!important;
  vector-effect:non-scaling-stroke;
}
.training-chart .planned-line{stroke:#79aa9e!important;stroke-width:3.5!important;stroke-dasharray:8 7!important}
.training-chart .completed-line{stroke:#27a6dd!important;stroke-width:4!important}
.training-chart .grid-line{stroke:#dbe9e5!important;stroke-width:1!important}
.training-chart .axis-line{stroke:#bdd4ce!important;stroke-width:1.2!important}
.training-chart .planned-event-dot,.training-chart .completed-event-dot{vector-effect:non-scaling-stroke}
.training-chart-tooltip{max-width:calc(100% - 16px);box-sizing:border-box}
@media(max-width:760px){
  .dashboard-overview .eyebrow{font-size:13px!important;letter-spacing:.16em!important}
  .primary-nav .nav-icon,#adminLaunch .nav-icon,.logout-button .nav-icon{width:29px!important;height:29px!important;flex-basis:29px!important}
  .primary-nav .nav-icon img,#adminLaunch .nav-icon img,.logout-button .nav-icon img{width:29px!important;height:29px!important;max-width:29px!important;max-height:29px!important}
}

/* === PilotDiet v3.7.3 — navigation fit/readability + fully clamped chart tooltip === */
/* Keep the FIX4 icon size. Only give labels a little more breathing room on desktop/tablet. */
@media(min-width:761px){
  .primary-nav .nav{
    font-size:.82rem!important;
    line-height:1.15!important;
    padding:8px 11px!important;
    gap:7px!important;
  }
}
@media(min-width:761px) and (max-width:1380px){
  .primary-nav .nav{
    font-size:.78rem!important;
    padding:7px 9px!important;
  }
}
/* Selected tab stays in the same visual family instead of switching to a saturated blue tile. */
.primary-nav .nav.active{
  background:#e1f1ed!important;
  border-color:#acd4ca!important;
  color:var(--pd-green,#0c594b)!important;
  box-shadow:0 5px 14px rgba(12,89,75,.10)!important;
  filter:none!important;
}
.primary-nav .nav.active:hover{background:#d9ece7!important}
/* Tooltip is positioned in pixels by JS and clamped inside the chart container on every edge. */
.training-chart-tooltip{
  transform:none!important;
  max-width:calc(100% - 16px)!important;
  box-sizing:border-box!important;
}
/* v3.7.3 — structured optional other activities */
.other-activities-section{margin:12px 0;padding:14px;border:1px solid var(--line,#d6e7e3);border-radius:14px;background:rgba(255,255,255,.45)}
.section-inline-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.other-activities-list{display:grid;gap:10px;margin-top:10px}.other-activity-row{display:grid;grid-template-columns:minmax(150px,1.6fr) repeat(4,minmax(90px,1fr)) auto;gap:8px;align-items:end}.other-activity-row label{font-size:.86rem}.other-activity-row input{width:100%}.other-activity-remove{min-width:42px}@media(max-width:900px){.other-activity-row{grid-template-columns:1fr 1fr}.other-activity-remove{grid-column:2}}
/* v3.7.3 — dashboard action card uses the same visual family as the other cards */
.dashboard-action{background:inherit!important;border-color:inherit!important}
.nutrition-coverage{display:grid;gap:4px;margin-top:12px;padding:12px;border:1px solid var(--line,#d6e7e3);border-radius:12px;background:rgba(238,248,246,.75)}.nutrition-coverage small{color:var(--muted,#667)}.rec-head .badge{white-space:nowrap}

/* === PilotDiet v3.7.3-FIX2 — dashboard visual consistency + recommendation assets === */
/* The action tile differs only by the blue date/value; its surface remains identical to sibling tiles. */
.user-dashboard .dashboard-action{
  background:rgba(255,255,255,.82)!important;
  border-color:#d4e6e1!important;
}
.user-dashboard .dashboard-action strong{color:var(--pd-blue-2)!important}
/* Center icon + label as one visual group without changing their established sizes. */
.primary-nav .nav{
  justify-content:center!important;
  text-align:center!important;
  padding-left:11px!important;
  padding-right:11px!important;
}
.primary-nav .nav .nav-icon{margin:0!important}
/* New PilotDiet-style recommendation icons supplied for v3.7.3-FIX2. */
.insight-icon{overflow:hidden!important}
.insight-icon img{display:block;width:30px;height:30px;object-fit:contain;object-position:center;background:transparent;border:0;box-shadow:none}
@media(max-width:760px){
  .primary-nav .nav{padding-left:9px!important;padding-right:9px!important}
  .insight-icon img{width:27px;height:27px}
}


/* === PilotDiet v3.7.3-FIX2 — navigation alignment, button centering and dashboard spacing === */
/* Primary tabs: center the icon+label group, keep established icon sizes, and guarantee equal side padding. */
.primary-nav .nav{
  display:grid!important;
  grid-template-columns:27px max-content!important;
  align-items:center!important;
  justify-content:center!important;
  column-gap:8px!important;
  padding-left:14px!important;
  padding-right:14px!important;
  text-align:center!important;
}
.primary-nav .nav .nav-icon{width:27px!important;height:27px!important;justify-self:center!important;margin:0!important}
.primary-nav .nav>span:last-child{justify-self:center!important;margin:0!important;line-height:1.15!important}
/* Simple action buttons across the portal have truly centered labels. Pickers/options keep their intentional left/right layout. */
button:not(.picker-trigger):not(.picker-option):not(.nav){display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}
.nav{align-items:center;justify-content:center;text-align:center}
#refreshNutritionEstimate{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding-left:16px!important;padding-right:16px!important}
/* Dashboard CTA buttons need visual separation from the descriptive copy above them. */
.user-dashboard .dashboard-card-link{margin-top:12px!important}
/* Recommendation raster assets: slightly larger inside the existing circular badge for legibility. */
.insight-icon img{width:34px!important;height:34px!important}
@media(max-width:760px){
  .primary-nav .nav{grid-template-columns:29px max-content!important;column-gap:8px!important;padding-left:12px!important;padding-right:12px!important}
  .primary-nav .nav .nav-icon{width:29px!important;height:29px!important}
  .insight-icon img{width:32px!important;height:32px!important}
}

/* FIX4 security invariant: admin navigation must remain hidden unless JS explicitly reveals it after backend authorization. */
#adminLaunch.hidden{display:none!important}
.admin-nav-row:has(#adminLaunch.hidden){min-height:0!important}
