/* Constance Nutrition — UI 0.3.2 | visual-only restyle */
.cn-app {--cn-green:#226c53;--cn-dark:#183e34;--cn-ink:#273a33;--cn-muted:#66776f;--cn-border:#e1e8e1;--cn-cream:#fbf9f5;--cn-pink:#bc4965;box-sizing:border-box;max-width:1080px;margin:24px auto 55px;padding:20px;color:var(--cn-ink);font-family:inherit;font-size:16px;line-height:1.58;background:var(--cn-cream);border-radius:26px}
.cn-app *{box-sizing:border-box}.cn-app h2,.cn-app h3,.cn-app h4{color:var(--cn-dark);line-height:1.18}.cn-app p{margin:10px 0}.cn-head{display:flex;gap:16px;align-items:center;background:#fff;padding:19px 22px;border:1px solid var(--cn-border);border-radius:22px;margin-bottom:16px;box-shadow:0 4px 18px rgba(30,55,40,.035)}.cn-head h2{font-size:clamp(1.4rem,3vw,1.95rem);margin:0;font-weight:800;letter-spacing:-.035em}.cn-head p{font-size:.85rem;color:var(--cn-muted);margin:4px 0 0}.cn-symbol{font-size:1.7rem;background:#e5f0e7;color:#1b684b;min-width:59px;height:59px;display:grid;place-items:center;border-radius:19px}
.cn-hello{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 5px 17px}.cn-hello h3{font-size:clamp(1.2rem,2.8vw,1.65rem);margin:0}.cn-hello a{font-size:.82rem;color:var(--cn-muted);text-decoration:none;border-bottom:1px solid #b9c6bb}.cn-summary{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;background:linear-gradient(122deg,#155640,#2e8765);color:#fff;border-radius:24px;padding:28px 30px;margin-bottom:14px;box-shadow:0 9px 25px rgba(25,103,75,.16)}.cn-summary>div{display:flex;flex-direction:column;justify-content:center}.cn-summary>div+div{border-left:1px solid rgba(255,255,255,.26);padding-left:29px}.cn-summary small{font-size:.74rem;letter-spacing:.09em;font-weight:750;color:#d9eee2}.cn-summary strong{font-size:clamp(2.6rem,5.5vw,4.3rem);letter-spacing:-.06em;line-height:1.15;color:#fff}.cn-summary span{font-size:.92rem;color:#e5f2e9}.cn-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.cn-stats>div{border:1px solid var(--cn-border);background:#fff;padding:15px 8px;border-radius:17px;text-align:center;display:flex;flex-direction:column;gap:2px;box-shadow:0 3px 10px rgba(37,73,46,.025)}.cn-stats small{font-size:.74rem;color:var(--cn-muted)}.cn-stats b{font-size:1.55rem;letter-spacing:-.03em;color:var(--cn-dark)}
.cn-nav{display:flex;gap:8px;margin-bottom:18px;padding:6px;border-radius:17px;background:#e9efe9}.cn-nav a{flex:1;display:flex;align-items:center;justify-content:center;border-radius:12px;padding:12px 8px;background:#fff;color:var(--cn-dark);text-align:center;text-decoration:none;font-size:.95rem;font-weight:750;box-shadow:0 2px 7px rgba(29,62,46,.05)}.cn-nav a:hover,.cn-nav a:focus-visible{background:#d9ebdf;outline:2px solid transparent}
.cn-panel{border:1px solid var(--cn-border);background:#fff;border-radius:22px;padding:25px 28px;margin:0 0 18px;scroll-margin-top:18px;box-shadow:0 6px 24px rgba(31,64,47,.035)}.cn-panel h3{font-size:1.5rem;letter-spacing:-.025em;margin:0 0 15px}.cn-panel h4{font-size:1.07rem;margin:18px 0 9px}.cn-panel > p:first-of-type{color:var(--cn-muted)}.cn-app label{display:block;color:#30463a;font-size:.9rem;font-weight:650}.cn-app input,.cn-app select{display:block;width:100%;max-width:100%;min-height:49px;border:1px solid #becfc3;background:#fff;color:#20382e;border-radius:12px;padding:10px 13px;margin:5px 0 13px;font:inherit;font-size:16px;box-shadow:none}.cn-app input:focus,.cn-app select:focus{outline:2px solid #76ab8d;outline-offset:1px;border-color:#448260}.cn-app button,.cn-app .cn-button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;background:var(--cn-green);border:0;color:#fff;border-radius:12px;padding:12px 19px;font:inherit;font-size:.93rem;font-weight:750;cursor:pointer;text-decoration:none;transition:background .15s ease}.cn-app button:hover,.cn-app .cn-button:hover{background:#154b39;color:white}.cn-app button:focus-visible,.cn-app .cn-button:focus-visible{outline:3px solid #adcbbb;outline-offset:2px}.cn-date,.cn-query{display:flex;gap:12px;align-items:end}.cn-date label,.cn-query label{flex:1}.cn-date button,.cn-query button{margin-bottom:13px}.cn-entry{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #e9efe9}.cn-entry b{display:block;font-size:.94rem}.cn-entry small,.cn-food small{display:block;font-size:.79rem;color:var(--cn-muted);line-height:1.45}.cn-app .cn-remove{min-height:34px;width:36px;padding:3px;background:#fcecf0;border:1px solid #f0d7de;border-radius:10px;color:#a3425b;font-size:1.45rem;font-weight:400}.cn-empty{padding:19px;background:#f7f9f6;border-radius:12px;font-size:.88rem;color:var(--cn-muted)}
.cn-food{border:1px solid var(--cn-border);border-radius:13px;padding:0;margin:8px 0;background:#fcfdfa;overflow:hidden}.cn-food summary{padding:14px 17px;cursor:pointer;list-style-position:inside}.cn-food summary:hover{background:#f0f6f1}.cn-food summary b{display:inline;font-size:.97rem;color:var(--cn-dark)}.cn-food summary small{margin:5px 0 0 19px}.cn-food[open]{border-color:#b4d1ba;background:#fff}.cn-food[open] summary{border-bottom:1px solid var(--cn-border);background:#f2f7f2}.cn-food>p{padding:0 17px;font-size:.86rem;color:var(--cn-muted)}.cn-food form{padding:13px 17px 4px}.cn-add,.cn-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.cn-add button,.cn-profile button{align-self:end;margin-bottom:13px}.cn-math{margin-top:18px;padding:17px 20px;border-radius:16px;background:#eef5ee}.cn-math p{font-size:.92rem}.cn-disclaimer,.cn-footer{font-size:.8rem;color:var(--cn-muted);line-height:1.65}.cn-footer{padding:12px 9px 22px}.cn-notice{background:#e5f4e8;border-left:4px solid var(--cn-green);border-radius:9px;padding:12px 16px;margin:0 0 15px}.cn-app .cn-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
@media(max-width:700px){.cn-app{margin:0 auto 24px;padding:10px;border-radius:0}.cn-head{padding:14px;gap:10px}.cn-symbol{min-width:48px;height:48px;border-radius:13px}.cn-summary{padding:20px 16px;gap:8px}.cn-summary>div+div{padding-left:13px}.cn-summary strong{font-size:clamp(2.3rem,9vw,3.5rem)}.cn-summary span{font-size:.79rem}.cn-stats{grid-template-columns:repeat(2,1fr);gap:9px}.cn-stats>div{padding:10px 8px}.cn-nav a{font-size:.85rem;padding:10px 3px}.cn-panel{padding:19px 15px;border-radius:17px}.cn-panel h3{font-size:1.26rem}.cn-add,.cn-profile{grid-template-columns:1fr}.cn-query,.cn-date{display:block}.cn-query button,.cn-date button{width:100%;margin-bottom:12px}.cn-food summary{padding:12px}.cn-food form{padding:12px}}
@media(prefers-reduced-motion:reduce){.cn-app *{transition:none!important;scroll-behavior:auto!important}}

/* Lecteur de codes-barres Constance */
.cn-scanner{background:#f1f7f3;border:1px solid #c9dfd2;border-radius:18px;padding:22px;margin:22px 0}
.cn-scanner h4{font-size:1.2rem;margin:0 0 8px}.cn-scan-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cn-scan-controls input{max-width:250px;flex:1 1 190px;min-width:0;border-radius:10px;padding:13px}
.cn-scan-controls button{margin:0}#cn-scan-result{margin-top:16px;background:white;border-radius:12px;padding:14px}
.cn-scan-credit{font-size:12px;color:#567568;margin:10px 0 0}.cn-scanner video{border-radius:12px}
@media(max-width:600px){.cn-scan-controls{display:grid}.cn-scan-controls input{max-width:none;width:100%}.cn-scanner{padding:15px}}
