:root,[data-theme=night]{--bg:#0b1422;--surface:#142235;--surface-strong:#1f3350;--border:#1f3350;--text:#f3f6fa;--text-muted:#b5c3d4;--accent:#8fd3ff;--accent-text:#06111d;--header-sky:#0e1d33;--hero-back:#1a3556;--hero-front:#13294a;--warning-bg:#2a2110;--warning-border:#5c4516;--warning-text:#ffd58a;--pending:#ffb547;--danger:#ff8a8a;--day-free:#1f3350;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=day]{--bg:#f4f6fa;--surface:#fff;--surface-strong:#e3eaf2;--border:#dce4ee;--text:#14202e;--text-muted:#4a5868;--accent:#1f5fa8;--accent-text:#fff;--header-sky:#dcebf7;--hero-back:#a9c8e3;--hero-front:#86aed3;--warning-bg:#fff7e6;--warning-border:#f5d9a0;--warning-text:#7a4b00;--pending:#e08a00;--danger:#b42318;--day-free:#e3eaf2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:400 16px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}button{font:inherit;color:inherit}.muted{color:var(--text-muted)}.small{font-size:13px}.splash{place-items:center;min-height:100dvh;margin:0;font-size:32px;font-weight:800;display:grid}.shell{min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.page{flex-direction:column;gap:16px;max-width:560px;margin:0 auto;padding:16px;display:flex}.page__title{letter-spacing:-.02em;margin:8px 0 0;font-size:28px;font-weight:800}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px}.card__title{margin:0 0 12px;font-size:16px}.empty p{margin:0 0 4px}.bottom-nav{padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav__tab{min-height:48px;color:var(--text-muted);flex-direction:column;align-items:center;gap:2px;font-size:12px;text-decoration:none;display:flex}.bottom-nav__tab.active{color:var(--accent);font-weight:700}.bottom-nav__icon{display:flex;position:relative}.badge{background:var(--pending);color:#2a1a05;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:800;display:grid;position:absolute;top:-4px;right:-10px}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:14px;font-weight:600}.input{border:1px solid var(--border);background:var(--surface);width:100%;height:48px;color:var(--text);border-radius:12px;padding:0 14px;font-size:16px}.input:focus-visible,.button:focus-visible,.icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.input-with-action{display:block;position:relative}.input-with-action .input{padding-right:52px}.icon-button{width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.button{cursor:pointer;border:0;border-radius:12px;height:48px;font-size:16px;font-weight:700}.button:disabled{opacity:.6;cursor:default}.button--primary{background:var(--accent);color:var(--accent-text)}.button--secondary{border:1px solid var(--border);background:0 0}.form-error{color:var(--danger);margin:0;font-size:14px}.segmented{background:var(--bg);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.segmented__option{cursor:pointer;background:0 0;border:0;border-radius:10px;height:40px}.segmented__option[aria-checked=true]{background:var(--text);color:var(--bg);font-weight:700}.login{flex-direction:column;min-height:100dvh;display:flex}.login__hero{background:var(--header-sky);align-items:flex-end;height:34dvh;min-height:200px;display:flex}.login__hero svg{width:100%;height:100%;display:block}.login__form{flex-direction:column;flex:1;gap:16px;width:100%;max-width:420px;margin:0 auto;padding:0 24px 32px;display:flex}.login__title{letter-spacing:-.03em;margin:-8px 0 0;font-size:44px;font-weight:800}.login__tagline{color:var(--text-muted);margin:-8px 0 8px}.login__hint{text-align:center;color:var(--text-muted);margin:0;font-size:14px}.page--home{padding-top:0}.home-header{padding:calc(24px + env(safe-area-inset-top)) 16px 72px;background:var(--header-sky);justify-content:space-between;align-items:flex-start;margin:0 -16px;display:flex;position:relative;overflow:hidden}.home-header>div,.avatar{z-index:1;position:relative}.home-header__date{color:var(--text-muted);text-transform:capitalize;margin:0;font-size:14px}.home-header__hello{letter-spacing:-.02em;margin:2px 0 0;font-size:30px;font-weight:800}.home-header__mountains{width:100%;height:110px;position:absolute;inset:auto 0 0}.avatar{border:2px solid var(--accent);background:var(--surface);border-radius:22px;place-items:center;width:44px;height:44px;font-weight:800;text-decoration:none;display:grid}.banner{border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:15px;text-decoration:none;display:flex}.banner--warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text)}.banner--pending{background:var(--warning-bg);border:1px solid var(--warning-border)}.banner__action{margin-left:auto;font-weight:700}.banner--pending svg{color:var(--pending);margin-left:auto}.banner__count{background:var(--pending);color:#2a1a05;border-radius:10px;place-items:center;min-width:32px;height:32px;font-weight:800;display:grid}.section-head h2{margin:0;font-size:20px}.legend{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px;margin:-8px 0 0;font-size:13px;display:flex}.dot{border-radius:3px;width:14px;height:6px;margin-left:4px;display:inline-block}.dot--booked,.strip__day--booked{background:var(--accent)}.dot--pending,.strip__day--pending{background:repeating-linear-gradient(135deg, var(--pending) 0 3px, transparent 3px 5px)}.dot--option,.strip__day--option{background:0 0;box-shadow:inset 0 0 0 1.5px #c4b5fd}.housing-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.housing-card{flex-direction:column;gap:12px;display:flex}.housing-card__head{align-items:center;gap:12px;display:flex}.housing-card__art{flex-shrink:0;width:56px;height:56px;position:relative}.housing-card__art svg{border-radius:12px;display:block}.housing-card__dot{border:2px solid var(--surface);border-radius:7px;width:14px;height:14px;position:absolute;bottom:-4px;right:-4px}.housing-card__text{flex-direction:column;gap:2px;min-width:0;display:flex}.housing-card__name{font-size:16px;font-weight:700}.housing-card__status{font-size:14px}.chip{background:var(--surface-strong);border-radius:8px;align-self:flex-start;margin-top:4px;padding:3px 8px;font-size:12px;font-weight:600}.strip{grid-template-columns:repeat(14,minmax(0,1fr));gap:3px;display:grid}.strip__day{border-radius:4px;height:8px}.strip__day--free{background:var(--day-free)}
