/* Naturo Nutrition — UI V4. 100% local, sans police ou dépendance externe. */
:root{--nn-deep:#244934;--nn-green:#356c4c;--nn-leaf:#e9f3e8;--nn-bg:#f7f8f3;--nn-ink:#22372b;--nn-muted:#64796a;--nn-line:#e0e8de;--nn-shadow:0 16px 48px rgba(37,77,49,.07)}
html{scroll-behavior:smooth}
:focus-visible{outline:3px solid #b7803d!important;outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Accueil, recettes, conseils, RDV */
body.home-app{--green:#356b4b;--green-d:#244934;--green-l:#e8f3e8;--sand:#f7f8f3;--ink:#24392c;--muted:#62756a;--line:#e1e9df;--accent:#b37d43;background:var(--sand);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}
.home-app header{background:rgba(252,254,250,.96);color:var(--nn-ink);box-shadow:0 3px 20px rgba(20,46,27,.06);border-bottom:1px solid var(--line);padding:calc(11px + env(safe-area-inset-top)) max(18px,calc((100% - 1110px)/2)) 11px;backdrop-filter:blur(14px)}
.home-app header .logo{background:#e8f1e6;width:44px;height:44px}
.home-app header h1{font-family:Georgia,serif;font-size:22px;letter-spacing:-.5px;color:var(--nn-deep)}
.home-app header small{font-size:12px;color:#56705e;opacity:1}
.home-app .langsel button{color:#54725d;background:#eef4ec;border:1px solid #dce7da;padding:7px 9px}
.home-app .langsel button.active{color:white;background:var(--nn-deep)}
.home-app main{max-width:1100px;margin:0 auto;min-height:66vh}
.home-app .view{padding:36px 22px 90px;animation:none}
.home-app .hero{border-radius:28px;background:radial-gradient(circle at 86% 12%,#8db48c 0,transparent 45%),linear-gradient(125deg,#1f4432,#396b4e);padding:42px 40px;min-height:280px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 19px 44px rgba(36,75,49,.12)}
.home-app .hero:after{font-size:180px;right:42px;bottom:-42px;opacity:.17;pointer-events:none}
.home-app .hero h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(28px,3.8vw,45px);max-width:650px;letter-spacing:-.7px}
.home-app .hero p{max-width:490px;font-size:15px}
.home-app .hero .cta{width:max-content;border-radius:12px;padding:12px 20px;box-shadow:0 7px 19px rgba(17,39,23,.14)}
.home-app .section-title{color:#5e7763;font-size:12px;letter-spacing:1.5px;margin:26px 4px 14px}
.home-app .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.home-app .card{border:1px solid var(--nn-line);box-shadow:var(--nn-shadow);border-radius:20px;padding:22px;background:#fff;transition:transform .16s,border-color .16s,box-shadow .16s}
.home-app .card[data-go]{cursor:pointer}
.home-app .card[data-go]:hover,.home-app .card[data-go]:focus-visible{border-color:#9bbfa5;transform:translateY(-2px);box-shadow:0 18px 40px rgba(35,78,47,.1)}
.home-app .card .ico{font-size:30px;margin-bottom:12px}
.home-app .card h3{font-size:16px;color:#254b36}
.home-app .card p{font-size:13px;line-height:1.55}
.home-app .tip{border:1px solid var(--nn-line);border-radius:17px;box-shadow:0 8px 24px rgba(33,69,41,.04);background:#fff}
.home-app .tip>button:first-child{padding:18px 20px;font-size:15px}
.home-app .tip .body{transition:max-height .25s ease}
.home-app .tip.open .body{max-height:1200px;overflow-y:auto}
.home-app .tip .body p{color:#4e6858;line-height:1.75}
.home-app .recsearch input{border-radius:13px;min-height:52px}
.home-app .reccat,.home-app .rec-filters .recfilter{border-radius:12px;min-height:37px;padding:7px 12px}
.home-app .reccat.active,.home-app .rec-filters .recfilter.active{background:var(--nn-green);color:#fff;border-color:var(--nn-green)}
.home-app .btn{border-radius:12px}
.home-app .contact-item{border-radius:16px}
.home-app nav#nav{max-width:none;background:#fff;box-shadow:0 -5px 23px rgba(24,58,33,.05);border-top:1px solid var(--nn-line);gap:2px}
.home-app nav#nav button{font-size:10px;min-width:0;border-radius:12px;transition:background .15s;color:#668071;min-height:49px}
.home-app nav#nav button .em{font-size:21px}
.home-app nav#nav button.active{color:#23563a;background:#e8f4e9}
/* Accueil : bilan et actions rapides */
.nn-today{margin:22px 0 18px;display:grid;grid-template-columns:1.1fr .9fr;gap:16px}
.nn-today-card,.nn-action-panel{background:#fff;border:1px solid var(--nn-line);border-radius:22px;padding:22px;box-shadow:var(--nn-shadow)}
.nn-kicker{text-transform:uppercase;letter-spacing:1.7px;font-size:11px;font-weight:800;color:#6b896f}
.nn-today-card h3,.nn-action-panel h3{font-family:Georgia,serif;font-weight:500;font-size:25px;margin:5px 0 13px;color:var(--nn-deep)}
.nn-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.nn-kpi{background:#f1f7ee;border-radius:15px;padding:13px 11px}
.nn-kpi strong{font-size:25px;line-height:1.2;color:var(--nn-deep);font-variant-numeric:tabular-nums;display:block}
.nn-kpi span{display:block;margin-top:4px;font-size:11px;color:#62786c;line-height:1.25}
.nn-light-note{font-size:12px;color:var(--nn-muted);line-height:1.55;margin-top:12px}
.nn-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nn-action{min-height:64px;padding:12px 14px;border:1px solid #dbe9d8;border-radius:14px;background:#f7fbf5;display:flex;align-items:center;gap:10px;text-decoration:none;color:#2b5a3e;font-weight:700;font-size:13px}
.nn-action:hover{background:#e8f4e8;border-color:#b6cfb4}
.nn-action .em{font-size:22px}
.nn-today small{color:#688071}
/* Recettes : favoris persistants */
#recettes .tip{position:relative}
#recettes .tip>button:first-child{padding-right:66px}
.home-app .tip .nn-fav-btn{position:absolute;right:12px;top:10px;width:40px;height:40px;border:1px solid #dce8da;border-radius:11px;background:#f8fbf6;color:#69806f;display:grid;place-items:center;font-size:21px;cursor:pointer;padding:0}
.home-app .tip .nn-fav-btn[aria-pressed="true"]{background:#fcefe9;color:#aa5542;border-color:#f0d3c4}
/* Écran Assiette */
body.plate-app{--ink:#243c2e;--deep:#2b5b40;--bg:#f7f8f3;--border:#dde7dd;--muted:#63776a;background:var(--bg);padding-bottom:72px}
.plate-app .topbar{position:sticky;top:0;z-index:19;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 5px 24px rgba(22,58,29,.06)}
.plate-app .topbar-inner{max-width:1160px}
.plate-app .brand{font-weight:700}
.plate-app .panel,.plate-app .plate-card{box-shadow:var(--nn-shadow);border:1px solid var(--nn-line)}
.plate-app .hero{padding-top:46px}
.plate-app h1{letter-spacing:-1.4px}
.plate-app .hero-photo{width:min(100%,370px);border-radius:26px;box-shadow:0 19px 40px rgba(30,65,41,.12)}
.plate-app .hero-photo img{height:285px}
.plate-app .section{scroll-margin-top:100px}
.plate-app .btn-main{background:#2c6245;box-shadow:0 8px 22px rgba(29,77,40,.17)}
.plate-app .food{background:#fbfdf9;border-color:#e0ebde}
.plate-app .food:focus-within{border-color:#9bbca0;box-shadow:0 0 0 3px #edf6eb}
.plate-app .summary-panel{background:linear-gradient(125deg,#e8f3e4,#f2f8ee)}
.plate-app .saved-item,.plate-app .history-item{border-color:#e0e9dc}
/* Journal */
body.journal-app{--bg:#f7f8f3;--panel:#fff;--panel-alt:#eff6ed;--border:#e0e9dc;--text:#263d30;--muted:#65766d;--gold:#356c4c;--green:#356c4c;--blue-active:#356c4c;margin:0;padding:0 0 90px;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;display:block}
.journal-app >.wrap{max-width:1080px;margin:0 auto;padding:24px 20px 55px}
.journal-app .wrap>.brand{display:none}
.journal-app .cc-wrap{max-width:1000px;padding:0;margin:0 auto}
.journal-app .cc-card{border-radius:22px;background:#fff;border:1px solid var(--nn-line);box-shadow:var(--nn-shadow);padding:26px;margin:18px 0}
.journal-app .cc-card h2{font-family:Georgia,serif;color:#29553d;font-weight:500;font-size:29px}
.journal-app .cc-stat{background:#edf5e9;border:1px solid #dfecda;border-radius:15px;padding:16px 13px}
.journal-app .cc-stat .v{font-size:clamp(21px,3vw,30px);color:#29553d}
.journal-app .cc-btn{background:#2d6245;min-height:43px;border-radius:11px}
.journal-app .cc-btn.sec{background:#e9f3e6;color:#2d6245}
.journal-app .cc-card input,.journal-app .cc-card select{min-height:43px;border-color:#d4e2d2}
.journal-app #weight-badge{position:fixed;top:auto;bottom:92px;right:18px;width:auto;height:auto;min-height:44px;display:flex;flex-direction:row;gap:7px;padding:10px 16px;border-radius:999px;background:#2f6545;box-shadow:0 10px 30px rgba(23,59,30,.18);font:700 12px system-ui,sans-serif}
.journal-app #weight-badge .wb-ico{font-size:17px}
.journal-app #weight-badge .wb-txt{font-size:12px;max-width:none;line-height:1.15}
.journal-app .db-section{background:#fff;border:1px solid var(--nn-line);border-radius:22px;padding:23px;margin:25px auto;max-width:1000px;box-shadow:var(--nn-shadow)}
.journal-app .db-title,.journal-app .db-section h2{color:#29563d}
.journal-app .db-table-wrap{border-color:#dfe8df;border-radius:12px}
.journal-app .db-table thead th{background:#eaf2e8;color:#355843;border-bottom-color:#dce7db}
.journal-app .db-table tbody td{color:#314b38;border-bottom:1px solid #e8eee7}
.journal-app .db-table tr:hover td{background:#f3f7f0}
.journal-app .db-controls input,.journal-app .db-controls select{background:#fff;color:#2d4c38;border:1px solid #d7e4d3;border-radius:12px;padding:11px}
.journal-app .cc-goto{white-space:normal}
/* Shared navigation for standalone tools */
.nn-topnav{position:sticky;top:0;z-index:35;background:rgba(255,255,255,.97);backdrop-filter:blur(13px);border-bottom:1px solid #dfe8dd;box-shadow:0 3px 18px rgba(28,66,37,.05)}
.nn-topnav .nn-topinner{max-width:1100px;margin:auto;padding:13px 20px;display:flex;align-items:center;gap:20px;justify-content:space-between}
.nn-topnav .nn-logo{font-family:Georgia,serif;font-size:22px;color:#274e37;font-weight:700;letter-spacing:-.3px;text-decoration:none;white-space:nowrap}
.nn-topnav .nn-logo span{font:500 12px system-ui,sans-serif;color:#698170;margin-left:8px}
.nn-toplinks{display:flex;gap:5px;align-items:center}
.nn-toplinks a{padding:10px 13px;border-radius:11px;text-decoration:none;font-size:13px;font-weight:700;color:#5d7362}
.nn-toplinks a[aria-current="page"]{background:#e8f3e6;color:#286340}
.nn-toplinks a:hover{background:#f0f7ee}
.nn-bottom{display:none}
.nn-date-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:2px 0 13px}
.nn-date-nav button{background:#f2f7f0;border:1px solid #dce8d8;border-radius:10px;min-height:36px;padding:6px 11px;font-weight:650;color:#366747;cursor:pointer;font-size:12px}
.nn-backup{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nn-backup button,.nn-backup label{display:flex;gap:8px;align-items:center;justify-content:center;min-height:46px;border-radius:12px;padding:11px 12px;background:#eaf4e9;border:1px solid #d6e8d2;color:#2f5b3e;font:700 13px system-ui,sans-serif;cursor:pointer;text-align:center}
.nn-backup label input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.nn-snapshot{margin-top:16px;font-size:13px;color:#64776a;line-height:1.6}
.nn-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;align-items:end;height:155px;margin:18px 0 2px}
.nn-week-col{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px;font:600 11px system-ui,sans-serif;color:#657c6b;height:100%}
.nn-week-track{flex:1;display:flex;align-items:end;width:100%;min-width:0;border-radius:8px;background:#f0f6ed;overflow:hidden}
.nn-week-fill{width:100%;height:0;background:linear-gradient(180deg,#7aab82,#336e4b);border-radius:8px 8px 0 0;min-height:0}
.nn-week-col strong{font-size:10px;color:#385b43}
@media(min-width:900px){.home-app{padding-top:71px;padding-bottom:0}.home-app nav#nav{position:fixed;top:71px;bottom:auto;left:0;right:0;max-width:none;height:64px;padding:8px max(22px,calc((100% - 1060px)/2));border-bottom:1px solid #e0e9dd;box-shadow:0 6px 16px rgba(25,57,30,.035);justify-content:center}.home-app nav#nav button{flex:1;max-width:165px;font-size:13px;flex-direction:row;gap:9px;min-height:43px}.home-app nav#nav button .em{font-size:19px}.home-app .view{padding-top:34px}}
@media(max-width:899px){.home-app .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-app .view{padding-bottom:95px}.home-app .hero{padding:32px 25px;min-height:240px}.home-app .hero:after{font-size:120px;right:-20px;bottom:-8px}.home-app .nn-today{grid-template-columns:1fr}.journal-app .nn-toplinks{display:none}.nn-bottom{display:flex;position:fixed;z-index:40;bottom:0;left:0;right:0;justify-content:space-around;align-items:stretch;padding:6px 6px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-top:1px solid #dfe8dc;box-shadow:0 -5px 25px rgba(21,53,25,.07)}.nn-bottom a{flex:1;min-width:0;text-align:center;text-decoration:none;color:#68806f;font:650 10px system-ui,sans-serif;padding:6px 2px;border-radius:12px;display:flex;align-items:center;flex-direction:column;gap:3px}.nn-bottom a span{font-size:21px}.nn-bottom a[aria-current="page"]{background:#eaf4e9;color:#285d3c}.plate-app .hero-art{display:grid!important;min-height:auto;margin-top:12px}.plate-app .hero-photo{width:min(100%,390px)}.plate-app .hero-photo img{height:195px}.plate-app .hero{padding-top:26px}.plate-app .topbar-inner{flex-wrap:wrap;gap:0;padding-top:11px;padding-bottom:8px}.plate-app .topbar .nav{width:100%;justify-content:space-between;gap:0;overflow-x:auto}.plate-app .nav a{font-size:12px;padding:8px 10px}.plate-app .hero-photo figcaption{display:none}}
@media(max-width:600px){.home-app header h1{font-size:19px}.home-app header small{font-size:10px}.home-app header .logo{width:38px;height:38px}.home-app header{gap:9px}.home-app .langsel{gap:3px}.home-app .langsel button{font-size:10px;padding:6px 7px}.home-app .view{padding:19px 15px 82px}.home-app .hero{padding:29px 24px;min-height:230px;border-radius:20px}.home-app .hero p{max-width:85%}.home-app .grid{gap:10px}.home-app .card{padding:16px;border-radius:15px}.nn-today-card,.nn-action-panel{padding:18px;border-radius:17px}.nn-today-card h3,.nn-action-panel h3{font-size:22px}.nn-kpis{gap:6px}.nn-kpi{padding:11px 8px}.nn-kpi strong{font-size:21px}.nn-action{font-size:12px;padding:9px;gap:6px;min-height:63px}.journal-app > .wrap{padding:16px 14px 45px}.journal-app .cc-card{padding:18px 14px;border-radius:17px}.journal-app .cc-card h2{font-size:24px}.journal-app #weight-badge{bottom:88px;right:10px}.nn-topnav .nn-logo{font-size:18px}.nn-week{gap:4px}.nn-week-col strong{font-size:9px}.plate-app .hero-photo img{height:170px}}
@media(min-width:900px){body.home-app{padding-top:0}body.home-app main{padding-top:68px}}

.plate-app .hero-photo.image-unavailable:before{content:"🥗";display:grid;place-items:center;font-size:100px;height:220px;border-radius:18px;background:radial-gradient(circle at center,#e8f6e2,#c9e2c8)}
