/* Polices hébergées par Aubiane (licence SIL OFL) : aucune requête vers des serveurs tiers. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url('/fonts/cormorant-garamond.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;src:url('/fonts/cormorant-garamond-italic.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('/fonts/dm-sans.woff2') format('woff2')}

:root {
  --bg:#EDF1F1; --bg2:#E1E9EA; --bg3:#D3DFE1;
  --cream:#F6F2EC; --cream2:#EDE8E0; --cream3:#E4DDD4;
  --forest:#16384A; --forest2:#1F4A5C; --forest3:#2B5C6E;
  --terra:#D07A4E; --terra2:#E19468; --terra3:#EEB08A;
  --gold:#B9784A; --gold2:#F2B486; --gold3:#FBDDB8;
  --sage:#4E7F8A; --sage2:#6F9BA4; --sage3:#A3C3C9;
  --lavender:#7B6FA0; --lavender2:#9B8FC0;
  --sky:#4A7890; --sky2:#6A98B0;
  --rust:#A04830; --rust2:#C06850;
  --text:#15303D; --text2:#405A66; --text3:#7D929A; --text4:#A7B8BE;
  --border:#C8D6D9; --bord2:#D9E4E6; --bord3:#E6EEF0;
  --white:#FAFAF8; --pure:#FFFFFF;
  --sb:env(safe-area-inset-bottom,0px); --st:env(safe-area-inset-top,0px);
  --r-xs:6px; --r-sm:10px; --r-md:16px; --r-lg:22px; --r-xl:30px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{height:-webkit-fill-available}
body{font-family:"DM Sans",sans-serif;background:var(--bg);color:var(--text);min-height:100vh;min-height:-webkit-fill-available;overflow:hidden;position:relative}
:where(button,[role="button"],a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(208,122,78,.95);outline-offset:3px;border-radius:var(--r-sm);box-shadow:0 0 0 5px rgba(208,122,78,.16)}
:where(.bn,.ed-back,.sante-hdr-back,.mental-hdr-back,.conn-banner,.ch,.ob-tag-btn,.th-btn,.en-btn):focus-visible{outline:3px solid rgba(208,122,78,.95);outline-offset:3px;box-shadow:0 0 0 5px rgba(208,122,78,.16)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.screen{transition:none!important}}

/* SCREEN TRANSITIONS */
.screen{display:none;position:fixed;inset:0;flex-direction:column;overflow:hidden;background:var(--bg);transition:opacity .26s ease,transform .26s cubic-bezier(.4,0,.2,1)}
.screen.active{display:flex}
.screen-enter-right{animation:screenSlideInRight .26s cubic-bezier(.4,0,.2,1) both}
.screen-enter-left{animation:screenSlideInLeft .26s cubic-bezier(.4,0,.2,1) both}
.screen-exit-right{animation:screenSlideOutRight .26s cubic-bezier(.4,0,.2,1) both;position:fixed;z-index:0}
.screen-exit-left{animation:screenSlideOutLeft .26s cubic-bezier(.4,0,.2,1) both;position:fixed;z-index:0}
@keyframes screenSlideInRight{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}
@keyframes screenSlideInLeft{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:translateX(0)}}
@keyframes screenSlideOutRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(28px)}}
@keyframes screenSlideOutLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-28px)}}

/* CONNEXION BANNER */
.conn-banner{margin:8px 0 0;border-radius:var(--r-md);padding:16px 18px;background:linear-gradient(135deg,rgba(22,56,74,.06),rgba(185,120,74,.08));border:1px solid var(--bord2);cursor:pointer;transition:all .2s}
.conn-banner:active{opacity:.75}
.conn-banner-label{font-size:9px;letter-spacing:3px;color:var(--text3);text-transform:uppercase;margin-bottom:6px}
.conn-banner-text{font-family:"Cormorant Garamond",serif;font-size:15px;font-weight:300;font-style:italic;color:var(--text);line-height:1.5}
.conn-banner-arrow{font-size:13px;color:var(--terra);margin-top:6px;font-weight:400}
.scroll-area{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.scroll-area::-webkit-scrollbar{display:none}

/* SPLASH */
#splash{background:linear-gradient(172deg,#16384A 0%,#2E6070 52%,#C9A28A 88%,#F5CDA8 100%);align-items:center;justify-content:center;flex-direction:column;position:fixed;inset:0;z-index:1000;overflow:hidden}
.sp-orb1{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(242,180,134,.22),transparent 65%);top:-180px;right:-180px;animation:orbFloat 10s ease-in-out infinite}
.sp-orb2{position:absolute;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(91,135,145,.18),transparent 65%);bottom:-100px;left:-100px;animation:orbFloat 14s ease-in-out infinite reverse}
.sp-logo{font-family:"Cormorant Garamond",serif;font-size:clamp(80px,22vw,110px);font-weight:300;color:var(--cream);letter-spacing:-4px;font-style:italic;position:relative;z-index:2;display:flex;align-items:baseline;justify-content:center;white-space:nowrap}
.sp-a,.sp-rest{display:inline-block;opacity:0;will-change:transform,opacity}
/* Le « A » arrive de la gauche, le reste du mot de la droite : ils se rejoignent au centre. */
.sp-a{animation:spA 1.35s cubic-bezier(.22,.7,.1,1) .15s forwards}
.sp-rest{animation:spRest 1.35s cubic-bezier(.22,.7,.1,1) .15s forwards}
@keyframes spA{from{opacity:0;transform:translateX(-1.1em)}60%{opacity:1}to{opacity:1;transform:none}}
@keyframes spRest{from{opacity:0;transform:translateX(1.6em)}60%{opacity:1}to{opacity:1;transform:none}}
.sp-rule{width:1px;height:64px;background:linear-gradient(to bottom,transparent,var(--gold2),transparent);margin:18px 0;position:relative;z-index:2;animation:ruleIn 1.6s ease .5s forwards;opacity:0}
.sp-sub{font-size:10px;letter-spacing:7px;color:rgba(246,242,236,.35);text-transform:uppercase;font-weight:300;position:relative;z-index:2;animation:wordIn 1.2s ease .8s forwards;opacity:0}
/* ACCUEIL (première ouverture) : même univers que l'icône, vert forêt, crème et or */
#welcome{background:linear-gradient(172deg,#16384A 0%,#1F4A5C 62%,#3F6A72 100%);color:var(--cream)}
.wl-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(242,180,134,.2),transparent 65%);top:-220px;right:-220px;pointer-events:none}
.wl-inner{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:32px;width:100%;max-width:520px;margin:0 auto;padding:calc(56px + var(--st)) 28px calc(28px + var(--sb));overflow-y:auto}
.wl-mark{display:block;width:64px;height:64px;border-radius:22%;box-shadow:0 10px 30px rgba(0,0,0,.35);margin-bottom:24px}
.wl-eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold2);font-weight:500;margin-bottom:12px}
.wl-title{font-family:"Cormorant Garamond",serif;font-weight:400;font-size:clamp(38px,11vw,48px);line-height:1.04;letter-spacing:-.01em;color:var(--cream);text-wrap:balance;margin-bottom:16px}
.wl-title em{font-style:italic;color:var(--gold3)}
.wl-lede{font-size:15px;line-height:1.6;color:rgba(246,242,236,.72);font-weight:300;max-width:34ch}
.wl-steps{list-style:none;display:flex;flex-direction:column;gap:20px}
.wl-steps li{display:flex;gap:16px;align-items:flex-start}
.wl-steps svg{width:22px;height:22px;flex-shrink:0;margin-top:2px;stroke:var(--gold2);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wl-steps strong{display:block;font-size:15px;font-weight:500;color:var(--cream);margin-bottom:3px}
.wl-steps span{display:block;font-size:13.5px;line-height:1.55;color:rgba(246,242,236,.62);font-weight:300}
.wl-cta{width:100%;padding:17px;border:none;border-radius:var(--r-md);background:var(--cream);color:var(--forest);font-family:"DM Sans",sans-serif;font-size:15px;font-weight:500;cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.28);transition:transform .15s}
.wl-cta:active{transform:scale(.98)}
.wl-note{margin-top:14px;text-align:center;font-size:12px;color:rgba(246,242,236,.5)}
.wl-origin{margin-top:18px;text-align:center;font-family:"Cormorant Garamond",serif;font-size:15px;line-height:1.5;color:rgba(246,242,236,.62)}
.wl-origin em{color:var(--gold3)}
#welcome.active .wl-top,#welcome.active .wl-steps,#welcome.active .wl-bottom{animation:wlIn .7s cubic-bezier(.2,0,.05,1) both}
#welcome.active .wl-steps{animation-delay:.12s}
#welcome.active .wl-bottom{animation-delay:.24s}
@keyframes wlIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cgu-check-text a{color:var(--terra);font-weight:500;text-decoration:underline;text-underline-offset:2px}
.cgu-content .ed-back{margin-bottom:14px}

#splash.hiding{animation:splashHide .7s cubic-bezier(.4,0,1,1) forwards}
@keyframes splashHide{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}

