/* ROMVI R17 | Visual QA + Solo/Today polish (2026-10-13).
   Loaded after R16 to eliminate its two confirmed layout regressions.
   No behavior, authorization, data model or navigation IDs are changed. */
:root{
  --r17-duration:170ms;
  --r17-ease:cubic-bezier(.2,.72,.24,1);
}
/* Keep navigation hidden while signing in and configuring a new space.
   R3's .bottom-nav{display:grid!important} otherwise beats .hidden. */
.bottom-nav.hidden,
.action-fab.hidden{display:none!important}

/* R16's generic space tile size accidentally enlarges Life tools (same specificity).
   Always keep the compact final row compact, in both themes. */
.r3-space-option.r4-space.r4-space--life{
  min-height:78px!important;
  padding:12px 14px!important;
  flex-direction:row!important;
  align-items:center!important;
}
.r3-space-option.r4-space.r4-space--life .r4-life-copy{
  min-width:0;gap:4px;
}
.r3-space-option.r4-space.r4-space--life .r4-space-description{
  font-size:12px!important;
  line-height:1.4!important;
}
/* Preserve room for button/notice in a short-height phone without hiding content. */
.r3-sheet__panel{overscroll-behavior:contain;scrollbar-gutter:stable}
.r3-sheet__notice{font-size:12px!important;line-height:1.5!important}

/* Today: the useful action occupies the screen, not empty decorative padding. */
#dashboard:not(.home-expanded){gap:12px!important}
#dashboard .r3-today{
  border-radius:22px!important;
  padding:22px!important;
  box-shadow:0 14px 36px rgba(2,12,27,.12)!important;
}
.r3-today__title{margin:11px 0 7px!important;line-height:1.15!important}
.r3-today__lead{font-size:14px!important;line-height:1.55!important}
.r3-today__content{margin-top:18px!important;padding:15px!important;border-radius:17px!important}
.r3-priority-list li{font-size:13px!important;line-height:1.5!important;min-height:44px!important}
.r3-today__section small{font-size:11.5px!important}
.r3-actions{gap:9px!important;margin-top:14px!important}
.r3-actions button{min-height:46px!important;font-size:12.5px!important;
  transition:background-color var(--r17-duration) ease,border-color var(--r17-duration) ease,transform var(--r17-duration) var(--r17-ease)!important}
.r3-actions button:active{transform:scale(.988)}
.r4-quick{margin-top:16px!important}
.r4-quick-head{margin-bottom:9px!important}
.r4-quick-head span{font-size:11.5px!important;max-width:150px}
.r4-quick-grid{gap:9px!important}
.r4-quick-card{min-height:100px!important;padding:11px!important;border-radius:15px!important}
.r4-quick-copy strong{font-size:13px!important}
.r4-quick-copy small{font-size:11.5px!important;line-height:1.4!important}
.r4-quick-card:active{transform:scale(.993)!important}

/* Richer but restrained contrast: light/dark use distinct surface tokens. */
html[data-theme="dark"] #dashboard .r3-today{
  background:linear-gradient(144deg,#101f32 0%,#0a1626 78%,#16192e 100%)!important;
  border-color:rgba(145,198,234,.19)!important;
}
html[data-theme="dark"] .r3-today__lead{color:#bacddd!important}
html[data-theme="dark"] .r4-quick-copy small,
html[data-theme="dark"] .r4-quick-head span{color:#b3c9df!important}
html[data-theme="light"] #dashboard .r3-today{
  background:linear-gradient(140deg,#f7fcff,#eef6fb 62%,#f4f2ff)!important;
  border-color:rgba(38,97,148,.18)!important;
  box-shadow:0 13px 34px rgba(39,76,107,.075)!important;
}
html[data-theme="light"] .r3-today__lead{color:#425d79!important}
html[data-theme="light"] .r3-today__section small{color:#526e86!important}
html[data-theme="light"] .r3-priority-list li{color:#16334d!important}
html[data-theme="light"] .r4-quick-copy small,
html[data-theme="light"] .r4-quick-head span{color:#496784!important}

/* Primary action remains an affordance; no looping motion or attention-grabbing glow. */
.r4-quick-card:focus-visible,.r3-actions button:focus-visible{
  outline:3px solid #2395aa!important;outline-offset:2px!important;
}
@media(max-width:430px){
  #dashboard .r3-today{padding:18px!important;border-radius:20px!important}
  .r3-today__content{margin-top:16px!important;padding:13px!important}
  .r4-quick{margin-top:13px!important}
  .r4-quick-card{min-height:96px!important;padding:10px!important}
  .r4-quick-grid{gap:8px!important}
}
@media(max-width:350px){
  .r3-today__title{font-size:26px!important}
  .r4-quick-card{min-height:78px!important}
  .r3-sheet__panel{padding:14px!important}
}
@media(prefers-reduced-motion:reduce){
  .r3-actions button,.r4-quick-card{transition:none!important;transform:none!important}
}
