/* Die Luckys — binding reference pass 2026-09-30
   Visual source: user-supplied family-app reference.
   This layer intentionally overrides legacy dashboard proportions without removing functionality. */
:root{--lk-bg:#e8e6e0;--lk-bg-app:#f6f3ed;--lk-surface:#fffdfa;--lk-surface-strong:#fffefa;--lk-text:#17202c;--lk-muted:#747e79;--lk-line:rgba(47,56,51,.075);--lk-green:#5f947d;--lk-green-dark:#3f705d;--lk-green-soft:#deebe4;--lk-orange:#ea845e;--lk-orange-soft:#fae5da;--lk-blue:#7198c9;--lk-blue-soft:#e4edf8;--lk-rose:#dc7a82;--lk-rose-soft:#f8e2e4;--lk-violet:#887dcc;--lk-violet-soft:#ece9fa;--lk-sage:#8f9d7d;--lk-sage-soft:#e7ebdf;--lk-shadow:0 18px 50px rgba(43,50,46,.075);--lk-shadow-soft:0 8px 24px rgba(43,50,46,.055);--lk-radius:22px;--lk-sidebar:198px;--lk-topbar:76px}
html{background:#d8d7d2}
body.luckys-app{min-height:100vh;background:radial-gradient(circle at 14% 12%,rgba(255,255,255,.82),transparent 29rem),radial-gradient(circle at 91% 5%,rgba(143,154,137,.16),transparent 25rem),linear-gradient(135deg,#d9d8d3 0%,#d2d1cb 100%);font-size:15px;color:var(--lk-text)}
@media(min-width:901px){.luckys-shell{width:min(1420px,calc(100vw - 28px));min-height:calc(100vh - 28px);margin:14px auto;grid-template-columns:var(--lk-sidebar) minmax(0,1fr);overflow:clip;background:var(--lk-bg-app);border:1px solid rgba(255,255,255,.56);border-radius:24px;box-shadow:0 24px 70px rgba(37,43,40,.14)}.luckys-sidebar{position:sticky;inset:auto;top:0;width:auto;height:calc(100vh - 28px);padding:24px 16px 22px;border-right:1px solid rgba(48,57,52,.065);background:rgba(255,254,250,.83)}.luckys-stage{grid-column:2;background:linear-gradient(180deg,#f8f5ef 0%,#f5f2ec 100%)}.luckys-topbar{height:76px;padding:12px 22px;background:rgba(255,254,251,.82)}.luckys-content{width:min(1080px,calc(100% - 48px));padding:28px 0 72px}}
.luckys-brand-desktop{padding:0 10px 24px}.luckys-brand-heart{color:#d77d70}.luckys-brand-copy strong{font-size:19px;font-weight:800;letter-spacing:-.03em}.luckys-brand-copy small{font-size:11px;color:#7d817e}.luckys-side-nav{gap:5px}.luckys-side-nav a{min-height:44px;padding:0 13px;gap:13px;border-radius:11px;font-size:14px;font-weight:590;color:#36413d}.luckys-side-nav a.active{background:#dbe9e2;color:#365f50;box-shadow:inset 0 0 0 1px rgba(69,111,92,.03)}.luckys-side-nav .luckys-icon{width:20px;height:20px}.luckys-sidebar-story{padding:18px 10px 2px}.luckys-sidebar-story p{font-size:13px;line-height:1.72}
.luckys-topbar{gap:18px}.family-search{max-width:520px}.family-search>input{height:42px;padding-left:43px;background:#f1eee9;border-radius:999px;font-size:13px}.luckys-top-actions{gap:8px}.luckys-icon-button{width:40px;height:40px}.luckys-profile-menu summary{min-height:42px;font-size:13px}.luckys-profile-menu summary:hover,.luckys-profile-menu[open] summary{background:#f2efe9}.luckys-avatar-sm{width:38px;height:38px}
.luckys-page-head h1,.family-module-head h1,.calendar-page-head h1{font-size:31px!important;line-height:1.08;letter-spacing:-.04em;font-weight:800}.luckys-page-head p,.family-module-head p,.calendar-page-head p{margin-top:7px;font-size:14px;color:var(--lk-muted)}.luckys-eyebrow{font-size:11px;letter-spacing:.085em}.luckys-card,.luckys-list-card,.luckys-member-card,.luckys-member-add-card,.family-panel,.family-wide-panel,.f-card,.calendar-week-ref,.calendar-day-ref,.calendar-month-ref,.calendar-list-ref,.calendar-side-card{background:rgba(255,253,249,.96)!important;border-color:rgba(50,59,54,.06)!important;box-shadow:var(--lk-shadow-soft)!important}.luckys-card{border-radius:20px;padding:15px 16px 14px}.luckys-list-card{border-radius:20px}.luckys-card-head strong{font-size:14px}.luckys-card-head small{font-size:10px}.luckys-text-link{font-size:12.5px}.luckys-button,.luckys-primary-action{font-size:13px}.luckys-button.compact{font-size:12.5px}
.luckys-home{gap:13px}.luckys-welcome h1{font-size:29px}.luckys-welcome h1 span{font-size:.85em}.luckys-welcome p{font-size:13.5px}.luckys-weather-card{min-width:205px;height:60px;padding:8px 13px;border-radius:18px;background:rgba(255,253,249,.87)}.luckys-weather-card>strong{font-size:20px}.luckys-weather-card>span:nth-of-type(2) b{font-size:10.5px}.luckys-weather-card>span:nth-of-type(2) small{font-size:9.5px}.luckys-hero{height:166px;border-radius:22px;box-shadow:0 10px 30px rgba(53,58,54,.07)}.luckys-hero blockquote{right:28px;top:37px;font-size:18px;line-height:1.5}.luckys-home-grid{gap:11px}.luckys-home-grid-top{grid-template-columns:1fr 1.08fr .88fr}.luckys-home-grid-bottom{grid-template-columns:1.08fr 1.08fr .88fr}.luckys-card-head{margin-bottom:11px}.luckys-card-icon{width:33px;height:33px;border-radius:10px}.luckys-event-time{font-size:11.5px}.luckys-next-card h2{font-size:19px}.luckys-person-row,.luckys-location{font-size:11.5px}.luckys-check-row{min-height:31px;gap:10px;font-size:12px}.luckys-checkbox,.luckys-large-check{width:21px;height:21px;border-radius:6px}.luckys-day-row{min-height:38px;grid-template-columns:45px 5px auto 1fr;gap:8px;font-size:11px}.luckys-day-row strong{font-size:11px}.luckys-mini-week{padding:9px}.luckys-mini-week>a{min-height:57px}.luckys-mini-week small{font-size:8.5px}.luckys-mini-week strong{font-size:11.5px}.luckys-week-events>a{min-height:33px;grid-template-columns:67px auto 1fr;font-size:10px}.luckys-family-person strong{font-size:11px}.luckys-family-person small{font-size:9px}.luckys-family-card blockquote{font-size:9.5px}
.luckys-filter-row{gap:7px;padding-bottom:13px}.luckys-filter-row button{min-height:35px;padding:0 15px;font-size:12px}.luckys-list-heading{padding:17px 19px 8px;font-size:11px}.luckys-task-item{min-height:66px;padding:11px 18px;gap:13px}.luckys-task-copy strong{font-size:14.5px}.luckys-task-copy span{font-size:11px}.luckys-assignee small{font-size:10.5px}.luckys-priority{font-size:9.5px}.luckys-page-fab{width:56px;height:56px;right:30px;bottom:30px}
.luckys-list-card-head{min-height:64px}.luckys-list-card-head strong{font-size:15px}.luckys-list-card-head small{font-size:10.5px}.luckys-shopping-group h2{font-size:10.5px;padding-top:14px}.luckys-shopping-item{min-height:58px;padding:9px 18px}.luckys-shopping-item strong{font-size:14.5px}.luckys-shopping-item>div span{font-size:10.5px}.luckys-suggestions-card>span{font-size:10.5px}.luckys-suggestions-card button{font-size:11.5px}
.luckys-family-overview{gap:14px}.luckys-member-card,.luckys-member-add-card{min-height:220px;padding:19px;border-radius:21px}.luckys-member-main h2{font-size:18px}.luckys-member-main p{font-size:12.5px}.luckys-member-main>div>span{font-size:10.5px}.luckys-member-event strong{font-size:11.5px}.luckys-member-event small{font-size:9.5px}.luckys-permissions summary{font-size:10.5px}.luckys-permissions button{font-size:9.5px}
.luckys-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.luckys-photo-card{border-radius:18px;border-color:rgba(50,59,54,.055);box-shadow:0 7px 18px rgba(48,54,50,.055)}.luckys-photo-card>a{aspect-ratio:4/3}.luckys-photo-card figcaption{min-height:58px;padding:10px 11px}.luckys-photo-card figcaption strong{font-size:11.5px}.luckys-photo-card figcaption span{font-size:9px}
.family-module-grid{gap:14px}.family-panel,.family-wide-panel,.f-card{border-radius:20px!important;padding:18px!important}.family-panel h2{font-size:17px}.family-panel-head p{font-size:11.5px}.family-form label{font-size:11.5px}.family-form input,.family-form select,.family-form textarea{font-size:13px}.family-list-row{min-height:61px!important}.family-list-row strong{font-size:13.5px!important}.family-list-row span{font-size:10.5px}.luckys-more-grid{gap:12px}.luckys-more-grid>a{min-height:100px;border-radius:19px}.luckys-more-grid strong{font-size:13.5px}.luckys-more-grid small{font-size:10px}
.calendar-page{gap:13px!important}.calendar-toolbar-ref{border-radius:16px!important;padding:10px 12px!important}.calendar-nav-ref button{height:37px!important;min-width:37px!important}.calendar-nav-ref button.today{font-size:11.5px!important}.calendar-nav-ref strong{font-size:13.5px!important}.calendar-view-switch button{height:33px!important;font-size:11.5px!important}.member-chip,.member-add{height:37px!important;font-size:10.5px!important}.calendar-layout{grid-template-columns:minmax(0,1fr) 230px!important;gap:13px!important}.week-day-ref strong{font-size:11.5px!important}.week-day-ref span{font-size:9.5px!important}.week-time-axis span{font-size:9.5px!important}.calendar-event-card.timed strong{font-size:9.5px!important}.calendar-event-card.timed b{font-size:10.5px!important}.calendar-event-card.timed small{font-size:9px!important}.month-weekdays span{font-size:10.5px!important}.month-cell-ref>b{font-size:11.5px!important}.month-event-ref{font-size:9.5px!important}.calendar-day-title strong{font-size:18px!important}.calendar-day-title span{font-size:11.5px!important}.calendar-list-event time{font-size:11.5px!important}.calendar-list-event strong{font-size:13.5px!important}.calendar-list-event span{font-size:10.5px!important}.side-card-head strong{font-size:12.5px!important}.calendar-toggle-list label{font-size:10.5px!important}
.luckys-modal-card{border-radius:23px}.luckys-modal-card>header h2{font-size:21px}.luckys-modal-card>header p{font-size:12.5px}.luckys-form label{font-size:11.5px}.luckys-form input,.luckys-form select,.luckys-form textarea,.luckys-inline-form input,.luckys-inline-form select{font-size:13px}
@media(max-width:900px){html,body.luckys-app{background:#f7f5f0}.luckys-shell{width:100%;min-height:100vh;margin:0;display:block;overflow:visible;border:0;border-radius:0;box-shadow:none;background:#f7f5f0}.luckys-stage{background:#f7f5f0}.luckys-topbar{height:62px;padding:8px 14px;border-bottom:0;background:rgba(255,253,249,.94)}.luckys-brand-mobile strong{font-size:15px}.luckys-content{width:100%;padding:17px 14px calc(104px + env(safe-area-inset-bottom))}.luckys-welcome h1{font-size:25px}.luckys-welcome p{font-size:12.5px}.luckys-weather-card{height:52px;margin-top:12px;border-radius:16px}.luckys-hero{height:140px;border-radius:18px}.luckys-hero blockquote{font-size:14px}.luckys-card{padding:15px;border-radius:18px}.luckys-card-head strong{font-size:14px}.luckys-card-head small{font-size:10px}.luckys-check-row{font-size:12.5px;min-height:32px}.luckys-day-row,.luckys-day-row strong{font-size:11.5px}.luckys-family-grid{grid-template-columns:repeat(4,1fr)}.luckys-family-person strong{font-size:10.5px}.luckys-family-person small{font-size:8.8px}.luckys-bottom-nav{height:calc(72px + env(safe-area-inset-bottom));padding:7px 10px env(safe-area-inset-bottom);background:rgba(255,253,249,.97)}.luckys-bottom-nav>a{height:56px;gap:4px;font-size:9.5px}.luckys-mobile-add{width:54px;height:54px;transform:translateY(-9px)}.luckys-page-head h1,.family-module-head h1,.calendar-page-head h1{font-size:26px!important}.luckys-page-head p,.family-module-head p,.calendar-page-head p{font-size:12.5px}.luckys-task-item{min-height:62px}.luckys-task-copy strong{font-size:14px}.luckys-task-copy span{font-size:10.5px}.luckys-shopping-item strong{font-size:14px}.calendar-toolbar-ref{padding:9px!important}.calendar-view-switch button{font-size:11px!important}.calendar-mobile-agenda .mobile-agenda-head strong{font-size:14.5px}.calendar-mobile-agenda .mobile-agenda-head span{font-size:10.5px}}
@media(max-width:620px){.luckys-content{padding-left:12px;padding-right:12px}.luckys-welcome h1{font-size:24px}.luckys-hero{height:132px}.luckys-family-grid{grid-template-columns:repeat(4,1fr)}.luckys-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.luckys-photo-card{border-radius:14px}.luckys-photo-card figcaption{display:none}.luckys-member-card,.luckys-member-add-card{padding:16px}.luckys-modal-card{border-radius:22px 22px 0 0}}
@media(max-width:390px){.luckys-welcome h1{font-size:22px}.luckys-family-grid{grid-template-columns:repeat(2,1fr)}}

/* Portraits and profile editor */
.luckys-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.luckys-avatar-profile{width:84px;height:84px;font-size:22px;flex:0 0 auto}
.luckys-profile-editor-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.luckys-profile-editor-head h2{margin:0 0 4px;font-size:18px}
.luckys-profile-editor-head p{margin:0;color:var(--lk-muted);font-size:11.5px}
.luckys-avatar-upload{padding:12px;border:1px dashed rgba(61,75,67,.18);border-radius:14px;background:#f8f5ef}
.luckys-avatar-upload input{padding:0!important;border:0!important;min-height:auto!important;background:transparent!important}
.luckys-avatar-upload small{font-size:10px;color:var(--lk-muted);font-weight:500}
.luckys-profile-copy{color:var(--lk-muted);font-size:12px;line-height:1.65}
.luckys-profile-status{margin-top:10px;color:var(--lk-muted);font-size:10.5px}

/* warmer photo-wall rhythm from the reference */
@media(min-width:901px){
 .photos-page .luckys-photo-grid{grid-auto-flow:dense}
 .photos-page .luckys-photo-card:nth-child(7n+1){grid-column:span 2}
 .photos-page .luckys-photo-card:nth-child(7n+1)>a{aspect-ratio:2/1}
}

/* Mobile family app: keep the primary action above the fixed tab bar. */
@media(max-width:900px){
 .luckys-page-fab{bottom:92px}
 .luckys-profile-editor-head{align-items:flex-start}
 .luckys-avatar-profile{width:74px;height:74px}
}

.member-fallback{overflow:hidden}
.member-fallback img{width:100%;height:100%;display:block;object-fit:cover}
.mobile-agenda-day{border-bottom:1px solid var(--lk-line)}
.mobile-agenda-day:last-child{border-bottom:0}
.mobile-agenda-day.today>.mobile-agenda-head{background:#eef5f1!important}
.mobile-agenda-date{padding:0;border:0;background:transparent;text-align:left;display:grid;gap:2px;color:inherit;cursor:pointer}
.mobile-agenda-list{display:grid}
.mobile-agenda-meta{display:flex!important;align-items:center;gap:6px;margin-top:3px}
.calendar-empty-ref.compact{min-height:48px;padding:12px 14px}

.luckys-mobile-family-strip{display:none}
@media(max-width:900px){
 .luckys-mobile-family-strip{
  display:flex;
  align-items:flex-start;
  gap:18px;
  overflow-x:auto;
  padding:0 1px 2px;
  scrollbar-width:none;
 }
 .luckys-mobile-family-strip::-webkit-scrollbar{display:none}
 .luckys-mobile-family-person{
  min-width:54px;
  display:grid;
  justify-items:center;
  gap:5px;
  text-decoration:none;
 }
 .luckys-mobile-family-person .luckys-avatar{width:48px;height:48px}
 .luckys-mobile-family-person small{
  max-width:58px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9px;
  color:#38443e;
 }
}

/* Responsive frame sizing — never stretch the app/content to full browser width. */
@media(min-width:1600px){
 .luckys-shell{width:min(1480px,calc(100vw - 160px))}
 .luckys-content{width:min(1160px,calc(100% - 72px))}
}
@media(min-width:1280px) and (max-width:1599px){
 .luckys-shell{width:min(1360px,calc(100vw - 48px))}
 .luckys-content{width:min(1100px,calc(100% - 44px))}
}
@media(min-width:1024px) and (max-width:1279px){
 :root{--lk-sidebar:184px}
 .luckys-shell{width:calc(100vw - 28px)}
 .luckys-content{width:calc(100% - 32px)}
 .luckys-home-grid-top{grid-template-columns:1fr 1.05fr .92fr}
 .luckys-home-grid-bottom{grid-template-columns:1.05fr 1.05fr .92fr}
}
@media(min-width:901px) and (max-width:1023px){
 :root{--lk-sidebar:172px}
 .luckys-shell{width:calc(100vw - 20px);margin:10px auto;border-radius:20px}
 .luckys-sidebar{height:calc(100vh - 20px);padding-left:13px;padding-right:13px}
 .luckys-content{width:calc(100% - 28px);padding-top:22px}
 .luckys-home-grid-top,.luckys-home-grid-bottom{grid-template-columns:1fr 1fr}
 .luckys-shopping-card,.luckys-family-card{grid-column:1/-1}
 .calendar-layout{grid-template-columns:minmax(0,1fr)!important}
 .calendar-side-ref{display:none!important}
}
@media(max-width:900px){
 .luckys-shell{
  width:calc(100vw - 16px);
  min-height:calc(100vh - 16px);
  margin:8px auto;
  border:1px solid rgba(255,255,255,.72);
  border-radius:20px;
  overflow:clip;
  box-shadow:0 12px 32px rgba(43,50,46,.08);
 }
 .luckys-content{
  width:calc(100% - 24px);
  margin:0 auto;
  padding-left:0;
  padding-right:0;
 }
 .luckys-topbar{padding-left:12px;padding-right:12px}
 .luckys-bottom-nav{left:8px;right:8px;bottom:8px;border-radius:18px;border:1px solid rgba(49,57,52,.07)}
}
@media(max-width:620px){
 .luckys-shell{width:calc(100vw - 10px);margin:5px auto;border-radius:18px}
 .luckys-content{width:calc(100% - 20px)}
 .luckys-bottom-nav{left:5px;right:5px;bottom:5px;border-radius:16px}
 .luckys-weather-card{width:100%}
}
@media(max-width:390px){
 .luckys-shell{width:calc(100vw - 8px);margin:4px auto}
 .luckys-content{width:calc(100% - 16px)}
}

/* In-app management — intentionally part of the family UI, not a separate admin backend. */
.luckys-management-stats{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:12px;
}
.luckys-management-stat{
 min-height:94px;
 padding:15px;
 display:flex;
 align-items:center;
 gap:12px;
 text-decoration:none;
 background:var(--lk-surface);
 border:1px solid var(--lk-line);
 border-radius:19px;
 box-shadow:var(--lk-shadow-soft);
}
.luckys-management-stat>div:last-child{display:grid;gap:2px}
.luckys-management-stat strong{font-size:22px;line-height:1;font-weight:800}
.luckys-management-stat span{font-size:10.5px;color:var(--lk-muted)}
.luckys-management-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:14px;
}
.luckys-management-members,.luckys-management-links{display:grid;margin-top:12px}
.luckys-management-member{
 min-height:60px;
 padding:8px 2px;
 display:grid;
 grid-template-columns:auto 1fr auto;
 align-items:center;
 gap:10px;
 border-bottom:1px solid rgba(49,58,53,.06);
}
.luckys-management-member:last-child{border-bottom:0}
.luckys-management-member>div{display:grid;min-width:0}
.luckys-management-member strong{font-size:13px}
.luckys-management-member small{font-size:10px;color:var(--lk-muted)}
.luckys-management-member>.luckys-icon{color:#8a938e}
.luckys-management-links>a{
 min-height:62px;
 padding:8px 2px;
 display:grid;
 grid-template-columns:auto 1fr auto;
 align-items:center;
 gap:10px;
 text-decoration:none;
 border-bottom:1px solid rgba(49,58,53,.06);
}
.luckys-management-links>a:last-child{border-bottom:0}
.luckys-management-links>a>span:nth-child(2){display:grid;min-width:0}
.luckys-management-links strong{font-size:13px}
.luckys-management-links small{font-size:10px;color:var(--lk-muted)}
.luckys-system-list{display:grid;margin:12px 0 0}
.luckys-system-list>div{
 min-height:42px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:18px;
 border-bottom:1px solid rgba(49,58,53,.06);
}
.luckys-system-list>div:last-child{border-bottom:0}
.luckys-system-list dt{font-size:11px;color:var(--lk-muted)}
.luckys-system-list dd{margin:0;font-size:11px;font-weight:700;color:#47544d}

@media(max-width:1100px){
 .luckys-management-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 .luckys-management-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
 .luckys-management-stats{grid-template-columns:1fr 1fr;gap:8px}
 .luckys-management-stat{min-height:82px;padding:12px;gap:9px}
 .luckys-management-stat strong{font-size:19px}
 .luckys-management-stat span{font-size:9.5px}
}

/* Quality/function pass 2026-09-30 */

/* search */
.family-search-results a span{font-size:10px;color:var(--lk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* family profiles */
.luckys-member-card{position:relative;overflow:hidden}
.luckys-member-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--member-color,#5f947d);opacity:.85}
.luckys-member-main{position:relative}
.luckys-member-main>.luckys-member-color{margin-left:auto;width:11px;height:11px;border-radius:50%;background:var(--member-color,#5f947d);box-shadow:0 0 0 4px color-mix(in srgb,var(--member-color,#5f947d) 14%,transparent)}
.luckys-member-meta{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0}
.luckys-member-meta>span{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 9px;border-radius:999px;background:#f4f1eb;color:#67746d;font-size:9.5px}
.luckys-member-details{margin-top:11px;border-top:1px solid var(--lk-line);padding-top:9px}
.luckys-member-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#68766e;font-size:10.5px;font-weight:700}
.luckys-member-details summary::-webkit-details-marker{display:none}
.luckys-member-profile-form{display:grid;gap:9px;margin-top:11px}
.luckys-member-profile-form label{display:grid;gap:5px;color:#607069;font-size:10.5px;font-weight:650}
.luckys-member-profile-form input,.luckys-member-profile-form textarea{width:100%;min-height:39px;padding:8px 10px;border:1px solid rgba(53,63,56,.12);border-radius:10px;background:#fff;color:var(--lk-text)}
.luckys-member-profile-form textarea{min-height:64px;resize:vertical}
.luckys-color-input{height:42px!important;padding:4px!important}
.luckys-management-member{color:inherit;text-decoration:none}
.luckys-management-member .luckys-member-color{width:10px;height:10px;border-radius:50%;background:var(--member-color,#5f947d)}

/* task/shopping touch hints */
.luckys-gesture-hint{display:none;align-items:center;gap:7px;margin:-4px 0 10px;color:#7a857f;font-size:10px}
.luckys-task-item,.luckys-shopping-item{touch-action:pan-y}
@media(max-width:900px){.luckys-gesture-hint{display:flex}}

/* Shopping native-app controls */
.luckys-shopping-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.luckys-shopping-list-switch{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}
.luckys-shopping-list-switch::-webkit-scrollbar{display:none}
.luckys-shopping-list-switch button{min-height:36px;padding:0 12px;border:1px solid var(--lk-line);border-radius:999px;background:#f1eee8;color:#657069;display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;font-weight:680;cursor:pointer}
.luckys-shopping-list-switch button small{min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.75);display:grid;place-items:center;font-size:9px}
.luckys-shopping-list-switch button.active{background:var(--lk-green);color:#fff;border-color:var(--lk-green)}
.luckys-shopping-list-switch .add-list{background:#fff}
.luckys-shopping-quick{min-height:50px;margin:0 0 11px;padding:5px 6px 5px 13px;border-radius:16px;background:var(--lk-surface);border:1px solid var(--lk-line);box-shadow:var(--lk-shadow-soft);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}
.luckys-shopping-quick>span{color:var(--lk-green)}
.luckys-shopping-quick input{border:0;outline:0;background:transparent;min-width:0;font-size:13px}
.luckys-shopping-quick button{min-height:38px;padding:0 13px;border:0;border-radius:11px;background:var(--lk-green-soft);color:var(--lk-green-dark);font-size:11px;font-weight:740;cursor:pointer}
.luckys-shopping-new-list{display:grid;grid-template-columns:1fr auto;gap:8px;margin:-2px 0 10px;padding:10px;border-radius:14px;background:#f5f2ec}
.luckys-shopping-new-list input{min-height:38px;padding:0 11px;border:1px solid var(--lk-line);border-radius:10px;background:#fff}
@media(max-width:620px){.luckys-shopping-topline{align-items:flex-start}.luckys-shopping-quick button{font-size:0;width:38px;padding:0}.luckys-shopping-quick button:after{content:"+";font-size:19px}.luckys-shopping-new-list{grid-template-columns:1fr}.luckys-shopping-new-list button{width:100%}}

/* Profile preferences */
.luckys-profile-settings-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.luckys-profile-settings-grid>.family-panel:nth-child(3){grid-column:2}
.luckys-profile-savebar{grid-column:1/-1;position:sticky;bottom:18px;z-index:20;min-height:64px;padding:10px 12px 10px 16px;border:1px solid rgba(55,65,59,.08);border-radius:18px;background:rgba(255,253,249,.94);backdrop-filter:blur(16px);box-shadow:0 14px 38px rgba(43,50,46,.12);display:flex;align-items:center;justify-content:space-between;gap:14px}
.luckys-profile-savebar span{font-size:11px;color:var(--lk-muted)}
.luckys-notification-preferences{display:grid;margin:12px 0 16px}
.luckys-notification-preferences label{min-height:44px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--lk-line);font-size:11.5px;cursor:pointer}
.luckys-notification-preferences label:last-child{border-bottom:0}
.luckys-notification-preferences input{position:absolute;opacity:0}
.luckys-toggle{width:37px;height:22px;border-radius:999px;background:#dddcd7;position:relative;transition:.18s}
.luckys-toggle:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:.18s}
.luckys-notification-preferences input:checked+.luckys-toggle{background:var(--lk-green)}
.luckys-notification-preferences input:checked+.luckys-toggle:after{transform:translateX(15px)}
@media(max-width:900px){.luckys-profile-settings-grid{grid-template-columns:1fr}.luckys-profile-settings-grid>.family-panel:nth-child(3){grid-column:auto}.luckys-profile-savebar{bottom:88px}.luckys-profile-savebar span{display:none}}

/* Calendar personal identity */
.calendar-event-card.timed,.calendar-list-event,.month-event-ref{border-left-color:var(--person-color,currentColor)!important}
.calendar-event-card.timed{border-left-width:4px!important}
.calendar-list-event{border-left:4px solid var(--person-color,#5f947d)!important}
.month-event-ref{border-left:3px solid var(--person-color,#5f947d)!important}
.member-chip .member-fallback{box-shadow:0 0 0 2px rgba(255,255,255,.9)}

/* Photo memories / albums / lightbox */
.luckys-photo-filters{display:flex;gap:7px;overflow-x:auto;margin:-4px 0 14px;padding-bottom:2px;scrollbar-width:none}
.luckys-photo-filters::-webkit-scrollbar{display:none}
.luckys-photo-filters button{min-height:34px;padding:0 13px;border:1px solid var(--lk-line);border-radius:999px;background:#f0ede7;color:#66736c;display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;font-weight:680;cursor:pointer}
.luckys-photo-filters button.active{background:var(--lk-green);color:#fff;border-color:var(--lk-green)}
.luckys-photo-month{display:grid;gap:8px;margin-bottom:17px}
.luckys-photo-month>header{display:flex;align-items:center;justify-content:space-between;padding:0 2px}
.luckys-photo-month>header strong{font-size:14px}
.luckys-photo-month>header span{font-size:10px;color:var(--lk-muted)}
.luckys-photo-open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.luckys-photo-open img{width:100%;height:100%;object-fit:cover}
.luckys-photo-favorite.active{color:#ce756e!important}
.luckys-photo-favorite.active .luckys-icon{fill:currentColor}
.luckys-memories{margin-bottom:14px;padding:14px;border-radius:20px;background:linear-gradient(135deg,#f6ebdf,#f1efe8);border:1px solid rgba(87,70,57,.05)}
.luckys-memories>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#c77a70}
.luckys-memories h2{margin:0;font-size:17px;color:var(--lk-text)}
.luckys-memories>div{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.luckys-memories button{position:relative;aspect-ratio:1;border:0;padding:0;border-radius:12px;overflow:hidden;background:#ddd;cursor:pointer}
.luckys-memories img{width:100%;height:100%;object-fit:cover}
.luckys-memories button span{position:absolute;left:6px;bottom:5px;padding:2px 5px;border-radius:7px;background:rgba(255,255,255,.84);font-size:8px}
.luckys-lightbox{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:26px}
.luckys-lightbox-backdrop{position:absolute;inset:0;border:0;background:rgba(27,31,29,.72);backdrop-filter:blur(9px)}
.luckys-lightbox>section{position:relative;z-index:1;width:min(980px,96vw);max-height:92vh;display:grid;grid-template-rows:minmax(0,1fr) auto;border-radius:22px;overflow:hidden;background:#111}
.luckys-lightbox>section>img{width:100%;height:100%;max-height:78vh;object-fit:contain;background:#111}
.luckys-lightbox footer{padding:12px 15px;background:var(--lk-surface);display:grid;gap:2px}
.luckys-lightbox footer strong{font-size:13px}.luckys-lightbox footer span{font-size:10px;color:var(--lk-muted)}
.luckys-lightbox-close{position:absolute;z-index:2;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;cursor:pointer}
@media(max-width:900px){.luckys-memories>div{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.luckys-memories>div{grid-template-columns:repeat(3,1fr)}.luckys-lightbox{padding:8px}.luckys-lightbox>section{width:100%;border-radius:18px}}

/* Management details */
.luckys-device-list{display:grid;margin-top:12px}
.luckys-device-list>div{min-height:58px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;border-bottom:1px solid var(--lk-line)}
.luckys-device-list>div:last-child{border-bottom:0}
.luckys-device-list>div>span:last-child{display:grid}
.luckys-device-list strong{font-size:12px}.luckys-device-list small{font-size:9.5px;color:var(--lk-muted)}
.luckys-system-list dd.is-ok{color:var(--lk-green-dark)}.luckys-system-list dd.is-warning{color:#b55b53}

/* Accessibility / touch / reduced motion */
:focus-visible{outline:3px solid rgba(95,148,125,.28)!important;outline-offset:2px!important}
@media(max-width:900px){button,a,input,select,textarea,summary{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Task ownership accent */
.luckys-task-item{position:relative}
.luckys-task-item:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--person-color,#5f947d);opacity:.7}

/* Invitations */
.luckys-invite-form{display:grid;grid-template-columns:1.4fr .8fr auto;gap:8px;margin:12px 0}
.luckys-invite-form input,.luckys-invite-form select{min-height:40px;padding:0 10px;border:1px solid var(--lk-line);border-radius:10px;background:#fff;color:var(--lk-text)}
.luckys-invite-list{display:grid}
.luckys-invite-list>div{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--lk-line)}
.luckys-invite-list>div>span{display:grid;min-width:0}
.luckys-invite-list strong{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.luckys-invite-list small{font-size:9.5px;color:var(--lk-muted)}
.luckys-invite-list a{font-size:10.5px;color:var(--lk-green-dark);font-weight:700;text-decoration:none}

/* Auth / invitation pages */
.luckys-auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}
.luckys-auth-card{width:min(460px,calc(100vw - 28px));padding:28px;border:1px solid rgba(255,255,255,.7);border-radius:24px;background:rgba(255,253,249,.95);box-shadow:0 24px 70px rgba(37,43,40,.14)}
.luckys-auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:26px}
.luckys-auth-brand>span{color:#d77d70;display:grid}
.luckys-auth-brand>div{display:grid}
.luckys-auth-brand strong{font-size:18px;letter-spacing:-.025em}
.luckys-auth-brand small{font-size:10px;color:var(--lk-muted)}
.luckys-auth-card h1{margin:0 0 7px;font-size:29px;letter-spacing:-.04em}
.luckys-auth-card>p{margin:0 0 20px;color:var(--lk-muted);font-size:13px;line-height:1.6}
.luckys-auth-card .luckys-form{margin-top:16px}
.luckys-auth-card .luckys-button{width:100%;margin-top:4px}
.luckys-auth-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;min-height:42px;cursor:pointer}
.luckys-auth-check input{position:absolute;opacity:0;width:1px!important;height:1px!important}
.luckys-auth-check input:checked+.luckys-large-check{background:var(--lk-green);border-color:var(--lk-green)}
.luckys-auth-check input:checked+.luckys-large-check:after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.luckys-auth-note{display:block;margin-top:16px;color:var(--lk-muted);font-size:10px;text-align:center}

@media(max-width:620px){
 .luckys-invite-form{grid-template-columns:1fr}
 .luckys-auth-page{padding:8px}
 .luckys-auth-card{width:calc(100vw - 16px);padding:22px 18px;border-radius:20px}
 .luckys-auth-card h1{font-size:25px}
}

.luckys-photo-people{display:flex!important;align-items:center;margin-top:5px}
.luckys-photo-people .luckys-avatar{margin-left:-5px;box-shadow:0 0 0 2px var(--lk-surface)}
.luckys-photo-people .luckys-avatar:first-child{margin-left:0}
.luckys-photo-people-select{margin:0;padding:0;border:0;display:grid;gap:7px}
.luckys-photo-people-select legend{font-size:11px;font-weight:650;color:#607069}
.luckys-photo-people-select>div{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.luckys-photo-people-select>div::-webkit-scrollbar{display:none}
.luckys-photo-people-select label{min-width:70px;padding:8px;border:1px solid var(--lk-line);border-radius:13px;background:#f7f4ee;display:grid!important;justify-items:center;gap:5px!important;cursor:pointer}
.luckys-photo-people-select input{position:absolute;opacity:0;width:1px!important;height:1px!important;min-height:0!important}
.luckys-photo-people-select label:has(input:checked){background:var(--lk-green-soft);border-color:#b7d0c3}
.luckys-photo-people-select b{font-size:9.5px;color:#55625b}

/* Final responsive calibration 2026-09-30 */
.luckys-family-person .luckys-avatar,
.luckys-mobile-family-person .luckys-avatar{box-shadow:0 0 0 3px color-mix(in srgb,var(--member-color,#5f947d) 24%,transparent)}
.luckys-device-row{grid-template-columns:auto 1fr auto!important}
.luckys-device-row form{margin:0}
.family-search-results a span{display:block}
.calendar-event-card.timed,.calendar-list-event,.month-event-ref{border-left-color:var(--person-color,#5f947d)!important}

/* Never use full viewport width: every size keeps a visible outer gutter. */
@media(min-width:2200px){
 .luckys-shell{width:1540px}
 .luckys-content{width:1180px}
}
@media(min-width:1800px) and (max-width:2199px){
 .luckys-shell{width:min(1500px,calc(100vw - 180px))}
 .luckys-content{width:min(1160px,calc(100% - 80px))}
}
@media(min-width:1440px) and (max-width:1799px){
 .luckys-shell{width:min(1400px,calc(100vw - 72px))}
 .luckys-content{width:min(1120px,calc(100% - 56px))}
}
@media(min-width:1280px) and (max-width:1439px){
 .luckys-shell{width:calc(100vw - 40px)}
 .luckys-content{width:calc(100% - 40px)}
}
@media(min-width:1180px) and (max-width:1279px){
 .luckys-shell{width:calc(100vw - 30px)}
 .luckys-content{width:calc(100% - 34px)}
 .luckys-home-grid-top{grid-template-columns:1fr 1.05fr .9fr}
 .luckys-home-grid-bottom{grid-template-columns:1.04fr 1.04fr .92fr}
}
@media(min-width:1024px) and (max-width:1179px){
 .luckys-shell{width:calc(100vw - 24px);margin:12px auto}
 .luckys-content{width:calc(100% - 30px)}
 .luckys-home-grid-top,.luckys-home-grid-bottom{grid-template-columns:1fr 1fr}
 .luckys-shopping-card,.luckys-family-card{grid-column:1/-1}
 .luckys-family-grid{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:769px) and (max-width:1023px){
 .luckys-shell{width:calc(100vw - 18px);margin:9px auto}
 .luckys-content{width:calc(100% - 26px)}
 .luckys-home-grid-top,.luckys-home-grid-bottom{grid-template-columns:1fr 1fr}
 .luckys-shopping-card,.luckys-family-card{grid-column:1/-1}
 .calendar-layout{grid-template-columns:1fr!important}
 .calendar-side-ref{display:none!important}
}
@media(min-width:621px) and (max-width:768px){
 .luckys-shell{width:calc(100vw - 14px);margin:7px auto}
 .luckys-content{width:calc(100% - 24px)}
 .luckys-home-grid-top,.luckys-home-grid-bottom{grid-template-columns:1fr}
 .luckys-management-stats{grid-template-columns:repeat(2,1fr)}
 .luckys-photo-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:431px) and (max-width:620px){
 .luckys-shell{width:calc(100vw - 12px);margin:6px auto}
 .luckys-content{width:calc(100% - 20px)}
 .luckys-weather-card{width:100%}
 .luckys-management-stats{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:391px) and (max-width:430px){
 .luckys-shell{width:calc(100vw - 10px);margin:5px auto}
 .luckys-content{width:calc(100% - 18px)}
 .luckys-management-stats{grid-template-columns:1fr 1fr}
 .luckys-photo-grid{grid-template-columns:1fr 1fr}
 .luckys-bottom-nav{left:5px;right:5px}
}
@media(min-width:376px) and (max-width:390px){
 .luckys-shell{width:calc(100vw - 8px);margin:4px auto}
 .luckys-content{width:calc(100% - 16px)}
 .luckys-bottom-nav{left:4px;right:4px}
 .luckys-management-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:375px){
 .luckys-shell{width:calc(100vw - 6px);margin:3px auto}
 .luckys-content{width:calc(100% - 14px)}
 .luckys-bottom-nav{left:3px;right:3px;bottom:3px}
 .luckys-management-stats{grid-template-columns:1fr}
 .luckys-family-grid{grid-template-columns:repeat(2,1fr)}
 .luckys-profile-savebar{left:7px;right:7px}
}

.calendar-person-mini{display:flex!important;align-items:center;gap:5px;margin-top:3px;font-size:8.5px!important;color:inherit;opacity:.9}
.calendar-person-mini>.luckys-avatar{flex:0 0 auto}
.calendar-event-meta{display:flex!important;align-items:center;gap:6px;min-width:0}
.calendar-event-meta>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:620px){.calendar-person-mini>span:last-child{display:none}}

/* Home balance with small households */
.luckys-family-grid{grid-template-columns:repeat(auto-fit,minmax(66px,1fr))}
.luckys-family-person{max-width:112px;width:100%;margin-inline:auto}
.luckys-family-card:has(.luckys-family-grid>.luckys-family-person:only-child) .luckys-family-grid{grid-template-columns:minmax(90px,150px);justify-content:center}
@media(max-width:620px){
 .luckys-family-grid{grid-template-columns:repeat(auto-fit,minmax(62px,1fr))}
 .luckys-family-person{max-width:100px}
}

/* Keep empty states useful without creating tall dead areas */
.luckys-empty.compact{min-height:74px}
.luckys-card .luckys-empty.inline{min-height:32px}
.luckys-next-card .luckys-empty.compact{padding-block:12px}

.luckys-mobile-search-menu{display:none;position:relative}
.luckys-mobile-search-menu>summary{list-style:none}
.luckys-mobile-search-menu>summary::-webkit-details-marker{display:none}
.luckys-mobile-search-panel{position:fixed;left:12px;right:12px;top:62px;z-index:130;padding:8px;border:1px solid var(--lk-line);border-radius:18px;background:rgba(255,253,249,.98);box-shadow:0 20px 60px rgba(49,54,49,.16)}
.luckys-mobile-search-panel .family-search{display:block!important;max-width:none;margin:0}
.luckys-mobile-search-panel .family-search-results{position:static;margin-top:7px;box-shadow:none;border:0;padding:0;background:transparent}
@media(max-width:900px){.luckys-mobile-search-menu{display:block}}

.luckys-lightbox-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;cursor:pointer}
.luckys-lightbox-nav.prev{left:12px}.luckys-lightbox-nav.next{right:12px}
@media(max-width:620px){.luckys-lightbox-nav{width:38px;height:38px}.luckys-lightbox-nav.prev{left:7px}.luckys-lightbox-nav.next{right:7px}}

.luckys-quantity-stepper{height:30px;padding:2px;border-radius:999px;background:#f2efe9;display:flex;align-items:center;gap:2px;flex:0 0 auto}
.luckys-quantity-stepper button{width:26px;height:26px;min-height:0!important;padding:0;border:0;border-radius:50%;background:#fff;color:#59655e;display:grid;place-items:center;font-size:15px;line-height:1;cursor:pointer}
.luckys-quantity-stepper b{min-width:24px;text-align:center;font-size:10px;color:#59655e}
@media(max-width:620px){.luckys-quantity-stepper{height:32px}.luckys-quantity-stepper button{width:28px;height:28px}}

.luckys-device-current{padding:5px 8px;border-radius:999px;background:var(--lk-green-soft);color:var(--lk-green-dark);font-size:9px;font-weight:760;white-space:nowrap}

/* Typography pass 2026-09-30 — readability first */
body.luckys-app{font-size:16px;line-height:1.55}
.luckys-content{font-size:15px}
.luckys-brand-copy strong{font-size:20px}
.luckys-brand-copy small{font-size:12px}
.luckys-side-nav a{font-size:15px}
.luckys-profile-menu summary{font-size:14px}
.family-search>input{font-size:14px}
.family-search-results small{font-size:12px}
.family-search-results strong{font-size:14px}
.family-search-results a span{font-size:12px}
.family-notification strong{font-size:14px}
.family-notification span span{font-size:13px}
.family-notification small{font-size:11.5px}
.luckys-profile-popover-head strong{font-size:14px}
.luckys-profile-popover-head small{font-size:11.5px}
.luckys-profile-popover>a,.luckys-profile-popover form button{font-size:14px}

.luckys-page-head h1,.family-module-head h1,.calendar-page-head h1{font-size:34px!important}
.luckys-page-head p,.family-module-head p,.calendar-page-head p{font-size:15px}
.luckys-eyebrow{font-size:12px}
.luckys-welcome h1{font-size:31px}
.luckys-welcome p{font-size:14.5px}
.luckys-weather-card>strong{font-size:22px}
.luckys-weather-card>span:nth-of-type(2) b{font-size:12.5px}
.luckys-weather-card>span:nth-of-type(2) small{font-size:11px}
.luckys-hero blockquote{font-size:19px}

.luckys-card-head strong{font-size:15px}
.luckys-card-head small{font-size:12px}
.luckys-event-time{font-size:13px}
.luckys-next-card h2{font-size:20px}
.luckys-person-row,.luckys-location{font-size:13px}
.luckys-check-row{font-size:13.5px;min-height:34px}
.luckys-text-link{font-size:13px}
.luckys-button,.luckys-primary-action{font-size:14px}
.luckys-button.compact{font-size:13px}
.luckys-day-row,.luckys-day-row strong{font-size:12.5px}
.luckys-mini-week small{font-size:10px}
.luckys-mini-week strong{font-size:12.5px}
.luckys-week-events>a{font-size:11.5px}
.luckys-family-person strong{font-size:12.5px}
.luckys-family-person small{font-size:11px;line-height:1.3}
.luckys-family-card blockquote{font-size:11.5px}
.luckys-empty.inline,.luckys-empty p,.luckys-empty span{font-size:12.5px}
.luckys-empty strong{font-size:14px}

.luckys-filter-row button{font-size:13px}
.luckys-list-heading{font-size:12px}
.luckys-task-copy strong{font-size:15px}
.luckys-task-copy span{font-size:12px}
.luckys-assignee small{font-size:12px}
.luckys-priority{font-size:11px}
.luckys-form label,.family-form label{font-size:12.5px}
.luckys-form input,.luckys-form select,.luckys-form textarea,.family-form input,.family-form select,.family-form textarea{font-size:14px}
.luckys-list-card-head strong{font-size:16px}
.luckys-list-card-head small{font-size:12px}
.luckys-shopping-group h2{font-size:12px}
.luckys-shopping-item strong{font-size:15px}
.luckys-shopping-item>div span{font-size:12px}
.luckys-completed-group summary{font-size:13px}
.luckys-completed-group summary span{font-size:11px}
.luckys-suggestions-card>span{font-size:12px}
.luckys-suggestions-card button{font-size:12.5px}
.luckys-routine-card>summary>small{font-size:12px}
.luckys-inline-form input,.luckys-inline-form select{font-size:13px}
.luckys-routine-list strong{font-size:13.5px}
.luckys-routine-list small{font-size:11px}

.luckys-member-main h2{font-size:19px}
.luckys-member-main p{font-size:13.5px}
.luckys-member-main>div>span{font-size:12px}
.luckys-member-meta>span{font-size:11.5px}
.luckys-member-event strong{font-size:13px}
.luckys-member-event small{font-size:11.5px}
.luckys-member-details summary,.luckys-permissions summary{font-size:12px}
.luckys-member-profile-form label{font-size:12px}
.luckys-permissions button{font-size:11.5px}
.luckys-permissions b{font-size:10.5px}
.luckys-member-add-card strong{font-size:15px}
.luckys-member-add-card small{font-size:12px}

.luckys-photo-card figcaption strong{font-size:13px}
.luckys-photo-card figcaption span{font-size:11px}
.luckys-photo-month>header strong{font-size:15px}
.luckys-photo-month>header span{font-size:11.5px}
.luckys-photo-filters button{font-size:12.5px}
.luckys-memories h2{font-size:18px}
.luckys-memories button span{font-size:10px}
.luckys-lightbox footer strong{font-size:14px}
.luckys-lightbox footer span{font-size:12px}
.luckys-photo-people-select legend{font-size:12.5px}
.luckys-photo-people-select b{font-size:11px}

.luckys-more-grid strong{font-size:15px}
.luckys-more-grid small{font-size:12px}
.family-panel h2{font-size:18px}
.family-panel-head p{font-size:12.5px}
.family-list-row strong{font-size:14px!important}
.family-list-row span{font-size:12px}
.family-soft-btn{font-size:12.5px!important}

.luckys-management-stat strong{font-size:23px}
.luckys-management-stat span{font-size:12px}
.luckys-management-member strong{font-size:14px}
.luckys-management-member small{font-size:12px}
.luckys-management-links strong{font-size:14px}
.luckys-management-links small{font-size:12px}
.luckys-system-list dt,.luckys-system-list dd{font-size:12.5px}
.luckys-device-list strong{font-size:13px}
.luckys-device-list small{font-size:11.5px}
.luckys-device-current{font-size:10.5px}
.luckys-invite-list strong{font-size:13px}
.luckys-invite-list small{font-size:11px}
.luckys-invite-list a{font-size:12px}

.luckys-profile-editor-head h2{font-size:19px}
.luckys-profile-editor-head p{font-size:12.5px}
.luckys-avatar-upload small{font-size:11.5px}
.luckys-profile-copy{font-size:13px}
.luckys-profile-status{font-size:11.5px}
.luckys-profile-savebar span{font-size:12.5px}
.luckys-notification-preferences label{font-size:13px}
.luckys-shopping-list-switch button{font-size:12.5px}
.luckys-shopping-list-switch button small{font-size:10.5px}
.luckys-shopping-quick input{font-size:14px}
.luckys-shopping-quick button{font-size:12.5px}
.luckys-gesture-hint{font-size:11.5px}
.luckys-quantity-stepper b{font-size:11.5px}

.calendar-nav-ref button.today{font-size:12.5px!important}
.calendar-nav-ref strong{font-size:14.5px!important}
.calendar-view-switch button{font-size:12.5px!important}
.member-chip,.member-add{font-size:12px!important}
.week-day-ref strong{font-size:12.5px!important}
.week-day-ref span{font-size:11px!important}
.week-all-day-label{font-size:10.5px!important}
.week-time-axis span{font-size:10.5px!important}
.calendar-event-card.timed strong{font-size:10.5px!important}
.calendar-event-card.timed b{font-size:11.5px!important}
.calendar-event-card.timed small{font-size:10.5px!important}
.calendar-person-mini{font-size:10px!important}
.month-weekdays span{font-size:11.5px!important}
.month-cell-ref>b{font-size:12.5px!important}
.month-event-ref{font-size:10.5px!important}
.calendar-day-title strong{font-size:19px!important}
.calendar-day-title span{font-size:12.5px!important}
.calendar-list-event time{font-size:12.5px!important}
.calendar-list-event strong{font-size:14.5px!important}
.calendar-list-event span{font-size:12px!important}
.side-card-head strong{font-size:13.5px!important}
.calendar-toggle-list label{font-size:12px!important}
.mini-weekdays span{font-size:10px!important}
.mini-days button{font-size:11px!important}
.quick-actions-card>button,.quick-actions-card>a,.calendar-template-row>button:first-child{font-size:12px!important}
.calendar-mobile-agenda .mobile-agenda-head strong{font-size:15px!important}
.calendar-mobile-agenda .mobile-agenda-head span{font-size:12px!important}

.luckys-sheet-head p{font-size:12.5px}
.luckys-quick-grid a{font-size:12px}
.luckys-bottom-nav>a{font-size:10.5px}

@media(max-width:900px){
 body.luckys-app{font-size:16px}
 .luckys-page-head h1,.family-module-head h1,.calendar-page-head h1{font-size:28px!important}
 .luckys-page-head p,.family-module-head p,.calendar-page-head p{font-size:14px}
 .luckys-welcome h1{font-size:27px}
 .luckys-welcome p{font-size:14px}
 .luckys-card-head strong{font-size:15px}
 .luckys-card-head small{font-size:12px}
 .luckys-check-row{font-size:13.5px}
 .luckys-task-copy strong{font-size:15px}
 .luckys-task-copy span{font-size:12px}
 .luckys-shopping-item strong{font-size:15px}
 .luckys-family-person strong{font-size:12px}
 .luckys-family-person small{font-size:10.5px}
 .luckys-bottom-nav>a{font-size:10.5px}
}

@media(max-width:430px){
 .luckys-page-head h1,.family-module-head h1,.calendar-page-head h1{font-size:26px!important}
 .luckys-welcome h1{font-size:24px}
 .luckys-card-head strong{font-size:14.5px}
 .luckys-card-head small{font-size:11.5px}
 .luckys-family-person small{font-size:10.5px}
}

/* Receipt capture & expense workflow */
.household-capture-row{gap:14px!important;margin-bottom:18px!important}
.receipt-capture-card label{
 min-height:102px!important;
 padding:18px 20px!important;
 border:1px solid var(--lk-line)!important;
 border-radius:20px!important;
 background:var(--lk-surface)!important;
 box-shadow:var(--lk-shadow-soft)!important;
 color:var(--lk-text)!important;
}
.receipt-capture-card.primary label{background:linear-gradient(135deg,#edf5f0,#fffdf9)!important}
.receipt-capture-card label:hover{border-color:rgba(95,148,125,.25)!important;background:#fffefa!important}
.receipt-capture-card .capture-icon{
 width:46px!important;height:46px!important;flex:0 0 46px!important;
 border-radius:14px!important;background:var(--lk-green-soft)!important;color:var(--lk-green-dark)!important;
}
.receipt-capture-card.secondary .capture-icon{background:#eceff3!important;color:#596979!important}
.receipt-capture-card .capture-icon .luckys-icon{width:23px!important;height:23px!important;color:inherit!important}
.receipt-capture-card strong{font-size:15px!important;line-height:1.25}
.receipt-capture-card small{font-size:12px!important;line-height:1.45;color:var(--lk-muted)!important}
.receipt-capture-card .capture-action{margin-left:auto;color:#8b958f}
.receipt-capture-card .capture-action .luckys-icon{width:18px!important;height:18px!important;color:inherit!important}
.receipt-status-row .transaction-icon{display:grid;place-items:center}
.receipt-status-row>div strong{font-size:14px}
.receipt-status-row>div span{font-size:12px}
.receipt-review-grid{gap:14px!important}
.receipt-preview-panel{overflow:hidden}
.receipt-preview-image{width:100%;max-height:72vh;object-fit:contain;border-radius:16px;background:#f0eee9}
.ocr-confidence{display:block;margin-top:10px;font-size:11.5px;color:var(--lk-muted)}
.receipt-processing strong{font-size:16px}
.receipt-processing p{font-size:13px;color:var(--lk-muted)}
.receipt-item-edit input{font-size:13px!important}
.receipt-confirm-note{font-size:12.5px!important;line-height:1.5!important;background:var(--lk-green-soft)!important;color:#46675a!important;border-radius:12px!important;margin:12px 0!important}
.receipt-confirm-note .luckys-icon{flex:0 0 auto}
@media(max-width:820px){
 .household-capture-row{grid-template-columns:1fr!important}
 .receipt-capture-card label{min-height:92px!important;padding:16px!important}
 .receipt-review-grid{grid-template-columns:1fr!important}
 .receipt-preview-image{max-height:48vh}
}

.luckys-mobile-receipt-action{display:none}
@media(max-width:900px){
 .luckys-mobile-receipt-action{
  display:block;
  margin:0 0 14px;
 }
 .luckys-mobile-receipt-action label{
  min-height:78px;
  padding:12px 14px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:11px;
  border:1px solid rgba(95,148,125,.14);
  border-radius:18px;
  background:linear-gradient(135deg,#edf5f0,#fffdf9);
  box-shadow:var(--lk-shadow-soft);
  cursor:pointer;
 }
 .luckys-mobile-receipt-action input{display:none}
 .luckys-mobile-receipt-icon{
  width:44px;height:44px;border-radius:13px;
  display:grid;place-items:center;
  background:var(--lk-green-soft);
  color:var(--lk-green-dark);
 }
 .luckys-mobile-receipt-action label>span:nth-child(2){display:grid;gap:2px;min-width:0}
 .luckys-mobile-receipt-action strong{font-size:15px;line-height:1.25}
 .luckys-mobile-receipt-action small{font-size:12px;color:var(--lk-muted)}
 .luckys-mobile-receipt-action label>.luckys-icon{color:#849189}
}

/* Mobile quality pass 2026-09-30 */
@media(max-width:900px){
 .luckys-content,.luckys-page,.family-module-grid,.calendar-page,.luckys-shopping-page,.luckys-family-page,.photos-page{
  min-width:0;max-width:100%;overflow-x:clip
 }

 /* Home: never squeeze overview cards side by side on phones/tablets. */
 .luckys-home-grid-top,.luckys-home-grid-bottom{grid-template-columns:1fr!important}
 .luckys-shopping-card,.luckys-family-card{grid-column:auto!important}
 .luckys-card{min-width:0}
 .luckys-card-head{gap:10px}
 .luckys-card-head>div{min-width:0}
 .luckys-card-head strong{overflow-wrap:anywhere}

 /* More: complete mobile hub for all areas. */
 .luckys-more-grid{grid-template-columns:1fr!important;gap:10px}
 .luckys-more-grid>a{
  min-height:82px!important;padding:13px 14px!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:12px!important;border-radius:18px!important
 }
 .luckys-more-grid>a>span:nth-child(2){min-width:0}
 .luckys-more-grid strong{font-size:15px!important;line-height:1.2}
 .luckys-more-grid small{font-size:12px!important;line-height:1.35}
 .luckys-more-icon{width:46px!important;height:46px!important;border-radius:14px!important}

 /* Calendar: real mobile month instead of a clipped desktop grid. */
 .calendar-layout,.calendar-main,.calendar-month-ref,.month-grid-ref,.month-weekdays{min-width:0!important;width:100%!important}
 .calendar-month-ref{overflow:hidden!important}
 .month-weekdays,.month-grid-ref{
  min-width:0!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important
 }
 .month-weekdays span{font-size:10.5px!important;padding:8px 0!important}
 .month-cell-ref{
  min-width:0!important;min-height:70px!important;
  padding:6px 4px!important
 }
 .month-cell-ref>b{font-size:12px!important}
 .month-cell-ref>div{
  display:flex!important;align-items:center!important;align-content:flex-start!important;
  flex-wrap:wrap!important;gap:3px!important;margin-top:6px!important
 }
 .month-event-ref{
  width:7px!important;height:7px!important;min-width:7px!important;min-height:7px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;
  font-size:0!important;overflow:hidden!important;
  background:var(--person-color,#5f947d)!important
 }
 .month-cell-ref small{font-size:9px!important}
 .calendar-toolbar-ref{overflow:hidden!important}
 .calendar-nav-ref{grid-template-columns:40px 72px 40px minmax(0,1fr)!important}
 .calendar-nav-ref strong{font-size:13px!important;text-align:right}
 .calendar-member-filters{overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none}
 .calendar-member-filters::-webkit-scrollbar{display:none}
 .member-chip{flex:0 0 auto}
 .calendar-view-switch button{font-size:12px!important}

 /* Shopping: keep quick-add within the viewport. */
 .luckys-shopping-topline{min-width:0}
 .luckys-shopping-list-switch{min-width:0;max-width:100%}
 .luckys-shopping-quick{
  width:100%!important;min-width:0!important;
  grid-template-columns:auto minmax(0,1fr) 42px!important;
  padding-right:5px!important
 }
 .luckys-shopping-quick input{width:100%!important;min-width:0!important}
 .luckys-shopping-quick button{
  width:38px!important;max-width:38px!important;min-width:38px!important;
  padding:0!important;overflow:hidden!important;
  color:transparent!important;font-size:0!important;position:relative!important
 }
 .luckys-shopping-quick button:after{
  content:"+";position:absolute;inset:0;display:grid;place-items:center;
  color:var(--lk-green-dark);font-size:20px;line-height:1
 }
 .luckys-shopping-item{
  grid-template-columns:auto minmax(0,1fr) auto!important;
  min-width:0!important
 }
 .luckys-shopping-item>div{min-width:0}
 .luckys-shopping-item strong,.luckys-shopping-item>div span{overflow-wrap:anywhere}
 .luckys-quantity-stepper{grid-column:2/4;justify-self:start;margin-top:4px}

 /* Forms and module pages */
 .family-module-head{gap:10px}
 .family-module-actions{display:flex;gap:7px;overflow-x:auto;max-width:100%;scrollbar-width:none}
 .family-module-actions::-webkit-scrollbar{display:none}
 .family-soft-link{white-space:nowrap}
 .family-panel,.family-wide-panel,.f-card{min-width:0!important}
 .form-two,.luckys-form-grid{grid-template-columns:1fr!important}
 .family-form input,.family-form select,.family-form textarea,
 .luckys-form input,.luckys-form select,.luckys-form textarea{width:100%;min-width:0}

 /* Finance / receipt capture */
 .household-capture-row{grid-template-columns:1fr!important}
 .receipt-capture-card{display:block!important}
 .receipt-capture-card label{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important}
 .receipt-capture-card label>span:nth-child(2){min-width:0}
 .receipt-capture-card strong,.receipt-capture-card small{white-space:normal!important}
 .household-summary{grid-template-columns:1fr 1fr!important}
 .household-summary>div{min-width:0}
 .household-summary small{font-size:11.5px!important}
 .household-summary strong{font-size:17px!important}
 .receipt-review-grid{grid-template-columns:1fr!important}
 .receipt-item-edit{grid-template-columns:minmax(0,1fr) 84px!important}
 .receipt-item-edit input:nth-child(3){grid-column:1/-1!important}

 /* Family and photos */
 .luckys-family-overview{grid-template-columns:1fr!important}
 .luckys-member-card{min-width:0}
 .luckys-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .luckys-photo-card{min-width:0}
 .luckys-photo-card figcaption{display:flex!important}
 .luckys-photo-card figcaption>div{min-width:0}
 .luckys-photo-card figcaption strong,.luckys-photo-card figcaption span{
  white-space:normal!important;overflow-wrap:anywhere
 }

 /* Admin / management */
 .luckys-management-stats{grid-template-columns:1fr 1fr!important}
 .luckys-management-grid{grid-template-columns:1fr!important}
 .luckys-management-stat,.luckys-management-member,.luckys-management-links>a{min-width:0}
}

@media(max-width:620px){
 .luckys-content{padding-top:15px!important}
 .luckys-page-head,.family-module-head,.calendar-page-head{margin-bottom:16px!important}
 .luckys-page-head p,.family-module-head p,.calendar-page-head p{line-height:1.5}

 .luckys-welcome{gap:10px}
 .luckys-weather-card{min-height:58px!important;height:auto!important;padding:10px 12px!important}
 .luckys-mobile-family-strip{gap:13px}
 .luckys-hero{height:118px!important}

 .luckys-more-grid>a{min-height:76px!important}
 .luckys-more-icon{width:44px!important;height:44px!important}

 .calendar-page-head .calendar-new-wrap{display:grid!important;grid-template-columns:1fr 52px!important;gap:8px!important}
 .calendar-primary:first-child{width:100%!important}
 .calendar-toolbar-ref{padding:8px!important}
 .calendar-nav-ref{grid-template-columns:38px 68px 38px minmax(0,1fr)!important}
 .calendar-nav-ref button{min-width:38px!important}
 .month-cell-ref{min-height:64px!important}
 .month-cell-ref>b{font-size:11.5px!important}

 .luckys-shopping-topline{display:block!important}
 .luckys-shopping-list-switch{margin-bottom:8px}
 .luckys-shopping-quick{min-height:54px!important}
 .luckys-filter-row{overflow-x:auto!important;flex-wrap:nowrap!important}
 .luckys-filter-row button{flex:0 0 auto}

 .household-summary{grid-template-columns:1fr!important}
 .receipt-capture-card label{min-height:86px!important}
 .receipt-capture-card .capture-action{align-self:center}

 .luckys-management-stats{grid-template-columns:1fr!important}
 .luckys-photo-grid{gap:8px!important}
 .luckys-photo-card figcaption{padding:8px!important;min-height:54px!important}
 .luckys-photo-card figcaption strong{font-size:12px!important}
 .luckys-photo-card figcaption span{font-size:10.5px!important}
}

@media(max-width:390px){
 .luckys-shell{width:calc(100vw - 6px)!important;margin:3px auto!important}
 .luckys-content{width:calc(100% - 14px)!important}
 .luckys-brand-mobile strong{font-size:14px!important}
 .luckys-top-actions{gap:0!important}
 .luckys-icon-button{width:36px!important;height:36px!important}
 .luckys-profile-menu .luckys-avatar-sm{width:32px!important;height:32px!important}
 .luckys-page-head h1,.family-module-head h1,.calendar-page-head h1{font-size:25px!important}
 .luckys-page-head p,.family-module-head p,.calendar-page-head p{font-size:13.5px!important}

 .calendar-nav-ref{grid-template-columns:36px 64px 36px minmax(0,1fr)!important}
 .month-cell-ref{min-height:58px!important;padding:5px 3px!important}
 .month-event-ref{width:6px!important;height:6px!important;min-width:6px!important;min-height:6px!important}

 .luckys-photo-grid{grid-template-columns:1fr 1fr!important}
 .luckys-bottom-nav>a{font-size:10px!important}
}

.receipt-processing-icon{
 width:52px;height:52px;border-radius:16px;
 display:grid;place-items:center;margin-bottom:12px;
 background:var(--lk-green-soft);color:var(--lk-green-dark)
}
.receipt-live-progress{
 width:min(420px,90%);height:9px;margin-top:18px;
 overflow:hidden;border-radius:999px;background:#e6e3dd
}
.receipt-live-progress i{
 display:block;height:100%;border-radius:999px;
 background:linear-gradient(90deg,var(--lk-green),var(--lk-green-dark));
 transition:width .35s ease
}
.receipt-progress-value{margin-top:8px;font-size:12px;font-weight:750;color:var(--lk-green-dark)}

.receipt-quality{
 display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;
 margin:0 0 14px;padding:12px 13px;border-radius:14px;border:1px solid var(--lk-line)
}
.receipt-quality-icon{
 width:34px;height:34px;border-radius:11px;display:grid;place-items:center
}
.receipt-quality>span:last-child{display:grid;gap:3px;min-width:0}
.receipt-quality strong{font-size:13px}
.receipt-quality small{font-size:11.5px;line-height:1.4;color:var(--lk-muted)}
.receipt-quality.good{background:#eef6f1;border-color:rgba(95,148,125,.16)}
.receipt-quality.good .receipt-quality-icon{background:#dcebe3;color:var(--lk-green-dark)}
.receipt-quality.check{background:#fff8ea;border-color:rgba(184,139,61,.16)}
.receipt-quality.check .receipt-quality-icon{background:#f8e9c9;color:#9b6b20}
.receipt-quality.warn{background:#fff1ef;border-color:rgba(183,85,76,.16)}
.receipt-quality.warn .receipt-quality-icon{background:#f6deda;color:#a64c45}
.receipt-item-edit.is-low-confidence{
 padding:8px;border-radius:12px;background:#fff8ea;border:1px solid rgba(184,139,61,.13)
}
.receipt-item-hint{grid-column:1/-1;font-size:10.5px;color:#9b6b20}

.receipt-item-unit-edit{
 grid-column:1/-1;
 display:grid;
 grid-template-columns:110px 100px 130px;
 gap:8px;
 padding:8px 0 2px;
}
.receipt-item-unit-edit label{display:grid;gap:4px}
.receipt-item-unit-edit label>span{font-size:10.5px;color:var(--lk-muted);font-weight:700}
.receipt-item-unit-edit input{min-width:0}
@media(max-width:620px){
 .receipt-item-unit-edit{grid-template-columns:1fr 1fr}
 .receipt-item-unit-edit label:last-child{grid-column:1/-1}
}

/* Reference fidelity pass v18 — aligned to the binding Die-Luckys mockup */
:root{
 --lk-bg-app:#f7f4ee;
 --lk-surface:#fffefa;
 --lk-surface-strong:#fffefa;
 --lk-text:#17202c;
 --lk-muted:#76807a;
 --lk-line:rgba(48,56,51,.07);
 --lk-shadow:0 16px 42px rgba(42,48,44,.065);
 --lk-shadow-soft:0 6px 18px rgba(42,48,44,.045);
 --lk-sidebar:212px;
}

@media(min-width:901px){
 .luckys-shell{
  width:min(1460px,calc(100vw - 36px));
  grid-template-columns:var(--lk-sidebar) minmax(0,1fr);
  border-radius:22px;
  background:var(--lk-bg-app);
 }
 .luckys-sidebar{padding:23px 17px 22px}
 .luckys-stage{background:linear-gradient(180deg,#faf7f1 0%,#f6f3ed 100%)}
 .luckys-content{width:min(1100px,calc(100% - 46px));padding-top:24px}
 .luckys-card,.luckys-list-card,.family-panel,.family-wide-panel,
 .luckys-member-card,.luckys-member-add-card,
 .calendar-week-ref,.calendar-day-ref,.calendar-month-ref,.calendar-list-ref,.calendar-side-card{
  border-radius:17px!important;
  box-shadow:var(--lk-shadow-soft)!important;
 }
 .luckys-hero{height:168px;border-radius:18px}
 .luckys-home-grid{gap:10px}
 .luckys-card{padding:14px 15px 13px}
 .luckys-card-head{margin-bottom:9px}
 .luckys-card-icon{width:31px;height:31px;border-radius:9px}
 .luckys-side-nav a{min-height:43px;border-radius:10px}
 .luckys-page-head,.family-module-head,.calendar-page-head{margin-bottom:15px!important}
}

/* Family reference tabs */
.luckys-family-tabs{
 display:flex;
 align-items:center;
 gap:5px;
 width:max-content;
 margin:0 0 12px;
 padding:4px;
 border-radius:999px;
 background:#eceae5;
}
.luckys-family-tabs a{
 min-height:34px;
 padding:0 14px;
 border-radius:999px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 color:#69736d;
 text-decoration:none;
 font-size:12px;
 font-weight:700;
}
.luckys-family-tabs a.active{background:var(--lk-green);color:#fff}

/* Calendar mobile FAB is hidden on desktop. */
.luckys-calendar-mobile-fab{display:none}

/* Reference mobile home: greeting → family → weather → content; no hero banner on phone. */
.luckys-weather-mobile{display:none}

@media(max-width:900px){
 body.luckys-app{background:#e9e7e1}
 .luckys-shell{
  width:calc(100vw - 12px)!important;
  min-height:calc(100vh - 12px)!important;
  margin:6px auto!important;
  border-radius:22px!important;
  background:#f8f6f1!important;
  box-shadow:0 12px 32px rgba(43,50,46,.07)!important;
 }
 .luckys-stage{background:#f8f6f1!important}
 .luckys-topbar{
  height:62px!important;
  padding:8px 14px!important;
  background:rgba(255,254,250,.96)!important;
  border-bottom:1px solid rgba(50,58,53,.035)!important;
 }
 .luckys-brand-mobile{gap:8px}
 .luckys-brand-mobile strong{font-size:16px!important;font-weight:800;letter-spacing:-.03em}
 .luckys-brand-heart .luckys-icon{width:19px;height:19px}
 .luckys-content{
  width:calc(100% - 28px)!important;
  padding-top:20px!important;
  padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
 }
 .luckys-page-head,.family-module-head,.calendar-page-head{margin:0 0 16px!important}
 .luckys-page-head h1,.family-module-head h1,.calendar-page-head h1{
  font-size:27px!important;
  line-height:1.06!important;
  letter-spacing:-.045em!important;
 }
 .luckys-page-head p,.family-module-head p,.calendar-page-head p{font-size:13.5px!important;line-height:1.45}

 .luckys-welcome{display:block!important}
 .luckys-welcome h1{font-size:25px!important;line-height:1.06}
 .luckys-welcome p{font-size:13.5px!important;margin-top:5px}
 .luckys-weather-desktop{display:none!important}
 .luckys-weather-mobile{
  display:grid!important;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  width:100%!important;
  min-width:0!important;
  min-height:58px!important;
  height:auto!important;
  margin:2px 0 0!important;
  padding:9px 13px!important;
  border:1px solid rgba(54,63,57,.035);
  border-radius:17px!important;
  background:rgba(255,254,250,.94)!important;
  box-shadow:0 7px 20px rgba(42,48,44,.04);
 }
 .luckys-weather-mobile>strong{font-size:20px!important}
 .luckys-weather-mobile>span:nth-of-type(2){display:grid;gap:1px;min-width:0}
 .luckys-weather-mobile>span:nth-of-type(2) b{font-size:12px!important}
 .luckys-weather-mobile>span:nth-of-type(2) small{font-size:10.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .luckys-mobile-family-strip{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px!important;
  overflow:visible!important;
  padding:3px 0 4px!important;
 }
 .luckys-mobile-family-person{min-width:0!important;gap:5px!important}
 .luckys-mobile-family-person .luckys-avatar{width:50px!important;height:50px!important}
 .luckys-mobile-family-person small{max-width:100%!important;font-size:10px!important}
 .luckys-hero{display:none!important}

 .luckys-home{gap:10px!important}
 .luckys-home-grid-top,.luckys-home-grid-bottom{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
 }
 .luckys-card{
  min-width:0;
  padding:14px!important;
  border-radius:17px!important;
  background:#fffefa!important;
  box-shadow:0 7px 20px rgba(43,50,46,.045)!important;
 }
 .luckys-card-head{margin-bottom:9px!important}
 .luckys-card-head strong{font-size:14.5px!important}
 .luckys-card-head small{font-size:11.5px!important}
 .luckys-card-icon{width:31px!important;height:31px!important;border-radius:9px!important}
 .luckys-next-card h2{font-size:19px!important;margin-bottom:7px}
 .luckys-event-time{font-size:12px!important}
 .luckys-person-row,.luckys-location{font-size:12px!important;margin:5px 0!important}
 .luckys-check-row{min-height:34px!important;font-size:13px!important}
 .luckys-text-link{font-size:12.5px!important;margin-top:8px!important}
 .luckys-button.compact{min-height:38px!important;font-size:12.5px!important}
 .luckys-day-row{min-height:40px!important}
 .luckys-mini-week>a{min-height:54px!important}
 .luckys-family-card blockquote{font-size:11px!important;margin-top:10px!important}

 /* Reference-like tab bar */
 .luckys-bottom-nav{
  left:10px!important;right:10px!important;bottom:8px!important;
  height:calc(64px + env(safe-area-inset-bottom))!important;
  padding:5px 8px env(safe-area-inset-bottom)!important;
  border:1px solid rgba(48,56,51,.06)!important;
  border-radius:19px!important;
  background:rgba(255,254,250,.97)!important;
  box-shadow:0 -3px 18px rgba(43,50,46,.05)!important;
 }
 .luckys-bottom-nav>a{
  height:52px!important;
  gap:2px!important;
  font-size:10px!important;
 }
 .luckys-bottom-nav>a .luckys-icon{width:20px!important;height:20px!important}
 .luckys-mobile-add{
  width:48px!important;height:48px!important;
  transform:translateY(-6px)!important;
  box-shadow:0 8px 20px rgba(67,112,92,.18)!important;
 }
 .luckys-mobile-add .luckys-icon{width:24px!important;height:24px!important}

 /* Reference secondary screens use a warm coral page action. */
 .luckys-page-fab{
  width:50px!important;height:50px!important;
  right:18px!important;bottom:84px!important;
  background:#e98672!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(214,111,91,.23)!important;
 }

 /* Calendar: compact header and contained controls like the reference panel. */
 .calendar-page{gap:10px!important}
 .calendar-page-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
 }
 .calendar-page-head p{display:none}
 .calendar-new-wrap{display:flex!important;width:auto!important;gap:6px!important}
 .calendar-new-wrap .calendar-primary:first-child{display:none!important}
 .calendar-new-wrap .calendar-primary.split{
  width:40px!important;height:40px!important;min-width:40px!important;
  padding:0!important;border-radius:50%!important;
  background:#fffefa!important;color:var(--lk-green-dark)!important;
  border:1px solid var(--lk-line)!important;
  box-shadow:none!important;
 }
 .luckys-calendar-mobile-fab{
  position:fixed;
  right:18px;bottom:84px;z-index:88;
  width:50px;height:50px;padding:0;border:0;border-radius:50%;
  display:grid;place-items:center;
  background:#e98672;color:#fff;
  box-shadow:0 9px 22px rgba(214,111,91,.23);
 }
 .calendar-toolbar-ref{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  padding:9px!important;
  border-radius:16px!important;
  background:#fffefa!important;
  box-shadow:0 6px 18px rgba(43,50,46,.04)!important;
 }
 .calendar-nav-ref{
  grid-template-columns:38px 64px 38px minmax(0,1fr)!important;
  gap:5px!important;
 }
 .calendar-nav-ref strong{text-align:right;font-size:13px!important}
 .calendar-view-switch{
  width:100%!important;
  padding:3px!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:2px!important;
  border-radius:11px!important;
  background:#eeece7!important;
 }
 .calendar-view-switch button{
  height:32px!important;
  border-radius:8px!important;
  font-size:11.5px!important;
 }
 .calendar-view-switch button.active{background:#fffefa!important;box-shadow:0 2px 7px rgba(43,50,46,.055)!important}
 .calendar-member-filters{gap:6px!important;padding-bottom:2px!important}
 .member-chip,.member-add{height:35px!important;font-size:11px!important}
 .calendar-month-ref,.calendar-day-ref,.calendar-list-ref,.calendar-mobile-agenda{
  border-radius:16px!important;
  box-shadow:0 6px 18px rgba(43,50,46,.04)!important;
 }

 /* Tasks: flatter grouped list from the reference. */
 .luckys-tasks-page .luckys-filter-row{
  margin-bottom:8px!important;padding-bottom:0!important;
  gap:6px!important
 }
 .luckys-tasks-page .luckys-filter-row button{
  min-height:32px!important;padding:0 13px!important;font-size:11.5px!important;
  background:#eeece7!important
 }
 .luckys-tasks-page .luckys-filter-row button.active{background:var(--lk-green)!important;color:#fff!important}
 .luckys-tasks-page .luckys-list-card{
  border-radius:16px!important;
  background:#fffefa!important;
  box-shadow:0 6px 18px rgba(43,50,46,.04)!important;
 }
 .luckys-task-item{min-height:58px!important;padding:9px 13px!important}
 .luckys-list-heading{padding:14px 14px 6px!important;font-size:11.5px!important}

 /* Shopping: keep the utility, but make the visual language match the concept. */
 .luckys-shopping-list-switch button{height:34px!important;min-height:34px!important;font-size:11.5px!important}
 .luckys-shopping-quick{
  min-height:50px!important;
  border-radius:14px!important;
  box-shadow:0 5px 16px rgba(43,50,46,.035)!important;
 }
 .shopping-list-card{border-radius:16px!important}
 .luckys-shopping-item{min-height:55px!important;padding:8px 13px!important}
 .luckys-shopping-group h2{padding:11px 13px 6px!important;font-size:11px!important}

 /* Family: on mobile the reference is a simple personal list, not admin cards. */
 .luckys-family-tabs{
  width:100%!important;
  margin:0 0 10px!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  border-radius:12px!important;
  padding:3px!important;
 }
 .luckys-family-tabs a{min-height:32px!important;padding:0 8px!important;font-size:11px!important;border-radius:9px!important}
 .luckys-family-overview{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  overflow:hidden;
  border:1px solid rgba(48,56,51,.055);
  border-radius:16px;
  background:#fffefa;
  box-shadow:0 6px 18px rgba(43,50,46,.04);
 }
 .luckys-member-card,.luckys-member-add-card{
  min-height:0!important;
  padding:14px!important;
  border:0!important;border-radius:0!important;
  box-shadow:none!important;
  background:#fffefa!important;
  border-bottom:1px solid rgba(48,56,51,.06)!important;
 }
 .luckys-member-card:before{width:3px!important}
 .luckys-member-main .luckys-avatar-xl{width:58px!important;height:58px!important}
 .luckys-member-main h2{font-size:15px!important;margin-bottom:2px!important}
 .luckys-member-main p{font-size:12px!important;margin:0 0 2px!important}
 .luckys-member-main>div>span{font-size:10.5px!important}
 .luckys-member-meta{margin-top:8px!important}
 .luckys-member-meta>span{min-height:25px!important;font-size:10px!important}
 .luckys-member-event{
  min-height:42px!important;margin-top:9px!important;padding:8px 9px!important;border-radius:10px!important;
 }
 .luckys-member-details,.luckys-permissions{margin-top:9px!important}
 .luckys-member-add-card{border-bottom:0!important;min-height:72px!important}

 /* Photos: reference is image-first, minimal chrome. */
 .photos-page .luckys-page-head p{display:none}
 .luckys-photo-grid{gap:7px!important}
 .luckys-photo-card{border-radius:12px!important;overflow:hidden!important}
 .luckys-photo-card figcaption{display:none!important}
 .luckys-photo-open{aspect-ratio:1.18!important}
 .luckys-photo-open img{aspect-ratio:1.18!important}
 .luckys-photo-filters{margin-bottom:10px!important}
 .luckys-photo-filters button{min-height:32px!important;font-size:11.5px!important}

 /* More: reduce giant settings tiles to the reference's calmer row rhythm. */
 .luckys-more-grid{gap:8px!important}
 .luckys-more-grid>a{
  min-height:72px!important;
  padding:11px 13px!important;
  border-radius:16px!important;
  box-shadow:0 5px 16px rgba(43,50,46,.035)!important;
 }
 .luckys-more-icon{width:42px!important;height:42px!important;border-radius:12px!important}
 .luckys-more-grid strong{font-size:14px!important}
 .luckys-more-grid small{font-size:11.5px!important}

 /* Finance and generic panels */
 .family-panel,.family-wide-panel,.f-card{
  border-radius:16px!important;
  box-shadow:0 6px 18px rgba(43,50,46,.04)!important;
 }
 .family-list-row{min-height:57px!important}
 .family-form input,.family-form select,.family-form textarea,
 .luckys-form input,.luckys-form select,.luckys-form textarea{
  border-radius:10px!important;
  background:#fbfaf6!important;
 }
}

@media(max-width:620px){
 .luckys-shell{width:calc(100vw - 8px)!important;margin:4px auto!important;border-radius:20px!important}
 .luckys-content{width:calc(100% - 24px)!important;padding-top:17px!important}
 .luckys-topbar{height:60px!important}
 .luckys-mobile-family-person .luckys-avatar{width:47px!important;height:47px!important}
 .luckys-weather-mobile{min-height:56px!important}
 .luckys-home-grid-top,.luckys-home-grid-bottom{gap:8px!important}
 .luckys-card{padding:13px!important}
 .luckys-bottom-nav{left:8px!important;right:8px!important;bottom:6px!important}
 .luckys-page-fab,.luckys-calendar-mobile-fab{right:16px!important;bottom:82px!important}
 .month-cell-ref{min-height:60px!important}
 .luckys-more-grid>a{min-height:68px!important}
}

@media(max-width:390px){
 .luckys-shell{width:calc(100vw - 6px)!important;margin:3px auto!important}
 .luckys-content{width:calc(100% - 20px)!important}
 .luckys-welcome h1{font-size:23px!important}
 .luckys-mobile-family-person .luckys-avatar{width:44px!important;height:44px!important}
 .luckys-weather-mobile>span:nth-of-type(2) small{font-size:10px!important}
 .luckys-bottom-nav{left:6px!important;right:6px!important}
}

/* Finance drafts: explicit discard action */
.receipt-review-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.receipt-review-head-actions form{margin:0}
.family-danger-link{
 min-height:38px;padding:0 12px;border:0;border-radius:11px;
 display:inline-flex;align-items:center;justify-content:center;gap:7px;
 background:#f8e5e4;color:#a54e55;font-size:12.5px;font-weight:720;
 cursor:pointer;text-decoration:none
}
.family-danger-link:hover{background:#f4d8d6}
@media(max-width:620px){
 .receipt-review-head-actions{width:100%;justify-content:space-between}
 .family-danger-link,.receipt-review-head-actions .family-soft-link{min-height:40px}
}

/* Weather detail */
.luckys-weather-card{
 text-decoration:none;
 color:inherit;
 cursor:pointer;
 transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.luckys-weather-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(43,50,46,.065)}
.weather-page{gap:18px}
.weather-page-head{align-items:center}
.weather-current-card{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:center;
 gap:24px;
 padding:22px 24px;
 border:1px solid var(--lk-line);
 border-radius:22px;
 background:linear-gradient(135deg,#fffefa 0%,#f1f4eb 100%);
 box-shadow:var(--lk-shadow-soft);
}
.weather-current-main{display:flex;align-items:center;gap:18px}
.weather-current-icon{
 width:88px;height:88px;
 display:grid;place-items:center;
 border-radius:25px;
 background:rgba(255,255,255,.72);
 color:#d99b36;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.58);
}
.weather-current-main>div{display:grid}
.weather-current-main>div>span{font-size:12px;font-weight:720;color:var(--lk-muted)}
.weather-current-main>div>strong{font-size:46px;line-height:1;font-weight:820;letter-spacing:-.055em;margin:3px 0}
.weather-current-main>div>b{font-size:15px;font-weight:720;color:#56635d}
.weather-current-details{
 display:grid;
 grid-template-columns:repeat(2,minmax(105px,1fr));
 gap:8px;
}
.weather-current-details>div{
 min-height:64px;padding:10px 12px;
 display:grid;align-content:center;gap:2px;
 border-radius:14px;
 background:rgba(255,255,255,.68);
}
.weather-current-details small{font-size:10.5px;color:var(--lk-muted)}
.weather-current-details strong{font-size:13px;color:#45534c}
.weather-forecast-section{display:grid;gap:12px}
.weather-section-head h2{margin:0;font-size:20px;letter-spacing:-.025em}
.weather-forecast-grid{
 display:grid;
 grid-template-columns:repeat(7,minmax(0,1fr));
 gap:9px;
}
.weather-day-card{
 min-width:0;
 padding:14px 12px 12px;
 border:1px solid var(--lk-line);
 border-radius:17px;
 background:#fffefa;
 box-shadow:0 5px 16px rgba(43,50,46,.038);
}
.weather-day-card.today{
 background:linear-gradient(180deg,#edf5f0,#fffefa);
 border-color:rgba(95,148,125,.18);
}
.weather-day-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:5px}
.weather-day-card>header>div{display:grid;gap:1px;min-width:0}
.weather-day-card>header strong{font-size:13px;white-space:nowrap}
.weather-day-card>header small{font-size:10px;color:var(--lk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weather-day-card>header>span{
 padding:3px 6px;border-radius:999px;
 background:var(--lk-green);color:#fff;
 font-size:8.5px;font-weight:760;
}
.weather-day-main{
 min-height:68px;
 display:flex;align-items:center;justify-content:space-between;gap:8px;
 margin-top:7px;
}
.weather-day-icon{color:#d89d3f}
.weather-day-main>div{display:grid;justify-items:end;line-height:1}
.weather-day-main strong{font-size:24px;letter-spacing:-.04em}
.weather-day-main span{font-size:13px;color:var(--lk-muted);margin-top:4px}
.weather-day-card>p{min-height:32px;margin:0 0 8px;font-size:11.5px;font-weight:680;color:#59665f}
.weather-day-facts{display:grid;gap:5px;margin:0}
.weather-day-facts>div{
 display:flex;align-items:center;justify-content:space-between;gap:4px;
 min-height:22px;border-top:1px solid rgba(48,56,51,.05);
 padding-top:5px;
}
.weather-day-facts dt{display:flex;align-items:center;gap:4px;font-size:9.5px;color:var(--lk-muted)}
.weather-day-facts dd{margin:0;font-size:9.5px;font-weight:700;color:#59665f;text-align:right}
.weather-source-note{margin:0;color:var(--lk-muted);font-size:10.5px;text-align:center}

@media(max-width:1100px) and (min-width:901px){
 .weather-forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
 .weather-page{gap:14px}
 .weather-page-head{display:flex!important;align-items:center!important;flex-direction:row!important}
 .weather-page-head p{display:block!important}
 .weather-current-card{
  grid-template-columns:1fr;
  gap:14px;
  padding:17px;
  border-radius:18px;
 }
 .weather-current-icon{width:72px;height:72px;border-radius:21px}
 .weather-current-icon .luckys-icon{width:45px;height:45px}
 .weather-current-main>div>strong{font-size:39px}
 .weather-current-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .weather-current-details>div{min-height:58px;padding:8px}
 .weather-current-details small{font-size:9.5px}
 .weather-current-details strong{font-size:11.5px}
 .weather-forecast-grid{grid-template-columns:1fr;gap:8px}
 .weather-day-card{
  display:grid;
  grid-template-columns:minmax(90px,1fr) 86px minmax(95px,1.05fr);
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border-radius:16px;
 }
 .weather-day-card>header{display:grid;justify-content:start}
 .weather-day-card>header>span{width:max-content}
 .weather-day-main{min-height:0;margin:0;justify-content:flex-start}
 .weather-day-icon .luckys-icon{width:31px;height:31px}
 .weather-day-main strong{font-size:21px}
 .weather-day-card>p{display:none}
 .weather-day-facts{gap:2px}
 .weather-day-facts>div{min-height:19px;padding-top:2px;border-top:0}
 .weather-day-facts dt,.weather-day-facts dd{font-size:9.5px}
}
@media(max-width:620px){
 .weather-page-head .family-soft-link{min-width:42px;padding:0 10px;font-size:0}
 .weather-page-head .family-soft-link .luckys-icon{width:18px;height:18px}
 .weather-current-main{gap:13px}
 .weather-current-details{grid-template-columns:repeat(2,minmax(0,1fr))}
 .weather-day-card{grid-template-columns:minmax(82px,.9fr) 78px minmax(95px,1fr);gap:7px}
 .weather-day-card>header strong{font-size:12.5px}
 .weather-day-card>header small{font-size:9.5px}
 .weather-day-facts dt span{display:none}
}

/* Photos usability + reference fidelity */
.photos-mobile-add-card{display:none}
.photos-upload-card{width:min(680px,100%)!important}
.photos-upload-form{padding-bottom:78px;position:relative}
.photos-source-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:10px;
}
.photos-source-card{
 min-height:92px;
 padding:14px;
 border:1px solid var(--lk-line);
 border-radius:16px;
 background:#f8f5ef;
 display:grid!important;
 grid-template-columns:auto 1fr;
 align-items:center;
 gap:12px!important;
 cursor:pointer;
}
.photos-source-card:hover{background:#f4f1ea}
.photos-source-card input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important}
.photos-source-icon{
 width:44px;height:44px;border-radius:13px;
 display:grid;place-items:center;
 background:var(--lk-green-soft);color:var(--lk-green-dark);
}
.photos-source-card.gallery .photos-source-icon{background:var(--lk-blue-soft);color:var(--lk-blue)}
.photos-source-card>span:nth-child(2){display:grid;gap:2px}
.photos-source-card strong{font-size:14px}
.photos-source-card small{font-size:11px;color:var(--lk-muted)}
.photos-upload-state{
 min-height:42px;padding:9px 11px;border-radius:12px;
 display:flex;align-items:center;gap:9px;
 background:#f4f2ed;color:var(--lk-muted);font-size:12px
}
.photos-upload-spinner{
 width:17px;height:17px;border:2px solid #ccd4ce;border-top-color:var(--lk-green);
 border-radius:50%;animation:luckysSpin .8s linear infinite
}
@keyframes luckysSpin{to{transform:rotate(360deg)}}
.photos-selection-preview{display:grid;gap:8px}
.photos-selection-preview>header{display:flex;align-items:center;justify-content:space-between}
.photos-selection-preview>header strong{font-size:13px}
.photos-selection-preview>header span{font-size:11px;color:var(--lk-muted)}
.photos-selection-preview>div{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:8px
}
.photos-selection-preview figure{
 position:relative;margin:0;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#ece9e3
}
.photos-selection-preview img{width:100%;height:100%;object-fit:cover;display:block}
.photos-selection-preview figure>button{
 position:absolute;right:6px;top:6px;
 width:28px;height:28px;padding:0;border:0;border-radius:50%;
 display:grid;place-items:center;
 background:rgba(255,255,255,.94);color:#4e5b55;
 box-shadow:0 3px 10px rgba(0,0,0,.12);cursor:pointer
}
.photos-people-picker{
 border:1px solid var(--lk-line);border-radius:13px;background:#fbf9f5;overflow:hidden
}
.photos-people-picker>summary{
 min-height:44px;padding:0 12px;
 list-style:none;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;
 cursor:pointer;font-size:12.5px;font-weight:700;color:#59655e
}
.photos-people-picker>summary::-webkit-details-marker{display:none}
.photos-people-picker>summary small{font-size:10.5px;color:var(--lk-muted);font-weight:600}
.photos-people-picker[open]>summary{border-bottom:1px solid var(--lk-line)}
.photos-people-picker .luckys-photo-people-select{padding:10px}
.photos-upload-actions{
 position:sticky!important;
 left:0;right:0;bottom:-18px;z-index:8;
 margin:4px -15px -18px!important;
 padding:10px 15px calc(10px + env(safe-area-inset-bottom));
 background:rgba(255,253,249,.96);
 backdrop-filter:blur(14px);
 border-top:1px solid var(--lk-line)
}
.photos-upload-actions .luckys-button{min-width:150px}
.photos-upload-actions button:disabled{opacity:.55;cursor:wait}
.photos-page .luckys-photo-month>header strong{font-size:15px}
.photos-page .luckys-photo-card{background:#fffefa}
.photos-page .luckys-photo-open{overflow:hidden}
.photos-page .luckys-photo-open img{transition:transform .25s ease}
.photos-page .luckys-photo-card:hover .luckys-photo-open img{transform:scale(1.015)}

@media(max-width:900px){
 .photos-desktop-add{display:none!important}
 .photos-mobile-add-card{
  width:100%;min-height:68px;padding:10px 12px;
  border:1px solid rgba(95,148,125,.12);border-radius:16px;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;
  background:linear-gradient(135deg,#edf5f0,#fffefa);
  color:var(--lk-text);text-align:left;cursor:pointer;
  box-shadow:0 5px 16px rgba(43,50,46,.035)
 }
 .photos-mobile-add-icon{
  width:42px;height:42px;border-radius:13px;
  display:grid;place-items:center;background:var(--lk-green-soft);color:var(--lk-green-dark)
 }
 .photos-mobile-add-card>span:nth-child(2){display:grid;gap:2px;min-width:0}
 .photos-mobile-add-card strong{font-size:14px}
 .photos-mobile-add-card small{font-size:11px;color:var(--lk-muted)}
 .photos-page .luckys-page-fab{display:none!important}
 .photos-upload-modal{align-items:end!important;padding:0!important}
 .photos-upload-card{
  width:100%!important;max-height:92vh!important;
  border-radius:22px 22px 0 0!important;
  padding:17px 14px calc(16px + env(safe-area-inset-bottom))!important
 }
 .photos-source-grid{grid-template-columns:1fr 1fr}
 .photos-source-card{min-height:84px;padding:11px}
 .photos-source-icon{width:40px;height:40px}
 .photos-selection-preview>div{grid-template-columns:repeat(4,minmax(0,1fr))}
 .photos-upload-actions{bottom:calc(-16px - env(safe-area-inset-bottom));margin-left:-14px!important;margin-right:-14px!important}
}

@media(max-width:520px){
 .photos-source-grid{grid-template-columns:1fr}
 .photos-source-card{min-height:68px}
 .photos-selection-preview>div{grid-template-columns:repeat(3,minmax(0,1fr))}
 .photos-upload-actions{display:grid!important;grid-template-columns:1fr 1fr}
 .photos-upload-actions .luckys-button,.photos-upload-actions .luckys-secondary-button{width:100%;min-width:0}
}

.photos-success{display:flex;align-items:center;gap:8px;margin-top:-6px!important;margin-bottom:4px!important}
.luckys-photo-card{position:relative}
.luckys-photo-overlay-actions{position:absolute;top:7px;right:7px;z-index:4;display:flex;gap:5px;opacity:0;transform:translateY(-2px);transition:.18s ease}
.luckys-photo-card:hover .luckys-photo-overlay-actions,.luckys-photo-card:focus-within .luckys-photo-overlay-actions{opacity:1;transform:none}
.luckys-photo-overlay-actions button{width:32px;height:32px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,254,250,.93);color:#59655e;box-shadow:0 3px 12px rgba(30,35,32,.14);cursor:pointer}
.luckys-photo-overlay-actions button.active{color:#cf756e}
.luckys-photo-overlay-actions button.active .luckys-icon{fill:currentColor}
.luckys-photo-overlay-actions button.danger{color:#a7545b}
@media(max-width:900px){.luckys-photo-overlay-actions{opacity:1;transform:none}.luckys-photo-overlay-actions button{width:30px;height:30px}}

/* Photos v22 — native, reliable upload */
.photos-source-card{position:relative;overflow:hidden}
.photos-source-card input[type=file]{
 position:absolute!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 opacity:0!important;
 cursor:pointer!important;
 z-index:3!important;
}
.photos-native-selection{
 min-height:42px;
 padding:9px 11px;
 display:flex;
 align-items:center;
 gap:8px;
 border-radius:12px;
 background:var(--lk-green-soft);
 color:var(--lk-green-dark);
 font-size:12px;
}
.photos-native-selection strong{font-size:13px}
.photos-upload-card{overflow:auto}
.photos-upload-form{padding-bottom:72px}
.photos-upload-actions{z-index:12}

/* Gallery refinement */
.photos-page .luckys-photo-month{display:grid;gap:8px}
.photos-page .luckys-photo-month>header{
 display:flex;align-items:center;justify-content:space-between;
 padding:0 2px;
}
.photos-page .luckys-photo-grid{
 grid-auto-flow:dense;
 align-items:stretch;
}
@media(min-width:901px){
 .photos-page .luckys-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .photos-page .luckys-photo-card:nth-child(8n+1){grid-column:span 2;grid-row:span 2}
 .photos-page .luckys-photo-card:nth-child(8n+1) .luckys-photo-open{aspect-ratio:1.25!important}
}
@media(max-width:900px){
 .photos-page .luckys-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .photos-page .luckys-photo-card:nth-child(5n+1){grid-column:span 2}
 .photos-page .luckys-photo-card:nth-child(5n+1) .luckys-photo-open{aspect-ratio:1.8!important}
 .photos-mobile-add-card{margin-bottom:4px}
}

/* Frame correction 2026-10-01 — keep side gutters, remove top/bottom strips */
@media(min-width:901px){
 html,
 body.luckys-app{
  margin:0!important;
  padding:0!important;
  min-height:100%;
 }
 body.luckys-app{min-height:100vh!important}
 .luckys-shell{
  min-height:100vh!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border-top:0!important;
  border-bottom:0!important;
 }
 .luckys-sidebar{
  height:100vh!important;
 }
}

/* Modern home dashboard 2026-10-02 */
.home-modern{
 display:grid;
 gap:14px;
 width:100%;
}

.home-modern-head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:18px;
 padding:2px 2px 0;
}
.home-modern-greeting{min-width:0}
.home-modern-date{
 display:block;
 margin-bottom:4px;
 color:#88928d;
 font-size:9px;
 font-weight:800;
 text-transform:uppercase;
 letter-spacing:.085em;
}
.home-modern-greeting h1{
 margin:0;
 color:#17202c;
 font-size:31px;
 line-height:1.03;
 letter-spacing:-.045em;
}
.home-modern-greeting h1 span{font-size:.8em}
.home-modern-greeting p{
 margin:7px 0 0;
 color:#77817c;
 font-size:13px;
}
.home-modern-weather{
 min-width:250px;
 min-height:58px;
 padding:8px 11px;
 display:grid;
 grid-template-columns:38px auto minmax(0,1fr) 18px;
 align-items:center;
 gap:9px;
 border:1px solid rgba(49,58,53,.06);
 border-radius:17px;
 background:rgba(255,253,249,.96);
 box-shadow:0 7px 20px rgba(43,50,46,.045);
 color:inherit;
 text-decoration:none;
 transition:.18s ease;
}
.home-modern-weather:hover{
 transform:translateY(-1px);
 box-shadow:0 11px 26px rgba(43,50,46,.07)
}
.home-modern-weather-icon{
 width:38px;height:38px;border-radius:11px;
 display:grid;place-items:center;
 background:#fff6e5;color:#de9a2d
}
.home-modern-weather-temp{font-size:21px;font-weight:800;letter-spacing:-.03em}
.home-modern-weather-copy{display:grid;gap:1px;min-width:0}
.home-modern-weather-copy strong{font-size:10.5px}
.home-modern-weather-copy small{
 color:#7d8782;
 font-size:8.5px;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}

.home-modern-hero{
 position:relative;
 min-height:188px;
 overflow:hidden;
 border-radius:21px;
 background:
  radial-gradient(circle at 75% 38%,rgba(237,176,111,.42),transparent 18rem),
  linear-gradient(135deg,#b8c7b7,#e2c6aa);
 background-size:cover;
 background-position:center;
 box-shadow:0 12px 30px rgba(43,50,46,.065);
 isolation:isolate;
}
.home-modern-hero:after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(90deg,rgba(16,24,20,.26),rgba(16,24,20,.04) 45%,rgba(16,24,20,.12));
 z-index:-1;
}
.home-modern-hero-fallback{
 position:absolute;inset:0;z-index:-2;
 background:linear-gradient(145deg,#9eb7a7,#e0c4a8)
}
.home-modern-hero.has-photo .home-modern-hero-fallback{display:none}
.home-modern-hero-copy{
 position:absolute;
 left:24px;
 bottom:23px;
 display:grid;
 gap:5px;
 color:#fff;
 text-shadow:0 2px 16px rgba(0,0,0,.18);
}
.home-modern-hero-copy span{
 font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;opacity:.9
}
.home-modern-hero-copy strong{
 font-size:25px;
 line-height:1.08;
 letter-spacing:-.035em;
}
.home-modern-hero-quote{
 position:absolute;
 right:19px;
 top:17px;
 min-height:32px;
 padding:0 11px;
 border:1px solid rgba(255,255,255,.35);
 border-radius:999px;
 background:rgba(255,253,249,.76);
 backdrop-filter:blur(12px);
 display:flex;
 align-items:center;
 gap:6px;
 color:#55635c;
 font-size:9.5px;
 font-weight:750;
}
.home-modern-hero-quote svg{color:#d77d70}

.home-modern-glance{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 overflow:hidden;
 border:1px solid rgba(48,57,52,.065);
 border-radius:17px;
 background:#fffefa;
 box-shadow:0 7px 19px rgba(43,50,46,.035);
}
.home-modern-glance>a{
 min-height:76px;
 padding:11px 13px;
 display:grid;
 grid-template-columns:36px minmax(0,1fr) 16px;
 align-items:center;
 gap:10px;
 color:inherit;
 text-decoration:none;
 border-right:1px solid #edf0ee;
 transition:background .16s ease;
}
.home-modern-glance>a:last-child{border-right:0}
.home-modern-glance>a:hover{background:#fafbf8}
.home-glance-icon{
 width:36px;height:36px;border-radius:10px;
 display:grid;place-items:center;
 background:#f2f3f1;color:#64736b
}
.home-glance-icon.orange{background:#fff0e8;color:#d67b58}
.home-glance-icon.green{background:#e7f3ed;color:#579079}
.home-glance-icon.sage{background:#edf0e7;color:#7e8e6f}
.home-glance-copy{display:grid;gap:1px;min-width:0}
.home-glance-copy small{
 color:#8a938e;
 font-size:8px;
 font-weight:800;
 text-transform:uppercase;
 letter-spacing:.065em;
}
.home-glance-copy strong{
 font-size:11px;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.home-glance-copy em{
 color:#7c8781;
 font-size:8.5px;
 font-style:normal;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}

.home-modern-primary-grid{
 display:grid;
 grid-template-columns:minmax(0,1.55fr) minmax(285px,.75fr);
 gap:12px;
 align-items:stretch;
}
.home-modern-side-stack{
 display:grid;
 grid-template-rows:1fr 1fr;
 gap:12px;
}
.home-modern-bottom-grid{
 display:grid;
 grid-template-columns:minmax(0,1.38fr) minmax(280px,.62fr);
 gap:12px;
 align-items:stretch;
}
.home-modern-panel{
 min-width:0;
 padding:16px 17px;
 border:1px solid rgba(48,57,52,.065);
 border-radius:18px;
 background:rgba(255,253,249,.98);
 box-shadow:0 7px 21px rgba(43,50,46,.035);
}
.home-modern-panel-head{
 min-height:43px;
 margin-bottom:12px;
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:12px;
}
.home-modern-panel-head.compact{min-height:36px;margin-bottom:9px}
.home-modern-panel-head>div{display:grid;gap:2px;min-width:0}
.home-modern-eyebrow{
 color:#8b948f;
 font-size:8px;
 font-weight:850;
 text-transform:uppercase;
 letter-spacing:.09em;
}
.home-modern-panel-head h2{
 margin:0;
 color:#17202c;
 font-size:16px;
 line-height:1.15;
 letter-spacing:-.025em;
}
.home-modern-panel-head p{
 margin:1px 0 0;
 color:#7d8782;
 font-size:9px;
}
.home-modern-panel-head>a{
 min-height:30px;
 padding:0 4px;
 display:flex;
 align-items:center;
 gap:5px;
 color:#567464;
 font-size:9px;
 font-weight:750;
 text-decoration:none;
 white-space:nowrap;
}

.home-modern-next{
 min-height:86px;
 margin-bottom:8px;
 padding:11px 12px;
 display:grid;
 grid-template-columns:38px minmax(0,1fr) auto;
 gap:11px;
 align-items:center;
 border-radius:14px;
 background:linear-gradient(135deg,#f5f8f5,#fbfaf6);
 border:1px solid #e8ebe8;
}
.home-modern-next-icon{
 width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
 background:#e8f0ec;color:#4e806a
}
.home-modern-next-copy{display:grid;gap:2px;min-width:0}
.home-modern-next-copy small{
 color:#87918c;
 font-size:8px;
 font-weight:750;
 text-transform:uppercase;
 letter-spacing:.05em;
}
.home-modern-next-copy strong{
 font-size:13px;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.home-modern-next-copy>span{
 min-height:16px;
 display:flex;
 align-items:center;
 gap:4px;
 color:#7b8580;
 font-size:8.5px;
}
.home-modern-next>a{
 min-height:32px;
 padding:0 10px;
 border-radius:9px;
 background:#5f947d;
 display:flex;
 align-items:center;
 color:#fff;
 font-size:9px;
 font-weight:750;
 text-decoration:none;
}
.home-modern-agenda{display:grid}
.home-modern-agenda-row{
 min-height:47px;
 display:grid;
 grid-template-columns:46px 14px minmax(0,1fr) 30px;
 gap:7px;
 align-items:center;
 color:inherit;
 text-decoration:none;
 border-bottom:1px solid #eef0ef;
}
.home-modern-agenda-row:last-child{border-bottom:0}
.home-modern-agenda-row time{
 color:#6f7c75;
 font-size:9px;
 font-weight:750;
}
.home-modern-agenda-line{
 position:relative;
 height:100%;
 display:grid;
 place-items:center;
}
.home-modern-agenda-line:before{
 content:"";
 position:absolute;
 top:0;bottom:0;left:50%;
 width:1px;
 background:#e3e8e5;
 transform:translateX(-50%);
}
.home-modern-agenda-line i{
 position:relative;
 width:7px;height:7px;border-radius:50%;
 background:#6f9b87;
 box-shadow:0 0 0 3px #eef4f1;
}
.home-modern-agenda-copy{display:grid;gap:1px;min-width:0}
.home-modern-agenda-copy strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-modern-agenda-copy small{font-size:8px;color:#8a938e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-modern-agenda-row>.luckys-avatar{width:28px;height:28px}

.home-modern-empty{
 min-height:122px;
 display:grid;
 place-items:center;
 align-content:center;
 gap:5px;
 text-align:center;
 color:#89938e;
}
.home-modern-empty>span{
 width:40px;height:40px;border-radius:12px;
 display:grid;place-items:center;background:#f3f4ef;color:#8c9a78
}
.home-modern-empty strong{font-size:10.5px;color:#5d6963}
.home-modern-empty p{margin:0;font-size:8.5px}

.home-modern-check-list,
.home-modern-shopping-list{display:grid}
.home-modern-check-list>button,
.home-modern-shopping-list>button{
 width:100%;
 min-height:34px;
 padding:4px 0;
 border:0;
 border-bottom:1px solid #f0f1ef;
 background:transparent;
 color:inherit;
 display:grid;
 align-items:center;
 text-align:left;
 cursor:pointer;
}
.home-modern-check-list>button{grid-template-columns:22px minmax(0,1fr);gap:7px}
.home-modern-shopping-list>button{grid-template-columns:9px minmax(0,1fr) auto;gap:7px}
.home-modern-check-list>button:last-child,
.home-modern-shopping-list>button:last-child{border-bottom:0}
.home-modern-check{
 width:20px;height:20px;border:1.5px solid #cfd8d3;border-radius:6px;
 display:grid;place-items:center;color:#fff
}
.home-modern-check.checked{background:#6c9b85;border-color:#6c9b85}
.home-modern-check-list button>span:last-child{display:grid;gap:1px}
.home-modern-check-list strong,
.home-modern-shopping-list strong{
 font-size:9.5px;
 font-weight:700;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.home-modern-check-list strong.done{text-decoration:line-through;color:#909a95}
.home-modern-check-list small{font-size:7.5px;color:#949d98}
.home-modern-cart-dot{width:7px;height:7px;border-radius:50%;background:#9aaa8b}
.home-modern-shopping-list small{
 padding:3px 6px;border-radius:999px;background:#fff0e7;color:#b96f4f;
 font-size:7px;font-weight:800
}
.home-modern-small-empty{
 min-height:52px;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:7px;
 color:#929b96;
 font-size:9px;
}
.home-modern-footer-link{
 display:inline-flex;
 margin-top:8px;
 color:#527260;
 font-size:8.5px;
 font-weight:800;
 text-decoration:none;
}

.home-modern-week-strip{
 display:grid;
 grid-template-columns:repeat(7,1fr);
 gap:6px;
 padding:7px;
 border-radius:14px;
 background:#f5f3ee;
}
.home-modern-week-strip>a{
 min-height:58px;
 padding:6px 3px;
 display:grid;
 place-items:center;
 align-content:center;
 gap:2px;
 border-radius:10px;
 color:#67736d;
 text-decoration:none;
}
.home-modern-week-strip>a.today{
 background:#6f9d88;
 color:#fff;
 box-shadow:0 5px 13px rgba(95,148,125,.16);
}
.home-modern-week-strip small{font-size:7.5px;text-transform:uppercase;font-weight:800}
.home-modern-week-strip strong{font-size:14px}
.home-modern-week-strip>a>span{min-height:5px;display:flex;gap:2px}
.home-modern-week-strip i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.72}
.home-modern-week-events{display:grid;margin-top:9px}
.home-modern-week-events>a{
 min-height:40px;
 display:grid;
 grid-template-columns:78px minmax(0,1fr) 15px;
 gap:8px;
 align-items:center;
 border-bottom:1px solid #eef0ef;
 color:inherit;
 text-decoration:none;
}
.home-modern-week-events>a:last-child{border-bottom:0}
.home-modern-week-events time{font-size:8px;color:#7f8984;font-weight:750}
.home-modern-week-event-copy{display:grid;gap:1px;min-width:0}
.home-modern-week-event-copy strong{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-modern-week-event-copy small{font-size:7.5px;color:#909994}

.home-modern-family-list{display:grid;gap:4px}
.home-modern-family-list>a{
 min-height:47px;
 padding:5px 4px;
 display:grid;
 grid-template-columns:36px minmax(0,1fr);
 align-items:center;
 gap:9px;
 border-radius:10px;
 color:inherit;
 text-decoration:none;
}
.home-modern-family-list>a:hover{background:#f7f8f5}
.home-modern-family-list .luckys-avatar{
 width:34px;height:34px;
 box-shadow:0 0 0 3px color-mix(in srgb,var(--member-color,#5f947d) 20%,transparent)
}
.home-modern-family-list>a>span:last-child{display:grid;gap:1px;min-width:0}
.home-modern-family-list strong{font-size:9.5px}
.home-modern-family-list small{
 color:#8a938e;font-size:7.5px;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.home-modern-family-list>a.add .luckys-avatar{
 border:1px dashed #b9c5bf;
 background:#f8f9f7;color:#73847b;
 box-shadow:none
}
.home-modern-family blockquote{
 margin:11px 0 0;
 padding:9px 10px;
 border-radius:11px;
 background:#f6eee4;
 color:#7c6d5f;
 font-size:8.5px;
 line-height:1.5;
 font-style:italic;
}
.home-modern-family blockquote svg{color:#d77d70;vertical-align:middle}

@media(max-width:1100px){
 .home-modern-primary-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}
 .home-modern-bottom-grid{grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr)}
}
@media(max-width:900px){
 .home-modern{gap:10px}
 .home-modern-head{display:block}
 .home-modern-greeting h1{font-size:25px}
 .home-modern-greeting p{font-size:12px}
 .home-modern-weather{
  margin-top:10px;
  width:100%;
  min-width:0;
  min-height:54px;
 }
 .home-modern-hero{min-height:132px;border-radius:17px}
 .home-modern-hero-copy{left:17px;bottom:16px}
 .home-modern-hero-copy strong{font-size:19px}
 .home-modern-hero-quote{top:12px;right:12px}
 .home-modern-glance{grid-template-columns:1fr}
 .home-modern-glance>a{border-right:0;border-bottom:1px solid #edf0ee}
 .home-modern-glance>a:last-child{border-bottom:0}
 .home-modern-primary-grid,.home-modern-bottom-grid{grid-template-columns:1fr}
 .home-modern-side-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}
}
@media(max-width:620px){
 .home-modern-date{font-size:8px}
 .home-modern-greeting h1{font-size:23px}
 .home-modern-greeting p{font-size:11px}
 .home-modern-hero{min-height:112px}
 .home-modern-hero-copy strong{font-size:17px}
 .home-modern-hero-quote{display:none}
 .home-modern-panel{padding:13px}
 .home-modern-side-stack{grid-template-columns:1fr}
 .home-modern-next{grid-template-columns:34px minmax(0,1fr)}
 .home-modern-next>a{grid-column:2;justify-self:start}
 .home-modern-agenda-row{grid-template-columns:42px 12px minmax(0,1fr);padding:3px 0}
 .home-modern-agenda-row>.luckys-avatar{display:none}
 .home-modern-week-strip{gap:3px;padding:5px}
 .home-modern-week-strip>a{min-height:52px}
}

/* Calendar event rollover 2026-10-02 */
.calendar-rollover-card{
 position:fixed;
 z-index:500;
 width:292px;
 max-width:calc(100vw - 24px);
 padding:12px 13px;
 pointer-events:none;
 border:1px solid rgba(48,57,52,.11);
 border-radius:14px;
 background:rgba(255,254,251,.98);
 box-shadow:0 18px 44px rgba(36,43,39,.18);
 backdrop-filter:blur(16px);
 color:#26312b;
}
.calendar-rollover-head{
 display:grid;
 gap:3px;
 padding-bottom:9px;
 border-bottom:1px solid #edf0ee;
}
.calendar-rollover-head>span{
 color:#7d8782;
 font-size:8px;
 font-weight:850;
 text-transform:uppercase;
 letter-spacing:.08em;
}
.calendar-rollover-head>strong{
 font-size:13px;
 line-height:1.25;
 letter-spacing:-.015em;
}
.calendar-rollover-meta{
 display:grid;
 gap:6px;
 padding:9px 0 4px;
}
.calendar-rollover-meta>span{
 display:flex;
 align-items:flex-start;
 gap:7px;
 color:#66736c;
 min-width:0;
}
.calendar-rollover-meta svg{
 flex:0 0 auto;
 margin-top:1px;
 color:#74857c;
}
.calendar-rollover-meta b{
 font-size:9px;
 font-weight:650;
 line-height:1.35;
 white-space:normal;
 overflow-wrap:anywhere;
}
.calendar-rollover-card p{
 margin:6px 0 0;
 padding-top:7px;
 border-top:1px solid #f0f1ef;
 color:#707c75;
 font-size:8.5px;
 line-height:1.45;
 display:-webkit-box;
 -webkit-line-clamp:3;
 -webkit-box-orient:vertical;
 overflow:hidden;
}
.calendar-rollover-card>small{
 display:block;
 margin-top:8px;
 color:#9aa29e;
 font-size:7.5px;
}
@media(max-width:820px){
 .calendar-rollover-card{display:none!important}
}
/* Grouped More hub 2026-10-02 */
.more-hub{display:grid;gap:16px}
.more-hub-head{margin-bottom:0!important}
.more-mobile-primary{display:none}
.more-section-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:14px;
 align-items:start;
}
.more-section-card{
 min-width:0;
 padding:17px;
 border:1px solid rgba(50,59,54,.065);
 border-radius:19px;
 background:rgba(255,253,249,.98);
 box-shadow:0 8px 24px rgba(43,50,46,.04);
}
.more-section-head{
 min-height:42px;
 margin-bottom:10px;
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:12px;
}
.more-section-head>div{display:grid;gap:2px;min-width:0}
.more-section-head>div>span{
 color:#8c9590;
 font-size:8px;
 font-weight:850;
 text-transform:uppercase;
 letter-spacing:.085em;
}
.more-section-head h2{
 margin:0;
 color:#17202c;
 font-size:15px;
 line-height:1.16;
 letter-spacing:-.022em;
}
.more-section-head>small{
 color:#929b96;
 font-size:8px;
 align-self:center;
}
.more-section-symbol{
 width:34px;height:34px;flex:0 0 34px;
 border-radius:11px;
 display:grid;place-items:center;
 background:#f1f3f1;
 color:#718079;
}
.more-link-list{display:grid}
.more-link-list>a,
.more-mobile-primary-grid>a{
 min-width:0;
 min-height:60px;
 display:grid;
 grid-template-columns:38px minmax(0,1fr) 16px;
 gap:10px;
 align-items:center;
 padding:8px 2px;
 border-bottom:1px solid #edf0ee;
 color:inherit;
 text-decoration:none;
 transition:background .16s ease,color .16s ease;
}
.more-link-list>a:last-child,
.more-mobile-primary-grid>a:last-child{border-bottom:0}
.more-link-list>a:hover,
.more-mobile-primary-grid>a:hover{
 color:#466e5c;
 background:#fafbf8;
}
.more-link-list>a>span:nth-child(2),
.more-mobile-primary-grid>a>span:nth-child(2){display:grid;gap:2px;min-width:0}
.more-link-list strong,
.more-mobile-primary-grid strong{
 color:#26312b;
 font-size:10.5px;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.more-link-list small,
.more-mobile-primary-grid small{
 color:#89928d;
 font-size:8.5px;
 line-height:1.35;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.more-link-list>a>svg,
.more-mobile-primary-grid>a>svg{color:#9aa39e}
.more-card-icon{
 width:38px;height:38px;border-radius:11px;
 display:grid;place-items:center;
 background:#f0f2f0;color:#6a7871;
}
.more-card-icon.orange{background:#fff0e7;color:#c97855}
.more-card-icon.blue{background:#eaf0f8;color:#557392}
.more-card-icon.rose{background:#f9e8eb;color:#b76673}
.more-card-icon.violet{background:#eee9f7;color:#7565a5}
.more-card-icon.green{background:#e5f1eb;color:#527e69}
.more-card-icon.sage{background:#edf1e8;color:#788b69}
.more-card-icon.beige{background:#f5ede4;color:#927453}
.more-card-icon.gray{background:#eef0f1;color:#737d82}

@media(max-width:900px){
 .more-mobile-primary{
  display:block;
  padding:15px;
  border:1px solid rgba(50,59,54,.065);
  border-radius:18px;
  background:rgba(255,253,249,.98);
  box-shadow:0 7px 20px rgba(43,50,46,.035);
 }
 .more-mobile-primary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 12px;
 }
 .more-section-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
 .more-hub{gap:11px}
 .more-section-card,.more-mobile-primary{padding:13px;border-radius:16px}
 .more-mobile-primary-grid{grid-template-columns:1fr}
 .more-section-head{margin-bottom:7px}
 .more-section-head h2{font-size:14px}
 .more-link-list>a,.more-mobile-primary-grid>a{min-height:56px}
 .more-link-list strong,.more-mobile-primary-grid strong{font-size:10px}
}
