/* Home's light palettes are isolated from the independent applications. */
body[data-app=home]{--hm-accent:#276e5e;--hm-dark:#204e44;--hm-soft:#e7f2ec;--hm-rail:#f3f7f1;--hm-bg:#f6f8f5;--hm-border:#dfe7df;--hm-muted:#61726a;--hm-ink:#233f36;--hm-width:248px;--green:var(--hm-accent);color:var(--hm-ink);background:var(--hm-bg);font-size:16px}
body[data-app=home][data-home-theme=ocean]{--hm-accent:#306d99;--hm-dark:#234b6d;--hm-soft:#e5f0f8;--hm-rail:#eff5f9;--hm-bg:#f5f8fb;--hm-border:#dce6ee;--hm-muted:#60717e;--hm-ink:#263e51}
body[data-app=home][data-home-theme=lavender]{--hm-accent:#735598;--hm-dark:#51426d;--hm-soft:#eee8f5;--hm-rail:#f5f1f9;--hm-bg:#f9f7fb;--hm-border:#e6dfee;--hm-muted:#756b80;--hm-ink:#443a50}
body[data-app=home][data-home-theme=sand]{--hm-accent:#8c653c;--hm-dark:#634e38;--hm-soft:#f3ecdf;--hm-rail:#f8f4ec;--hm-bg:#faf8f4;--hm-border:#e9e1d4;--hm-muted:#7c7060;--hm-ink:#4c4236}
body[data-app=home][data-home-theme=coral]{--hm-accent:#a7564e;--hm-dark:#763f3a;--hm-soft:#f9e9e5;--hm-rail:#fcf2ee;--hm-bg:#fcf8f6;--hm-border:#efdfd9;--hm-muted:#806b65;--hm-ink:#533e39}
body[data-app=home] .hd-rail{width:var(--hm-width);padding:30px 18px 16px;background:var(--hm-rail);border-right:1px solid var(--hm-border);color:var(--hm-ink);overflow-y:auto;display:flex;flex-direction:column;gap:0}
body[data-app=home] .hd-logo{display:flex;align-items:center;gap:10px;padding:0 4px;margin-bottom:32px}
body[data-app=home] .hd-logo img{display:block;width:40px;height:40px;flex:none}
body[data-app=home] .hd-logo>span{font-size:25px;color:var(--hm-dark);letter-spacing:-1.2px}
body[data-app=home] .hd-logo small{font-size:12px;color:var(--hm-muted);letter-spacing:0;margin-top:2px}
body[data-app=home] .hd-rail nav{gap:5px}
body[data-app=home] .hd-rail nav a,body[data-app=home] .hd-rail-bottom>button,body[data-app=home] .hd-rail-bottom>a{display:flex;align-items:center;gap:12px;min-height:43px;padding:10px 13px;border-radius:11px;color:var(--hm-muted);font-size:14px;font-weight:500}
body[data-app=home] .hd-rail nav a span{font-size:14px}
body[data-app=home] .hd-rail nav a svg,body[data-app=home] .hd-rail-bottom>button>svg{width:19px;height:19px;flex:none}
body[data-app=home] .hd-rail nav a:hover,body[data-app=home] .hd-rail-bottom>button:hover{background:var(--hm-soft);color:var(--hm-accent)}
body[data-app=home] .hd-rail nav .selected{background:var(--hm-soft);color:var(--hm-dark);font-weight:650;box-shadow:inset 3px 0 var(--hm-accent)}
body[data-app=home] .hd-rail hr{border-color:var(--hm-border);margin:16px 8px}
body[data-app=home] .hd-nav-label{color:var(--hm-muted);font-size:11px;letter-spacing:1.3px;padding:0 13px 8px}
body[data-app=home] .hd-rail-bottom{margin-top:auto;padding-top:18px;border:0;gap:3px}
body[data-app=home] .hd-rail-bottom #home-profile{display:none}
body[data-app=home] #home-rail-collapse{border-top:1px solid var(--hm-border);border-radius:0;margin-top:14px;padding-top:16px;font-size:13px}
body[data-app=home] .home-menu-close{color:var(--hm-accent)!important}
body[data-app=home] .hm-page{margin-left:var(--hm-width);background:var(--hm-bg);color:var(--hm-ink)}
body[data-app=home] .hm-topbar{height:78px;padding:0 34px;background:#ffffffd9;border-bottom:1px solid var(--hm-border);position:relative;z-index:15}
body[data-app=home] .hm-topbar form,body[data-app=home] .hm-app-search{width:min(540px,55%);height:41px;background:var(--hm-bg);border-color:var(--hm-border);border-radius:10px}
body[data-app=home] .hm-top-actions{gap:22px}
body[data-app=home] .hm-top-actions>a{color:var(--hm-accent)}
body[data-app=home] .hm-main{max-width:1740px;padding:28px 34px 25px}
body[data-app=home] .hm-heading{margin-bottom:25px}
body[data-app=home] .hm-heading h1{font-size:30px;font-weight:650;letter-spacing:-1px;color:var(--hm-ink)}
body[data-app=home] .hm-heading p{font-size:14px;color:var(--hm-muted);text-transform:none;margin-top:7px}
body[data-app=home] .hm-heading-actions time{color:var(--hm-muted);font-size:13px}
body[data-app=home] .hm-heading button,body[data-app=home] .hm-outline{color:var(--hm-accent);border-color:var(--hm-border);border-radius:9px;font-size:14px}
body[data-app=home] .hm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
body[data-app=home] .hm-card{min-height:214px;padding:21px 22px;border:1px solid var(--hm-border);border-radius:17px;box-shadow:0 4px 18px #213e2f04;background:#fff}
body[data-app=home] .hm-card-head{margin-bottom:17px;gap:8px;align-items:center;flex-wrap:wrap}
body[data-app=home] .hm-card-head h2{font-size:16px;font-weight:650;color:var(--hm-ink)}
body[data-app=home] .hm-card-head>a{font-size:12px;color:var(--hm-accent)}
body[data-app=home] .hm-row{min-height:49px;padding:8px 0;border-color:var(--hm-border);gap:10px}
body[data-app=home] .hm-row strong{font-size:14px;font-weight:550;color:var(--hm-ink)}
body[data-app=home] .hm-row small{font-size:12px;color:var(--hm-muted);margin-top:3px}
body[data-app=home] .hm-row time{color:var(--hm-muted)}
body[data-app=home] .hm-dot{background:var(--hm-accent)}
body[data-app=home] .hm-chat-icon{background:var(--hm-soft);color:var(--hm-accent)}
body[data-app=home] .hm-featured{grid-column:span 2;padding:0;min-height:255px;background:linear-gradient(90deg,#173b31ba,#153d2905),url('/home-lisbon-v2.png') center 47%/cover}
body[data-app=home] .hm-featured .hm-feature-link{min-height:255px;padding:27px 30px;justify-content:center;gap:10px;background:none}
body[data-app=home] .hm-feature-link strong{font-size:35px;max-width:80%;letter-spacing:-.8px}
body[data-app=home] .hm-feature-label{font-size:13px}
body[data-app=home] .hm-feature-link small{font-size:14px}
body[data-app=home] .hm-featured .hm-feature-link small{color:#fff;opacity:.95}
body[data-app=home] .hm-feature-action{font-size:13px;border-radius:8px;padding:10px 14px;color:#244c3f}
body[data-app=home] .hm-favorites{grid-column:auto;min-height:214px}
body[data-app=home] .hm-fav-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 6px}
body[data-app=home] .hm-fav img{width:36px;height:36px}
body[data-app=home] .hm-fav span{font-size:12px;color:var(--hm-ink)}
body[data-app=home] .hm-fav:hover{background:var(--hm-soft)}
body[data-app=home] .hm-shopping{height:auto;gap:9px;padding:0}
body[data-app=home] .hm-shopping p{font-size:14px;color:var(--hm-muted)}
body[data-app=home] .hm-shopping a{color:var(--hm-accent)}
body[data-app=home] section.hm-shopping{display:block;height:auto;padding:21px 22px}
body[data-app=home] .hm-shopping-content{display:flex;flex-direction:column;gap:12px}
body[data-app=home] .hm-shopping-content p{margin:0;font-size:14px;color:var(--hm-muted);line-height:1.5}
body[data-app=home] .hm-shopping-content a{font-size:14px;font-weight:600;color:var(--hm-accent)}
body[data-app=home] .hm-shopping-illustration{height:61px;margin:0 auto 6px;transform:scale(.85);transform-origin:center}
body[data-app=home] .hm-empty{font-size:14px;color:var(--hm-muted);line-height:1.65}
body[data-app=home] .hm-footer{font-size:12px;color:var(--hm-muted)}
body[data-app=home] .hm-footer button{color:var(--hm-accent)}
body[data-app=home] .hm-atlas-details{border-color:var(--hm-border);color:var(--hm-accent);margin-top:20px}
.hm-user-menu{position:relative}
.hm-user-menu>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:14px;color:var(--hm-ink)}
.hm-user-menu>summary::-webkit-details-marker{display:none}
.hm-user-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--hm-soft);color:var(--hm-accent);font-weight:650;flex:none}
.hm-user-popover{position:absolute;right:0;top:calc(100% + 15px);width:235px;padding:17px 9px 9px;background:#fff;border:1px solid var(--hm-border);border-radius:14px;box-shadow:0 16px 45px #24392d20;color:var(--hm-ink)}
.hm-user-popover>strong,.hm-user-popover>small{display:block;padding:0 10px;overflow-wrap:anywhere}
.hm-user-popover>small{font-size:12px;color:var(--hm-muted);margin:4px 0 15px}
.hm-user-popover>a,.hm-user-popover>button{display:flex;align-items:center;gap:11px;width:100%;padding:12px 10px;border:0;border-radius:8px;background:none;font:inherit;font-size:14px;color:var(--hm-ink);text-align:left;cursor:pointer}
.hm-user-popover svg{width:18px;height:18px;color:var(--hm-accent)}
.hm-user-popover button span{margin-left:auto}
.hm-user-popover>a:hover,.hm-user-popover>button:hover{background:var(--hm-soft)}
.hm-settings{position:fixed;inset:0;margin:auto;width:520px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--hm-border);border-radius:22px;box-shadow:0 28px 90px #18372e38;color:var(--hm-ink);background:#fff;overflow:auto}
.hm-settings::backdrop{background:#1d332c52;backdrop-filter:blur(4px)}
.hm-settings-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--hm-border);padding:25px 29px}
.hm-settings-head small{font-size:11px;letter-spacing:1.7px;color:var(--hm-muted)}
.hm-settings-head h2{margin:6px 0 0;font-size:27px;letter-spacing:-.6px}
.hm-settings-head button{border:0;background:var(--hm-bg);border-radius:50%;width:34px;height:34px;font-size:24px;color:var(--hm-muted);cursor:pointer}
.hm-settings-body{padding:25px 29px}
.hm-settings-section{display:flex;gap:10px;align-items:center;color:var(--hm-accent);font-size:14px;font-weight:650;margin-bottom:24px}
.hm-settings-section svg{width:19px;height:19px}
.hm-settings-body h3{font-size:19px;margin:0 0 8px}
.hm-settings-body>p{font-size:14px;color:var(--hm-muted);line-height:1.6}
.hm-theme-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:24px 0}
.hm-theme-options button{display:flex;flex-direction:column;align-items:center;gap:10px;padding:13px 2px;border:1px solid transparent;border-radius:11px;background:none;font:inherit;font-size:12px;color:var(--hm-ink);cursor:pointer}
.hm-theme-options button[aria-pressed=true]{background:var(--hm-bg);border-color:var(--hm-accent)}
.hm-theme-options i{display:grid;place-items:center;background:var(--swatch);width:35px;height:35px;border-radius:50%;font-style:normal;color:white}
.hm-theme-options b{visibility:hidden;font-size:18px}.hm-theme-options [aria-pressed=true] b{visibility:visible}
.hm-settings-preview{height:117px;border:1px solid var(--hm-border);background:var(--hm-bg);border-radius:12px;display:flex;gap:15px;overflow:hidden;padding:12px}
.hm-settings-preview>div{width:65px;background:var(--hm-rail);border-right:1px solid var(--hm-border);padding:12px 8px}
.hm-settings-preview i{display:block;height:8px;background:var(--hm-border);border-radius:4px;margin-bottom:10px}.hm-settings-preview i:first-child{background:var(--hm-accent)}
.hm-settings-preview section{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px 0}.hm-settings-preview b{grid-column:span 2;background:var(--hm-soft);border-radius:5px}.hm-settings-preview span{background:#fff;border:1px solid var(--hm-border);border-radius:5px}
.hm-settings-status{min-height:22px}.hm-settings-profile{display:flex;justify-content:space-between;color:var(--hm-accent);font-size:14px;border-top:1px solid var(--hm-border);padding-top:20px}
body[data-app=home] .hm-weather{grid-column:span 2;background:linear-gradient(120deg,var(--hm-soft),#fdfefd);position:relative}
.hm-location{font-size:13px;color:var(--hm-muted)}
.hm-weather-current{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:-12px}
.hm-weather-current>div{display:flex;align-items:center;gap:20px}
.hm-weather-temp{font-size:60px;line-height:1.15;font-weight:500;letter-spacing:-3px;color:var(--hm-dark)}
.hm-weather-temp sup{font-size:32px;vertical-align:top;position:relative;top:5px}
.hm-weather-current strong{font-size:16px;font-weight:550;display:block}
.hm-weather-current small{font-size:12px;color:var(--hm-muted);display:block;margin-top:6px}
.hm-weather-current>svg{width:96px;height:78px;flex:none}
.hm-weather-weekend{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--hm-border);padding-top:13px;margin-top:10px}
.hm-weather-weekend>div{display:grid;grid-template-columns:auto 36px 1fr;align-items:center;gap:4px 7px}
.hm-weather-weekend>div>span{font-size:13px;text-transform:capitalize}
.hm-weather-weekend svg{width:36px;height:32px}
.hm-weather-weekend strong{font-size:18px;text-align:right;font-weight:550;white-space:nowrap}
.hm-weather-weekend small{font-size:12px;color:var(--hm-muted);font-weight:400}
.hm-weather-weekend>div>small{grid-column:1/-1}
.hm-weather-source{display:flex;justify-content:space-between;font-size:11px;gap:10px;margin-top:15px}
.hm-weather-source a{color:var(--hm-accent)}
.hm-weather-error{min-height:154px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px}
.hm-weather-error p{margin:0;font-size:15px}.hm-weather-error span{font-size:13px;color:var(--hm-muted)}
.hm-weather-error button{border:1px solid var(--hm-border);background:white;color:var(--hm-accent);border-radius:7px;padding:7px 12px;cursor:pointer}
body[data-app=home] .hm-nearby{grid-column:span 2}
.hm-nearby .hm-card-head p{font-size:13px;color:var(--hm-muted);margin:6px 0 0}
.hm-plan-tag{color:var(--hm-accent);background:var(--hm-soft);font-size:11px;padding:6px 10px;border-radius:20px}
.hm-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.hm-plan{display:block;border:1px solid var(--hm-border);border-radius:12px;overflow:hidden;background:var(--hm-bg);color:var(--hm-ink)}
.hm-plan>img{display:block;width:100%;height:115px;object-fit:cover;transition:filter .2s}
.hm-plan:hover img{filter:brightness(1.07)}
.hm-plan-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px}
.hm-plan-body>small{font-size:10px;color:var(--hm-accent);letter-spacing:.7px}
.hm-plan-body>strong{font-size:15px;font-weight:650}
.hm-plan-body>span{font-size:12px;line-height:1.4;color:var(--hm-muted)}
.hm-plan-body>b{font-size:12px;color:var(--hm-accent);margin-top:3px;font-weight:600}
.hm-plan-note{font-size:11px;color:var(--hm-muted);margin:12px 0 0}
body[data-app=home] .hm-dates{grid-column:1/-1;min-height:0;display:flex;gap:25px;align-items:center;padding-block:15px}
body[data-app=home] .hm-dates .hm-card-head{margin:0;min-width:165px;display:block}
body[data-app=home] .hm-dates .hm-card-head a{display:block;margin-top:5px}
body[data-app=home] .hm-dates .hm-row{border:0;flex:1}
@media(min-width:761px) and (max-width:1440px){body[data-app=home] .hm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-app=home] .hm-featured,body[data-app=home] .hm-weather{grid-column:span 1}.hm-weather-current>div{gap:12px}.hm-weather-temp{font-size:47px}.hm-weather-current>svg{width:72px}.hm-weather-weekend{gap:15px}.hm-weather-weekend>div{grid-template-columns:auto 30px}.hm-weather-weekend strong{grid-column:1/-1;text-align:left}.hm-weather-weekend svg{width:30px}}
@media(max-width:760px){.hm-weather-current>div{gap:12px}.hm-weather-temp{font-size:48px}.hm-weather-current>svg{width:70px}.hm-weather-current strong{font-size:14px}.hm-weather-weekend{gap:18px}.hm-weather-weekend>div{grid-template-columns:auto 32px}.hm-weather-weekend strong{grid-column:1/-1;text-align:left}.hm-plan-grid{gap:12px}.hm-plan-body{padding:11px}.hm-plan-body>strong{font-size:14px}.hm-plan-body>small{font-size:9px}.hm-plan>img{height:108px}body[data-app=home] .hm-dates{display:block}.hm-dates .hm-row{margin-top:8px}}
body[data-app=home] :is(.hm-page,.hd-rail,.hm-settings) :is(button,a,summary,input):focus-visible{outline:3px solid var(--hm-accent);outline-offset:3px}
@media(min-width:761px){body[data-app=home].home-rail-collapsed{--hm-width:82px}body[data-app=home].home-rail-collapsed #main:not(:has(>.integrated-space)) .hd-rail{padding-inline:15px}body[data-app=home].home-rail-collapsed #main:not(:has(>.integrated-space)) .hd-rail :is(.hd-logo>span,nav a>span,.hd-nav-label,.hd-rail-bottom>button>span){display:none}body[data-app=home].home-rail-collapsed #main:not(:has(>.integrated-space)) .hd-rail nav a,body[data-app=home].home-rail-collapsed #main:not(:has(>.integrated-space)) .hd-rail-bottom>button{justify-content:center;padding-inline:10px}body[data-app=home].home-rail-collapsed #home-rail-collapse svg{transform:rotate(180deg)}}
@media(max-width:1250px) and (min-width:761px){body[data-app=home]{--hm-width:210px}body[data-app=home] .hm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-app=home] .hm-main{padding:24px}body[data-app=home] .hm-topbar{padding:0 24px}body[data-app=home] .hm-heading-actions time{display:none}}
@media(max-width:760px){body[data-app=home] .hd-rail{width:260px;padding:15px 18px;z-index:42}body[data-app=home] .hd-logo{margin-bottom:18px}body[data-app=home] .hd-rail nav a{min-height:35px;padding-block:6px}body[data-app=home] #home-rail-collapse{display:none}body[data-app=home] .hd-rail-bottom{padding-top:10px}body[data-app=home] .home-mobile-bar{background:var(--hm-rail);color:var(--hm-dark);border-color:var(--hm-border)}body[data-app=home] .hm-page{margin-left:0}body[data-app=home] .hm-topbar{height:64px;padding:0 17px;gap:10px;z-index:10}body[data-app=home] .hm-topbar form{width:auto;flex:1;min-width:0}body[data-app=home] .hm-top-actions{gap:13px}body[data-app=home] .hm-user-name{display:none}body[data-app=home] .hm-main{padding:20px 16px}body[data-app=home] .hm-heading{align-items:flex-start;margin-bottom:20px}body[data-app=home] .hm-heading h1{font-size:25px}body[data-app=home] .hm-heading p{font-size:13px}body[data-app=home] .hm-heading-actions time{display:none}body[data-app=home] .hm-heading-actions button{font-size:12px;padding:8px}body[data-app=home] .hm-grid{display:flex;flex-direction:column;gap:15px}body[data-app=home] .hm-grid>.hm-card{order:0;padding:20px;min-height:0}body[data-app=home] .hm-grid>.hm-featured{padding:0}body[data-app=home] .hm-featured .hm-feature-link{min-height:215px;padding:24px}body[data-app=home] .hm-feature-link strong{font-size:30px}body[data-app=home] .hm-fav-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-app=home] .hm-card-head{margin-bottom:12px}body[data-app=home] .hm-footer{align-items:flex-start;flex-wrap:wrap}.hm-settings-head,.hm-settings-body{padding:22px}.hm-theme-options{gap:3px}.hm-user-popover{width:220px}}
@media(max-height:730px){body[data-app=home] .hd-rail{padding-top:15px}body[data-app=home] .hd-logo{margin-bottom:16px}body[data-app=home] .hd-rail nav a{min-height:34px;padding-block:6px}body[data-app=home] .hd-rail-bottom{padding-top:12px}}