/* CGU */
#cgu{background:var(--bg);justify-content:flex-end}
.cgu-bg{position:absolute;inset:0;background:linear-gradient(165deg,var(--forest) 0%,var(--forest2) 40%,var(--bg) 100%)}
.cgu-content{position:relative;z-index:1;background:var(--cream);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:32px 26px calc(32px + var(--sb));max-height:85vh;overflow-y:auto}
.cgu-handle{width:36px;height:4px;background:var(--bord2);border-radius:2px;margin:0 auto 28px}
.cgu-title{font-family:"Cormorant Garamond",serif;font-size:28px;font-weight:400;color:var(--text);margin-bottom:6px}
.cgu-sub{font-size:13px;color:var(--text3);font-weight:300;margin-bottom:28px;line-height:1.6}
.cgu-block{background:var(--bg);border-radius:var(--r-md);padding:18px;margin-bottom:12px;border:1px solid var(--bord2)}
.cgu-block-title{font-size:12px;font-weight:500;color:var(--text);margin-bottom:6px}
.cgu-block-text{font-size:12px;color:var(--text3);line-height:1.7;font-weight:300}
.cgu-check{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--bord2);cursor:pointer}
.cgu-check:last-of-type{border-bottom:none}
.cgu-checkbox{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--bord2);background:var(--white);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-top:1px}
.cgu-checkbox.checked{background:var(--forest);border-color:var(--forest)}
.cgu-checkbox.checked::after{content:"";width:5px;height:9px;border:2px solid var(--cream);border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}
.cgu-check-text{font-size:13px;color:var(--text2);line-height:1.6;font-weight:300}
.cgu-check-text strong{color:var(--text);font-weight:500}
.cgu-btn{width:100%;margin-top:24px;padding:17px;border:none;border-radius:var(--r-md);background:var(--forest);font-family:"DM Sans",sans-serif;font-size:14px;font-weight:500;color:var(--cream);cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;transition:all .2s;opacity:.4;pointer-events:none}
.cgu-btn.ready{opacity:1;pointer-events:all;box-shadow:0 6px 24px rgba(22,56,74,.25)}

/* ONBOARDING */
#onboarding{background:var(--bg)}
.ob-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--bord2);z-index:20}
.ob-progress-fill{height:100%;background:linear-gradient(90deg,var(--terra),var(--gold2));transition:width .5s cubic-bezier(.4,0,.2,1)}
.ob-step{display:none;flex-direction:column;min-height:100vh;padding:calc(56px + var(--st)) 24px calc(100px + var(--sb));animation:riseIn .35s ease}
.ob-step.active{display:flex}
.ob-emoji{font-size:40px;margin-bottom:20px}
.ob-tag{font-size:9px;letter-spacing:5px;color:var(--terra);text-transform:uppercase;margin-bottom:16px;font-weight:500}
.ob-q{font-family:"Cormorant Garamond",serif;font-size:38px;font-weight:300;line-height:1.15;color:var(--text);letter-spacing:-.5px;margin-bottom:10px}
.ob-q em{font-style:italic;color:var(--forest)}
.ob-hint{font-size:13px;color:var(--text3);margin-bottom:28px;line-height:1.65;font-weight:300}
.ob-input{background:transparent;border:none;border-bottom:2px solid var(--bord2);padding:0 0 14px;width:100%;font-family:"Cormorant Garamond",serif;font-size:42px;font-weight:300;color:var(--text);outline:none;letter-spacing:-.5px;transition:border-color .3s}
.ob-input::placeholder{color:var(--text4)}
.ob-input:focus{border-color:var(--terra)}
.choices{display:flex;flex-direction:column;gap:8px}
.ch{padding:16px 20px;border:1.5px solid var(--bord2);background:var(--cream);font-size:14px;font-weight:300;color:var(--text);cursor:pointer;transition:all .2s ease;position:relative;line-height:1.45;border-radius:var(--r-md)}
.ch-sub{display:block;font-size:11px;color:var(--text3);margin-top:3px;font-weight:300}
.ch::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--terra);transform:scaleY(0);transition:transform .2s;transform-origin:bottom;border-radius:var(--r-md) 0 0 var(--r-md)}
.ch.sel{border-color:var(--terra);background:rgba(208,122,78,.06)}
.ch.sel::before{transform:scaleY(1)}
.ch.sel::after{content:"✓";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--terra);font-size:16px;font-weight:500}
.genre-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.ob-tags-grid{display:flex;flex-wrap:wrap;gap:8px}
.ob-tag-btn{padding:10px 16px;border:1.5px solid var(--bord2);background:var(--cream);border-radius:20px;font-size:13px;font-weight:300;color:var(--text2);cursor:pointer;transition:all .2s}
.ob-tag-btn.sel{border-color:var(--forest);background:var(--forest);color:var(--cream)}
.ob-nav{position:fixed;bottom:0;left:0;right:0;padding:14px 24px calc(14px + var(--sb));background:rgba(232,237,226,.95);backdrop-filter:blur(20px);border-top:1px solid var(--bord2);display:flex;gap:10px;z-index:20}
.ob-skip{padding:15px 18px;border:1.5px solid var(--bord2);border-radius:var(--r-md);background:transparent;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:300;color:var(--text3);cursor:pointer}
.ob-cont{flex:1;padding:15px;border:none;border-radius:var(--r-md);background:var(--forest);font-family:"DM Sans",sans-serif;font-size:13px;font-weight:500;color:var(--cream);cursor:pointer;letter-spacing:2px;text-transform:uppercase;transition:all .2s;box-shadow:0 4px 16px rgba(22,56,74,.2)}
.ob-date-input{width:100%;padding:16px 18px;border:1.5px solid var(--bord2);border-radius:var(--r-md);background:var(--cream);font-family:"DM Sans",sans-serif;font-size:16px;font-weight:300;color:var(--text);outline:none;transition:border-color .2s}
.ob-date-input:focus{border-color:var(--terra)}
.th-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.th-btn{border:2px solid var(--bord2);border-radius:var(--r-md);background:var(--cream);padding:16px;cursor:pointer;transition:all .2s}
.th-btn.sel{border-color:var(--forest);background:rgba(22,56,74,.07)}
.th-btn.sel .th-name{color:var(--forest);font-weight:600}
.th-name{font-size:13px;font-weight:500;color:var(--text)}
.th-mood{font-size:11px;color:var(--text3);margin-top:2px;font-weight:300}

/* SUMMARY */
#summary{background:var(--bg)}
.sum-wrap{padding:calc(60px + var(--st)) 24px calc(90px + var(--sb))}
.sum-otitle{font-size:9px;letter-spacing:5px;color:var(--terra);text-transform:uppercase;margin-bottom:16px;font-weight:500}
.sum-title{font-family:"Cormorant Garamond",serif;font-size:46px;font-weight:300;color:var(--text);letter-spacing:-1.5px;margin-bottom:8px;line-height:1.05}
.sum-title em{color:var(--forest2);font-style:italic}
.sum-lead{font-size:13px;color:var(--text3);margin-bottom:36px;font-weight:300;line-height:1.65}
.sum-card{background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);padding:20px;margin-bottom:10px}
.sum-lbl{font-size:9px;letter-spacing:3px;color:var(--text3);text-transform:uppercase;margin-bottom:8px}
.sum-val{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:400;color:var(--text);line-height:1.3}
.sum-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.sum-tag2{padding:5px 12px;border:1.5px solid rgba(208,122,78,.3);font-size:11px;color:var(--terra);font-weight:400;border-radius:20px}
.sum-launch{width:100%;margin-top:32px;padding:18px;border:none;border-radius:var(--r-md);background:var(--forest);font-family:"DM Sans",sans-serif;font-size:13px;font-weight:500;color:var(--cream);cursor:pointer;letter-spacing:2px;text-transform:uppercase;box-shadow:0 6px 24px rgba(22,56,74,.25)}

/* NAVIGATION */
.bnav-spacer{height:calc(56px + max(var(--sb),8px));flex-shrink:0}
.bnav{position:fixed;bottom:0;left:0;right:0;background:rgba(246,242,236,.97);backdrop-filter:blur(24px);border-top:1px solid var(--bord2);display:flex;padding-bottom:max(var(--sb),8px);z-index:50}
.bn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 6px;cursor:pointer;color:var(--text3);font-size:8px;letter-spacing:1.5px;text-transform:uppercase;transition:color .2s;font-weight:400}
.bn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}
.bn.active{color:var(--terra)}
.bn-dot{width:4px;height:4px;border-radius:50%;background:var(--terra);opacity:0;transition:opacity .3s}
.bn.active .bn-dot{opacity:1}

