/* ADevolution Kids — design handoff, application-wide */
:root{
  --ad-primary:#7c5cc4;--ad-primary-dark:#5b3fa8;--ad-primary-soft:#ede7fa;
  --ad-pink:#e0679f;--ad-pink-soft:#fbe4ef;
  --ad-green:#2e9b6b;--ad-green-dark:#1f7a52;--ad-green-soft:#dcf3e7;
  --ad-blue:#3e8fd6;--ad-blue-soft:#ddeefb;
  --ad-yellow:#d99a16;--ad-yellow-dark:#a87510;--ad-yellow-soft:#fcf0cc;
  --ad-orange:#f0742e;--ad-orange-dark:#d95b18;--ad-orange-soft:#fde6d8;
  --ad-text:#2b2440;--ad-text-secondary:#6e6689;--ad-muted:#8a819f;
  --ad-bg:#fbf9f6;--ad-card:#fff;--ad-border:#e9e3f4;
  --ad-shadow:0 1px 3px rgba(58,42,99,.06),0 8px 24px rgba(58,42,99,.08);
  --ad-shadow-high:0 2px 6px rgba(58,42,99,.08),0 14px 36px rgba(58,42,99,.13);
}

html,body{background:var(--ad-bg);color:var(--ad-text)}
body::before{background:
  radial-gradient(circle at 8% 4%,rgba(237,231,250,.9),transparent 32%),
  radial-gradient(circle at 94% 18%,rgba(221,238,251,.75),transparent 28%),
  radial-gradient(circle at 85% 94%,rgba(252,240,204,.6),transparent 30%),
  var(--ad-bg);animation:none}
