@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--ink:#18343b;--muted:#738183;--bg:#f7f6f2;--card:#fff;--orange:#ce8158;--light:#f0eee6;--green:#e1eae5;--border:#e8e8e2;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Outfit,sans-serif}a{color:inherit;text-decoration:none}.screen{padding:20px 18px 115px;max-width:790px;margin:auto}.eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:#8b9996}.headline{font-size:31px;letter-spacing:-.05em;line-height:1.13;margin:9px 0 17px}.sub{color:var(--muted);font-size:13px;line-height:1.6}.hero{height:310px;position:relative;border-radius:23px;overflow:hidden;background:#294248;color:#fff;margin-bottom:17px}.hero img{width:100%;height:100%;object-fit:cover;filter:brightness(.72)}.hero .overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,25,30,.95),transparent 72%);display:flex;flex-direction:column;justify-content:flex-end;padding:22px}.hero h1{font-size:35px;line-height:1.05;margin-top:10px}.hero p{opacity:.87;font-size:13px;margin-top:8px}.chip{display:inline-flex;align-items:center;padding:7px 11px;background:#edf2ef;border-radius:50px;font-size:11px;font-weight:700;color:#506b63}.chip.orange{background:#f6e9dc;color:#a76d3f}.chip.dark{background:#ffffff30;color:#fff;backdrop-filter:blur(10px)}.row{display:flex;align-items:center;gap:11px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:12px}.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:17px;box-shadow:0 5px 25px #1a292808}.card h3{font-size:17px;margin:0 0 7px}.big{font-family:Outfit;font-size:37px;font-weight:800;letter-spacing:-.06em}.section{display:flex;justify-content:space-between;align-items:center;margin:25px 0 12px}.section h2{font-size:21px;letter-spacing:-.04em}.text-btn{border:0;background:none;color:var(--orange);font-weight:700;padding:7px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:14px;background:var(--ink);color:white;padding:13px 17px;font-weight:700;font-size:13px}.button.secondary{background:#e7eee9;color:var(--ink)}.button.outline{background:transparent;color:var(--ink);border:1px solid #becbc6}.button.full{width:100%}.cols{display:grid;grid-template-columns:1fr 1fr;gap:11px}.stat{padding:16px;background:#ecf0e9;border-radius:16px}.stat .top{font-size:12px;color:#697b75}.stat strong{display:block;font-family:Outfit;font-size:20px;margin-top:6px}.day{border-radius:18px;background:#fff;display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);margin:9px 0;cursor:pointer}.day img{width:74px;height:76px;border-radius:13px;object-fit:cover}.day .details{flex:1;min-width:0}.day h3{font-size:16px;margin:5px 0}.day p{font-size:12px;color:var(--muted)}.day .number{font-size:11px;font-weight:800;color:var(--orange)}.day.active{border-color:#c88c63;background:#fffaf5}.scroll-days{display:flex;overflow:auto;gap:8px;scrollbar-width:none;margin:0 -18px 16px;padding:0 18px}.date-pill{white-space:nowrap;text-align:center;min-width:59px;border:1px solid var(--border);border-radius:15px;background:#fff;padding:10px;color:var(--ink)}.date-pill strong{display:block;font-size:18px}.date-pill small{display:block;text-transform:uppercase;font-size:10px;color:var(--muted)}.date-pill.sel{background:var(--ink);color:#fff}.date-pill.sel small{color:#c8d6d2}.activity{background:#fff;border:1px solid var(--border);border-radius:15px;padding:14px 14px;margin:9px 0;display:flex;align-items:center;gap:12px}.activity .symbol{display:grid;place-items:center;background:#f4f1e8;border-radius:12px;width:38px;height:38px;flex-shrink:0;font-size:19px}.activity .content{flex:1;min-width:0}.activity strong{font-size:13px;line-height:1.4;display:block}.activity small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.activity .edit{border:0;background:#f5f6f3;border-radius:10px;padding:10px;color:#4e6666}.drive{border-radius:17px;background:#173238;color:#fff;padding:17px;margin:15px 0}.drive .time{font-size:24px;font-family:Outfit;font-weight:800}.drive small{opacity:.7}.notice{background:#fff0df;border-radius:14px;padding:13px;font-size:12px;color:#8a592d;line-height:1.5;margin:12px 0}.photo{border-radius:18px;object-fit:cover;width:100%;height:145px}.hotel{padding:11px;overflow:hidden}.hotel .info{padding:10px 5px}.hotel h3{font-size:17px}.hotel p{font-size:12px;color:var(--muted);margin:6px 0}.money{font-weight:800;color:var(--ink)}.total{background:#173238;color:#fff;padding:22px;border-radius:19px}.total small{opacity:.7}.total .big{margin:5px 0}.budget-row{padding:12px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;font-size:13px;gap:10px}.search{width:100%;border:1px solid var(--border);border-radius:15px;padding:13px 16px;margin:8px 0 14px;background:#fff}.filters{display:flex;gap:7px;overflow:auto;padding-bottom:10px}.filters button{white-space:nowrap;border:0;border-radius:40px;background:#e6ece8;padding:8px 12px;color:var(--ink);font-size:12px}.filters button.sel{background:var(--ink);color:#fff}.empty{text-align:center;padding:45px 10px;color:var(--muted)}#nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fffefaed;backdrop-filter:blur(18px);border-top:1px solid #e0e2db;padding:9px 5px calc(10px + env(safe-area-inset-bottom));z-index:20;max-width:100%}#nav button{display:grid;place-items:center;gap:4px;background:none;border:0;color:#80908e;padding:5px 9px;font-size:10px;font-weight:700}#nav button.sel{color:var(--ink)}#nav span{font-size:21px}.modal{position:fixed;inset:0;background:#11282c90;z-index:50;display:flex;align-items:flex-end;justify-content:center}.modal.hidden{display:none}.sheet{background:#fff;width:100%;max-width:620px;border-radius:24px 24px 0 0;padding:24px 18px calc(20px + env(safe-area-inset-bottom));max-height:92vh;overflow:auto;box-shadow:0 -10px 45px #0002}.sheet h2{font-size:24px;margin-bottom:8px}.field{display:grid;gap:6px;margin:13px 0}.field label{font-size:12px;font-weight:700;color:#596d6b}.field input,.field select,.field textarea{width:100%;padding:13px 12px;border-radius:11px;border:1px solid #d7dfda;background:#fafbf9;color:var(--ink)}.field textarea{min-height:88px;resize:vertical}.form-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.close{float:right;border:0;background:#eff2ef;border-radius:100%;width:30px;height:30px}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);max-width:90vw;background:#173238;color:#fff;padding:12px 18px;border-radius:14px;display:none;z-index:80;font-size:12px;text-align:center}.mini{font-size:12px;color:var(--muted)}.separator{height:1px;background:var(--border);margin:15px 0}.weather{display:flex;align-items:center;gap:15px}.weather .degree{font-family:Outfit;font-size:29px;font-weight:700}.round{background:#e7ede7;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:20px}.muted{color:var(--muted)}.wide-btn{position:sticky;bottom:91px;width:100%;margin-top:18px;box-shadow:0 5px 20px #182b3030}.topbar{display:flex;align-items:center;justify-content:space-between;margin:3px 0 12px}.brand{font-family:Outfit;font-size:14px;font-weight:800;letter-spacing:.09em}.check{background:#e5f3e9;border-radius:15px;padding:10px;font-size:12px;color:#3c7252}.link{font-weight:700;color:#ae6f4b;font-size:12px}.progress{height:7px;background:#e5ebe7;border-radius:20px;overflow:hidden;margin:7px 0}.progress div{height:100%;background:#b9a07e;border-radius:20px}a.link{display:inline-block;margin-top:7px} @media(min-width:700px){.screen{padding:28px 28px 120px}.hero{height:385px}.hero h1{font-size:48px}.hotel-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.headline{font-size:38px}#nav{left:50%;transform:translateX(-50%);max-width:790px;border-radius:20px 20px 0 0;box-shadow:0 0 40px #0001}}