/* DASHBOARD */
#dashboard{background:var(--bg)}
.dash-scroll{padding-bottom:calc(80px + var(--sb))}
.hero{position:relative;overflow:hidden;min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(50px + var(--st)) 22px 26px}
.hero-bg{position:absolute;inset:0;background:var(--forest)}
.hero-orb1{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(242,180,134,.22),transparent 65%);top:-120px;right:-100px;animation:orbFloat 9s ease-in-out infinite}
.hero-orb2{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(91,135,145,.18),transparent 65%);bottom:-60px;left:-60px;animation:orbFloat 13s ease-in-out infinite reverse}
.hero-date{font-size:9px;letter-spacing:3px;color:rgba(246,242,236,.35);text-transform:uppercase;margin-bottom:8px;position:relative;z-index:2}
.hero-greet{font-family:"Cormorant Garamond",serif;font-size:46px;font-weight:300;color:var(--cream);line-height:1.05;letter-spacing:-2px;position:relative;z-index:2}
.hero-greet em{color:var(--gold2);font-style:italic}
.hero-sub{font-size:12px;color:rgba(246,242,236,.45);font-weight:300;margin-top:8px;position:relative;z-index:2;line-height:1.5}
.hero-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;position:relative;z-index:2}
.pill{padding:5px 13px;border-radius:20px;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;font-weight:400;border:1px solid rgba(242,180,134,.3);color:var(--gold2);background:rgba(242,180,134,.12)}
.pill.sage{border-color:rgba(91,135,145,.3);color:var(--sage3);background:rgba(91,135,145,.12)}
.pill.terra{border-color:rgba(208,122,78,.3);color:var(--terra3);background:rgba(208,122,78,.12)}
.db{padding:0 16px}
.sh{display:flex;justify-content:space-between;align-items:center;padding:20px 4px 12px}
.sh-title{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:300;color:var(--text);letter-spacing:-.3px}
.sh-sub{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text3)}
.seve-bar{background:var(--forest);border-radius:var(--r-lg);padding:20px 22px;margin-bottom:6px;position:relative;overflow:hidden;cursor:pointer;transition:all .25s;box-shadow:0 4px 24px rgba(22,56,74,.2)}
.seve-bar::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 25%,rgba(242,180,134,.18),transparent 55%)}
.seve-bar-top{display:flex;align-items:center;gap:10px;position:relative;z-index:1;margin-bottom:12px}
.seve-pulse{width:7px;height:7px;border-radius:50%;background:var(--gold2);animation:pulse 2.5s infinite;flex-shrink:0}
.seve-bar-name{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold2);font-weight:400}
.seve-bar-msg{font-family:"Cormorant Garamond",serif;font-size:17px;font-style:italic;color:rgba(246,242,236,.88);line-height:1.55;position:relative;z-index:1;margin-bottom:14px}
.seve-bar-actions{display:flex;gap:8px;position:relative;z-index:1;flex-wrap:wrap}
.seve-act{padding:9px 16px;border:1px solid rgba(246,242,236,.2);border-radius:20px;background:transparent;font-family:"DM Sans",sans-serif;font-size:11px;font-weight:400;color:rgba(246,242,236,.65);cursor:pointer;transition:all .2s}
.seve-act.p{background:rgba(242,180,134,.18);border-color:rgba(242,180,134,.35);color:var(--gold2)}
.ci-row{display:flex;gap:6px}
.ci-btn{flex:1;padding:14px 4px;border:1.5px solid var(--bord2);border-radius:var(--r-md);background:var(--cream);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:all .2s}
.ci-ind{width:100%;height:2px;background:var(--bord2);border-radius:2px;transition:background .2s}
.ci-lbl{font-size:9px;color:var(--text3);letter-spacing:.3px}
.ci-emoji{font-size:18px}
.ci-btn.sel{border-color:var(--terra)}
.ci-btn.sel .ci-ind{background:linear-gradient(90deg,var(--terra),var(--gold2))}
.esp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:12px}
.esp-card{background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-lg);cursor:pointer;transition:all .25s;overflow:hidden;position:relative;box-shadow:0 2px 12px rgba(22,56,74,.08)}
.esp-card:active{transform:scale(.97)}
.esp-img{height:88px;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.esp-glyph{font-family:"Cormorant Garamond",serif;font-size:34px;color:rgba(246,242,236,.75);animation:floatGlyph 4s ease-in-out infinite}
.esp-icon{width:30px;height:30px;stroke:rgba(246,242,236,.85);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;animation:floatGlyph 4s ease-in-out infinite}
.esp-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(22,56,74,.14)}
.esp-card{animation:cardIn .5s ease both}
.esp-grid .esp-card:nth-child(2){animation-delay:.05s}.esp-grid .esp-card:nth-child(3){animation-delay:.1s}.esp-grid .esp-card:nth-child(4){animation-delay:.15s}.esp-grid .esp-card:nth-child(5){animation-delay:.2s}.esp-grid .esp-card:nth-child(6){animation-delay:.25s}.esp-grid .esp-card:nth-child(7){animation-delay:.3s}.esp-grid .esp-card:nth-child(8){animation-delay:.35s}
@keyframes cardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.esp-body{padding:14px 14px 16px}
.esp-name{font-size:13px;font-weight:500;color:var(--text);margin-bottom:3px}
.esp-sub{font-size:11px;color:var(--text3);line-height:1.4;font-weight:300}
.ec-corps .esp-img{background:linear-gradient(145deg,#2E6070,#B98A72)}
.ec-sante .esp-img{background:linear-gradient(145deg,#16384A,#2B5C6E)}
.ec-nutri .esp-img{background:linear-gradient(145deg,#3A2818,#5C3C28)}
.ec-move .esp-img{background:linear-gradient(145deg,#1A2A30,#2E4250)}
.ec-sleep .esp-img{background:linear-gradient(145deg,#1A1A30,#2E2858)}
.ec-mental .esp-img{background:linear-gradient(145deg,#2A1A1A,#4A2C2C)}
.ec-orga .esp-img{background:linear-gradient(145deg,#24182E,#3D2B52)}
.ec-cycle .esp-img{background:linear-gradient(145deg,#2E1A24,#52303E)}
.esp-grid.no-cycle .ec-orga{grid-column:1 / -1}
.rt-tabs{display:flex;border-bottom:1px solid var(--bord2);margin-bottom:8px}
.rt-tab{padding:8px 16px 10px;font-size:11px;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;letter-spacing:.5px;text-transform:uppercase;transition:all .2s}
.rt-tab.on{color:var(--terra);border-bottom-color:var(--terra)}
.rt-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--bord2);cursor:pointer}
.rt-circle{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .25s}
.rt-circle.done{background:var(--sage);border-color:var(--sage)}
.rt-circle.done::after{content:"";width:4px;height:8px;border:1.5px solid var(--cream);border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}
.rt-name{font-size:13px;font-weight:300;color:var(--text);flex:1}
.rt-name.done{color:var(--text3);text-decoration:line-through}
.rt-detail{font-size:11px;color:var(--text3)}

/* CHAT */
#chat-screen{background:var(--bg)}
.chat-hdr{background:var(--forest);padding:calc(50px + var(--st)) 22px 20px;display:flex;align-items:flex-end;gap:14px;position:relative;overflow:hidden}
.chat-hdr::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 75% 50%,rgba(242,180,134,.14),transparent 60%);pointer-events:none}
.chat-hdr-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--sage));border:2px solid rgba(246,242,236,.2);flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.chat-hdr-avatar span{font-family:"Cormorant Garamond",serif;font-size:20px;font-style:italic;color:var(--cream)}
.chat-hdr-info{flex:1;position:relative;z-index:1}
.chat-hdr-name{font-family:"Cormorant Garamond",serif;font-size:28px;font-weight:300;color:var(--cream);letter-spacing:-.5px;font-style:italic}
.chat-hdr-status{font-size:10px;color:rgba(246,242,236,.45);letter-spacing:1px;margin-top:2px;display:flex;align-items:center;gap:6px}
.chat-hdr-dot{width:6px;height:6px;border-radius:50%;background:#6EC98A}
.chat-msgs{flex:1;overflow-y:auto;padding:20px 16px 12px;display:flex;flex-direction:column;gap:12px;background:var(--bg)}
.chat-msgs::-webkit-scrollbar{display:none}
.msg{max-width:78%}
.msg.seve{align-self:flex-start}
.msg.user{align-self:flex-end}
.msg-bub{padding:13px 17px;font-size:14px;line-height:1.6;font-weight:300;border-radius:18px}
.msg.seve .msg-bub{background:var(--cream);border:1px solid var(--bord2);color:var(--text);border-bottom-left-radius:5px;box-shadow:0 2px 8px rgba(22,56,74,.07)}
.msg.user .msg-bub{background:var(--forest);color:var(--cream);border-bottom-right-radius:5px}

.chat-row{padding:10px 14px calc(10px + var(--sb));background:rgba(246,242,236,.97);backdrop-filter:blur(20px);border-top:1px solid var(--bord2);display:flex;gap:8px;align-items:center}
.chat-inp{flex:1;background:var(--bg);border:1.5px solid var(--bord2);padding:11px 16px;font-family:"DM Sans",sans-serif;font-size:14px;font-weight:300;color:var(--text);outline:none;border-radius:22px;transition:border-color .2s}
.chat-inp::placeholder{color:var(--text4)}
.chat-inp:focus{border-color:var(--forest)}
.chat-send{width:40px;height:40px;border:none;border-radius:50%;background:var(--terra);color:var(--white);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chat-mic-btn{width:40px;height:40px;border:1.5px solid var(--bord2);border-radius:50%;background:var(--bg);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chat-mic-btn svg{width:16px;height:16px;stroke:var(--text3);fill:none;stroke-width:2}
.chat-mic-btn.active{background:var(--terra);border-color:var(--terra)}
.chat-mic-btn.active svg{stroke:var(--white)}
.ld-d span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--text3);animation:ldot 1.4s infinite;margin:0 2px}
.ld-d span:nth-child(2){animation-delay:.2s}
.ld-d span:nth-child(3){animation-delay:.4s}

/* JOURNAL */
#journal-screen{background:var(--bg)}
.journal-hdr{background:var(--cream);padding:calc(52px + var(--st)) 22px 18px;border-bottom:1px solid var(--bord2)}
.journal-title{font-family:"Cormorant Garamond",serif;font-size:32px;font-weight:300;color:var(--text);margin-bottom:4px}
.journal-date{font-size:11px;color:var(--text3);letter-spacing:2px;text-transform:uppercase}
.journal-body{padding:20px 22px calc(80px + var(--sb))}
.journal-mood{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px}
.journal-mood::-webkit-scrollbar{display:none}
.mood-btn{padding:10px 16px;border:1.5px solid var(--bord2);border-radius:20px;background:var(--cream);cursor:pointer;white-space:nowrap;transition:all .2s}
.mood-btn .mood-emoji{font-size:20px;display:block;margin-bottom:4px}
.mood-btn .mood-lbl{font-size:10px;color:var(--text3);letter-spacing:.5px}
.mood-btn.sel{border-color:var(--terra);background:rgba(208,122,78,.06)}
.journal-entry{background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-lg);padding:18px;margin-bottom:14px}
.journal-entry-date{font-size:10px;color:var(--text3);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.journal-entry-text{font-family:"Cormorant Garamond",serif;font-size:17px;font-weight:300;font-style:italic;color:var(--text);line-height:1.7}
.journal-textarea{width:100%;min-height:120px;border:1.5px solid var(--bord2);border-radius:var(--r-md);background:var(--cream);padding:16px 18px;font-family:"Cormorant Garamond",serif;font-size:17px;font-weight:300;font-style:italic;color:var(--text);outline:none;resize:none;line-height:1.7;transition:border-color .2s;margin-bottom:12px}
.journal-textarea::placeholder{color:var(--text4)}
.journal-textarea:focus{border-color:var(--terra)}
.journal-save{width:100%;padding:15px;border:none;border-radius:var(--r-md);background:var(--forest);font-family:"DM Sans",sans-serif;font-size:13px;font-weight:500;color:var(--cream);cursor:pointer;letter-spacing:2px;text-transform:uppercase}

/* SETTINGS */
#settings-screen{background:var(--bg)}
.settings-hdr{background:var(--cream);padding:calc(52px + var(--st)) 22px 18px;border-bottom:1px solid var(--bord2);display:flex;align-items:center;gap:16px}
.settings-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--forest),var(--sage));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.settings-avatar span{font-family:"Cormorant Garamond",serif;font-size:26px;font-style:italic;color:var(--cream)}
.settings-name{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:300;color:var(--text)}
.settings-email{font-size:12px;color:var(--text3);margin-top:2px}
.settings-body{padding:16px 22px calc(80px + var(--sb))}
.settings-section{margin-bottom:8px}
.settings-section-title{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--text3);margin-bottom:8px;padding:0 4px;font-weight:500}
.settings-item{display:flex;align-items:center;gap:14px;padding:16px;background:var(--cream);border-radius:var(--r-md);margin-bottom:4px;cursor:pointer;transition:all .2s;border:1px solid var(--bord2)}
.settings-icon{width:36px;height:36px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.settings-item-label{font-size:14px;font-weight:300;color:var(--text);flex:1}
.settings-item-value{font-size:12px;color:var(--text3)}
.settings-arrow{color:var(--text3);font-size:16px}
.toggle{width:46px;height:26px;border-radius:13px;background:var(--bord2);position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}
.toggle.on{background:var(--forest)}
.toggle::after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:var(--white);top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.toggle.on::after{transform:translateX(20px)}

/* ESPACE DETAIL */
#espace-detail{background:var(--bg)}
.ed-hero{padding:calc(50px + var(--st)) 24px 28px;position:relative;overflow:hidden}
.ed-back{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;color:var(--text3);text-transform:uppercase;cursor:pointer;margin-bottom:20px;position:relative;z-index:2}
.ed-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.ed-glyph{font-family:"Cormorant Garamond",serif;font-size:52px;font-weight:300;color:var(--gold);line-height:1;margin-bottom:8px;position:relative;z-index:2}
.ed-ico{width:34px;height:34px;stroke:var(--gold);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px;position:relative;z-index:2;display:block}
.ed-title{font-family:"Cormorant Garamond",serif;font-size:42px;font-weight:300;color:var(--text);letter-spacing:-1px;position:relative;z-index:2;margin-bottom:8px}
.ed-desc{font-family:"Cormorant Garamond",serif;font-size:16px;font-weight:300;font-style:italic;color:var(--text2);line-height:1.7;position:relative;z-index:2}
.ed-body{padding:20px 20px calc(80px + var(--sb))}
.ed-section{margin-bottom:28px}
.ed-section-title{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--text3);margin-bottom:14px;font-weight:500}
.ed-sub-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ed-sub-card{background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);cursor:pointer;overflow:hidden;transition:all .25s;box-shadow:0 2px 8px rgba(22,56,74,.06)}
.ed-sub-card:active{transform:scale(.97)}
.ed-sub-img{height:72px;width:100%;display:flex;align-items:center;justify-content:center}
.ed-sub-glyph{font-family:"Cormorant Garamond",serif;font-size:28px;color:rgba(246,242,236,.75)}
.ed-sub-ico{width:26px;height:26px;stroke:rgba(246,242,236,.88);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.ed-sub-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(22,56,74,.12)}
.ed-sub-body{padding:12px 14px 14px}
.ed-sub-name{font-size:13px;font-weight:500;color:var(--text);margin-bottom:2px}
.ed-sub-desc{font-size:11px;color:var(--text3);line-height:1.4}
.sc-peau .ed-sub-img{background:linear-gradient(145deg,#3A2218,#5C3420)}
.sc-cheveux .ed-sub-img{background:linear-gradient(145deg,#1F4A5C,#4E7F8A)}
.sc-corps .ed-sub-img{background:linear-gradient(145deg,#1A2A30,#2E4050)}
.sc-scanner .ed-sub-img{background:linear-gradient(145deg,#281A30,#403050)}
.prod-row{padding:16px 0;border-bottom:1px solid var(--bord2);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.prod-row:first-of-type{border-top:1px solid var(--bord2)}
.prod-n{font-size:14px;font-weight:500;color:var(--text);margin-bottom:3px}
.prod-b{font-size:11px;color:var(--text3);font-weight:300}
.prod-ok{font-size:10px;color:var(--sage2);margin-top:4px}
.prod-p{font-family:"Cormorant Garamond",serif;font-size:18px;font-weight:400;color:var(--text);white-space:nowrap}

/* ═══════════════════════════════════════
   SANTÉ SCREEN, REDESIGN COMPLET
═══════════════════════════════════════ */
#sante-screen{background:var(--bg)}
.sante-hdr{background:linear-gradient(150deg,#16384A,#1F4A5C);padding:calc(50px + var(--st)) 22px 28px;position:relative;overflow:hidden}
.sante-hdr::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,rgba(242,180,134,.14),transparent 55%);pointer-events:none}
.sante-hdr-back{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;color:rgba(246,242,236,.45);text-transform:uppercase;cursor:pointer;margin-bottom:20px;position:relative;z-index:2}
.sante-hdr-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.sante-hdr-title{font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:300;color:var(--cream);letter-spacing:-1px;position:relative;z-index:2;margin-bottom:8px}
.sante-hdr-desc{font-family:"Cormorant Garamond",serif;font-size:15px;font-weight:300;font-style:italic;color:rgba(246,242,236,.55);line-height:1.7;position:relative;z-index:2}

/* Section headers */
.sh-sante{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 12px}
.sh-sante-title{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:300;color:var(--text)}
.sh-sante-btn{font-size:11px;color:var(--terra);font-weight:400;cursor:pointer;padding:6px 12px;border:1px solid rgba(208,122,78,.3);border-radius:20px}

/* Score énergie & check-in */
.energie-row{display:flex;gap:6px;padding:0 16px}
.en-btn{flex:1;padding:12px 4px;border:1.5px solid var(--bord2);border-radius:var(--r-md);background:var(--cream);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s}
.en-btn .en-label{font-size:9px;color:var(--text3);letter-spacing:.3px;text-align:center}
.en-btn .en-dot{width:8px;height:8px;border-radius:50%;background:var(--bord2);transition:background .2s}
.en-btn.sel{border-color:var(--terra)}
.en-btn.sel .en-dot{background:var(--terra)}
.en-btn.e1.sel{border-color:var(--rust);} .en-btn.e1.sel .en-dot{background:var(--rust)}
.en-btn.e2.sel{border-color:var(--terra);} 
.en-btn.e3.sel{border-color:var(--gold);}  .en-btn.e3.sel .en-dot{background:var(--gold)}
.en-btn.e4.sel{border-color:var(--sage);}  .en-btn.e4.sel .en-dot{background:var(--sage)}
.en-btn.e5.sel{border-color:var(--sage2);} .en-btn.e5.sel .en-dot{background:var(--sage2)}

/* Stressomètre */
.stress-card{margin:0 16px 6px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-lg);padding:20px;overflow:hidden}
.stress-header{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--text3);margin-bottom:16px;font-weight:500}
.stress-val-row{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}
.stress-num{font-family:"Cormorant Garamond",serif;font-size:52px;font-weight:300;line-height:1;color:var(--text);transition:color .4s}
.stress-scale{font-size:11px;color:var(--text3)}
.stress-qual{font-size:13px;font-weight:400;color:var(--text2);margin-left:auto}
.stress-slider{-webkit-appearance:none;appearance:none;width:100%;height:5px;border-radius:3px;outline:none;cursor:pointer;margin-bottom:8px}
.stress-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--cream);border:2.5px solid var(--forest);cursor:pointer;box-shadow:0 2px 8px rgba(22,56,74,.2)}
.stress-ticks{display:flex;justify-content:space-between;margin-bottom:16px}
.stress-tick{font-size:9px;color:var(--text4);letter-spacing:.5px}
.stress-seve{background:var(--bg);border-radius:var(--r-md);padding:14px 16px;border-left:3px solid var(--forest);min-height:48px}
.stress-seve-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--forest);margin-bottom:6px;font-weight:500}
.stress-seve-msg{font-family:"Cormorant Garamond",serif;font-size:15px;font-style:italic;color:var(--text2);line-height:1.6}

/* Score forme */
.forme-card{margin:0 16px 6px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-lg);padding:20px}
.forme-score-row{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.forme-ring{position:relative;width:80px;height:80px;flex-shrink:0}
.forme-ring svg{transform:rotate(-90deg)}
.forme-ring-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Cormorant Garamond",serif;font-size:28px;font-weight:400;color:var(--text)}
.forme-ring-label{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:400;color:var(--text);margin-bottom:4px}
.forme-ring-sub{font-size:12px;color:var(--text3);font-weight:300;line-height:1.5}
.forme-dims{display:flex;flex-direction:column;gap:8px}
.forme-dim{display:flex;align-items:center;gap:10px}
.forme-dim-label{font-size:11px;color:var(--text3);width:90px;flex-shrink:0}
.forme-dim-bar{flex:1;height:4px;background:var(--bord2);border-radius:3px;overflow:hidden}
.forme-dim-fill{height:100%;border-radius:3px;transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.forme-dim-val{font-size:11px;color:var(--text2);font-weight:500;width:28px;text-align:right;flex-shrink:0}
.forme-btn{width:100%;margin-top:16px;padding:13px;border:none;border-radius:var(--r-md);background:var(--forest);font-family:"DM Sans",sans-serif;font-size:12px;font-weight:500;color:var(--cream);cursor:pointer;letter-spacing:1.5px;text-transform:uppercase}

/* Conditions chroniques */
.condition-card{margin:0 16px 10px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);overflow:hidden}
.condition-hdr{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer}
.cond-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.condition-name{font-size:14px;font-weight:500;color:var(--text);flex:1}
.condition-badge{font-size:10px;font-weight:500;padding:4px 10px;border-radius:20px;letter-spacing:.5px}
.badge-ok{background:rgba(90,120,82,.12);color:var(--sage)}
.badge-warn{background:rgba(208,122,78,.12);color:var(--terra)}
.badge-bad{background:rgba(160,72,48,.12);color:var(--rust)}
.condition-body{padding:0 16px 16px;display:none;border-top:1px solid var(--bord2)}
.condition-body.open{display:block}
.intensity-wrap{padding:14px 0 8px}
.intensity-label{font-size:10px;color:var(--text3);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.intensity-slider{-webkit-appearance:none;appearance:none;width:100%;height:5px;border-radius:3px;background:linear-gradient(90deg,var(--sage) 0%,var(--gold) 50%,var(--terra) 100%);outline:none;cursor:pointer}
.intensity-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--cream);border:2px solid var(--forest);cursor:pointer;box-shadow:0 2px 6px rgba(22,56,74,.2)}
.intensity-ticks{display:flex;justify-content:space-between;margin-top:6px}
.intensity-tick{font-size:9px;color:var(--text3)}
.symptom-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.symptom-tag{padding:6px 12px;border:1.5px solid var(--bord2);border-radius:20px;background:var(--bg);font-size:11px;color:var(--text2);cursor:pointer;transition:all .2s}
.symptom-tag.sel{border-color:var(--terra);background:rgba(208,122,78,.08);color:var(--terra)}
.flare-row{display:flex;gap:4px;margin-top:12px}
.flare-day{flex:1;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:500}
.flare-day.none{background:rgba(90,120,82,.15);color:var(--sage2)}
.flare-day.mild{background:rgba(242,180,134,.3);color:var(--gold)}
.flare-day.mod{background:rgba(208,122,78,.35);color:var(--terra)}
.flare-day.bad{background:rgba(160,72,48,.55);color:var(--white)}
.condition-log-btn{width:100%;margin-top:14px;padding:11px;border:none;border-radius:var(--r-sm);background:var(--forest);font-family:"DM Sans",sans-serif;font-size:11px;font-weight:500;color:var(--cream);cursor:pointer;letter-spacing:1.5px;text-transform:uppercase}

/* Compléments IA */
.suppl-section{padding:0 16px 6px}
.suppl-generate-btn{width:100%;padding:16px;border:1.5px dashed var(--border);border-radius:var(--r-md);background:transparent;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:400;color:var(--text2);cursor:pointer;transition:all .2s;text-align:center;line-height:1.5}
.suppl-generate-btn:hover{border-color:var(--forest);color:var(--forest)}
.suppl-loading{text-align:center;padding:28px;color:var(--text3);font-size:13px;font-weight:300}
.suppl-card{background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);padding:18px;margin-bottom:10px;position:relative;overflow:hidden}
.suppl-priority-bar{position:absolute;left:0;top:0;bottom:0;width:3px}
.suppl-priority-bar.high{background:var(--terra)}
.suppl-priority-bar.medium{background:var(--gold)}
.suppl-priority-bar.low{background:var(--sage)}
.suppl-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;padding-left:12px}
.suppl-name{font-size:14px;font-weight:500;color:var(--text);flex:1;padding-right:8px}
.suppl-badge{font-size:9px;font-weight:500;padding:3px 9px;border-radius:20px;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}
.suppl-badge.high{background:rgba(208,122,78,.12);color:var(--terra)}
.suppl-badge.medium{background:rgba(242,180,134,.2);color:var(--gold)}
.suppl-badge.low{background:rgba(90,120,82,.12);color:var(--sage)}
.suppl-why{font-size:12px;color:var(--text2);line-height:1.6;padding-left:12px;margin-bottom:10px}
.suppl-meta{display:flex;flex-wrap:wrap;gap:6px;padding-left:12px;margin-bottom:8px}
.suppl-tag{padding:4px 10px;border:1px solid var(--bord2);border-radius:20px;font-size:10px;color:var(--text3)}
.suppl-interaction{font-size:11px;color:var(--sky);padding-left:12px;line-height:1.5}
.suppl-interaction.warn{color:var(--terra)}
.suppl-refresh-row{display:flex;justify-content:flex-end;margin-bottom:12px}
.suppl-refresh-btn{font-size:11px;color:var(--text3);cursor:pointer;padding:5px 12px;border:1px solid var(--bord2);border-radius:20px;background:transparent;font-family:"DM Sans",sans-serif}

/* Médicaments */
.med-card{margin:0 16px 10px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);overflow:hidden}
.med-item{display:flex;align-items:flex-start;gap:14px;padding:16px;border-bottom:1px solid var(--bord2)}
.med-item:last-of-type{border-bottom:none}
.med-dot{width:10px;height:10px;border-radius:50%;background:var(--sky);flex-shrink:0;margin-top:4px}
.med-info{flex:1}
.med-name{font-size:13px;font-weight:500;color:var(--text);margin-bottom:3px}
.med-dose{font-size:11px;color:var(--text3);font-weight:300;margin-bottom:6px}
.med-times{display:flex;gap:6px;flex-wrap:wrap}
.med-time-badge{padding:4px 10px;border-radius:20px;font-size:10px;font-weight:500}
.med-time-ok{background:rgba(90,120,82,.12);color:var(--sage)}
.med-time-wait{background:var(--bord2);color:var(--text3)}
.med-remove{background:none;border:none;padding:4px;cursor:pointer;color:var(--text3);font-size:18px;flex-shrink:0}
.med-add-btn{margin:0 16px 16px;width:calc(100% - 32px);padding:13px;border:1.5px dashed var(--border);border-radius:var(--r-md);background:transparent;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:300;color:var(--text3);cursor:pointer;text-align:center;transition:all .2s}

/* MENTAL SCREEN */
#mental-screen{background:var(--bg)}
.mental-hdr{background:linear-gradient(150deg,#1A1A2A,#2A2040);padding:calc(50px + var(--st)) 22px 28px;position:relative;overflow:hidden}
.mental-hdr::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,rgba(123,111,160,.2),transparent 55%);pointer-events:none}
.mental-hdr-back{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;color:rgba(246,242,236,.45);text-transform:uppercase;cursor:pointer;margin-bottom:20px;position:relative;z-index:2}
.mental-hdr-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.mental-hdr-title{font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:300;color:var(--cream);letter-spacing:-1px;position:relative;z-index:2;margin-bottom:8px}
.mental-hdr-desc{font-family:"Cormorant Garamond",serif;font-size:15px;font-weight:300;font-style:italic;color:rgba(246,242,236,.55);line-height:1.7;position:relative;z-index:2}
.mental-checkin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 16px}
.mental-mood-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);cursor:pointer;transition:all .2s}
.mental-mood-btn.sel{border-color:var(--lavender);background:rgba(123,111,160,.08)}
.mental-mood-btn .mood-icon{font-size:26px;line-height:1;color:var(--text);font-weight:400}
.mental-mood-label{font-size:11px;color:var(--text2);font-weight:400;text-align:center}
.mental-ai-msg{margin:0 16px;padding:16px 18px;background:linear-gradient(135deg,rgba(123,111,160,.08),rgba(123,111,160,.04));border-radius:var(--r-md);border-left:3px solid var(--lavender)}
.mental-ai-msg-text{font-family:"Cormorant Garamond",serif;font-size:16px;font-weight:300;font-style:italic;color:var(--text);line-height:1.65}

/* Breathing exercise */
.breath-container{margin:0 16px;padding:24px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-lg);text-align:center}
.medi-types{display:flex;gap:8px;overflow-x:auto;padding:0 16px 4px;-webkit-overflow-scrolling:touch}
.medi-type{flex:0 0 auto;min-width:92px;padding:12px 14px;border:1.5px solid var(--bord2);border-radius:var(--r-md);background:var(--cream);cursor:pointer;text-align:center;transition:all .2s}
.medi-type.sel{border-color:var(--lavender);background:rgba(123,111,160,.10)}
.medi-type-name{font-size:13px;font-weight:500;color:var(--text);margin-bottom:2px}
.medi-type-hint{font-size:10px;color:var(--text4)}
.medi-amb-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text4);text-align:center;margin:18px 0 8px}
.medi-amb{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.medi-amb-btn{padding:8px 16px;border:1.5px solid var(--bord2);border-radius:22px;background:transparent;color:var(--text2);font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.medi-amb-btn.sel{border-color:var(--sage);background:rgba(127,150,107,.12);color:var(--text)}
/* Mode TDAH : on calme les animations pour réduire la surcharge visuelle (la respiration guidée reste animée). */
body.tdah-mode *:not(.breath-circle){animation-duration:.001s!important;animation-delay:0s!important;transition-duration:.1s!important}
.breath-circle{width:120px;height:120px;border-radius:50%;border:3px solid var(--lavender);margin:0 auto 16px;display:flex;align-items:center;justify-content:center;transition:transform 4s ease-in-out, border-color .3s}
.breath-circle.inhale{transform:scale(1.4);border-color:var(--sage)}
.breath-circle.hold{transform:scale(1.4);border-color:var(--gold2)}
.breath-circle.exhale{transform:scale(1);border-color:var(--lavender)}
.breath-phase{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:300;color:var(--text)}
.breath-timer{font-size:32px;font-weight:300;color:var(--lavender);font-family:"Cormorant Garamond",serif}
.breath-start-btn{margin-top:16px;padding:14px 32px;border:none;border-radius:var(--r-md);background:var(--lavender);color:var(--cream);font-family:"DM Sans",sans-serif;font-size:13px;font-weight:500;cursor:pointer;letter-spacing:1px;text-transform:uppercase}
.breath-cycle-info{font-size:11px;color:var(--text3);margin-top:10px}

/* Guided journaling */
.mental-journal{margin:0 16px;padding:18px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md)}
.mental-journal-prompt{font-family:"Cormorant Garamond",serif;font-size:16px;font-weight:300;font-style:italic;color:var(--text2);line-height:1.6;margin-bottom:12px}
.mental-journal-textarea{width:100%;min-height:100px;border:1.5px solid var(--bord2);border-radius:var(--r-sm);background:var(--bg);padding:14px;font-family:"Cormorant Garamond",serif;font-size:16px;font-weight:300;font-style:italic;color:var(--text);outline:none;resize:none;line-height:1.7}
.mental-journal-textarea:focus{border-color:var(--lavender)}

/* SOMMEIL SCREEN */
#sommeil-screen{background:var(--bg)}
.sommeil-hdr{background:linear-gradient(150deg,#1A1520,#2A2038);padding:calc(50px + var(--st)) 22px 28px;position:relative;overflow:hidden}
.sommeil-hdr::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 70%,rgba(123,111,160,.15),transparent 55%);pointer-events:none}
.sommeil-hdr-back{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;color:rgba(246,242,236,.45);text-transform:uppercase;cursor:pointer;margin-bottom:20px;position:relative;z-index:2}
.sommeil-hdr-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.sommeil-hdr-title{font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:300;color:var(--cream);letter-spacing:-1px;position:relative;z-index:2;margin-bottom:8px}
.sommeil-hdr-desc{font-family:"Cormorant Garamond",serif;font-size:15px;font-weight:300;font-style:italic;color:rgba(246,242,236,.55);line-height:1.7;position:relative;z-index:2}
.sommeil-log-card{margin:0 16px;padding:20px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-lg)}
.sommeil-time-row{display:flex;gap:12px;margin-bottom:16px}
.sommeil-time-field{flex:1}
.sommeil-time-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);margin-bottom:6px;font-weight:500}
.sommeil-time-input{width:100%;padding:12px;border:1.5px solid var(--bord2);border-radius:var(--r-sm);background:var(--bg);font-family:"DM Sans",sans-serif;font-size:16px;color:var(--text);outline:none;text-align:center}
.sommeil-time-input:focus{border-color:var(--lavender)}
.sommeil-duration{text-align:center;padding:12px;background:var(--bg);border-radius:var(--r-sm);margin-bottom:16px}
.sommeil-duration-val{font-family:"Cormorant Garamond",serif;font-size:28px;font-weight:300;color:var(--text)}
.sommeil-duration-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:2px}
.sommeil-quality-row{display:flex;gap:6px;justify-content:center;margin-bottom:16px}
.sommeil-q-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--bord2);background:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:12px;color:var(--text3);font-weight:500}
.sommeil-q-btn.sel{border-color:var(--lavender);background:var(--lavender);color:var(--cream)}
.sommeil-history{margin:0 16px}
.sommeil-night{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--cream);border:1px solid var(--bord2);border-radius:var(--r-md);margin-bottom:8px}
.sommeil-night-day{font-size:11px;font-weight:500;color:var(--text3);width:36px;text-transform:uppercase}
.sommeil-night-bar{flex:1;height:8px;background:var(--bg);border-radius:4px;overflow:hidden}
.sommeil-night-fill{height:100%;border-radius:4px;transition:width .3s}
.sommeil-night-dur{font-size:12px;color:var(--text2);font-weight:400;width:40px;text-align:right}
.sommeil-night-qual{font-size:11px;width:24px;text-align:center}

