/* Family Manager v8 warm SaaS redesign */
:root{
  --bg:#f7f4ef;
  --soft-bg:#fbfaf7;
  --card:#ffffff;
  --primary:#8f6f4e;
  --primary-dark:#6f5439;
  --primary-soft:#eadfce;
  --accent:#d6a85f;
  --accent-soft:#f4e6ca;
  --ink:#2f2a25;
  --muted:#7b746d;
  --line:#e4ded5;
  --green-soft:#e6efe4;
  --green:#607a62;
  --blue-soft:#e3edf2;
  --blue:#557487;
  --rose-soft:#f5dfdc;
  --rose:#b15f55;
  --shadow:0 18px 45px rgba(47,42,37,.08);
  --shadow-soft:0 10px 30px rgba(47,42,37,.055);
  --radius:22px;
}

body.family-theme,
body.auth-page{
  background:var(--bg)!important;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

body.family-theme h1,
body.family-theme h2,
body.family-theme h3,
body.family-theme h4,
body.auth-page h1,
body.auth-page h2,
body.auth-page h3{
  letter-spacing:0!important;
}

body.family-theme h1,
body.auth-page h1{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:650;
}

.family-theme .app-shell.pro-shell{
  display:grid!important;
  grid-template-columns:292px minmax(0,1fr)!important;
  min-height:100vh;
  background:var(--bg);
}

.family-theme .sidebar.pro-sidebar{
  position:sticky!important;
  top:0;
  height:100vh!important;
  width:auto!important;
  padding:30px 22px;
  overflow:auto;
  background:var(--soft-bg)!important;
  border-right:1px solid var(--line);
  color:var(--ink);
  box-shadow:10px 0 34px rgba(47,42,37,.035);
}

.family-theme.sidebar-dark .pro-sidebar,
.family-theme.sidebar-soft .pro-sidebar{
  background:var(--soft-bg)!important;
  color:var(--ink);
}

.family-theme .main-content.pro-main{
  margin-left:0!important;
  width:auto!important;
  min-width:0;
  padding:0 clamp(18px,3vw,38px) 92px;
  overflow-x:hidden;
  background:var(--bg);
}

.content-frame{
  width:min(1220px,100%);
  margin:0 auto;
  padding-top:26px;
}

.app-brand{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:54px;
  margin-bottom:22px;
  color:var(--ink)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:23px;
  font-weight:650;
}

.brand-logo{
  width:44px!important;
  height:44px!important;
  border-radius:14px;
  object-fit:contain;
  filter:none;
}

.family-context{
  padding:15px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}

.family-context span,
.topbar-kicker{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:750;
}

.family-context strong{
  display:block;
  margin-top:2px;
  font-size:15px;
}

.pro-family-switch{
  margin-top:12px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}

.pro-family-switch label{
  margin:0 0 7px;
  color:var(--muted);
  font-size:12px;
  text-transform:none;
  letter-spacing:0;
}

.family-theme .side-nav.pro-nav{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:24px;
}

.family-theme .pro-nav .nav-section{
  margin:18px 12px 6px;
  color:var(--muted);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.family-theme .pro-nav a,
.nav-logout{
  width:100%;
  min-height:43px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px 13px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:var(--ink)!important;
  font:inherit;
  font-weight:760;
  cursor:pointer;
  text-align:left;
}

.family-theme .pro-nav a:hover,
.family-theme .pro-nav a.active,
.nav-logout:hover{
  background:var(--primary-soft);
}

.nav-icon{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#fff;
  border:1px solid rgba(143,111,78,.13);
  color:var(--primary-dark);
  font-size:14px;
  line-height:1;
}

.family-theme .pro-nav a.active .nav-icon{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}

.app-topbar.topbar{
  position:sticky;
  top:0;
  z-index:20;
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:min(1220px,100%);
  margin:0 auto;
  padding:18px 0;
  background:rgba(247,244,239,.92);
  border-bottom:1px solid rgba(228,222,213,.78);
  backdrop-filter:blur(18px);
}

.app-topbar strong{
  font-size:18px;
}

.topbar-actions{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.topbar-search{
  width:260px;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}

.topbar-search input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
}

.icon-button{
  position:relative;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
}

.profile-chip{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:5px 12px 5px 6px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.profile-chip>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--primary-soft);
  color:var(--primary-dark);
  font-weight:900;
}

.profile-chip strong,
.profile-chip small{
  display:block;
  line-height:1.2;
}

.profile-chip small{
  color:var(--muted);
  font-size:11px;
}

.family-theme .card,
.family-theme .pro-card,
.auth-page .auth-card{
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:var(--radius)!important;
  box-shadow:var(--shadow-soft)!important;
}

.family-theme .card{
  padding:22px;
}

.card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:17px;
}