/* V2 : carnet premium, mobile-first */
:root{--ink:#303c36;--muted:#817f77;--bg:#f9f6f0;--orange:#b97050;--light:#f4ede3;--green:#e8ede5;--border:#ebe4d9;}
body{background:radial-gradient(circle at top left,#fffdf9 0,#f9f6f0 48%,#f5efe6 100%);}
.screen{max-width:680px;padding-top:23px;}
.topbar{padding:3px 1px 10px}.brand{font-size:12px;letter-spacing:.14em;color:#735946}.topbar .chip{background:#eee8de;color:#88654c}
.hero{border-radius:26px;height:345px;box-shadow:0 13px 32px #41332315}.hero img{filter:brightness(.81) saturate(.9)}.hero .overlay{padding:25px;background:linear-gradient(0deg,rgba(30,32,23,.82),transparent 80%)}
.hero h1{font-family:Georgia,serif;font-weight:400;font-size:43px;line-height:1.05;letter-spacing:-.035em}.hero p{font-size:14px;max-width:290px;line-height:1.5}
h1,h2,h3{letter-spacing:-.025em}.headline{font-family:Georgia,serif;font-size:38px;line-height:1.12;font-weight:400}.section h2{font-family:Georgia,serif;font-size:23px;font-weight:400}
.accent{color:var(--orange)}
.card,.activity,.day{box-shadow:0 5px 22px #68513a08;border-color:#eee8df}
.card{border-radius:22px}.activity{border-radius:18px;align-items:flex-start;padding:14px}.activity .content strong{font-size:14px}.activity small{line-height:1.55}
.stat{background:#f0e9de;border:1px solid #eae1d3;padding:18px}.stat strong{font-size:21px}.stat .top{color:#8d745d}
.button{background:#344841;border-radius:14px;min-height:45px}.button.secondary{background:#ede9df}.chip{background:#eeeae1;color:#756856}
.date-pill.sel,.filters button.sel{background:#344841}.drive{background:#344841}.total{background:#344841}
#nav{background:#fffcf6f5;border-top:1px solid #e9dfd0;box-shadow:0 -5px 30px #6d4b2410}#nav button{color:#8d857c}#nav button.sel{color:#a76343}
.library-intro{background:#eae4d7;border:1px solid #ded6c7;border-radius:18px;display:flex;align-items:center;gap:12px;padding:16px;margin:19px 0 15px}.library-intro>span{font-size:24px;color:#b06d48}.library-intro strong{display:block;font-size:14px}.library-intro small{display:block;font-size:12px;color:#837667;line-height:1.4;margin-top:4px}
.source-activity .edit{background:#f6e7d7;color:#995b38;border-radius:13px;font-size:20px;min-width:40px;min-height:40px}
.filters{margin:3px -18px 4px;padding:0 18px 12px;scrollbar-width:none}.filters button{background:#eee8dd;padding:11px 14px}
@media(min-width:700px){.screen{padding:32px 24px 120px}.hero{height:400px}.hero h1{font-size:56px}#nav{max-width:680px}}

/* V3 — affordances, breathing room, touch-first navigation */
:root{color-scheme:light}html{scroll-behavior:smooth}body{overscroll-behavior-y:contain}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c57c56;outline-offset:2px}.screen{padding-bottom:calc(118px + env(safe-area-inset-bottom));} .section{gap:10px}.section h2{line-height:1.15}.hero{isolation:isolate}.hero img{object-position:50% 52%}.hero .overlay{background:linear-gradient(0deg,rgba(23,30,26,.85) 0%,rgba(23,30,26,.25) 53%,transparent 90%)}.hero h1{text-shadow:0 2px 16px #0005}.day-context{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0}.day-context span{font-size:12px;padding:9px 12px;border:1px solid #ebe2d6;border-radius:12px;background:#fff;color:#645e53;line-height:1.3}.summary-strip{display:grid;grid-template-columns:1fr 1fr;gap:9px}.summary-strip span{padding:13px 11px;background:#fff;border:1px solid var(--border);border-radius:13px;font-size:12px;font-weight:650}.activity{min-height:70px}.activity .edit{min-width:40px;min-height:40px;font-size:17px}.activity .content{overflow-wrap:anywhere}.activity strong{font-weight:700}.screen > .button.full{margin-top:10px}.stat{min-height:100px}.stat strong{overflow-wrap:break-word}.hotel-grid .photo{height:175px}.screen .card{line-height:1.5}#nav button{min-width:65px;min-height:51px;border-radius:12px}#nav button.sel{background:#f0e7db}#nav button span{line-height:1.1}.search{font-size:16px}.form-cols .field input,.form-cols .field select{min-width:0}@media(max-width:365px){.screen{padding-left:13px;padding-right:13px}.stat strong{font-size:17px}.form-cols{grid-template-columns:1fr}.hero h1{font-size:37px}.cols{gap:8px}}@media(min-width:700px){.summary-strip{grid-template-columns:repeat(4,1fr)}.screen{max-width:760px}.hero{height:410px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V4 : accueil épuré et navigation stable */
.countdown-hero{height:310px}.countdown-hero .overlay{justify-content:flex-end;display:flex;flex-direction:column;align-items:flex-start}.countdown-label{font-size:16px;color:#fff;font-weight:600;margin:14px 0 8px}.countdown-hero h1{font-family:Georgia,serif;font-size:clamp(48px,10vw,80px);font-weight:500;line-height:1}.countdown-hero h1 span{font-size:.48em}.weather-compact{font-size:12px;text-align:right;color:#5d6b60;max-width:55%;line-height:1.4}.weather-compact span{font-weight:600}.scroll-days{scrollbar-width:thin}.filters{margin-top:20px}@media(min-width:700px){.countdown-hero{height:390px}}