#app{max-width:520px;background:rgba(251,249,246,.82)}
#splash{display:none!important}
.screen>.lang-bar{display:none!important}
button,[onclick],.qa,.wday,.slot-card,.pcrd,.set-item{touch-action:manipulation}
button:focus-visible,[onclick]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(124,92,196,.42)!important;outline-offset:2px
}
.lang-bar{padding:calc(6px + env(safe-area-inset-top,0px)) 16px 6px;background:rgba(251,249,246,.9);border:0}
.lang-btn{min-height:36px;padding:6px 13px;border-color:var(--ad-border);background:#fff;color:var(--ad-text-secondary)}
.lang-btn.active{background:var(--ad-primary-soft);color:var(--ad-primary-dark);border-color:#d9cdf0}
.sound-toggle{width:44px;height:44px;border:0;background:var(--ad-yellow-soft)}
.topbar{min-height:68px;padding:8px 16px 10px;background:rgba(251,249,246,.94);border:0;box-shadow:0 1px 0 var(--ad-border)}
.tlogo{width:44px;height:44px;border-radius:15px;box-shadow:none}
.ttitle{font-size:1.25rem;font-weight:800;color:var(--ad-text)}
.tsub{color:var(--ad-text-secondary)}
.tbtn{width:44px;height:44px;border-radius:14px;background:var(--ad-primary-soft);color:var(--ad-primary-dark)}
.tbtn-g{gap:8px}.scroll{padding:16px 16px calc(96px + env(safe-area-inset-bottom,0px))}
.sec{font-size:1.08rem;margin:22px 0 10px;color:var(--ad-text)}

/* Section identity */
#screen-planning .topbar{background:linear-gradient(110deg,#f6f1fd,#edf6fd)}
#screen-picto .topbar{background:linear-gradient(110deg,#eaf8f0,#f7fcf8)}
#screen-print .topbar{background:linear-gradient(110deg,#fff7db,#fffdf7)}
#screen-activities .topbar{background:linear-gradient(110deg,#fff0e7,#fff8de)}
#screen-paiement .topbar{background:linear-gradient(110deg,#7c5cc4,#e0679f)}
#screen-paiement .ttitle,#screen-paiement .tsub{color:#fff}
#screen-ressources .topbar{background:linear-gradient(110deg,#e9f4fd,#f7fbff)}
#screen-settings .topbar{background:linear-gradient(110deg,#f2edfb,#fbf9f6)}

/* Cards and controls across generated screens */
.slot-card,.pcrd,.print-card,.res-card,.act-lib-card,.pay-card,.plan-card,.set-item,
.modal,.modal-box,.uauth-box,.conf-box{
  background:var(--ad-card)!important;border:1px solid var(--ad-border)!important;
  border-radius:20px!important;box-shadow:var(--ad-shadow)!important
}
.slot-card{padding:14px}.slot-left{width:48px}.slot-time{color:var(--ad-text-secondary)}
.slot-dot{width:12px;height:12px}.slot-img{width:68px;height:68px}
.sc-btn,.picto-sound-btn,.pcrd-act{min-width:44px;min-height:44px;border-radius:13px}
.dsel,.ptabs{gap:8px;padding:12px 16px 2px}
.dc,.ptab{min-height:44px;padding:9px 15px;background:#fff;border-color:var(--ad-border);color:var(--ad-text-secondary)}
.dc.active,.ptab.active{background:linear-gradient(135deg,var(--ad-primary),var(--ad-primary-dark));box-shadow:0 6px 18px rgba(124,92,196,.28)}
.prog-wrap{margin:12px 16px 0;padding:14px 16px;background:#fff;border:1px solid var(--ad-border);box-shadow:var(--ad-shadow)}
.prog-fill{background:linear-gradient(90deg,var(--ad-primary),var(--ad-pink))}
.psearch{margin:12px 16px 0}.psearch input{min-height:48px;border-radius:16px;background:#fff;border-color:var(--ad-border);font-size:1rem}
.pgrid{gap:12px}.pcrd{padding:12px 8px}.picto-img-zone{width:76px;height:76px;box-shadow:none}
.board-banner{padding:16px;border:0;border-radius:20px;background:linear-gradient(135deg,var(--ad-blue-soft),#f5faff);box-shadow:var(--ad-shadow)}
.bb-btn,.add-picto-cta,.btn-pri,.print-btn,.pay-btn{min-height:48px;border-radius:999px!important;font-weight:900!important}
.add-picto-cta{border:2px dashed #cfc0eb!important;background:#faf8fe!important;color:var(--ad-primary-dark)!important}
.fab{width:58px;height:58px;bottom:calc(78px + env(safe-area-inset-bottom,0px));border-radius:50%!important}
.set-item{min-height:64px}.set-ico{width:44px;height:44px;border-radius:14px}

/* Bottom navigation: five primary destinations */
.bnav{padding:5px 8px calc(7px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.94)!important}
.ni{min-height:56px;border-radius:14px}.ni-icon{font-size:1.35rem}.ni-lbl{font-size:.68rem;color:var(--ad-muted)}
#nav-calm,#nav-settings{display:none}
.ni.active{background:transparent!important}.ni.active .ni-lbl{color:var(--ad-primary-dark)}

/* Side menu for secondary destinations */
.ad-menu-trigger{border:0;background:var(--ad-primary-soft);color:var(--ad-primary-dark);width:44px;height:44px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;font-size:1.35rem;cursor:pointer;flex:0 0 auto}
.ad-menu-overlay{display:none;position:absolute;inset:0;z-index:900;background:rgba(29,23,48,.46);backdrop-filter:blur(2px)}
.ad-menu-overlay.open{display:block}.ad-menu-panel{height:100%;width:min(82%,310px);padding:calc(18px + env(safe-area-inset-top,0px)) 16px 24px;
  background:var(--ad-bg);border-radius:0 28px 28px 0;box-shadow:var(--ad-shadow-high);animation:adMenuIn .22s ease-out}
.ad-menu-head{display:flex;align-items:center;gap:10px;margin-bottom:22px}.ad-menu-head img{width:132px;height:auto}
.ad-menu-close{margin-left:auto;border:0;background:#fff;width:44px;height:44px;border-radius:14px;color:var(--ad-text);font-size:1.25rem}
.ad-menu-list{display:grid;gap:8px}.ad-menu-item{width:100%;min-height:54px;padding:8px 12px;border:0;border-radius:16px;background:transparent;
  display:flex;align-items:center;gap:12px;font:800 .95rem Nunito,sans-serif;color:var(--ad-text);text-align:left}
.ad-menu-item:hover,.ad-menu-item:focus-visible{background:var(--ad-primary-soft);color:var(--ad-primary-dark)}
.ad-menu-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff;box-shadow:0 2px 8px rgba(58,42,99,.07)}
.ad-menu-pro{margin-top:18px;padding:16px;border:0;border-radius:20px;width:100%;text-align:left;color:#fff;
  background:linear-gradient(125deg,var(--ad-primary),var(--ad-pink));box-shadow:0 7px 20px rgba(124,92,196,.28)}
.ad-menu-pro strong{display:block;font-size:1rem}.ad-menu-pro span{font-size:.78rem;opacity:.88}
@keyframes adMenuIn{from{transform:translateX(-100%)}to{transform:none}}

/* Welcome/auth */
#user-auth-overlay{background:
  radial-gradient(circle at 8% 8%,#ede7fa 0,transparent 40%),
  radial-gradient(circle at 92% 18%,#ddeefb 0,transparent 38%),
  radial-gradient(circle at 86% 92%,#fcf0cc 0,transparent 38%),
  radial-gradient(circle at 8% 88%,#fbe4ef 0,transparent 34%),var(--ad-bg)!important}
.uauth-box{padding:24px!important}.uauth-body input,.field input,.field select,.field textarea{min-height:48px;font-size:1rem!important}
.uauth-btn,.btn-pri{background:linear-gradient(135deg,var(--ad-primary),var(--ad-primary-dark))!important}

/* Calm stays dark, but uses same geometry and accessible controls */
#screen-calm{background:linear-gradient(160deg,#211637,#102438)}
.calm-player,.calm-card{border-radius:20px}.calm-btn,.calm-dim-btn,.calm-hist-btn,.calm-timer-btn,.calm-cat-btn{min-height:44px}

@media(min-width:700px){
  #app{max-width:760px}.pgrid{grid-template-columns:repeat(4,1fr)}.qa-grid{grid-template-columns:repeat(3,1fr)}
  .ad-menu-panel{width:330px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Reference-image overview screens */
.ref-screen{background:var(--ad-bg)}.ref-appbar{min-height:66px;padding:calc(8px + env(safe-area-inset-top,0px)) 18px 8px;display:grid;grid-template-columns:44px 1fr 92px;align-items:center;border-bottom:1px solid var(--ad-border);background:#fff}
.ref-appbar h1{font:800 1.12rem "Baloo 2",Nunito,sans-serif;text-align:center;color:var(--ad-text)}.ref-back,.ref-icon-btn{width:44px;height:44px;border:0;border-radius:14px;background:#fff;color:var(--ad-text);font-size:1.2rem;display:grid;place-items:center}.ref-appbar-actions{display:flex;justify-content:flex-end;gap:4px}.ref-scroll{flex:1;overflow-y:auto;padding-bottom:96px}
.ref-hero{min-height:196px;padding:30px 26px;position:relative;overflow:hidden}.ref-hero h2{max-width:210px;margin:0;font:800 1.55rem/1.08 "Baloo 2",Nunito,sans-serif}.ref-hero p{max-width:205px;margin:10px 0 0;font-size:.95rem;font-weight:650;line-height:1.4}.ref-hero.plan{background:linear-gradient(135deg,#EDE7FA,#D9CBF5)}.ref-hero.picto{background:linear-gradient(135deg,#DCF3E7,#EFF9F0);color:#0D5E49}
.ref-hero-art{position:absolute;right:24px;top:38px;width:92px;height:92px;border-radius:22px;background:#fff;display:grid;place-items:center;font-size:3.6rem;box-shadow:var(--ad-shadow-high);transform:rotate(3deg)}
.ref-feature-list{padding:18px 20px;background:rgba(255,255,255,.72);border-radius:24px 24px 0 0}.ref-feature{display:flex;align-items:center;gap:14px;padding:11px 0}.ref-feature-ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.25rem;flex:none}.plan .ref-feature-ico{background:#EDE7FA;color:#5B3FA8}.picto .ref-feature-ico{background:#DCF3E7;color:#1F7A52}.ref-feature b{display:block;font-size:.92rem}.ref-feature span{display:block;margin-top:2px;color:var(--ad-text-secondary);font-size:.78rem;font-weight:650}
.ref-preview{margin:4px 20px 18px;padding:16px;border:1px solid var(--ad-border);border-radius:20px;background:rgba(255,255,255,.75)}.ref-preview h3{margin:0 0 14px;font-size:.88rem}.ref-preview-row{display:flex;align-items:center;gap:7px}.ref-preview-card{flex:1;min-width:0;padding:12px 4px;border-radius:16px;background:#fff;text-align:center;box-shadow:var(--ad-shadow)}.ref-preview-card i{display:block;font-style:normal;font-size:1.9rem}.ref-preview-card b{display:block;margin-top:6px;font-size:.65rem}.ref-arrow{color:var(--ad-primary);font-weight:900}.ref-dots{display:flex;justify-content:center;gap:7px;margin-top:14px}.ref-dot{width:8px;height:8px;border-radius:50%;background:#ded9e8}.ref-dot.active{background:var(--ad-primary)}
.ref-pricebar{margin:0 20px 18px;padding:14px 16px;border-radius:20px;background:#fff;box-shadow:var(--ad-shadow);display:flex;align-items:center;gap:12px}.ref-price{font:800 1.45rem "Baloo 2",Nunito,sans-serif;color:var(--ad-primary-dark)}.ref-price small{font:800 .72rem Nunito,sans-serif;color:var(--ad-muted)}.ref-price-sub{font-size:.7rem;color:var(--ad-muted);font-weight:700}.ref-cta{margin-left:auto;min-height:48px;padding:0 19px;border:0;border-radius:999px;color:#fff;font:900 .8rem Nunito,sans-serif;background:linear-gradient(135deg,var(--ad-primary),var(--ad-primary-dark));box-shadow:0 6px 18px rgba(124,92,196,.3)}

/* Production welcome screen */
#screen-welcome{background:radial-gradient(circle at -5% 0,#E5D9FA 0 24%,transparent 25%),radial-gradient(circle at 112% 96%,#EDE4FC 0 24%,transparent 25%),linear-gradient(160deg,#fff,#FBF8FF 58%,#F7F1FF)}
.welcome-body{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:calc(20px + env(safe-area-inset-top,0px)) 28px 20px;text-align:center;position:relative}.welcome-body::before,.welcome-body::after{content:"✦";position:absolute;color:#B9A3E3;font-size:1.45rem}.welcome-body::before{top:16%;right:12%}.welcome-body::after{bottom:20%;left:12%;color:#E7A820}
.welcome-logo{width:min(280px,82%);height:auto}.welcome-tagline{margin:24px 0 0;font-size:1.1rem;line-height:1.45;font-weight:900;color:#1F1A4F}.welcome-tagline span{font-weight:650;color:#5D5580}.welcome-tagline em{font-style:normal;color:#7C5CC4}.welcome-actions{width:100%;padding:0 28px calc(34px + env(safe-area-inset-bottom,0px));display:grid;gap:12px}.welcome-primary,.welcome-login{min-height:52px;border-radius:999px;font:900 .95rem Nunito,sans-serif}.welcome-primary{border:0;color:#fff;background:linear-gradient(135deg,#7C5CC4,#5B3FA8);box-shadow:0 8px 22px rgba(124,92,196,.34)}.welcome-login{border:0;background:transparent;color:#3A2A63}.welcome-login span{color:#7C5CC4}
.screen:not(#screen-calm)>.topbar{min-height:66px;background:#fff!important;border-bottom:1px solid var(--ad-border)!important;box-shadow:none!important}.screen:not(#screen-calm)>.topbar .tlogo{background:var(--ad-primary-soft);color:var(--ad-primary-dark);box-shadow:none}.screen:not(#screen-calm)>.scroll{background:linear-gradient(180deg,rgba(248,245,253,.62),rgba(251,249,246,.92))}
#screen-welcome.active~.bnav,#screen-welcome.active~#guide-wrap{display:none!important}
#guide-wrap{display:none!important}
#screen-home .topbar{display:grid;grid-template-columns:44px 1fr 44px;gap:10px}
#screen-home .tbrand{justify-content:center;min-width:0}
#screen-home .tbrand .tlogo{width:auto!important;height:48px!important}
#screen-home .tbrand .tlogo img{
  content:url("./icons/logo-splash.png")!important;
  width:142px!important;height:48px!important;max-width:100%!important;border-radius:0!important;object-fit:contain!important
}
#screen-home .hero-card{
  padding:18px!important;border-radius:22px!important;border:1px solid #e5d8f2!important;
  background:linear-gradient(135deg,#f1e7f8 0%,#ede4f4 100%)!important;
  box-shadow:0 7px 20px rgba(91,63,168,.10)!important;color:var(--ad-text)!important
}
#screen-home .hero-card::before{background:rgba(255,255,255,.45)!important}
#screen-home .hero-card::after{display:none!important}
#screen-home .hero-greet{color:#3a2a63!important}
#screen-home .hero-name{color:#3a2a63!important;font-size:1.48rem!important}
#screen-home .hero-date{color:#6e6689!important}
#screen-home .hstat{background:rgba(255,255,255,.88)!important;border:1px solid #e6ddf0!important;border-radius:14px!important;backdrop-filter:none!important}
#screen-home .hstat-n{color:#6b4bc2!important}
#screen-home .hstat-l{color:#5f5677!important}
#screen-home .hstat:nth-child(2) .hstat-n{color:#22936e!important}
#screen-home .hstat:nth-child(3) .hstat-n{color:#e88d1d!important}
#screen-home .qa{min-height:108px!important;padding:12px!important}
#screen-home .qa-emoji{width:38px;height:38px;margin-bottom:5px;font-size:1.5rem}
#screen-home .qa-title{font-size:.88rem}
#screen-home .qa-sub{font-size:.72rem}
@media(max-width:520px){
  #app{max-width:none;width:100%;height:100dvh}
  .welcome-logo{width:min(270px,82%)}
  #screen-planning .slot-card{padding:12px!important}
  #screen-planning .sc-hdr{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px}
  #screen-planning .slot-img{width:56px;height:56px}
  #screen-planning .sc-btns{
    grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;
    padding-top:10px;border-top:1px solid var(--ad-border)
  }
  #screen-planning .sc-btn{width:100%;min-width:0;min-height:38px;height:38px}
  #screen-planning .slot-desc{font-size:.78rem;line-height:1.35}
}
