:root{--vert:#008953;--vert-clair:#0ec87a;--encre:#18352c;--muted:#6d7872;--border:#e3e8e4;--fond:#f5f7f5;--surface:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--encre);background:var(--fond);color-scheme:light}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--encre);background:var(--fond)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--vert-clair);outline-offset:3px}h1{font-size:29px;line-height:1.2;font-weight:600;letter-spacing:-1px;margin:6px 0 9px}h2{font-size:18px;line-height:1.4;font-weight:600;margin:0 0 8px}h3{font-size:16px;font-weight:600;margin:0 0 5px}p{line-height:1.55;margin:0 0 10px}.muted{color:var(--muted);font-size:14px}.journey-green{color:var(--vert)}.eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--muted);margin:0}.app-shell{max-width:600px;margin:auto;background:var(--surface);min-height:100dvh;box-shadow:0 0 70px #18352c08}.brand-header{height:82px;padding:16px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.brand-header>a:first-child{display:flex;align-items:center;gap:12px}.brand-header img{width:28px;height:40px}.brand-header strong{color:var(--vert);letter-spacing:3px;font-size:15px}.brand-header small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.icon-link{padding:10px}.app-shell main{padding:20px 24px 110px;min-height:calc(100dvh - 82px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:22px 0}.page-heading>.mud-icon-root{flex-shrink:0;color:var(--vert)}.demo-note{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#f1f7f3;border-radius:8px;padding:9px 12px;font-size:10px;color:#52685d}.demo-note a{font-weight:600;color:var(--vert)}.hero{height:248px;position:relative;overflow:hidden;border-radius:18px;background:#18352c}.hero>img{width:100%;height:100%;object-fit:cover;opacity:.65}.hero>div{position:absolute;inset:0;padding:27px;color:white;background:linear-gradient(90deg,#102d24b0,transparent)}.hero span{font-size:10px;letter-spacing:2px}.hero h2{font-family:Georgia,serif;font-size:34px;line-height:1.15;font-weight:400;margin:14px 0 22px}.hero a{font-size:12px;border-bottom:1px solid #ffffff70;padding-bottom:8px}.hero a span{margin-left:18px}.day-summary{padding:24px 0 18px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.row h2{margin:0}.badge{background:#def4e6;color:#008953;border-radius:16px;padding:5px 10px;font-size:11px;font-weight:600;white-space:nowrap}.day-summary>p{display:flex;align-items:center;gap:12px;font-size:12px;margin-top:17px}.day-summary>p .mud-icon-root{font-size:19px;color:var(--vert)}.day-summary small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{border:1px solid var(--border);border-radius:12px;padding:18px;position:relative;min-height:128px;transition:border-color .15s,background .15s}.tile:hover{border-color:var(--vert);background:#f6fbf8}.tile>.mud-icon-root{color:var(--vert);font-size:23px;margin-bottom:10px}.tile h2{font-size:14px;margin-bottom:6px}.tile p{font-size:11px;color:var(--muted)}.tile>span{position:absolute;right:16px;bottom:14px;color:var(--muted)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:600px;background:#ffffffef;backdrop-filter:blur(15px);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:10px 10px calc(12px + env(safe-area-inset-bottom));z-index:10}.bottom-nav a{display:flex;align-items:center;flex-direction:column;gap:5px;font-size:10px;color:var(--muted);min-width:65px;padding:4px}.bottom-nav a.active{color:var(--vert);font-weight:700}.bottom-nav .mud-icon-root{font-size:24px}.publicite{margin:23px 0 15px}.publicite a{display:block;border-radius:14px;overflow:hidden;background:#f3f5ef}.publicite img{display:block;width:100%;height:auto;max-height:240px;object-fit:contain}.publicite small{display:block;font-size:8px;letter-spacing:1px;color:#89918b;text-align:right;margin-top:5px}.stats{display:grid;grid-template-columns:1fr 1fr 1.5fr;text-align:center;gap:10px;margin:25px 0}.stats strong{font-size:24px;font-weight:600;display:block;white-space:nowrap}.stats span{display:block;color:var(--muted);font-size:12px;margin-top:7px}progress{appearance:none;border:0;background:#f0f2f0;display:block;border-radius:9px;width:100%;height:7px;margin:16px 0 20px;overflow:hidden}progress::-webkit-progress-bar{background:#f0f2f0}progress::-webkit-progress-value{background:var(--vert-clair);border-radius:9px}progress::-moz-progress-bar{background:var(--vert-clair)}progress.orange::-webkit-progress-value{background:#f98b34}progress.orange::-moz-progress-bar{background:#f98b34}.tabs{display:flex;gap:7px;margin:22px 0}.tabs button{flex:1;background:none;border:0;border-radius:22px;padding:9px 3px;color:var(--muted);font-size:14px;min-height:40px}.tabs button.selected{background:#f0f3f0;color:var(--encre);font-weight:600}.shopping-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding:23px 0}.shopping-row:last-child{border:0}.check{width:28px;height:28px;min-width:28px;border:1px solid #aeb8b1;border-radius:50%;background:white;padding:0;color:white;font-weight:bold;font-size:19px;position:relative}.check:after{content:"";position:absolute;inset:-8px}.check.checked{background:var(--encre);border-color:var(--encre)}.article-info{flex:1;min-width:0}.article-info h2{font-size:21px;overflow-wrap:anywhere;margin-bottom:5px}.article-info p{font-size:14px;color:var(--muted);margin:0}.article-info small{font-size:12px;color:var(--muted)}.article-price{align-self:stretch;text-align:right;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:9px;white-space:nowrap}.article-price strong{font-size:18px;font-weight:500}.delete{background:none;border:0;color:#8b938e;min-width:44px;min-height:36px}.done{text-decoration:line-through}.primary,.secondary{width:100%;display:flex;justify-content:center;align-items:center;gap:8px;border-radius:28px;min-height:48px;padding:12px 18px;font-size:14px;text-align:center}.primary{background:var(--encre);color:white;border:0}.primary:hover{background:var(--vert)}.secondary{border:1px solid var(--border);background:white;color:var(--encre);margin-top:14px}.add-button{margin-top:45px}.panel{border:1px solid var(--border);border-radius:16px;padding:22px;margin:20px 0}.panel p{font-size:14px;color:var(--muted)}label{font-size:13px;display:block;margin:15px 0 7px}input:not([type=checkbox]),select{width:100%;padding:12px;border:1px solid #bbc9bf;border-radius:8px;color:var(--encre);background:white;min-height:46px}form .primary{margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .secondary{margin-top:20px}.checkbox-label{display:flex;align-items:center;gap:9px;min-height:35px}.validation-errors{font-size:12px;color:#a12b20}.empty{text-align:center;padding:38px 12px;color:var(--muted)}.empty p{font-size:13px}.journey-photo{position:relative;border-radius:15px;overflow:hidden;height:225px;background:var(--encre)}.journey-photo img{width:100%;height:100%;object-fit:cover}.journey-photo span{position:absolute;bottom:0;left:0;right:0;padding:32px 18px 15px;background:linear-gradient(transparent,#102d24b0);color:white;font-size:14px}.calendar-title{margin:24px 0 17px}.calendar-title h2::first-letter{text-transform:uppercase}.calendar{display:flex;gap:5px;overflow-x:auto;padding:2px 0 6px}.calendar button{flex:1;min-width:55px;border:1px solid var(--border);border-radius:9px;background:white;padding:10px 5px;min-height:85px;display:flex;flex-direction:column;align-items:center;gap:6px}.calendar small{font-size:10px;color:var(--muted)}.calendar strong{font-size:16px;font-weight:500}.calendar span{font-size:15px;color:var(--vert);height:15px}.calendar button.selected{background:#e4f6ec;border-color:#8bd5ab}.schedule{margin-top:22px;padding-top:22px;border-top:1px solid var(--border)}.schedule>.muted{margin-top:9px}.schedule-row{display:flex;gap:24px;padding:12px 0}.schedule-row time{font-size:12px;color:var(--muted);min-width:48px;padding-top:3px}.schedule-row>div{border-bottom:1px solid var(--border);padding-bottom:15px;flex:1}.schedule-row p{font-size:12px;color:var(--muted);margin-top:8px}.notice{background:#edf7f1;border-radius:12px;padding:17px;margin:20px 0;font-size:13px}.notice h2{font-size:17px}.notice p{margin-bottom:0}.warm{background:#faf3e8}.flight{padding:10px 8px}.neutral{background:#f0f1ef;color:#444}.airports{display:flex;align-items:center;margin:20px 0}.airports strong{font-size:28px;font-weight:600}.airports small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.airports>div:last-child{text-align:right}.flight-line{flex:1;margin:0 14px;border-bottom:1px solid var(--border);text-align:center;padding:7px;color:var(--muted)}.flight-details{display:flex;justify-content:space-between;gap:10px;margin:16px 0}.flight-details span{color:var(--muted);font-size:11px}.flight-details strong{display:block;font-weight:600;font-size:15px;color:var(--encre);margin-top:6px}.checklist-row{display:flex;align-items:center;gap:16px;padding:17px 2px}.checklist-row>div{flex:1}.checklist-row h3{font-size:15px}.checklist-row p{color:var(--muted);font-size:12px;margin:0}.welcome-visual{height:170px;overflow:hidden;border-radius:15px;margin:24px 0}.welcome-visual img{width:100%;height:100%;object-fit:cover}#blazor-error-ui{display:none;position:fixed;bottom:0;background:#fff4ce;padding:20px;width:100%;z-index:100}#blazor-error-ui a{text-decoration:underline}
@media(max-width:380px){.brand-header{padding:12px 16px}.app-shell main{padding:16px 16px 100px}h1{font-size:26px}.article-info h2{font-size:18px}.article-price strong{font-size:16px}.shopping-row{gap:11px}.stats strong{font-size:20px}.calendar button{min-width:44px}.flight-details strong{font-size:13px}.tile{padding:14px}.hero{height:220px}}
@media(min-width:740px){.app-shell{margin:24px auto;border:1px solid var(--border);border-radius:24px 24px 0 0;min-height:calc(100dvh - 24px)}.brand-header{height:88px}.app-shell main{padding:24px 28px 120px}.hero{height:270px}}
@media print{.brand-header,.bottom-nav,.demo-note,button,.publicite{display:none!important}.app-shell{border:0;box-shadow:none;margin:0;max-width:none}.app-shell main{padding:0}.schedule-row{break-inside:avoid}.journey-photo{height:150px}}