.card-head h3{
  margin:0;
  font-size:20px;
}

.card-head p{
  margin:4px 0 0;
}

.muted{color:var(--muted)!important}

.eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--soft-bg);
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}

.pill,
.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:5px 10px;
  border-radius:999px;
  background:var(--primary-soft);
  color:var(--primary-dark);
  font-size:12px;
  font-weight:850;
}

.badge.danger,
.pill.danger{
  background:#f8ded9;
  color:#9f3d31;
}

.btn{
  min-height:42px;
  border-radius:12px;
  padding:10px 15px;
  border:1px solid transparent;
  box-shadow:none;
  font-weight:850;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn-primary,
.btn.brandbtn,
.brandbtn{
  background:linear-gradient(180deg,var(--primary),var(--primary-dark))!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(111,84,57,.22)!important;
}

.btn-soft,
.btn.alt{
  background:var(--primary-soft)!important;
  color:var(--ink)!important;
  border-color:transparent!important;
}

.btn.small{
  min-height:34px;
  padding:7px 11px;
  font-size:13px;
}

.btn.full,
.full{
  width:100%;
}

.input,
.form-control,
textarea,
select{
  border:1px solid var(--line)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}

.input:focus,
.form-control:focus,
textarea:focus,
select:focus{
  outline:2px solid rgba(214,168,95,.22);
  border-color:var(--accent)!important;
}

.form-row{
  gap:12px;
}

.stack-form{
  display:grid;
  gap:12px;
}

label{
  color:var(--ink);
  font-weight:760;
}

.soft-empty{
  padding:16px;
  border:1px dashed var(--line);
  border-radius:16px;
  background:var(--soft-bg);
  color:var(--muted);
}

.page-heading,
.dashboard-welcome{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}

.page-heading h1,
.dashboard-welcome h1{
  margin:8px 0 4px;
  font-size:36px;
  line-height:1.08;
}

.page-heading p,
.dashboard-welcome p{
  margin:0;
  color:var(--muted);
}

.dashboard-stat-grid,
.stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.stat-card{
  min-height:154px;
  display:grid;
  align-content:start;
  gap:8px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}

.stat-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:var(--primary-soft);
  color:var(--primary-dark);
  font-size:22px;
  font-weight:900;
}

.stat-card strong{
  margin-top:2px;
  font-size:30px;
  line-height:1;
}

.stat-card p{
  margin:0;
  color:var(--ink);
  font-weight:760;
}

.stat-card a{
  margin-top:auto;
  color:var(--ink);
  font-size:13px;
  font-weight:800;
}

.tone-green .stat-icon,
.stat-icon.tone-green{background:var(--green-soft);color:var(--green)}
.tone-gold .stat-icon,
.stat-icon.tone-gold{background:var(--accent-soft);color:#986f25}
.tone-blue .stat-icon,
.stat-icon.tone-blue{background:var(--blue-soft);color:var(--blue)}
.tone-rose .stat-icon,
.stat-icon.tone-rose{background:var(--rose-soft);color:var(--rose)}

.dashboard-card-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.82fr) minmax(240px,.68fr);
  gap:16px;
  align-items:stretch;
  margin-top:16px;
}

.dashboard-card{
  min-width:0;
}