/* MODE MINIMUM VITAL */
.mmv-overlay{position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,rgba(22,56,74,.95),rgba(20,35,22,.98));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 28px;animation:mmvFadeIn .6s ease}
@keyframes mmvFadeIn{from{opacity:0}to{opacity:1}}
.mmv-title{font-family:"Cormorant Garamond",serif;font-size:36px;font-weight:300;font-style:italic;color:var(--cream);text-align:center;margin-bottom:8px}
.mmv-sub{font-size:13px;color:rgba(246,242,236,.45);text-align:center;margin-bottom:32px;line-height:1.6;font-weight:300}
.mmv-actions{width:100%;max-width:320px}
.mmv-action{padding:16px 18px;background:rgba(246,242,236,.06);border:1px solid rgba(246,242,236,.12);border-radius:var(--r-md);margin-bottom:10px;cursor:pointer;transition:all .2s}
.mmv-action:active{background:rgba(246,242,236,.1)}
.mmv-action-title{font-size:13px;font-weight:400;color:var(--cream);margin-bottom:4px}
.mmv-action-desc{font-size:11px;color:rgba(246,242,236,.4);font-weight:300;line-height:1.5}
.mmv-close{margin-top:28px;padding:14px 32px;border:1px solid rgba(246,242,236,.2);border-radius:var(--r-md);background:transparent;color:rgba(246,242,236,.6);font-family:"DM Sans",sans-serif;font-size:12px;cursor:pointer;letter-spacing:2px;text-transform:uppercase}

