:root{--cyan: #2BABE1;--ink: #1F1F20;--bleu-texte: #176E94;--ink-soft: #3d3d3d;--sand: #f8f5f0;--white: #ffffff;--cyan-light: #e8f6fc;--gray-bg: #f5f7f9;--border: #e6e9ec;--cyan-dark: #176E94;--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--r-pill: 999px;--sh-card: 0 2px 16px rgba(0,0,0,.04);--sh-float: 0 12px 32px rgba(0,0,0,.08);--sh-modal: 0 24px 60px rgba(0,0,0,.3);--sh-btn: 0 4px 14px rgba(23, 110, 148, .3);--sh-pill: 0 2px 8px rgba(43, 171, 225, .1);--font-body: "Inter", sans-serif;--font-title: "Playfair Display", serif;--font-script: "Great Vibes", cursive;--header-grad: linear-gradient(135deg, #ffffff 0%, var(--cyan-light) 100%);--gray: #6b7280;--gray-mid: #9ca3af;--gray-bg-alt: #f3f4f6;--ink-mid: #2a3a4a;--green: #22c55e;--green-dark: #16a34a;--green-light: #dcfce7;--orange: #f59e0b;--orange-dark: #d97706;--orange-light: #fef3c7;--red: #ef4444;--red-dark: #dc2626;--red-light: #fee2e2;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overflow-x:hidden}body{font-family:var(--font-body);background:var(--sand);-webkit-font-smoothing:antialiased;overscroll-behavior:none}#root{max-width:430px;margin:0 auto;height:100dvh;background:#fff;position:relative;display:flex;flex-direction:column}@media (min-width: 431px) and (max-width: 767px){#root{box-shadow:0 0 0 1px var(--border),var(--sh-float)}}.screen-content{-webkit-overflow-scrolling:touch;overflow-y:scroll!important;overscroll-behavior-y:contain}body.landing-mode #root,body.admin-mode #root{max-width:none;height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;flex-direction:column}body.auth-mode #root{height:auto;min-height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.desktop-sidebar{display:none}.auth-shell{display:contents}@media (min-width: 768px){body{background:var(--gray-bg)}#root{max-width:none;background:var(--gray-bg);flex-direction:row}.desktop-sidebar{display:flex}.mobile-bottomnav{display:none!important}.desktop-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100dvh;overflow:hidden}.desktop-main>*{max-width:100%}.screen-content{padding-bottom:24px}.home-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;max-width:960px;margin:0 auto;padding:24px 32px 32px}.home-header-desktop{border-radius:20px;max-width:960px;margin:24px auto 0;overflow:hidden}.home-right-col{display:flex;flex-direction:column;gap:20px}.home-grid .home-shortcuts{display:flex;flex-direction:column;gap:12px}.planning-cal-wrapper{display:grid;grid-template-columns:300px 1fr;gap:24px;max-width:960px;align-items:start}.planning-cal-wrapper .planning-day-cell{aspect-ratio:auto;min-height:40px}.planning-cal-wrapper>*:not(.planning-detail-desktop){grid-column:1}.planning-detail-desktop{grid-column:2;grid-row:1 / -1;position:sticky;top:16px}.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;max-width:1060px;margin:0 auto}.resources-grid>div{margin-bottom:0!important}.resources-grid-large{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;max-width:1060px;margin:0 auto}.resource-card-large:hover{transform:translateY(-4px);box-shadow:0 14px 32px #2babe12e!important}.desktop-main .screen-content{max-width:1060px;margin-left:auto;margin-right:auto;width:100%}.desktop-main .screen-content>div{transition:box-shadow .2s}.auth-shell{width:100%;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--gray-bg)}.auth-shell>*{width:100%;max-width:480px;min-height:auto;max-height:90dvh;border-radius:24px;box-shadow:0 20px 60px #00000014;overflow:auto;-webkit-overflow-scrolling:touch;background:#fff}.payment-banner{left:240px!important;right:0!important;transform:none!important;max-width:none!important;width:auto!important}}@media (min-width: 768px) and (max-width: 899px){.home-header-desktop{margin:20px 20px 0}.home-grid{grid-template-columns:1fr;padding:20px 20px 28px}.planning-cal-wrapper{grid-template-columns:1fr}.planning-detail-desktop{grid-column:1;grid-row:auto;position:static}}@media (max-width: 767px){::-webkit-scrollbar{display:none}}@media (min-width: 768px){::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-up{animation:fadeUp .3s ease forwards}.fade-in{animation:fadeIn .25s ease forwards}button,.btn{cursor:pointer;border:none;outline:none;font-family:Inter,sans-serif}button:active,.btn:active{transform:scale(.97);transition:transform .1s}input,textarea{font-family:Inter,sans-serif;outline:none;border:none}.screen-content{padding-bottom:calc(80px + var(--safe-bottom))}.landing{--cyan: #2babe1;--cyan-dark: #1e8db8;--cyan-light: #e8f6fc;--ink: #1f1f20;--ink-soft: #3d3d3d;--sand: #f8f5f0;--gray-bg: #f5f7f9;--white: #ffffff;--border: #e6e9ec;font-family:Inter,sans-serif;color:var(--ink);background:var(--white);line-height:1.65;font-weight:400;overflow-x:hidden;width:100%;min-height:100dvh}.landing h1,.landing h2,.landing h3{font-family:Playfair Display,serif;font-weight:600;line-height:1.2}.landing a{color:var(--cyan-dark);text-decoration:none}.landing .lp-container{max-width:1180px;margin:0 auto;padding:0 24px}.landing.landing-compact{display:flex;flex-direction:column}.landing.landing-compact .lp-hero{flex:1 0 auto}.landing .lp-nav{position:sticky;top:0;z-index:100;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.landing .lp-nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1180px;margin:0 auto;gap:24px}.landing .lp-logo-img{height:68px;width:auto;display:block}.landing .lp-logo-fallback{font-family:Great Vibes,cursive;font-size:34px;color:var(--ink);font-weight:700;display:none}.landing .lp-logo-fallback span{color:var(--cyan)}.landing .lp-btn{display:inline-block;padding:12px 26px;border-radius:999px;font-weight:600;font-size:15px;transition:all .25s;cursor:pointer;border:none;text-align:center}.landing .lp-btn-primary{background:var(--cyan);color:#fff;box-shadow:0 4px 14px #2babe14d}.landing .lp-btn-primary:hover{background:var(--cyan-dark);transform:translateY(-2px);box-shadow:0 6px 20px #2babe166}.landing .lp-btn-outline{background:transparent;color:var(--ink);border:2px solid var(--ink)}.landing .lp-btn-outline:hover{background:var(--ink);color:#fff}.landing .lp-hero{padding:90px 0 110px;background:linear-gradient(135deg,#ffffff 0%,var(--cyan-light) 100%);position:relative;overflow:hidden}.landing .lp-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.landing .lp-hero-eyebrow{display:inline-block;padding:8px 16px;border-radius:999px;background:#fff;color:var(--cyan-dark);font-weight:600;font-size:13px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:20px;box-shadow:0 2px 8px #2babe11a}.landing .lp-hero h1{font-size:56px;margin-bottom:22px;color:var(--ink)}.landing .lp-hero h1 em{font-style:normal;color:var(--cyan);font-family:Great Vibes,cursive;font-weight:700}.landing .lp-hero p.lp-lead{font-size:19px;color:var(--ink-soft);margin-bottom:36px;max-width:520px}.landing .lp-hero-cta{display:flex;gap:14px;flex-wrap:wrap}.landing .lp-hero-note{margin-top:20px;max-width:520px;font-size:15px;color:var(--ink-soft)}.landing .lp-hero-visual{position:relative;aspect-ratio:1/1;width:100%;max-width:460px;margin-left:auto}.landing .lp-hero-visual .circle{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--cyan) 0%,#7fd4ef 100%);border-radius:50%;box-shadow:0 30px 60px #2babe140}.landing .lp-hero-visual .photo-placeholder{position:absolute;top:20px;right:20px;bottom:20px;left:20px;border-radius:50%;background:#d8d8d8;overflow:hidden;border:8px solid white}.landing .lp-hero-visual .photo-placeholder img{width:100%;height:100%;object-fit:cover;display:block}.landing .lp-trust-row{display:flex;gap:28px;margin-top:40px;padding-top:28px;border-top:1px solid rgba(0,0,0,.08)}.landing .lp-trust-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-soft)}.landing .lp-trust-item .dot{width:8px;height:8px;border-radius:50%;background:var(--cyan)}.landing .lp-footer{background:var(--ink);color:#c9c9c9;padding:70px 0 30px}.landing .lp-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;margin-bottom:50px}.landing .lp-footer-logo{font-family:Great Vibes,cursive;font-size:36px;color:#fff;margin-bottom:14px}.landing .lp-footer-logo span{color:var(--cyan)}.landing .lp-footer-about{font-size:14px;line-height:1.7}.landing .lp-footer h4{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:18px}.landing .lp-footer ul{list-style:none;padding:0;margin:0}.landing .lp-footer ul li{padding:6px 0}.landing .lp-footer a{color:#c9c9c9;font-size:14px;transition:color .2s}.landing .lp-footer a:hover{color:var(--cyan)}.landing .lp-footer-bottom{padding-top:30px;border-top:1px solid #333;text-align:center;font-size:13px;color:#888}@media (max-width: 1050px){.landing .lp-hero h1{font-size:46px}}@media (max-width: 900px){.landing .lp-nav-inner{padding:12px 20px;gap:12px}.landing .lp-logo-img{height:56px}.landing .lp-hero{padding:50px 0 70px}.landing .lp-hero-grid{grid-template-columns:1fr;gap:32px}.landing .lp-hero h1{font-size:36px;line-height:1.15}.landing .lp-hero p.lp-lead{font-size:17px}.landing .lp-hero-visual{max-width:340px;margin:0 auto}.landing .lp-trust-row{flex-wrap:wrap;gap:16px}.landing .lp-footer{padding:50px 0 24px}.landing .lp-footer-grid{grid-template-columns:1fr;gap:20px}}@media (max-width: 600px){.landing .lp-container{padding:0 18px}.landing .lp-nav-inner{padding:10px 16px;gap:8px}.landing .lp-logo-img{height:48px}.landing .lp-nav-inner>.lp-btn{padding:9px 14px;font-size:12px}.landing .lp-hero{padding:40px 0 60px}.landing .lp-hero h1{font-size:30px;margin-bottom:18px}.landing .lp-hero p.lp-lead{font-size:16px;margin-bottom:28px}.landing .lp-hero-cta{flex-direction:column;gap:12px}.landing .lp-hero-cta .lp-btn{width:100%;text-align:center;padding:14px 20px}.landing .lp-hero-visual{max-width:280px}.landing .lp-footer-logo{font-size:32px}}