.timeline-list,
.memory-list,
.quick-action-list,
.event-card-list,
.task-list,
.care-card-list,
.generated-book-list{
  display:grid;
  gap:10px;
}

.timeline-item{
  display:grid;
  grid-template-columns:14px 58px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:8px 0;
}

.timeline-dot{
  width:11px;
  height:11px;
  margin-top:6px;
  border:2px solid var(--accent);
  border-radius:999px;
  background:#fff;
}

.timeline-item time{
  color:var(--ink);
  font-weight:850;
  font-size:13px;
}

.timeline-item small,
.memory-row small,
.event-list-item small,
.task-body small,
.document-card small,
.generated-book-card small{
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.task-line .timeline-dot{border-color:var(--green)}

.memory-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:10px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--soft-bg);
}

.memory-thumb{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:var(--accent-soft);
  color:#8d6321;
  font-weight:900;
}

.quick-action-list a{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:15px;
  background:var(--soft-bg);
  font-weight:820;
}

.quick-action-list span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--primary-soft);
  color:var(--primary-dark);
}

.module-overview-card{
  margin-top:16px;
}

.warm-module-card{
  min-height:78px;
  border-radius:16px!important;
  background:#fff!important;
}

.planner-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,390px);
  gap:16px;
  align-items:start;
}

.planner-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.segmented-control{
  display:flex;
  gap:4px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}

.segmented-control button{
  min-height:34px;
  border:0;
  border-radius:10px;
  padding:7px 12px;
  background:transparent;
  color:var(--muted);
  font-weight:800;
}

.segmented-control button.active{
  background:var(--primary-soft);
  color:var(--ink);
}

.week-calendar{
  display:grid;
  grid-template-columns:64px repeat(7,minmax(92px,1fr));
  overflow:auto;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}

.week-time-spacer,
.week-day-head,
.week-time,
.week-cell{
  min-height:58px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.week-day-head{
  display:grid;
  place-items:center;
  align-content:center;
  gap:2px;
  background:var(--soft-bg);
}

.week-day-head.today{
  background:var(--accent-soft);
}

.week-day-head span,
.week-time{
  color:var(--muted);
  font-size:12px;
}

.week-time{
  padding:10px;
  background:var(--soft-bg);
  font-weight:800;
}

.week-cell{
  padding:6px;
}

.calendar-event-block{
  display:grid;
  gap:3px;
  margin-bottom:6px;
  padding:8px;
  border-radius:12px;
  background:var(--accent-soft);
  color:var(--ink);
  font-size:12px;
}

.calendar-event-block span{
  color:#7b5c2d;
}

.event-list-card{
  margin-top:16px;
}

.event-list-item{
  display:grid;
  grid-template-columns:120px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--soft-bg);
}

.event-list-item time{
  color:var(--primary-dark);
  font-weight:850;
}

.tasks-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,390px);
  gap:16px;
  align-items:start;
}

.task-item{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
  padding:15px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
}

.task-item.is-complete{
  background:var(--soft-bg);
  opacity:.72;
}

.task-check span,
.task-check button{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border:1.6px solid var(--primary);
  border-radius:999px;
  background:#fff;
  color:var(--primary);
  font-weight:900;
}

.task-check button{
  cursor:pointer;
}

.task-body p{
  margin:6px 0 0;
  color:var(--muted);
}

.task-meta{
  display:grid;
  justify-items:end;
  gap:8px;
}

.documents-page-layout{
  display:grid;
  grid-template-columns:minmax(300px,390px) minmax(0,1fr);
  gap:16px;
  align-items:start;
}

.document-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:14px;
}

.document-card{
  min-height:220px;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}

.document-type-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:var(--blue-soft);
  color:var(--blue);
  font-size:13px;
  font-weight:900;
}

