/* Home tab: flutter_app/lib/screens/home/home_screen.dart (lines cited as :n).
   Home's Scaffold paints flat #FCF7F9 over the shell gradient: use .k-screen.k-flat. */

/* the page: ListView padding 0,16,0,120 (:1068); sections are inset 20 */
.k-home { flex: 1; min-height: 0; overflow: hidden; padding: 16px 0 120px; }
.k-home-section { padding: 0 20px; }

/* header (:1100-1131): greeting row 48 tall, "Updated" line 3 below it */
.k-home-greeting-row { display: flex; align-items: center; gap: 8px; height: 48px; padding: 0 12px 0 20px; }
.k-home-greeting { flex: 1; min-width: 0; font-size: 19px; font-weight: 700; line-height: 1.33; letter-spacing: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k-home-updated { margin-top: 3px; padding: 0 20px; font-size: 12px; font-weight: 600; color: rgba(26, 29, 46, .7); }

/* carousel (:2137): pages are .88 of the width, centred, a 6..8 dp peek each side;
   each page pads 8/4, so a card is .88W - 16 wide. Off-centre pages sit 6 lower at .96. */
.k-carousel { display: flex; margin-top: 16px; padding-left: calc(var(--k-w) * .06); overflow: hidden; }
.k-carousel-page { flex: none; display: flex; width: calc(var(--k-w) * .88); padding: 4px 8px; }
.k-carousel-page.side { transform: translateY(6px) scale(.96); }
.k-dots { display: flex; justify-content: center; margin-top: 6px; }
.k-dots i { width: 6px; height: 6px; margin: 0 3px; border-radius: 3px; background: rgba(26, 29, 46, .15); }
.k-dots i.on { width: 16px; background: rgba(255, 56, 92, .7); }

/* search profile card (:2294-2716): radius 20, two-layer shadow, padding 24,20,24,0 */
.k-profile-card { flex: 1; display: flex; flex-direction: column; padding: 20px 24px 0; overflow: hidden; background: #FFFFFF; border: 1px solid rgba(238, 240, 246, .7); border-radius: 20px; box-shadow: 0 8px 24px rgba(15, 23, 42, .08), 0 2px 6px rgba(15, 23, 42, .04); }
.k-profile-name-row { display: flex; align-items: center; gap: 8px; }
.k-profile-name { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; letter-spacing: .1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k-profile-name-row > k-icon { color: var(--error); }
.k-bell-chip { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #F1F2F4; color: rgba(26, 29, 46, .55); }
.k-bell-chip.on { color: var(--primary); }
/* hero: count 56/w800 (48 below 390 dp), label column bottom-aligned 8 up */
.k-hero { display: flex; align-items: flex-end; gap: 8px; height: 56px; margin-top: 14px; }
.k-hero-count { font-size: 56px; font-weight: 800; line-height: 1; letter-spacing: -2px; font-variant-numeric: tabular-nums; }
.k-compact .k-hero { height: 48px; }
.k-compact .k-hero-count { font-size: 48px; }
.k-hero-count.k-skeleton { width: 112px; height: 42px; }
.k-compact .k-hero-count.k-skeleton { width: 96px; height: 36px; }
.k-hero-label { display: flex; flex-direction: column; align-items: flex-start; padding-bottom: 8px; white-space: nowrap; }
.k-hero-caption { font-size: 14px; color: rgba(26, 29, 46, .6); }
/* "+N today" micro-pill */
.k-delta-pill { padding: 0 3.5px; border-radius: 2px; background: rgba(76, 175, 106, .07); font-size: 9px; font-weight: 800; line-height: 1.2; letter-spacing: -.3px; color: #2E9E4B; }
/* reviewed-of-total bar: track 6, minimum fill 2.5 % */
.k-progress { height: 6px; margin-top: 8px; overflow: hidden; border-radius: 3px; background: #EDEEF1; }
.k-progress > i { display: block; height: 100%; border-radius: 3px; background: var(--primary); }
.k-progress-caption { margin-top: 6px; font-size: 12px; letter-spacing: -.1px; color: rgba(26, 29, 46, .55); }
.k-profile-card .k-gradient-button { margin-top: 14px; }
.k-caught-up { margin-top: 2px; }
.k-caught-up b { display: block; font-weight: 600; }
.k-caught-up span { display: block; font: var(--body-small) var(--k-font); letter-spacing: var(--body-small-tracking); color: var(--on-surface-variant); }
.k-profile-card .k-caught-up + .k-gradient-button { margin-top: 8px; }
/* the flexible gap pushes the filter pill to the bottom of the tallest page */
.k-profile-footer { margin-top: auto; padding-top: 16px; }

/* filter pill (_FilterPill :1611): min 46 tall, radius 12, summary with " · " */
.k-summary-pill { display: flex; align-items: center; min-height: 46px; margin-bottom: 18px; padding: 8px 16px; border: 1px solid #E4E6EB; border-radius: 12px; }
.k-summary-pill > k-icon:first-child { margin-right: 10px; color: #111827; }
.k-summary-pill > span { flex: 1; min-width: 0; font-size: 14px; letter-spacing: .1px; color: #6B7280; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.k-summary-pill > k-icon:last-child { margin-left: 8px; color: rgba(107, 114, 128, .9); }

/* add-profile page (:2168): a theme Card, content centred */
.k-add-card { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px 24px; text-align: center; color: var(--primary); background: var(--card-bg); border: var(--card-border); border-radius: var(--card-radius); }
.k-add-card-title { margin-top: 8px; font: var(--label-medium) var(--k-font); letter-spacing: var(--label-medium-tracking); }
.k-add-card-sub { margin-top: 6px; font: var(--body-small) var(--k-font); letter-spacing: var(--body-small-tracking); color: rgba(26, 29, 46, .6); }
.k-add-card.unavailable { color: rgba(26, 29, 46, .38); }

/* Today's activity (:1499): an inset card with divided rows */
.k-list-card { padding: 4px 14px; background: #FFFFFF; border: 1px solid #EDE5E8; border-radius: 18px; }
.k-list-card-row { display: flex; align-items: center; gap: 10px; padding: 12px 0; font-size: 14px; }
.k-list-card-row + .k-list-card-row { border-top: 1px solid #EDE5E8; }
.k-list-card-row > k-icon { color: #5C5560; }

/* Your Tracker (_StatBadge :3083): three tinted tiles, each links to a Tracker tab */
.k-stat-tiles { display: flex; gap: 10px; }
.k-stat-tile { flex: 1; min-width: 0; padding: 14px 12px; border: 1px solid; border-radius: 18px; }
.k-stat-tile b { display: block; font-size: 24px; font-weight: 800; line-height: 1; }
.k-stat-tile span { display: block; margin-top: 4px; font-size: 12px; font-weight: 500; opacity: .85; }
.k-stat-tile small { display: block; margin-top: 8px; font-size: 11px; font-weight: 600; opacity: .7; }
.k-stat-tile.skipped { background: #F4EFF1; border-color: #E0D6DA; color: #1A1320; }
.k-stat-tile.liked { background: #EDF1FF; border-color: #C7D2FF; color: #2A3B8F; }
.k-stat-tile.applied { background: #E5F4EC; border-color: #B5D9C5; color: #1F6C44; }

/* caught up: the notifications button carries an end chevron at 45 % */
.k-gradient-button.k-with-end { position: relative; }
.k-gradient-button > .k-end { position: absolute; right: 23px; color: rgba(255, 255, 255, .45); }
