:root{--warm:#fff8eb;--paper:#fffdf7;--ink:#10243f;--muted:#6a7890;--turquoise:#16b8c5;--yellow:#ffd166;--coral:#ff6b6b;--green:#35c46a;--line:rgba(16,36,63,0.12);--shadow:0 22px 60px rgba(16,36,63,0.12)}*{box-sizing:border-box}body,html{min-height:100%;margin:0;background:var(--warm);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 20% 20%,rgba(22,184,197,.18),transparent 32%),radial-gradient(circle at 80% 10%,rgba(255,209,102,.28),transparent 30%),var(--warm)}.auth-card{width:min(100%,520px);background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:38px}.auth-card h1,.hero-panel h2,.topbar h1{margin:0;letter-spacing:0}.auth-card h1{font-size:clamp(2.2rem,8vw,4.4rem);line-height:.95}.eyebrow{margin:0 0 8px;color:var(--turquoise);font-weight:900;text-transform:uppercase;letter-spacing:0}.muted{color:var(--muted)}.auth-form{display:grid;grid-gap:16px;gap:16px;margin-top:28px}.auth-form label{display:grid;grid-gap:8px;gap:8px;font-weight:800}.auth-form label span{display:grid;grid-template-columns:24px 1fr;align-items:center;grid-gap:12px;gap:12px;min-height:58px;padding:0 16px;background:white;border:1px solid var(--line);border-radius:8px}.auth-form input{width:100%;border:0;outline:0;color:var(--ink);background:transparent}.primary-button{min-height:60px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;background:var(--ink);color:white;font-weight:900}.form-error{margin:0;color:#b42318;font-weight:800}.auth-switch a{color:var(--turquoise);font-weight:900}.dashboard{min-height:100vh;width:min(100%,1080px);margin:0 auto;padding:clamp(18px,3vw,34px) clamp(18px,3vw,34px) 150px}.dashboard.dark-mode{--warm:#081525;--paper:#10243f;--ink:#f7fbff;--muted:#b8c7dc;--line:rgba(255,255,255,0.14);--shadow:0 22px 60px rgba(0,0,0,0.28);background:#081525}.theme-zee{--turquoise:#1498d5;--yellow:#a7e8ff;--coral:#ff7f6e;--green:#29c7ac}.theme-bos{--turquoise:#2d9c68;--yellow:#f4c95d;--coral:#e76f51;--green:#4caf50}.theme-zon{--turquoise:#00a6a6;--yellow:#ffd23f;--coral:#ff6b35;--green:#57cc99}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.hero-topbar{position:relative;min-height:260px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;align-items:start;overflow:hidden;padding:26px;border-radius:8px;border:1px solid var(--line);background:linear-gradient(90deg,rgba(16,36,63,.82),rgba(16,36,63,.42)),var(--hero-photo,linear-gradient(135deg,var(--turquoise),var(--yellow)));background-size:cover;background-position:50%;color:white;box-shadow:var(--shadow)}.hero-topbar .eyebrow,.hero-topbar .muted{color:rgba(255,255,255,.86)}.hero-clock{grid-column:1;grid-row:2;align-self:end;margin-top:12px;font-size:clamp(2.7rem,7vw,5.4rem);font-weight:1000;line-height:.9}.topbar-actions{grid-column:2;grid-row:1/span 2;display:flex;gap:10px}.topbar h1{max-width:100%;overflow:hidden;font-size:clamp(2.3rem,5.8vw,4.7rem);line-height:.98;white-space:nowrap}.icon-button{width:64px;height:64px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px}.dark-mode .admin-band,.dark-mode .icon-button,.dark-mode .panel,.dark-mode .profile-tile,.dark-mode .settings-panel,.dark-mode .settings-section,.dark-mode .widget,.icon-button{background:var(--paper);color:var(--ink)}.profile-strip{display:flex;gap:12px;margin-bottom:18px}.profile-tile{flex:1 1;min-width:0;min-height:132px;display:grid;grid-gap:8px;gap:8px;justify-items:center;align-content:center;padding:12px 8px;border:3px solid transparent;border-radius:8px;background:var(--paper);box-shadow:0 12px 28px rgba(16,36,63,.08);color:var(--ink)}.profile-tile.active{border-color:var(--profile);transform:translateY(-2px)}.profile-tile.all-profiles{--profile:var(--ink)}.all-avatar{background:var(--ink)}.avatar{width:clamp(48px,6.5vw,66px);height:clamp(48px,6.5vw,66px);display:grid;place-items:center;border-radius:50%;background:var(--profile,var(--turquoise));color:white;font-size:1.4rem;font-weight:1000;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.large{width:92px;height:92px;font-size:2rem}.inline-avatars{display:inline-flex;align-items:center;margin-top:8px}.mini-avatar{width:28px;height:28px;display:grid;place-items:center;margin-right:-7px;border:2px solid white;border-radius:50%;background:var(--profile,var(--turquoise));color:white;font-size:.68rem;font-weight:1000;overflow:hidden}.mini-avatar img{width:100%;height:100%;object-fit:cover}.profile-tile strong{font-size:clamp(.95rem,1.8vw,1.25rem)}.profile-tile small,.profile-tile strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-tile small{color:var(--muted);font-size:clamp(.72rem,1.35vw,.9rem);font-weight:800}.hero-panel{min-height:230px;display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:18px;padding:28px;border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--profile) 18%,white),white 72%);border:1px solid color-mix(in srgb,var(--profile) 36%,white)}.hero-panel>div:first-child{display:grid;grid-template-columns:98px 1fr;align-items:center;grid-column-gap:20px;column-gap:20px}.hero-panel .eyebrow,.hero-panel h2,.hero-panel p{grid-column:2}.hero-panel .avatar{grid-row:1/span 3}.hero-panel h2{font-size:clamp(3rem,9vw,6.2rem);line-height:.9}.score-badge{min-width:150px;min-height:150px;display:grid;place-items:center;padding:18px;border-radius:8px;background:var(--ink);color:white}.score-badge strong{font-size:2.4rem}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.weather-week-banner{min-height:132px;width:100%;display:grid;grid-template-columns:220px 1fr;grid-gap:14px;gap:14px;align-items:stretch;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:0 10px 28px rgba(16,36,63,.08);text-align:left}.weather-week-banner:disabled{cursor:default}.weather-week-banner>div:first-child{display:grid;align-content:center;grid-gap:6px;gap:6px;padding:10px;border-radius:8px;background:color-mix(in srgb,var(--yellow) 28%,white)}.weather-week-banner>div:first-child span{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:var(--yellow)}.weather-week-banner strong{font-size:1rem}.weather-week-banner small{color:var(--muted);font-weight:900}.weather-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.weather-days article{display:grid;align-content:center;justify-items:center;grid-gap:5px;gap:5px;min-width:0;border:1px solid var(--line);border-radius:8px;background:white}.dark-mode .weather-days article{background:#172f52}.weather-days time{color:var(--muted);font-size:.82rem;font-weight:1000;text-transform:capitalize}.weather-days strong{font-size:1.25rem}.weather-placeholder{grid-column:1/-1;display:grid;place-items:center;border-radius:8px;background:rgba(22,184,197,.08);color:var(--muted);font-weight:900}.admin-band,.panel,.widget{border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 10px 28px rgba(16,36,63,.08)}.widget{min-height:160px;padding:16px;display:grid;align-content:space-between;width:100%;text-align:left}.widget>span{width:46px;height:46px;display:grid;place-items:center;border-radius:8px;color:var(--ink)}.widget.yellow>span{background:var(--yellow)}.widget.green>span{background:var(--green);color:white}.widget.turquoise>span{background:var(--turquoise);color:white}.widget.coral>span{background:var(--coral);color:white}.widget p,.widget small{color:var(--muted)}.widget strong{display:block;margin-top:8px;font-size:1.35rem}.widget p{margin:6px 0 0;line-height:1.25}.widget.interactive{cursor:pointer}button.widget{border:1px solid var(--line);font:inherit;color:inherit}.homey-actions{display:flex;flex-wrap:wrap;gap:10px;margin:-2px 0 18px}.homey-actions button{min-height:52px;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:8px;background:var(--coral);color:white;padding:0 14px;font-weight:1000}.content-grid{display:grid;grid-template-columns:1.08fr .92fr;grid-gap:14px;gap:14px}.content-grid.detail-grid{grid-template-columns:1fr 1fr}.content-grid.single-grid,.detail-admin-grid{grid-template-columns:1fr}.detail-admin-grid{display:grid;grid-gap:14px;gap:14px;margin-top:14px}.detail-admin-section{margin-top:14px}.panel{min-height:320px;overflow:hidden}.panel header{min-height:72px;display:flex;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.panel header,.panel-title{align-items:center;gap:12px}.panel-title{display:inline-flex;min-width:0}.panel-title span{color:var(--turquoise)}.panel h3{margin:0;font-size:1.35rem}.panel-actions{display:inline-flex;align-items:center;gap:8px}.item-edit-button,.panel-actions button{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:8px;background:color-mix(in srgb,var(--turquoise) 16%,white);color:var(--turquoise)}.panel-body{display:grid;grid-gap:12px;gap:12px;padding:16px}.agenda-row,.list-card,.routine-card,.task-row{border-radius:8px;background:white;border:1px solid var(--line)}.dark-mode .agenda-row,.dark-mode .list-card,.dark-mode .routine-card,.dark-mode .settings-form input,.dark-mode .settings-form select,.dark-mode .task-row{background:#172f52;color:var(--ink)}.agenda-row{display:grid;grid-template-columns:86px 1fr;grid-gap:12px;gap:12px;padding:14px;border-left:8px solid var(--category)}.agenda-row time{font-weight:1000;color:var(--category)}.agenda-row strong,.list-card strong,.routine-card strong,.task-row strong{display:block;font-size:1.04rem}.agenda-row span,.list-card span,.routine-head span,.task-row span{color:var(--muted);font-weight:700}.task-row{display:grid;grid-template-columns:54px 1fr 44px;align-items:center;grid-gap:12px;gap:12px;padding:12px}.task-complete-button{width:52px;height:52px;border:0;border-radius:8px;background:color-mix(in srgb,var(--green) 18%,white);color:var(--green)}.list-card,.routine-card{padding:14px}.routine-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.routine-head strong{min-width:0;flex:1 1}.list-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.list-card-head strong{min-width:0;flex:1 1}.list-items,.routine-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.list-card small,.routine-steps span{padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--turquoise) 14%,white);font-weight:800}.list-card{border-left:8px solid var(--list)}.complete-routine{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;border:0;border-radius:8px;background:var(--green);color:white;font-weight:1000}.complete-routine:disabled{background:color-mix(in srgb,var(--green) 38%,#6f7f8f);cursor:default}.list-items{display:grid!important;grid-gap:8px!important;gap:8px!important}.list-item-row{display:grid;grid-template-columns:1fr 36px;grid-gap:8px;gap:8px}.list-items label{display:grid;grid-template-columns:20px 1fr;align-items:center;grid-gap:8px;gap:8px;padding:8px;border-radius:8px;background:color-mix(in srgb,var(--turquoise) 10%,white);font-weight:800}.list-item-row button{min-height:36px;display:grid;place-items:center;border:0;border-radius:8px;background:color-mix(in srgb,var(--coral) 14%,white);color:var(--coral)}.list-items label.checked{color:var(--muted);text-decoration:line-through}.inline-add-form{display:grid;grid-template-columns:1fr 42px;grid-gap:8px;gap:8px;margin-top:12px}.inline-add-form button,.inline-add-form input{min-height:42px;border:1px solid var(--line);border-radius:8px}.inline-add-form input{min-width:0;padding:0 10px}.inline-add-form button{display:grid;place-items:center;background:var(--turquoise);color:white}.empty{min-height:92px;display:grid;place-items:center;margin:0;border-radius:8px;background:rgba(22,184,197,.08);color:var(--muted);font-weight:800}.admin-band{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:14px;padding:16px}.admin-band div{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:800}.bottom-dock{position:fixed;left:50%;right:auto;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;display:grid;grid-gap:10px;gap:10px;width:min(calc(100% - 36px),1044px);padding:10px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--paper) 92%,transparent);box-shadow:0 18px 60px rgba(16,36,63,.22);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dock-actions,.dock-nav{display:grid;grid-gap:8px;gap:8px}.dock-actions{grid-template-columns:1fr 1fr}.dock-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.dock-actions button,.dock-nav button{min-height:58px;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;background:white;color:var(--muted);padding:0 10px;font-weight:1000}.dark-mode .dock-actions button,.dark-mode .dock-nav button{background:#172f52}.dock-actions button{background:color-mix(in srgb,var(--turquoise) 12%,white);color:var(--ink)}.dock-nav button.active{background:color-mix(in srgb,var(--turquoise) 16%,white);color:var(--turquoise)}.dock-nav .dock-home{min-height:66px;margin-top:-16px;background:var(--paper);color:var(--turquoise);box-shadow:0 12px 30px rgba(16,36,63,.18)}.brand-logo{position:relative;width:30px;height:30px;display:inline-block}.spotify-logo{border-radius:50%;background:#1db954}.spotify-logo span{position:absolute;left:7px;right:6px;height:3px;border-top:3px solid #06120a;border-radius:50%;transform:rotate(12deg)}.spotify-logo span:first-child{top:8px}.spotify-logo span:nth-child(2){top:13px;left:8px}.spotify-logo span:nth-child(3){top:18px;left:10px;right:9px}.homey-logo{border-radius:50%;background:radial-gradient(circle at center,white 0 34%,transparent 35%),conic-gradient(#00a6ff,#35c46a,#ffd166,#ff6b6b,#7c5cff,#00a6ff)}.embed-view{min-height:calc(100vh - 430px);display:grid;grid-template-rows:auto minmax(520px,1fr);grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 10px 28px rgba(16,36,63,.08);overflow:hidden}.embed-view header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--line)}.embed-view h2{margin:0;font-size:clamp(1.8rem,5vw,3.2rem)}.embed-view a{min-height:46px;display:inline-flex;align-items:center;border-radius:8px;background:var(--turquoise);color:white;padding:0 14px;font-weight:1000;text-decoration:none}.embed-view iframe{width:100%;height:100%;min-height:520px;border:0;background:white}.family-calendar{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 10px 28px rgba(16,36,63,.08)}.family-calendar>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.family-calendar h2{margin:0;font-size:clamp(2rem,6vw,4rem);letter-spacing:0}.danger-action,.edit-event-button,.primary-action{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;padding:0 14px;font-weight:1000}.primary-action{background:var(--ink);color:white}.assigned-row,.calendar-filters,.member-picker{display:flex;flex-wrap:wrap;gap:8px}.calendar-filters{margin-bottom:12px}.calendar-filters button,.member-picker button{min-height:44px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:0 12px;font-weight:900}.dark-mode .calendar-filters button,.dark-mode .member-picker button{background:#172f52;color:var(--ink)}.calendar-filters button.active,.member-picker button.active{border-color:var(--profile,var(--turquoise));box-shadow:inset 0 0 0 2px var(--profile,var(--turquoise))}.mini-dot{width:12px;height:12px;border-radius:50%;background:var(--profile,var(--turquoise))}.calendar-list{display:grid;grid-gap:10px;gap:10px}.calendar-item{display:grid;grid-template-columns:138px 1fr auto;align-items:center;grid-gap:14px;gap:14px;padding:14px;border:1px solid var(--line);border-left:8px solid var(--category);border-radius:8px;background:white}.dark-mode .calendar-item{background:#172f52}.calendar-item time{display:grid;grid-gap:4px;gap:4px}.calendar-item time strong,.calendar-item>div>strong{display:block;font-size:1.05rem}.calendar-item time span,.calendar-item>div>span{display:block;margin-top:7px;color:var(--muted);font-weight:800}.assigned-row{margin-top:8px}.assigned-row small{padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--profile,var(--turquoise)) 16%,white);color:var(--ink);font-weight:900}.edit-event-button{width:48px;padding:0;background:color-mix(in srgb,var(--turquoise) 18%,white);color:var(--turquoise)}.readonly-badge{padding:8px 10px;border-radius:8px;background:rgba(16,36,63,.08);color:var(--muted);font-weight:900}.event-editor{width:min(100%,760px);max-height:min(92vh,1700px);overflow:auto;display:grid;grid-gap:14px;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 30px 90px rgba(0,0,0,.28);padding:20px}.event-editor footer,.event-editor>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.event-editor h2{margin:0;font-size:clamp(2rem,5vw,3.4rem)}.event-editor label{display:grid;grid-gap:8px;gap:8px;color:var(--muted);font-weight:900}.event-editor input,.event-editor select,.event-editor textarea{min-height:48px;width:100%;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:10px 12px;font-weight:800}.dark-mode .event-editor input,.dark-mode .event-editor select,.dark-mode .event-editor textarea,.dark-mode .settings-form textarea{background:#172f52;color:var(--ink)}.event-editor textarea{min-height:96px;resize:vertical}.event-toggle{align-content:end}.event-editor footer{justify-content:end}.event-editor footer button{min-height:48px;border:0;border-radius:8px;padding:0 14px;background:var(--turquoise);color:white;font-weight:1000}.event-editor footer .secondary-action{width:auto;background:var(--ink)}.danger-action{background:var(--coral)!important;color:white}.weather-forecast{width:min(100%,720px);max-height:min(92vh,1500px);overflow:auto;display:grid;grid-gap:14px;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 30px 90px rgba(0,0,0,.28);padding:20px}.weather-forecast>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.weather-forecast h2{margin:0;font-size:clamp(2rem,5vw,3.4rem)}.forecast-list{display:grid;grid-gap:10px;gap:10px}.forecast-list article{display:grid;grid-template-columns:1.2fr 1fr auto auto;align-items:center;grid-gap:12px;gap:12px;min-height:66px;padding:12px;border:1px solid var(--line);border-radius:8px;background:white}.dark-mode .forecast-list article{background:#172f52}.forecast-list strong,.forecast-list time{font-weight:1000}.forecast-list small,.forecast-list span{color:var(--muted);font-weight:900}.screensaver-settings{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 10px 28px rgba(16,36,63,.08)}.screensaver-settings header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.screensaver-settings h3{margin:0;font-size:1.45rem}.screen-message,.screensaver-settings header>span{color:var(--muted);font-weight:900}.screensaver-controls{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:12px;gap:12px}.timeout-form,.timeout-form label,.upload-form,.upload-form label{display:flex;align-items:center;gap:10px}.timeout-form,.upload-form{min-height:70px;justify-content:space-between;padding:12px;border:1px solid var(--line);border-radius:8px;background:white}.timeout-form label,.upload-form label{min-width:0;flex:1 1;color:var(--ink);font-weight:900}.timeout-form select,.upload-form input{min-width:0;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:10px;font-weight:800}.timeout-form button,.upload-form button{min-height:46px;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:8px;padding:0 14px;background:var(--turquoise);color:white;font-weight:1000}.screen-message{margin:12px 0 0}.photo-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));grid-gap:10px;gap:10px;margin-top:14px}.photo-strip article{position:relative;height:142px;overflow:hidden;border-radius:8px;background:var(--ink)}.photo-strip img{width:100%;height:100%;object-fit:cover}.photo-strip .photo-delete{position:absolute;top:8px;right:8px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;background:rgba(16,36,63,.78);color:white}.photo-strip .photo-open{position:relative;width:100%;height:100%;display:block;border:0;padding:0;background:transparent}.photo-strip .photo-open svg{position:absolute;left:8px;bottom:8px;width:34px;height:34px;padding:7px;border-radius:8px;background:rgba(16,36,63,.78);color:white}.empty.inline{min-height:72px}.settings-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:22px;background:rgba(8,21,37,.48);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.settings-panel{width:min(100%,980px);max-height:min(92vh,1700px);overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 30px 90px rgba(0,0,0,.28);padding:20px}.settings-panel>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.settings-panel h2,.settings-section h3{margin:0;letter-spacing:0}.settings-panel h2{font-size:clamp(2rem,6vw,4rem)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.settings-section{display:grid;align-content:start;grid-gap:12px;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:white}.settings-section h3{display:flex;align-items:center;gap:10px;font-size:1.2rem}.categories-section,.integrations-section,.members-section,.photos-section,.tasks-section{grid-column:span 2}.settings-form{display:grid;grid-gap:12px;gap:12px}.settings-form label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-weight:900}.settings-form input,.settings-form select,.settings-form textarea{min-height:48px;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:10px 12px;font-weight:800}.settings-form textarea{min-height:112px;resize:vertical}.integration-buttons button,.secondary-action,.settings-form button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;background:var(--turquoise);color:white;padding:0 14px;font-weight:1000}.secondary-action{width:100%;background:var(--ink)}.toggle-line{grid-template-columns:22px 1fr;align-items:center}.toggle-line input{min-height:22px}.toggle-line span{display:inline-flex;align-items:center;gap:8px}.integration-buttons,.integration-stack,.two-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.upload-line{grid-template-columns:1fr auto;align-items:end}.category-list,.member-list{display:grid;grid-gap:10px;gap:10px}.category-form,.member-form{grid-template-columns:1fr 56px auto 1fr auto auto;align-items:end}.member-form.existing{grid-template-columns:54px 1fr 56px auto 1fr auto auto}.category-form{grid-template-columns:1fr 56px 110px auto}.admin-list{display:grid;grid-gap:10px;gap:10px}.task-admin-form{grid-template-columns:1.2fr .9fr .9fr .9fr 70px auto;align-items:end}.task-admin-form input[name=description]{grid-column:span 3}.task-admin-form>button:not(.danger-inline){grid-column:span 2}.task-admin-form.existing{grid-template-columns:1.1fr .85fr .85fr .9fr 70px auto 1fr auto auto}.task-admin-form.existing input[name=description],.task-admin-form.existing>button:not(.danger-inline){grid-column:auto}.routine-create-form{grid-template-columns:1.2fr .9fr .65fr .55fr;align-items:end}.routine-create-form button,.routine-create-form textarea{grid-column:span 2}.routine-create-form.existing{grid-template-columns:1.1fr .8fr .55fr .5fr}.routine-create-form.existing textarea{grid-column:span 2}.routine-create-form.existing button:not(.danger-inline){grid-column:auto}.list-create-form{grid-template-columns:1fr 68px auto;align-items:end}.list-create-form.existing{grid-template-columns:1fr 68px auto auto}.danger-inline{min-height:48px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:var(--coral);color:white;padding:0 14px;font-weight:1000}.homey-shortcut-form{grid-column:span 2;grid-template-columns:1fr 1.4fr 120px auto;align-items:end}.shortcut-list{display:flex;flex-wrap:wrap;gap:8px}.shortcut-list span{padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--coral) 14%,white);color:var(--ink);font-weight:900}.compact-check{display:inline-flex!important;align-items:center;gap:6px!important;min-height:48px}.screensaver-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;border:0;padding:clamp(22px,4vw,48px);background:#081525;color:white}.screensaver-backdrop{position:absolute;inset:-34px;width:calc(100% + 68px);height:calc(100% + 68px);object-fit:cover;filter:blur(26px) saturate(1.08);opacity:.72;transform:scale(1.04)}.screensaver-overlay:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,21,37,.16),rgba(8,21,37,.34)),radial-gradient(circle at 50% 90%,rgba(22,184,197,.16),transparent 36%)}.screensaver-photo{position:relative;z-index:1;width:min(100%,920px);height:min(82vh,1560px);object-fit:contain;border-radius:8px;box-shadow:0 28px 90px rgba(0,0,0,.36)}.screensaver-overlay>span{right:28px;color:rgba(255,255,255,.82);font-size:1.2rem}.screensaver-overlay time,.screensaver-overlay>span{position:absolute;z-index:2;bottom:24px;font-weight:1000}.screensaver-overlay time{left:30px;display:grid;color:rgba(255,255,255,.94);font-size:clamp(3.2rem,11vw,7rem);line-height:.9;text-align:left}.screensaver-overlay time small{margin-top:10px;font-size:clamp(1rem,2.5vw,1.6rem);color:rgba(255,255,255,.82)}.photo-viewer{position:fixed;inset:0;z-index:120;display:grid;place-items:center;overflow:hidden;padding:clamp(22px,4vw,54px);background:#081525}.photo-viewer-backdrop{position:absolute;inset:-34px;width:calc(100% + 68px);height:calc(100% + 68px);object-fit:cover;filter:blur(28px) saturate(1.08);opacity:.68;transform:scale(1.04)}.photo-viewer:after{content:"";position:absolute;inset:0;background:rgba(8,21,37,.2)}.photo-viewer-image{position:relative;z-index:1;width:min(100%,920px);height:min(82vh,1500px);object-fit:contain;border-radius:8px;box-shadow:0 28px 90px rgba(0,0,0,.38)}.photo-viewer>strong{position:absolute;z-index:2;left:28px;bottom:24px;color:rgba(255,255,255,.88)}.viewer-close,.viewer-next,.viewer-previous{position:absolute;z-index:3;background:rgba(255,255,255,.9)}.viewer-close{top:22px;right:22px}.viewer-previous{left:22px}.viewer-next{right:22px}.viewer-next:disabled,.viewer-previous:disabled{opacity:.34;cursor:default}@media (max-width:760px){.dashboard{padding:16px}.admin-band,.category-form,.content-grid,.content-grid.detail-grid,.forecast-list article,.homey-shortcut-form,.integration-buttons,.integration-stack,.list-create-form,.list-create-form.existing,.member-form,.member-form.existing,.profile-strip,.quick-grid,.routine-create-form,.routine-create-form.existing,.screensaver-controls,.settings-grid,.task-admin-form,.task-admin-form.existing,.two-fields,.upload-line,.weather-week-banner{grid-template-columns:1fr}.profile-strip{flex-wrap:wrap}.profile-tile{flex-basis:calc(50% - 8px)}.weather-days{grid-template-columns:repeat(4,minmax(0,1fr))}.dock-actions{grid-template-columns:1fr}.dock-nav button span{display:none}.hero-topbar{grid-template-columns:1fr}.topbar-actions{grid-column:1;grid-row:3;justify-self:stretch}.topbar-actions .icon-button{flex:1 1}.topbar h1{white-space:normal}.hero-clock{grid-row:2}.categories-section,.homey-shortcut-form,.integrations-section,.members-section,.photos-section,.routine-create-form button,.routine-create-form textarea,.routine-create-form.existing textarea,.task-admin-form input[name=description],.task-admin-form>button:not(.danger-inline),.tasks-section{grid-column:auto}.hero-panel,.topbar{align-items:flex-start}.hero-panel{flex-direction:column}.hero-panel>div:first-child{grid-template-columns:78px 1fr}.avatar.large{width:72px;height:72px}.event-editor footer,.event-editor>header,.family-calendar>header{align-items:stretch;flex-direction:column}.calendar-item{grid-template-columns:1fr;align-items:stretch}.edit-event-button{width:100%}}