.document-card.pdf .document-type-icon{background:#f3ded9;color:#a7473c}
.document-card.doc .document-type-icon{background:#dbe9f5;color:#336b95}
.document-card.image .document-type-icon{background:var(--green-soft);color:var(--green)}

.document-card-body{
  display:grid;
  gap:4px;
}

.document-card-body strong,
.document-card-body span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.document-card-body span{
  color:var(--muted);
}

.document-card-actions{
  display:flex;
  gap:8px;
  margin-top:auto;
}

.modal .doc-modal-panel{
  inset:18px!important;
  border-radius:24px!important;
}

.familybook-heading .mini-stat,
.mini-stat{
  min-width:130px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  text-align:center;
  box-shadow:var(--shadow-soft);
}

.mini-stat strong{
  display:block;
  font-size:32px;
}

.mini-stat span{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}

.familybook-builder,
.generated-books-card{
  margin-bottom:16px;
}

.style-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.style-choice-card{
  position:relative;
  display:grid;
  gap:10px;
  margin:0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  cursor:pointer;
}

.style-choice-card input{
  position:absolute;
  inset:12px 12px auto auto;
  width:18px;
  height:18px;
}

.style-choice-card:has(input:checked){
  border-color:var(--primary);
  box-shadow:0 18px 45px rgba(111,84,57,.12);
}

.style-preview{
  height:120px;
  display:block;
  border-radius:15px;
  border:1px solid var(--line);
  background:
    linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.72) 18% 22%,transparent 22%),
    linear-gradient(180deg,#efe1ca 0 38%,#fff 38% 100%);
}

.style-preview.minimal{
  background:linear-gradient(180deg,#fff 0 56%,#f3f0ea 56% 100%);
}

.style-preview.playful{
  background:linear-gradient(90deg,#f4e6ca 0 28%,#e6efe4 28% 55%,#e3edf2 55% 78%,#f5dfdc 78% 100%);
}

.style-preview.memory{
  background:linear-gradient(180deg,#eadfce 0 30%,#fff 30% 72%,#f7f4ef 72% 100%);
}

.style-choice-card small{
  color:var(--muted);
}

.familybook-form-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}

.advanced-options{
  margin-top:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--soft-bg);
  padding:14px;
}

.advanced-options summary{
  cursor:pointer;
  font-weight:850;
}

.form-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:18px;
}

.generated-book-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--soft-bg);
}

.generated-book-card p{
  margin:6px 0 0;
  color:var(--muted);
}

.care-compact{
  width:min(760px,100%);
  margin:0 auto;
}

.care-member-strip{
  display:flex;
  gap:9px;
  padding:10px;
  margin-bottom:14px;
  overflow:auto;
}

.care-member-pill{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:7px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  white-space:nowrap;
}

.care-member-pill span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green);
  font-weight:900;
}

.care-member-pill.active{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}

.care-member-pill.active span{
  background:rgba(255,255,255,.22);
  color:#fff;
}

.care-info-grid,
.care-support-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.care-contact-card{
  padding:15px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--soft-bg);
}

.care-contact-card h4{
  margin:0 0 12px;
}

.care-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.care-contact-grid .span-2{
  grid-column:1/-1;
}

.care-support-grid{
  margin-top:14px;
  align-items:start;
}

.care-mini-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--soft-bg);
  padding:12px;
}

.care-mini-card p{
  margin:5px 0 0;
  color:var(--muted);
}

.auth-saas-wrap{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,460px);
  gap:42px;
  align-items:center;
  width:min(1120px,92vw);
  margin:0 auto;
  padding:42px 0;
}

.auth-intro h1{
  max-width:680px;
  margin:24px 0 14px;
  font-size:48px;
  line-height:1.02;
}

.auth-preview-card{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:26px;
}

.auth-preview-card div{
  display:grid;
  gap:7px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}

.auth-preview-card small{
  color:var(--muted);
}

.auth-saas-card{
  width:100%!important;
  padding:30px!important;
}

.auth-saas-card h2{
  margin:10px 0 18px;
  font-size:28px;
}

.remember-line{
  display:flex;
  align-items:center;
  gap:8px;
}

.remember-line input{
  width:auto;
}

.dashboard-hero,
.admin-hero,
.module-suite-hero,
.module-workspace-hero,
.care-hero-v72,
.familybook-hero-v72,
.reminder-hero,
.brand-hero{
  background:var(--card)!important;
  border-color:var(--line)!important;
}