/* ANTI-CULPABILITÉ */
.wb-overlay{position:fixed;inset:0;z-index:400;background:linear-gradient(180deg,rgba(22,56,74,.92),rgba(20,35,22,.96));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 28px;animation:mmvFadeIn .6s ease}
.wb-title{font-family:"Cormorant Garamond",serif;font-size:32px;font-weight:300;font-style:italic;color:var(--cream);text-align:center;margin-bottom:16px}
.wb-msg{font-family:"Cormorant Garamond",serif;font-size:17px;font-weight:300;font-style:italic;color:rgba(246,242,236,.7);text-align:center;line-height:1.7;max-width:300px;margin-bottom:32px}
.wb-btn{padding:16px 40px;border:none;border-radius:var(--r-md);background:rgba(246,242,236,.12);color:var(--cream);font-family:"DM Sans",sans-serif;font-size:13px;font-weight:500;cursor:pointer;letter-spacing:1px;text-transform:uppercase}

/* ORGANISATION SCREEN */
#orga-screen{background:var(--bg)}
.orga-hdr{background:linear-gradient(150deg,#1A2028,#283040);padding:calc(50px + var(--st)) 22px 28px;position:relative;overflow:hidden}
.orga-hdr::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 40%,rgba(74,120,144,.15),transparent 55%);pointer-events:none}
.orga-hdr-back{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;color:rgba(246,242,236,.45);text-transform:uppercase;cursor:pointer;margin-bottom:20px;position:relative;z-index:2}
.orga-hdr-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.orga-hdr-title{font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:300;color:var(--cream);letter-spacing:-1px;position:relative;z-index:2;margin-bottom:8px}
.orga-hdr-desc{font-family:"Cormorant Garamond",serif;font-size:15px;font-weight:300;font-style:italic;color:rgba(246,242,236,.55);line-height:1.7;position:relative;z-index:2}
.orga-tabs{display:flex;gap:4px;padding:16px 16px 0}
.orga-tab{flex:1;padding:10px 0;text-align:center;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}
.orga-tab.on{color:var(--text);border-bottom-color:var(--forest)}
.orga-panel{display:none;padding:16px}
.orga-panel.active{display:block}

