:root{
  --ink:#071635;
  --muted:#5e6b82;
  --blue:#0a6ff0;
  --blue-2:#075ad0;
  --sky:#eaf5ff;
  --sky-2:#d8ebff;
  --card:#ffffff;
  --line:#d7e7fb;
  --gold:#f7bd24;
  --gold-2:#fff1b8;
  --shadow:0 18px 42px rgba(11,67,135,.13);
  --shadow-soft:0 10px 24px rgba(11,67,135,.09);
}
*{box-sizing:border-box}
html{min-height:100%;background:#edf6ff}
body{
  margin:0;
  min-height:100dvh;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 22% 0%,rgba(255,255,255,.72) 0 9%,transparent 28%),
    linear-gradient(180deg,#0a83ff 0%,#0667e8 30%,#eff8ff 31%,#f7fbff 72%,#fff7d9 100%);
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
a,button{-webkit-tap-highlight-color:transparent}
.app{min-height:100dvh;padding-bottom:calc(42px + env(safe-area-inset-bottom))}
.hero{
  position:relative;
  isolation:isolate;
  text-align:center;
  color:#fff;
  padding:38px 22px 86px;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 18%,rgba(84,204,255,.9),transparent 32%),
    linear-gradient(155deg,#12a4ff 0%,#0878f6 48%,#0552c8 100%);
}
.hero:before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 45%,rgba(0,34,96,.10));
  pointer-events:none;
}
.hero:after{
  content:"";
  position:absolute;left:-10%;right:-10%;bottom:-36px;height:92px;
  background:linear-gradient(180deg,#f1f9ff,#edf6ff);
  border-radius:50% 50% 0 0/66% 66% 0 0;
  box-shadow:0 -16px 38px rgba(255,255,255,.20);
  z-index:0;
}
.hero-art{height:104px;position:relative;margin:2px auto 8px;max-width:390px;z-index:1;filter:drop-shadow(0 18px 26px rgba(0,42,118,.22))}
.mini-card,.mini-doc{position:absolute;border-radius:26px;background:#fff}
.mini-card{left:8%;top:18px;width:158px;height:82px;border-top:27px solid #f4d05c;transform:rotate(-6deg)}
.mini-card:before,.mini-card:after{content:"";position:absolute;border-radius:999px;height:12px;left:28px;top:17px;background:#0a76f8}
.mini-card:before{width:66px;box-shadow:84px 0 #dbe9ff,0 31px #dbe9ff}
.mini-card:after{top:49px;left:112px;width:74px;background:#0867df}
.mini-doc{right:9%;top:1px;width:112px;height:112px;background:#0a327f;border:10px solid rgba(255,255,255,.96);transform:rotate(6deg)}
.mini-doc:before{content:"";position:absolute;left:24px;right:24px;top:30px;height:12px;border-radius:999px;background:#eaf5ff;box-shadow:0 34px #f4d05c}
.pill{
  position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;
  min-width:160px;padding:11px 28px;border-radius:999px;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 14px 28px rgba(0,45,120,.12);
  font-size:22px;font-weight:900;letter-spacing:.24em;
  backdrop-filter:blur(10px);
}
h1{position:relative;z-index:1;margin:18px auto 10px;max-width:620px;font-size:52px;line-height:.94;font-weight:950;letter-spacing:-2.4px}
.hero p{position:relative;z-index:1;margin:0 auto;max-width:520px;font-size:21px;line-height:1.18;font-weight:750;letter-spacing:-.35px;color:rgba(255,255,255,.94)}
.panel{
  position:relative;margin:-50px auto 0;padding:28px 18px 44px;max-width:760px;
  background:linear-gradient(180deg,rgba(242,249,255,.96),rgba(246,251,255,.94));
  border-radius:38px 38px 0 0;
  box-shadow:0 -16px 46px rgba(20,87,158,.10);
}
.update{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:0 auto 20px;max-width:580px;padding:15px 18px;
  background:#fff;border:1px solid var(--line);border-radius:999px;
  box-shadow:var(--shadow-soft);
  font-size:23px;line-height:1;font-weight:850;letter-spacing:-.45px;
}
.update span{color:var(--blue);font-weight:950}
.card{
  max-width:650px;margin:0 auto 18px;padding:22px;
  display:grid;grid-template-columns:72px 1fr;gap:10px 16px;align-items:center;
  background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:30px;
  box-shadow:var(--shadow);
}
.icon{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#e8f4ff,#fff);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.icon img{width:100%;height:100%;display:block}
.icon.warm{background:linear-gradient(145deg,#fff2ae,#fff9de)}
.icon.baby{background:linear-gradient(145deg,#e0f0ff,#fff)}
.txt h2{margin:0;font-size:35px;line-height:1.02;font-weight:950;letter-spacing:-1.2px;color:#071635}
.txt p{display:none}
.btn{
  grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  margin-top:6px;padding:15px 16px;border-radius:18px;border:0;text-decoration:none;text-align:center;
  font-size:21px;line-height:1.08;font-weight:900;letter-spacing:-.35px;cursor:pointer;
  transition:transform .14s ease,filter .14s ease,box-shadow .14s ease;
}
.btn:active{transform:scale(.985);filter:brightness(.97)}
.primary{color:#fff;background:linear-gradient(180deg,#1287ff 0%,#0a6ff0 52%,#075bd2 100%);box-shadow:0 10px 22px rgba(7,101,220,.30),inset 0 1px 0 rgba(255,255,255,.28)}
.secondary{color:#0a5fbf;background:linear-gradient(180deg,#f8fcff,#eaf4ff);border:1.5px solid #cfe3fb;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.gold{color:#5b3d00;background:linear-gradient(180deg,#ffdb57,#f5b929);box-shadow:0 10px 20px rgba(218,151,0,.18),inset 0 1px 0 rgba(255,255,255,.38)}
.gold.soft{color:#684500;background:linear-gradient(180deg,#fff7ce,#ffed9c);box-shadow:none;border:1px solid #f6dc77}
.primary::before{content:"👁️"}.print::before{content:"🖨️"}.secondary:not(.print)::before{content:"📅"}.teamlink::before{content:"🤝"}.gold.soft::before{content:"↻"}
.badge{grid-column:1/-1;margin-top:6px;padding:15px 16px;border-radius:18px;text-align:center;font-size:21px;font-weight:900;letter-spacing:-.3px}
.badge.blue{background:linear-gradient(180deg,#f8fcff,#eaf4ff);border:1.5px solid #cfe3fb;color:#0a5fbf}
.help-link{display:block;margin:24px auto 0;padding:14px 22px;border:1px solid rgba(205,224,246,.8);border-radius:999px;background:rgba(255,255,255,.78);box-shadow:var(--shadow-soft);color:#536174;font-size:17px;font-weight:900;letter-spacing:-.2px}
.modal{border:0;border-radius:32px;width:min(92vw,660px);padding:0;background:transparent;overflow:visible}
.modal::backdrop{background:rgba(5,18,43,.48);backdrop-filter:blur(8px)}
.modal-box{position:relative;max-height:82dvh;overflow:auto;padding:28px 22px 24px;background:linear-gradient(180deg,#fff 0%,#f4faff 72%,#fff5c8 100%);border:1px solid rgba(255,255,255,.78);border-radius:32px;box-shadow:0 26px 70px rgba(0,0,0,.26)}
.close{position:sticky;float:right;top:0;z-index:2;width:52px;height:52px;margin:-6px -4px 0 12px;border-radius:50%;border:2px solid #bfe0ff;background:#eef7ff;color:#07356f;font-size:33px;line-height:1;font-weight:900;box-shadow:0 8px 18px rgba(7,66,132,.12)}
.modal h3{margin:14px 58px 12px 0;font-size:36px;line-height:1.02;font-weight:950;letter-spacing:-1.4px;color:#000}
.modal p,.modal li{font-size:20px;line-height:1.32;color:#344156;font-weight:780;letter-spacing:-.25px}
.modal ol{padding-left:26px;margin:14px 0}.modal li{padding-left:6px;margin:7px 0}
.list{display:grid;gap:12px;margin-top:18px}.file-row{display:flex;gap:14px;align-items:center;padding:15px;border-radius:20px;background:#fff;text-decoration:none;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.file-ico{width:46px;height:46px;min-width:46px;border-radius:15px;display:inline-grid;place-items:center;background:#eaf4ff;position:relative}
.file-row strong{display:block;font-size:20px;line-height:1.08}.file-row small{display:block;color:#68748a;font-size:14px;font-weight:750;margin-top:4px}.loading,.empty{padding:18px;border-radius:18px;background:#fff;color:#647086;font-weight:850}.copy-text{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;margin:18px 0;font-size:22px;line-height:1.15;font-weight:900;letter-spacing:-.5px;color:#000}.file-button{width:100%;border:1px solid var(--line);font:inherit;text-align:left;cursor:pointer}.download-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow-soft);display:grid;gap:10px;text-align:left}.download-ico{width:58px;height:58px;border-radius:18px;background:#eaf4ff;display:grid;place-items:center;font-size:31px;margin-bottom:4px}.download-card strong{font-size:25px;line-height:1.06;color:var(--ink)}.download-card small{font-size:16px;color:#68748a;font-weight:800;margin-bottom:8px}.download-main{margin-top:10px}.mini-help{font-size:18px;padding:14px 16px;margin-top:8px}.back-list{border:0;background:transparent;color:#0b5fc4;font-size:17px;font-weight:900;padding:10px 0;margin-top:4px;text-align:left;cursor:pointer}.top-back{margin:0 0 12px 0;width:100%}
.file-pdf:before{content:"";width:24px;height:30px;border-radius:5px;background:#fff;border:3px solid #1d7cff;display:block}.file-pdf:after{content:"";position:absolute;width:19px;height:4px;border-radius:4px;background:#ffd24d;top:20px;left:13px;box-shadow:0 9px #d9eaff}.file-calendar:before,.calendar-art:before{content:"";width:29px;height:33px;border-radius:8px;background:#fff;border:4px solid #1d7cff;display:block}.file-calendar:after,.calendar-art:after{content:"";position:absolute;width:21px;height:5px;border-radius:4px;background:#ffd24d;top:20px;left:13px;box-shadow:0 10px #d9eaff}.calendar-art{position:relative}.file-folder{background:linear-gradient(135deg,#dff0ff,#fff);position:relative}.file-folder::before{content:'📁';font-size:29px;line-height:1}
@media(max-width:430px){
  .hero{padding:32px 20px 78px}.hero-art{height:92px;max-width:340px}.mini-card{width:142px;height:74px;border-top-width:25px;border-radius:22px}.mini-doc{width:100px;height:100px;border-width:9px;border-radius:24px}.pill{font-size:18px;min-width:142px;padding:10px 24px}h1{font-size:44px;letter-spacing:-1.9px}.hero p{font-size:19px;max-width:330px}.panel{margin-top:-46px;padding:24px 16px 38px;border-radius:34px 34px 0 0}.update{font-size:20px;padding:14px 16px;margin-bottom:18px}.card{grid-template-columns:62px 1fr;gap:8px 14px;padding:18px;border-radius:27px;margin-bottom:17px}.icon{width:58px;height:58px;border-radius:18px}.txt h2{font-size:30px;letter-spacing:-1px}.btn{font-size:19px;padding:14px 14px;border-radius:17px}.badge{font-size:19px;padding:14px}.help-link{font-size:16px}.modal{width:min(91vw,660px)}.modal-box{max-height:78dvh;padding:24px 18px 22px;border-radius:30px}.close{width:49px;height:49px;font-size:31px}.modal h3{font-size:32px;margin-top:8px}.modal p,.modal li{font-size:19px}.copy-text{font-size:20px}.file-row strong{font-size:19px}.download-card strong{font-size:23px}}
@media(max-width:360px){h1{font-size:40px}.txt h2{font-size:27px}.btn{font-size:18px}.update{font-size:18px}}


/* CORRECTION CIBLÉE : titre + icône, boutons propres */
.card{display:grid !important;grid-template-columns:66px minmax(0,1fr) !important;align-items:center !important;}
.card>.icon{grid-column:1 !important;grid-row:1 !important;}
.card>.txt{grid-column:2 !important;grid-row:1 !important;min-width:0 !important;}
.card>.txt h2{white-space:nowrap !important;overflow:visible !important;}
.card>.btn,.card>.badge{grid-column:1 / -1 !important;}
.card img{max-width:100%;height:auto;}
.card .icon img{width:100% !important;height:100% !important;object-fit:contain !important;}
@media(max-width:430px){.card{grid-template-columns:58px minmax(0,1fr) !important}.card>.txt h2{font-size:29px !important}.btn{font-size:19px !important;min-height:58px}}
@media(max-width:360px){.card>.txt h2{font-size:26px !important}.btn{font-size:18px !important}}