.admin-hero:after,
.admin-hero:before,
.module-suite-hero:after,
.module-suite-hero:before,
.module-workspace-hero:after,
.module-workspace-hero:before,
.reminder-hero:before,
.brand-hero:before{
  display:none!important;
}

.mobile-bottom-nav{
  display:none;
}

@media(max-width:1180px){
  .dashboard-stat-grid,
  .stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dashboard-card-grid,
  .planner-layout,
  .tasks-layout,
  .documents-page-layout{
    grid-template-columns:1fr;
  }

  .style-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .familybook-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:860px){
  .family-theme .app-shell.pro-shell{
    display:block!important;
  }

  .family-theme .sidebar.pro-sidebar{
    display:none!important;
  }

  .family-theme .main-content.pro-main{
    padding:0 16px 92px!important;
  }

  .app-topbar.topbar{
    min-height:72px;
  }

  .app-topbar .topbar-kicker,
  .topbar-search,
  .profile-chip{
    display:none;
  }

  .content-frame{
    padding-top:18px;
  }

  .page-heading,
  .dashboard-welcome{
    align-items:flex-start;
    flex-direction:column;
  }

  .page-heading h1,
  .dashboard-welcome h1{
    font-size:30px;
  }

  .dashboard-stat-grid,
  .stat-grid,
  .style-card-grid,
  .familybook-form-grid,
  .care-info-grid,
  .care-support-grid,
  .care-contact-grid,
  .auth-preview-card{
    grid-template-columns:1fr;
  }

  .event-list-item,
  .task-item,
  .generated-book-card{
    grid-template-columns:1fr;
  }

  .task-meta{
    justify-items:start;
  }

  .document-grid{
    grid-template-columns:1fr;
  }

  .mobile-bottom-nav{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:40;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:4px;
    padding:7px;
    border:1px solid var(--line);
    border-radius:22px;
    background:rgba(255,255,255,.94);
    box-shadow:0 18px 45px rgba(47,42,37,.14);
    backdrop-filter:blur(18px);
  }

  .mobile-bottom-nav a{
    min-height:54px;
    display:grid;
    place-items:center;
    gap:2px;
    border-radius:15px;
    color:var(--ink);
    font-weight:800;
    font-size:12px;
  }

  .mobile-bottom-nav span{
    font-size:18px;
    line-height:1;
  }

  .mobile-bottom-nav small{
    font-size:10px;
  }

  .mobile-bottom-nav a.active{
    background:var(--primary-soft);
  }

  .mobile-bottom-nav .nav-add{
    color:#fff;
  }

  .mobile-bottom-nav .nav-add span{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:linear-gradient(180deg,var(--primary),var(--primary-dark));
    box-shadow:0 12px 24px rgba(111,84,57,.23);
  }

  .auth-saas-wrap{
    grid-template-columns:1fr;
    padding:24px 0;
  }

  .auth-intro h1{
    font-size:36px;
  }
}

@media(max-width:560px){
  .dashboard-stat-grid,
  .stat-grid{
    grid-template-columns:1fr;
  }

  .card-head{
    display:grid;
  }

  .planner-actions{
    width:100%;
    flex-wrap:wrap;
  }

  .segmented-control{
    width:100%;
  }

  .segmented-control button{
    flex:1;
  }

  .week-calendar{
    grid-template-columns:58px repeat(7,112px);
  }
}

@media print{
  .sidebar,
  .app-topbar,
  .mobile-bottom-nav,
  .print-care-button,
  .care-support-grid form,
  .btn{
    display:none!important;
  }

  body.family-theme{
    background:#fff!important;
  }

  .family-theme .app-shell.pro-shell{
    display:block!important;
  }

  .family-theme .main-content.pro-main{
    padding:0!important;
  }

  .content-frame,
  .care-compact{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }

  .card,
  .pro-card{
    box-shadow:none!important;
    border-color:#d8d2c9!important;
  }
}