/* RDV */
.rdv-card{padding:14px 16px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);margin-bottom:8px;position:relative}
.rdv-type{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);font-weight:500;margin-bottom:4px}
.rdv-title{font-size:14px;font-weight:400;color:var(--text);margin-bottom:4px}
.rdv-date{font-size:12px;color:var(--text3);font-weight:300}
.rdv-notes{font-size:11px;color:var(--text3);font-weight:300;font-style:italic;margin-top:6px;line-height:1.5}
.rdv-del{position:absolute;top:12px;right:12px;width:24px;height:24px;border:none;background:none;font-size:16px;color:var(--text4);cursor:pointer}
.rdv-past{opacity:.5}
.rdv-badge{display:inline-block;padding:3px 8px;border-radius:10px;font-size:9px;font-weight:500;letter-spacing:1px;text-transform:uppercase;margin-left:8px}
.rdv-badge-soon{background:rgba(208,122,78,.1);color:var(--terra)}
.rdv-badge-today{background:rgba(90,120,82,.12);color:var(--sage)}

/* SOINS TRACKER */
.soin-card{padding:14px 16px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);margin-bottom:8px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .2s}
.soin-card.done{border-color:var(--sage);background:rgba(90,120,82,.05)}
.soin-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--bord2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}
.soin-card.done .soin-check{border-color:var(--sage);background:var(--sage)}
.soin-card.done .soin-check::after{content:"";width:5px;height:9px;border:2px solid var(--cream);border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}
.soin-info{flex:1}
.soin-name{font-size:13px;font-weight:400;color:var(--text)}
.soin-card.done .soin-name{text-decoration:line-through;color:var(--text3)}
.soin-time{font-size:11px;color:var(--text3);font-weight:300}
.soin-cat{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text4);font-weight:500}

/* TACHES WELLNESS */
.task-card{padding:12px 16px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);margin-bottom:8px;display:flex;align-items:center;gap:12px}
.task-card.done{opacity:.5}
.task-check{width:20px;height:20px;border-radius:4px;border:1.5px solid var(--bord2);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}
.task-card.done .task-check{border-color:var(--sage);background:var(--sage)}
.task-card.done .task-check::after{content:"";width:4px;height:8px;border:2px solid var(--cream);border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}
.task-text{flex:1;font-size:13px;color:var(--text);font-weight:300}
.task-card.done .task-text{text-decoration:line-through;color:var(--text4)}
.task-del{width:20px;height:20px;border:none;background:none;font-size:14px;color:var(--text4);cursor:pointer}

/* Modal sante */
.sante-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:flex-end}
.sante-modal{background:var(--cream);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:28px 22px calc(28px + var(--sb));width:100%;max-height:85vh;overflow-y:auto}
.sante-modal-handle{width:36px;height:4px;background:var(--bord2);border-radius:2px;margin:0 auto 22px}
.sante-modal-title{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:300;color:var(--text);margin-bottom:20px}
.sante-field{margin-bottom:16px}
.sante-field-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--text3);margin-bottom:8px;font-weight:500;display:block}
.sante-field-input{width:100%;padding:14px 16px;border:1.5px solid var(--bord2);border-radius:var(--r-md);background:var(--bg);font-family:"DM Sans",sans-serif;font-size:14px;font-weight:300;color:var(--text);outline:none;transition:border-color .2s}
.sante-field-input:focus{border-color:var(--forest)}
.sante-modal-btn{width:100%;padding:16px;border:none;border-radius:var(--r-md);background:var(--forest);font-family:"DM Sans",sans-serif;font-size:13px;font-weight:500;color:var(--cream);cursor:pointer;letter-spacing:2px;text-transform:uppercase;margin-top:8px}
.sante-modal-cancel{width:100%;padding:14px;border:1.5px solid var(--bord2);border-radius:var(--r-md);background:transparent;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:300;color:var(--text3);cursor:pointer;margin-top:8px}

/* NUTRITION */
#nutri-screen{background:var(--bg)}
#scan-repas{background:var(--bg)}
.nutri-hdr{background:linear-gradient(150deg,#3A1A30,#5A2A48);padding:calc(50px + var(--st)) 22px 28px;position:relative;overflow:hidden}
.nutri-hdr::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,rgba(242,180,134,.14),transparent 55%);pointer-events:none}
.nutri-hdr-back{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;color:rgba(246,242,236,.45);text-transform:uppercase;cursor:pointer;margin-bottom:20px;position:relative;z-index:2}
.nutri-hdr-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.nutri-hdr-title{font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:300;color:var(--cream);letter-spacing:-1px;margin-bottom:8px;position:relative;z-index:2}
.nutri-hdr-desc{font-family:"Cormorant Garamond",serif;font-size:15px;font-weight:300;font-style:italic;color:rgba(246,242,236,.55);line-height:1.7;position:relative;z-index:2}
.sh-nutri{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 12px}
.sh-nutri-title{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:300;color:var(--text)}
.sh-nutri-btn{font-size:11px;color:#8B5AAA;cursor:pointer;padding:6px 12px;border:1px solid rgba(139,90,170,.3);border-radius:20px}
.repas-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px}
.repas-card{background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);overflow:hidden;cursor:pointer;transition:all .2s}
.repas-card:active{transform:scale(.97)}
.repas-img{height:64px;display:flex;align-items:center;justify-content:center;font-size:28px}
.repas-pdi .repas-img{background:linear-gradient(135deg,#2A1A10,#4A2A20)}
.repas-dej .repas-img{background:linear-gradient(135deg,#1F4A5C,#3F6A72)}
.repas-din .repas-img{background:linear-gradient(135deg,#1A1A30,#2A2A50)}
.repas-enc .repas-img{background:linear-gradient(135deg,#2A1818,#4A2820)}
.repas-body{padding:10px 12px 12px}
.repas-name{font-size:12px;font-weight:500;color:var(--text)}
.repas-status{font-size:10px;color:var(--text3);margin-top:3px}
.repas-status.done{color:var(--sage)}
.eau-card{margin:0 16px 6px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-lg);padding:20px}
.eau-header{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--text3);margin-bottom:12px;font-weight:500}
.eau-display{font-family:"Cormorant Garamond",serif;font-size:48px;font-weight:300;color:var(--text);line-height:1;margin-bottom:4px}
.eau-objectif{font-size:11px;color:var(--text3);margin-bottom:16px}
.eau-verres{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.eau-verre{width:32px;height:40px;border-radius:4px 4px 6px 6px;border:1.5px solid var(--bord2);background:var(--bg);cursor:pointer;transition:all .2s;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px}
.eau-verre.full{background:rgba(74,120,144,.2);border-color:var(--sky)}
.eau-verre.full::after{content:"";width:14px;height:14px;border-radius:50%;background:var(--sky);opacity:.6}
.eau-btns{display:flex;gap:8px}
.eau-add{flex:1;padding:11px;border:none;border-radius:var(--r-md);background:var(--sky);color:var(--cream);font-family:"DM Sans",sans-serif;font-size:12px;font-weight:500;cursor:pointer}
.eau-reset{padding:11px 16px;border:1.5px solid var(--bord2);border-radius:var(--r-md);background:transparent;font-family:"DM Sans",sans-serif;font-size:12px;color:var(--text3);cursor:pointer}
.bilan-card{margin:0 16px 6px;background:var(--forest);border-radius:var(--r-lg);padding:20px;position:relative;overflow:hidden}
.bilan-card::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 25%,rgba(242,180,134,.18),transparent 55%)}
.bilan-header{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--gold2);margin-bottom:12px;font-weight:500;position:relative;z-index:1}
.bilan-msg{font-family:"Cormorant Garamond",serif;font-size:17px;font-style:italic;color:rgba(246,242,236,.88);line-height:1.55;position:relative;z-index:1;margin-bottom:14px;min-height:52px}
.bilan-btn{padding:10px 18px;border:1px solid rgba(242,180,134,.35);border-radius:20px;background:rgba(242,180,134,.15);font-family:"DM Sans",sans-serif;font-size:11px;color:var(--gold2);cursor:pointer;position:relative;z-index:1}
.recette-card{margin:0 16px 10px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);padding:18px;border-left:3px solid #8B5AAA}
.recette-tag{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#8B5AAA;margin-bottom:6px;font-weight:500}
.recette-name{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:400;color:var(--text);margin-bottom:6px}
.recette-desc{font-size:12px;color:var(--text2);line-height:1.6;margin-bottom:10px}
.recette-meta{display:flex;gap:8px;flex-wrap:wrap}
.recette-pill{padding:4px 10px;border:1px solid var(--bord2);border-radius:20px;font-size:10px;color:var(--text3)}

/* SKINCARE */
#skincare-screen{background:var(--bg)}
.sk-disclaimer{padding:calc(52px + var(--st)) 24px calc(90px + var(--sb))}
.sk-disc-icon{width:64px;height:64px;border-radius:50%;background:rgba(208,122,78,.12);border:1.5px solid rgba(208,122,78,.25);display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.sk-disc-icon svg{width:28px;height:28px;stroke:var(--terra);fill:none;stroke-width:1.5}
.sk-disc-title{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:300;color:var(--text);margin-bottom:12px;line-height:1.1}
.sk-disc-text{font-size:13px;color:var(--text2);line-height:1.75;font-weight:300;margin-bottom:28px}
.sk-disc-blocks{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.sk-disc-block{display:flex;gap:14px;padding:16px;background:var(--cream);border-radius:var(--r-md);border:1px solid var(--bord2)}
.sk-disc-block-text{font-size:12px;color:var(--text2);line-height:1.65;font-weight:300}
.sk-disc-block-text strong{color:var(--text);font-weight:500}
.sk-start-btn{width:100%;padding:17px;border:none;border-radius:var(--r-md);background:var(--forest);font-family:"DM Sans",sans-serif;font-size:13px;font-weight:500;color:var(--cream);cursor:pointer;letter-spacing:2px;text-transform:uppercase;box-shadow:0 6px 24px rgba(22,56,74,.25)}
.sk-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px}
.sk-sphere{width:120px;height:120px;border-radius:50%;background:conic-gradient(from 0deg,var(--forest),var(--sage),var(--gold),var(--terra),var(--forest));animation:sphereSpin 3s linear infinite;position:relative;margin-bottom:32px;box-shadow:0 8px 40px rgba(22,56,74,.25)}
.sk-sphere::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--bg)}
.sk-loading-msg{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:300;font-style:italic;color:var(--text);text-align:center;line-height:1.5;margin-bottom:12px;min-height:60px;transition:opacity .4s}
.sk-results{padding:calc(52px + var(--st)) 20px calc(90px + var(--sb))}
.sk-res-title{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:300;color:var(--text);margin-bottom:6px}
.sk-res-sub{font-size:13px;color:var(--text3);margin-bottom:28px;font-weight:300}
.sk-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}
.sk-score-card{background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-md);padding:16px;text-align:center}
.sk-score-ring{width:64px;height:64px;margin:0 auto 10px;position:relative}
.sk-score-ring svg{transform:rotate(-90deg)}
.sk-score-ring-bg{fill:none;stroke:var(--bord2);stroke-width:5}
.sk-score-ring-fill{fill:none;stroke-width:5;stroke-linecap:round}
.sk-score-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:400;color:var(--text)}
.sk-score-label{font-size:11px;color:var(--text3);letter-spacing:.5px;text-transform:uppercase}
.sk-analysis{background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-lg);padding:20px;margin-bottom:16px}
.sk-analysis-title{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--text3);margin-bottom:12px}
.sk-analysis-text{font-family:"Cormorant Garamond",serif;font-size:16px;font-weight:300;font-style:italic;color:var(--text);line-height:1.75}
.sk-ingr-list{margin-bottom:16px}
.sk-ingr{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid var(--bord2)}
.sk-ingr:last-of-type{border-bottom:none}
.sk-ingr-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}
.sk-ingr-dot.good{background:var(--sage)}
.sk-ingr-dot.warn{background:var(--terra)}
.sk-ingr-name{font-size:13px;font-weight:500;color:var(--text);margin-bottom:2px}
.sk-cta-btn{width:100%;padding:17px;border:none;border-radius:var(--r-md);background:var(--forest);font-family:"DM Sans",sans-serif;font-size:13px;font-weight:500;color:var(--cream);cursor:pointer;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.sk-sec-btn{width:100%;padding:15px;border:1.5px solid var(--bord2);border-radius:var(--r-md);background:transparent;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:300;color:var(--text2);cursor:pointer}

/* TOAST */
.toast{position:fixed;bottom:88px;left:50%;transform:translateX(-50%) translateY(8px);background:var(--forest);color:var(--cream);padding:10px 22px;font-size:12px;font-weight:300;opacity:0;transition:all .3s;pointer-events:none;z-index:300;border-radius:20px;white-space:nowrap}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ANIMATIONS */
@keyframes wordIn{to{opacity:1;transform:translateY(0)}}
@keyframes ruleIn{to{opacity:1}}
@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(10px,-15px) scale(1.05)}66%{transform:translate(-8px,10px) scale(.97)}}
@keyframes floatGlyph{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.8)}}
@keyframes ldot{0%,80%,100%{transform:scale(.5);opacity:.4}40%{transform:scale(1);opacity:1}}
@keyframes sphereSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes breathe{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}

/* DAILY PROGRESS */
.day-progress{margin:6px 0 2px;background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-lg);padding:18px 20px}
.day-progress-title{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--text3);margin-bottom:12px;font-weight:500}
.day-progress-bar-bg{width:100%;height:6px;background:var(--bord2);border-radius:3px;overflow:hidden}
.day-progress-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--sage),var(--gold2));transition:width 1s cubic-bezier(.4,0,.2,1)}
.day-progress-stats{display:flex;justify-content:space-between;margin-top:10px}
.day-progress-stat{font-size:11px;color:var(--text3);font-weight:300}
.day-progress-stat strong{color:var(--text);font-weight:500}

/* ORGANISATION WIDGET DASHBOARD */
.orga-widget{background:var(--cream);border:1.5px solid var(--bord2);border-radius:var(--r-lg);overflow:hidden}
.orga-widget-hdr{display:flex;justify-content:space-between;align-items:center;padding:12px 16px 10px}
.orga-widget-label{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--text3);font-weight:500}
.orga-widget-link{font-size:11px;color:var(--terra);cursor:pointer;font-weight:400;letter-spacing:.3px}
.orga-widget-soin{display:flex;align-items:center;gap:10px;padding:9px 16px;border-top:1px solid rgba(22,56,74,.06);cursor:pointer;transition:background .15s}
.orga-widget-soin:active{background:rgba(22,56,74,.04)}
.ow-check{width:17px;height:17px;border-radius:50%;border:1.5px solid var(--bord2);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}
.ow-check.done{background:var(--sage);border-color:var(--sage)}
.ow-check.done::after{content:"✓";font-size:9px;color:var(--cream);font-weight:600}
.ow-name{font-size:13px;font-weight:300;color:var(--text);flex:1}
.ow-name.done{color:var(--text4);text-decoration:line-through}
.ow-time{font-size:10px;color:var(--text3)}
.orga-widget-rdv{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--bord2);background:rgba(22,56,74,.025)}
.orga-widget-rdv-icon{font-size:14px}
.orga-widget-rdv-info{flex:1;min-width:0}
.orga-widget-rdv-name{font-size:12px;font-weight:400;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orga-widget-rdv-date{font-size:10px;color:var(--text3);margin-top:1px}
.orga-widget-rdv-badge{font-size:9px;padding:3px 8px;border-radius:10px;background:var(--terra);color:var(--cream);font-weight:500;letter-spacing:.3px;flex-shrink:0}
.orga-widget-rdv-badge.soon{background:var(--gold2);color:var(--forest)}
.orga-widget-empty{padding:14px 16px;font-size:12px;color:var(--text4);text-align:center;font-style:italic;border-top:1px solid rgba(22,56,74,.06)}
.orga-widget-tasks{display:flex;align-items:center;gap:8px;padding:9px 16px;border-top:1px solid rgba(22,56,74,.06);cursor:pointer}
.orga-widget-tasks-count{font-size:11px;color:var(--text3);flex:1}
.orga-widget-tasks-count strong{color:var(--terra);font-weight:500}

/* AUBIANE BAR, REPLY ROW */
.seve-bar-reply{display:flex;align-items:center;gap:8px;margin-top:14px;position:relative;z-index:1}
.seve-bar-inp{flex:1;background:rgba(246,242,236,.1);border:1px solid rgba(246,242,236,.18);border-radius:22px;padding:9px 14px;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:300;color:rgba(246,242,236,.9);outline:none;transition:border-color .2s}
.seve-bar-inp::placeholder{color:rgba(246,242,236,.3);font-style:italic}
.seve-bar-inp:focus{border-color:rgba(242,180,134,.5);background:rgba(246,242,236,.14)}
.seve-bar-reply-btn{width:34px;height:34px;border-radius:50%;background:rgba(242,180,134,.25);border:1px solid rgba(242,180,134,.4);color:var(--gold2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;transition:all .2s}
.seve-bar-reply-btn:active{background:rgba(242,180,134,.4)}

/* CHAT SUGGESTIONS */
.chat-sugg-btn{padding:8px 14px;border:1.5px solid var(--bord2);border-radius:20px;background:var(--cream);font-family:"DM Sans",sans-serif;font-size:12px;font-weight:300;color:var(--text2);cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}
.chat-sugg-btn:active{background:rgba(208,122,78,.08);border-color:var(--terra)}

/* JOURNAL SEARCH */
.journal-search{display:flex;gap:8px;margin-bottom:16px}
.journal-search-input{flex:1;padding:10px 14px;border:1.5px solid var(--bord2);border-radius:20px;background:var(--cream);font-family:"DM Sans",sans-serif;font-size:13px;font-weight:300;color:var(--text);outline:none;transition:border-color .2s}
.journal-search-input::placeholder{color:var(--text4)}
.journal-search-input:focus{border-color:var(--terra)}

/* JOURNAL ENTRY DELETE */
.journal-entry{position:relative}
.journal-entry-del{position:absolute;top:12px;right:12px;width:24px;height:24px;border:none;border-radius:50%;background:rgba(208,122,78,.1);color:var(--terra);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.journal-entry:hover .journal-entry-del,.journal-entry:active .journal-entry-del{opacity:1}

/* TYPING INDICATOR */
.typing-indicator{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:11px;color:var(--text3);font-style:italic}

/* MIC RECORDING */
.chat-mic-btn.recording{background:var(--terra);border-color:var(--terra);animation:breathe 1.5s ease-in-out infinite}
.chat-mic-btn.recording svg{stroke:var(--white)}

/* SKELETON LOADING */
.skeleton{background:linear-gradient(90deg,var(--bord2) 25%,var(--bord3) 50%,var(--bord2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--r-sm)}

/* ── iPhone / iOS ──────────────────────────────────────────────────────────
   1) iOS zoome toute la page dès qu'on touche un champ dont la police fait moins de 16 px
      (l'écran se décale et reste zoomé). Tous les champs de saisie passent à 16 px minimum ;
      !important parce que certains champs portent un style inline. */
.chat-inp, .journal-search-input, .seve-bar-inp, .sante-field-input, #ta-libre, #scannerIngs,
.sante-modal input, .sante-modal select, .sante-modal textarea,
#bousBody input[type="time"] { font-size:16px !important; }
/* 2) Les champs date/heure natifs d'iOS imposent une largeur minimale et débordent des grilles. */
input[type="time"], input[type="date"] { -webkit-appearance:none; appearance:none; min-width:0; max-width:100%; color:var(--text); }
div:has(> input[type="time"]), div:has(> input[type="date"]) { min-width:0; }


/* ── Tablette (iPad, Android) : l'app occupe tout l'écran ──────────────────
   L'interface est dessinée en tailles de téléphone. Sur tablette, on l'agrandit
   proportionnellement (comme un iPhone à l'échelle) plutôt que de l'étirer en
   gardant des textes minuscules ; en paysage, les grilles passent à 3 colonnes. */
@media (min-width:744px){
  html{zoom:1.3}
  .ob-step,.sk-loading{min-height:calc(100vh / 1.3)}
}
/* Paysage tablette : détecté par la largeur (et non l orientation), car le clavier
   réduit la hauteur et ferait basculer à tort en mode paysage. */
@media (min-width:1100px){
  .esp-grid,.ed-sub-cards,.repas-grid{grid-template-columns:repeat(3,1fr)}
  .th-grid{grid-template-columns:repeat(3,1fr)}
  .wl-inner{max-width:760px}
  .wl-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
}


/* Clavier ouvert : barre d onglets masquée */
body.kb-open nav.bnav,body.kb-open .bnav-spacer{display:none}
body.kb-open .chat-row{padding-bottom:10px}
.ob-date-wrap{position:relative}.ob-date-ph{position:absolute;left:19px;top:50%;transform:translateY(-50%);font-size:16px;font-weight:300;color:var(--text3);pointer-events:none}.ob-date-wrap.has-val .ob-date-ph{display:none}
