/*
 * REBOOT OS 7.0 — ASCENSION
 * Design system complet : mobile-first, gamification adulte, stabilité WebView.
 */
:root {
  --r7-bg: #030d10;
  --r7-bg-2: #06171b;
  --r7-bg-3: #0a2025;
  --r7-surface: #0b2328;
  --r7-surface-2: #102d33;
  --r7-surface-3: #143840;
  --r7-line: rgba(130, 255, 220, .12);
  --r7-line-strong: rgba(104, 255, 205, .28);
  --r7-text: #f2fffb;
  --r7-text-soft: #c6dcd8;
  --r7-muted: #7f9e9c;
  --r7-green: #49f4b6;
  --r7-green-2: #25c98c;
  --r7-cyan: #55d8ff;
  --r7-blue: #6f8cff;
  --r7-violet: #aa82ff;
  --r7-gold: #ffc966;
  --r7-orange: #ff9d64;
  --r7-danger: #ff6c7b;
  --r7-success: #60efa7;
  --r7-shadow: 0 20px 60px rgba(0, 0, 0, .32);
  --r7-shadow-soft: 0 12px 34px rgba(0, 0, 0, .22);
  --r7-radius-xs: 10px;
  --r7-radius-sm: 14px;
  --r7-radius: 20px;
  --r7-radius-lg: 28px;
  --r7-radius-xl: 36px;
  --r7-sidebar: 276px;
  --r7-header: 78px;
  --r7-mobile-header: 68px;
  --r7-mobile-nav: 72px;
  --r7-ease: cubic-bezier(.2, .8, .2, 1);
}

html { background: var(--r7-bg); scroll-behavior: smooth; }
body[data-shell-version^="7.0"] {
  color: var(--r7-text);
  background:
    radial-gradient(circle at 16% -10%, rgba(73, 244, 182, .09), transparent 34rem),
    radial-gradient(circle at 92% 4%, rgba(85, 216, 255, .08), transparent 31rem),
    var(--r7-bg);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: -.01em;
}
body[data-shell-version^="7.0"] *,
body[data-shell-version^="7.0"] *::before,
body[data-shell-version^="7.0"] *::after { box-sizing: border-box; }
body[data-shell-version^="7.0"] a { color: inherit; text-decoration: none; }
body[data-shell-version^="7.0"] button,
body[data-shell-version^="7.0"] input,
body[data-shell-version^="7.0"] textarea,
body[data-shell-version^="7.0"] select { font: inherit; }
body[data-shell-version^="7.0"] button { color: inherit; }
body[data-shell-version^="7.0"] .ambient { opacity: .42; pointer-events: none; }
body[data-shell-version^="7.0"] .ambient-one { background: rgba(73,244,182,.08); }
body[data-shell-version^="7.0"] .ambient-two { background: rgba(85,216,255,.05); }

/* ---------- Shell desktop ---------- */
body[data-shell-version^="7.0"] .app-shell {
  display: grid;
  grid-template-columns: var(--r7-sidebar) minmax(0, 1fr);
  min-height: 100vh;
}
body[data-shell-version^="7.0"] .sidebar {
  width: var(--r7-sidebar);
  border-right: 1px solid var(--r7-line);
  background: linear-gradient(180deg, rgba(7, 27, 31, .98), rgba(3, 15, 18, .99));
  box-shadow: 18px 0 45px rgba(0,0,0,.14);
}
body[data-shell-version^="7.0"] .sidebar-head {
  min-height: 88px;
  padding: 18px 17px 12px;
  border-bottom: 0;
}
body[data-shell-version^="7.0"] .brand { gap: 11px; }
body[data-shell-version^="7.0"] .brand-mark {
  width: 40px; height: 40px; border-radius: 14px;
  background: radial-gradient(circle, rgba(73,244,182,.24), rgba(73,244,182,.04) 58%, transparent 60%);
  border: 1px solid rgba(73,244,182,.24);
  box-shadow: inset 0 0 22px rgba(73,244,182,.11), 0 8px 26px rgba(0,0,0,.22);
}
body[data-shell-version^="7.0"] .brand strong { font-size: 15px; letter-spacing: .04em; }
body[data-shell-version^="7.0"] .brand small { color: var(--r7-muted); font-size: 8px; letter-spacing: .16em; }
body[data-shell-version^="7.0"] .sidebar-tools { padding: 4px 14px 12px; }
body[data-shell-version^="7.0"] .sidebar-search {
  min-height: 45px; border-radius: 14px; border: 1px solid var(--r7-line);
  background: rgba(255,255,255,.025);
}
body[data-shell-version^="7.0"] .sidebar-search:focus-within { border-color: rgba(73,244,182,.35); box-shadow: 0 0 0 3px rgba(73,244,182,.06); }
body[data-shell-version^="7.0"] .sidebar-guide-button { border-radius: 12px; }
body[data-shell-version^="7.0"] .nav-mode-control {
  margin: 0 14px 10px; padding: 3px; border: 1px solid var(--r7-line); border-radius: 13px; background: rgba(0,0,0,.18);
}
body[data-shell-version^="7.0"] .nav-mode-control button { border-radius: 10px; }
body[data-shell-version^="7.0"] .nav-mode-control button[aria-pressed="true"] { background: var(--r7-surface-2); box-shadow: 0 4px 16px rgba(0,0,0,.22); }
body[data-shell-version^="7.0"] .sidebar-module-manager {
  margin: 0 14px 12px; min-height: 50px; border-radius: 14px; border-color: var(--r7-line); background: rgba(73,244,182,.035);
}
body[data-shell-version^="7.0"] .sidebar-scroll { padding: 0 10px 18px; }
body[data-shell-version^="7.0"] .sidebar-caption { padding: 12px 9px 7px; }
body[data-shell-version^="7.0"] .sidebar-caption span { color: var(--r7-muted); letter-spacing: .13em; }
body[data-shell-version^="7.0"] .nav-link,
body[data-shell-version^="7.0"] .nav-group summary {
  min-height: 43px; border-radius: 12px; margin: 2px 0;
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
body[data-shell-version^="7.0"] .nav-link:hover,
body[data-shell-version^="7.0"] .nav-group summary:hover { background: rgba(255,255,255,.04); transform: translateX(2px); }
body[data-shell-version^="7.0"] .nav-link.active {
  color: var(--r7-text); background: linear-gradient(90deg, rgba(73,244,182,.14), rgba(73,244,182,.03));
  border: 1px solid rgba(73,244,182,.18);
  box-shadow: inset 3px 0 0 var(--r7-green);
}
body[data-shell-version^="7.0"] .nav-link > span { color: var(--r7-green); }
body[data-shell-version^="7.0"] .nav-group { border: 0; background: transparent; }
body[data-shell-version^="7.0"] .nav-group[open] { background: rgba(255,255,255,.018); border-radius: 15px; }
body[data-shell-version^="7.0"] .nav-group-links { padding: 2px 4px 6px 16px; }
body[data-shell-version^="7.0"] .sidebar-bottom { border-top: 1px solid var(--r7-line); background: rgba(3,15,18,.98); }
body[data-shell-version^="7.0"] .main-area { min-width: 0; background: transparent; }
body[data-shell-version^="7.0"] .topbar {
  height: var(--r7-header); padding: 12px 24px;
  background: rgba(3, 13, 16, .88); border-bottom: 1px solid var(--r7-line);
  box-shadow: 0 10px 28px rgba(0,0,0,.12);
}
@supports (backdrop-filter: blur(16px)) {
  body[data-shell-version^="7.0"]:not(.native-android) .topbar { backdrop-filter: blur(18px); }
}
body[data-shell-version^="7.0"] .topbar-command {
  max-width: 470px; min-height: 50px; border-radius: 15px; border: 1px solid var(--r7-line); background: rgba(255,255,255,.025);
}
body[data-shell-version^="7.0"] .topbar-command:hover { border-color: rgba(73,244,182,.26); background: rgba(73,244,182,.035); }
body[data-shell-version^="7.0"] .top-flow-chip,
body[data-shell-version^="7.0"] .top-icon-button,
body[data-shell-version^="7.0"] .profile-menu-trigger { border-color: var(--r7-line); background: rgba(255,255,255,.025); border-radius: 14px; }
body[data-shell-version^="7.0"] .page-wrap { max-width: 1520px; margin: 0 auto; padding: 24px 30px 64px; }
body[data-shell-version^="7.0"] .page-content { min-width: 0; }

/* ---------- Context + legacy pages ---------- */
body[data-shell-version^="7.0"] .module-flow-header {
  min-height: 96px; margin-bottom: 14px; padding: 16px 18px;
  border: 1px solid var(--r7-line); border-radius: var(--r7-radius);
  background: linear-gradient(135deg, rgba(13,45,51,.88), rgba(7,26,31,.92));
  box-shadow: var(--r7-shadow-soft);
}
body[data-shell-version^="7.0"] .module-flow-icon {
  width: 52px; height: 52px; border-radius: 17px; color: var(--r7-green);
  background: rgba(73,244,182,.08); border: 1px solid rgba(73,244,182,.18);
}
body[data-shell-version^="7.0"] .module-flow-copy p { color: var(--r7-muted); }
body[data-shell-version^="7.0"] .module-companion { margin: 0 0 18px; border: 1px solid var(--r7-line); border-radius: 17px; background: rgba(9,31,36,.72); }
body[data-shell-version^="7.0"] .module-companion > summary { padding: 12px 15px; }
body[data-shell-version^="7.0"] .module-arcade-stage { display: none !important; }
body[data-shell-version^="7.0"] .page-heading,
body[data-shell-version^="7.0"] .systems-hero {
  margin: 0 0 20px; padding: 26px;
  border: 1px solid var(--r7-line); border-radius: var(--r7-radius-lg);
  background: linear-gradient(135deg, rgba(13,44,50,.92), rgba(5,21,25,.96));
  box-shadow: var(--r7-shadow-soft);
}
body[data-shell-version^="7.0"] .page-heading h1,
body[data-shell-version^="7.0"] .systems-hero h1 { font-size: clamp(30px, 4vw, 52px); letter-spacing: -.055em; line-height: 1; }
body[data-shell-version^="7.0"] .page-heading p,
body[data-shell-version^="7.0"] .systems-hero p { color: var(--r7-text-soft); max-width: 720px; }
body[data-shell-version^="7.0"] .panel {
  border: 1px solid var(--r7-line); border-radius: var(--r7-radius);
  background: linear-gradient(150deg, rgba(13,43,49,.86), rgba(6,24,28,.92));
  box-shadow: var(--r7-shadow-soft);
}
body[data-shell-version^="7.0"] .panel::before,
body[data-shell-version^="7.0"] .panel::after { pointer-events: none; }
body[data-shell-version^="7.0"] .panel-head { border-bottom-color: var(--r7-line); }
body[data-shell-version^="7.0"] .section-title { margin: 31px 0 14px; }
body[data-shell-version^="7.0"] .section-title h2 { font-size: clamp(23px, 2.5vw, 34px); letter-spacing: -.04em; }
body[data-shell-version^="7.0"] .section-title span { background: linear-gradient(90deg, var(--r7-line-strong), transparent); }
body[data-shell-version^="7.0"] .muted { color: var(--r7-muted) !important; }
body[data-shell-version^="7.0"] .empty-state { color: var(--r7-muted); border-radius: 14px; background: rgba(0,0,0,.13); border: 1px dashed var(--r7-line); }
body[data-shell-version^="7.0"] .kpi-strip { gap: 10px; }
body[data-shell-version^="7.0"] .kpi-strip article {
  min-height: 118px; padding: 17px; border: 1px solid var(--r7-line); border-radius: 17px;
  background: rgba(12,39,44,.76); box-shadow: none;
}
body[data-shell-version^="7.0"] .kpi-strip strong { color: var(--r7-text); font-size: 26px; }
body[data-shell-version^="7.0"] .kpi-strip small { color: var(--r7-muted); }

/* ---------- Controls ---------- */
body[data-shell-version^="7.0"] .btn,
body[data-shell-version^="7.0"] button.btn {
  min-height: 44px; padding: 0 17px; border-radius: 13px;
  font-weight: 800; letter-spacing: .045em; font-size: 11px;
  transition: transform .16s var(--r7-ease), filter .16s ease, box-shadow .16s ease;
}
body[data-shell-version^="7.0"] .btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
body[data-shell-version^="7.0"] .btn-primary {
  color: #012017; border-color: transparent;
  background: linear-gradient(135deg, #73f6c7, #35d49b);
  box-shadow: 0 9px 24px rgba(53,212,155,.18);
}
body[data-shell-version^="7.0"] .btn-ghost { color: var(--r7-text-soft); border-color: var(--r7-line-strong); background: rgba(255,255,255,.025); }
body[data-shell-version^="7.0"] .btn-danger { background: rgba(255,108,123,.11); color: #ffbac2; border-color: rgba(255,108,123,.25); }
body[data-shell-version^="7.0"] .btn-warning { background: rgba(255,201,102,.12); color: #ffe1a5; border-color: rgba(255,201,102,.28); }
body[data-shell-version^="7.0"] label > span,
body[data-shell-version^="7.0"] fieldset > legend { color: var(--r7-muted); letter-spacing: .075em; font-size: 10px; font-weight: 800; }
body[data-shell-version^="7.0"] input,
body[data-shell-version^="7.0"] select,
body[data-shell-version^="7.0"] textarea {
  min-height: 48px; color: var(--r7-text); border: 1px solid var(--r7-line);
  border-radius: 13px; background: rgba(1,12,14,.58); outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
body[data-shell-version^="7.0"] textarea { min-height: 108px; }
body[data-shell-version^="7.0"] input:focus,
body[data-shell-version^="7.0"] select:focus,
body[data-shell-version^="7.0"] textarea:focus {
  border-color: rgba(73,244,182,.42); background: rgba(3,20,23,.8); box-shadow: 0 0 0 4px rgba(73,244,182,.06);
}
body[data-shell-version^="7.0"] input[type="range"] { min-height: 24px; box-shadow: none; }
body[data-shell-version^="7.0"] .data-table-wrap { border-radius: var(--r7-radius); border: 1px solid var(--r7-line); overflow: auto; }
body[data-shell-version^="7.0"] .data-table th { color: var(--r7-muted); background: #0b252a; }
body[data-shell-version^="7.0"] .data-table td { border-color: var(--r7-line); }
body[data-shell-version^="7.0"] .toast { border-radius: 15px; background: #0d3035; border: 1px solid var(--r7-line-strong); box-shadow: var(--r7-shadow); }

/* ---------- V7 shared ---------- */
.r7-page { display: grid; gap: 20px; }
.r7-eyebrow { display: inline-flex; align-items: center; gap: 7px; color: var(--r7-green); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.r7-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px rgba(73,244,182,.07); }
.r7-page h1, .r7-page h2, .r7-page h3, .r7-page p { margin-top: 0; }
.r7-page h1 { margin-bottom: 10px; font-size: clamp(35px, 5vw, 62px); line-height: .98; letter-spacing: -.065em; }
.r7-page h2 { margin-bottom: 7px; font-size: clamp(23px, 3vw, 34px); line-height: 1.08; letter-spacing: -.04em; }
.r7-page h3 { margin-bottom: 6px; font-size: 18px; line-height: 1.15; letter-spacing: -.025em; }
.r7-page p { color: var(--r7-text-soft); }
.r7-card { border: 1px solid var(--r7-line); border-radius: var(--r7-radius); background: linear-gradient(145deg, rgba(13,45,51,.9), rgba(6,23,27,.94)); box-shadow: var(--r7-shadow-soft); }
.r7-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.r7-section-head > div > small { color: var(--r7-green); font-size: 9px; letter-spacing: .15em; font-weight: 900; }
.r7-section-head h2 { margin: 4px 0 0; }
.r7-section-head > a,
.r7-section-head > button { color: var(--r7-text-soft); font-size: 11px; font-weight: 800; border: 0; background: transparent; cursor: pointer; }
.r7-progress { display: block; height: 8px; border-radius: 99px; overflow: hidden; background: rgba(255,255,255,.06); }
.r7-progress > i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--r7-green-2), var(--r7-cyan)); box-shadow: 0 0 16px rgba(73,244,182,.24); }
.r7-chip { display: inline-flex; align-items: center; min-height: 29px; padding: 0 10px; border: 1px solid var(--r7-line); border-radius: 99px; color: var(--r7-text-soft); background: rgba(255,255,255,.025); font-size: 10px; font-weight: 800; }

/* ---------- Dashboard / Jour ---------- */
.r7-day-hero {
  position: relative; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(310px,.6fr); gap: 22px;
  min-height: 340px; padding: 34px; overflow: hidden;
  border: 1px solid rgba(73,244,182,.17); border-radius: var(--r7-radius-xl);
  background:
    radial-gradient(circle at 84% 30%, rgba(73,244,182,.17), transparent 20rem),
    radial-gradient(circle at 16% 100%, rgba(85,216,255,.1), transparent 24rem),
    linear-gradient(135deg, #0c3036, #06191d 66%);
  box-shadow: 0 28px 80px rgba(0,0,0,.32);
}
.r7-day-hero::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(89,235,205,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(89,235,205,.08) 1px,transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(to right,black,transparent 78%); }
.r7-day-copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: space-between; }
.r7-day-copy > p { max-width: 670px; font-size: 17px; }
.r7-day-date { color: var(--r7-muted); font-size: 11px; text-transform: capitalize; }
.r7-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.r7-hero-actions .btn { min-height: 51px; }
.r7-player-card {
  position: relative; z-index: 1; display: grid; align-content: center; gap: 17px; padding: 24px;
  border: 1px solid rgba(255,255,255,.08); border-radius: 27px; background: rgba(2,18,21,.52);
}
.r7-player-top { display: flex; align-items: center; gap: 15px; }
.r7-avatar-core { position: relative; display: grid; place-items: center; width: 74px; height: 74px; flex: 0 0 74px; border-radius: 24px; color: #05251b; font-size: 28px; font-weight: 950; background: linear-gradient(145deg,var(--r7-green),var(--r7-cyan)); box-shadow: 0 14px 38px rgba(73,244,182,.18); }
.r7-avatar-core::before { content:""; position:absolute; inset:-7px; border:1px solid rgba(73,244,182,.22); border-radius:28px; }
.r7-player-top small { color: var(--r7-muted); font-size: 9px; letter-spacing: .13em; font-weight: 900; }
.r7-player-top strong { display: block; font-size: 21px; }
.r7-player-top span { color: var(--r7-green); font-size: 11px; font-weight: 800; }
.r7-level-row { display: flex; justify-content: space-between; gap: 15px; font-size: 11px; }
.r7-level-row b { color: var(--r7-green); }
.r7-player-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.r7-player-stats div { padding: 11px 9px; border-radius: 13px; background: rgba(255,255,255,.035); text-align:center; }
.r7-player-stats small { display:block; color:var(--r7-muted); font-size:8px; letter-spacing:.1em; }
.r7-player-stats strong { font-size:17px; }
.r7-day-grid { display: grid; grid-template-columns: minmax(0,1.16fr) minmax(300px,.84fr); gap: 20px; }
.r7-primary-mission { position:relative; padding: 25px; overflow:hidden; }
.r7-primary-mission::after { content:"✦"; position:absolute; right:-10px; bottom:-54px; color:rgba(73,244,182,.06); font-size:180px; line-height:1; }
.r7-mission-head { display:flex; justify-content:space-between; gap:14px; align-items:start; }
.r7-mission-rank { width:52px; height:52px; display:grid; place-items:center; flex:0 0 52px; border-radius:17px; color:var(--r7-green); border:1px solid rgba(73,244,182,.2); background:rgba(73,244,182,.07); font-weight:900; }
.r7-mission-copy { position:relative; z-index:1; flex:1; }
.r7-mission-copy small { color:var(--r7-green); font-size:9px; font-weight:900; letter-spacing:.14em; }
.r7-mission-meta { display:flex; gap:8px; flex-wrap:wrap; margin:14px 0 19px; }
.r7-mission-actions { display:flex; gap:9px; flex-wrap:wrap; position:relative; z-index:1; }
.r7-momentum-card { padding:23px; }
.r7-momentum-top { display:flex; align-items:center; gap:18px; }
.r7-momentum-ring { --value: 50; width:104px; height:104px; flex:0 0 104px; display:grid; place-items:center; border-radius:50%; background: conic-gradient(var(--r7-green) calc(var(--value)*1%), rgba(255,255,255,.06) 0); position:relative; }
.r7-momentum-ring::before { content:""; position:absolute; inset:9px; border-radius:50%; background:var(--r7-bg-2); border:1px solid var(--r7-line); }
.r7-momentum-ring div { position:relative; text-align:center; }
.r7-momentum-ring strong { display:block; font-size:27px; line-height:1; }
.r7-momentum-ring small { color:var(--r7-muted); font-size:8px; letter-spacing:.1em; }
.r7-momentum-card > p { margin:16px 0 0; font-size:12px; }
.r7-status-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.r7-status-tile { display:flex; align-items:center; gap:12px; padding:16px; border:1px solid var(--r7-line); border-radius:17px; background:rgba(9,31,36,.72); }
.r7-status-tile > span { display:grid; place-items:center; width:39px; height:39px; border-radius:13px; background:rgba(73,244,182,.07); color:var(--r7-green); }
.r7-status-tile small { display:block; color:var(--r7-muted); font-size:8px; letter-spacing:.11em; }
.r7-status-tile strong { font-size:18px; }
.r7-action-card { padding:23px; }
.r7-action-list { display:grid; gap:8px; margin-top:15px; }
.r7-action-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; min-height:62px; padding:10px 11px; border:1px solid transparent; border-radius:15px; background:rgba(255,255,255,.025); }
.r7-action-row:hover { border-color:var(--r7-line); }
.r7-action-row button { width:39px; height:39px; padding:0; border-radius:13px; border:1px solid var(--r7-line-strong); background:rgba(73,244,182,.04); color:var(--r7-green); cursor:pointer; }
.r7-action-row strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.r7-action-row small { color:var(--r7-muted); }
.r7-action-priority { min-width:30px; text-align:center; color:var(--r7-muted); font-weight:900; }
.r7-action-priority.high,.r7-action-priority.urgent { color:var(--r7-danger); }
.r7-habits-card { padding:23px; }
.r7-habit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:15px; }
.r7-habit { margin:0; }
.r7-habit button { width:100%; min-height:78px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:11px; align-items:center; text-align:left; padding:12px; border:1px solid var(--r7-line); border-radius:16px; background:rgba(255,255,255,.025); cursor:pointer; }
.r7-habit button > span { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:rgba(85,216,255,.07); font-size:19px; }
.r7-habit strong { display:block; line-height:1.15; }
.r7-habit small { color:var(--r7-muted); }
.r7-habit.done button { border-color:rgba(73,244,182,.25); background:rgba(73,244,182,.075); }
.r7-habit.done button > span { background:rgba(73,244,182,.13); }
.r7-quest-card { grid-column:1/-1; padding:24px; }
.r7-quest-summary { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.r7-quest-summary > strong { color:var(--r7-green); font-size:27px; }
.r7-quest-track { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:16px; }
.r7-quest-item { margin:0; }
.r7-quest-item button { width:100%; min-height:126px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:12px; padding:16px; text-align:left; border:1px solid var(--r7-line); border-radius:17px; background:rgba(255,255,255,.025); cursor:pointer; }
.r7-quest-item button > span { display:grid; place-items:center; width:32px; height:32px; border-radius:11px; background:rgba(73,244,182,.08); color:var(--r7-green); font-weight:900; }
.r7-quest-item small { color:var(--r7-gold); font-weight:800; }
.r7-quest-item.done button { opacity:.66; border-color:rgba(73,244,182,.24); background:rgba(73,244,182,.06); }
.r7-coach-card { grid-column:1/-1; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:17px; padding:22px; }
.r7-coach-presence { width:58px; height:58px; display:grid; place-items:center; border-radius:19px; color:#05251b; font-size:21px; font-weight:950; background:linear-gradient(135deg,var(--r7-cyan),var(--r7-green)); }
.r7-coach-card small { color:var(--r7-cyan); font-size:9px; font-weight:900; letter-spacing:.12em; }
.r7-coach-card h3 { margin:3px 0; }
.r7-coach-card p { margin:0; }
.r7-coach-card > a { width:46px; height:46px; display:grid; place-items:center; border-radius:15px; background:rgba(73,244,182,.1); color:var(--r7-green); }
.r7-shortcuts { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.r7-shortcut { display:flex; align-items:center; gap:13px; min-height:76px; padding:14px; border:1px solid var(--r7-line); border-radius:17px; background:rgba(9,31,36,.72); }
.r7-shortcut > span { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:rgba(85,216,255,.07); color:var(--r7-cyan); font-size:19px; }
.r7-shortcut strong { display:block; }
.r7-shortcut small { color:var(--r7-muted); }

/* ---------- Coach ---------- */
.r7-coach-hero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:23px; padding:28px; overflow:hidden; position:relative; }
.r7-coach-hero::after { content:""; position:absolute; width:260px; height:260px; right:-80px; top:-100px; border-radius:50%; background:rgba(85,216,255,.08); filter:blur(30px); }
.r7-ai-core { position:relative; width:104px; height:104px; display:grid; place-items:center; border-radius:34px; color:#05251b; font-size:37px; font-weight:950; background:linear-gradient(145deg,var(--r7-cyan),var(--r7-green)); box-shadow:0 18px 45px rgba(85,216,255,.14); }
.r7-ai-core i { position:absolute; inset:-8px; border:1px solid rgba(85,216,255,.24); border-radius:39px; }
.r7-coach-hero-copy { position:relative; z-index:1; }
.r7-coach-hero-copy p { max-width:760px; margin-bottom:0; font-size:16px; }
.r7-coach-state { position:relative; z-index:1; display:grid; gap:7px; min-width:180px; padding:17px; border-radius:17px; border:1px solid var(--r7-line); background:rgba(0,0,0,.18); }
.r7-coach-state small { color:var(--r7-muted); font-size:8px; letter-spacing:.11em; }
.r7-coach-state strong { color:var(--r7-green); font-size:20px; text-transform:capitalize; }
.r7-coach-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.r7-coach-metrics article { padding:18px; border:1px solid var(--r7-line); border-radius:17px; background:rgba(9,31,36,.72); }
.r7-coach-metrics small { display:block; color:var(--r7-muted); font-size:8px; letter-spacing:.11em; }
.r7-coach-metrics strong { font-size:23px; text-transform:capitalize; }
.r7-coach-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:20px; }
.r7-mission-stack { display:grid; gap:10px; padding:22px; }
.r7-coach-mission { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:start; padding:15px; border:1px solid var(--r7-line); border-radius:16px; background:rgba(255,255,255,.025); }
.r7-coach-mission > b { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:rgba(73,244,182,.08); color:var(--r7-green); }
.r7-coach-mission small { color:var(--r7-muted); font-size:8px; letter-spacing:.1em; }
.r7-coach-mission p { margin:4px 0 0; font-size:12px; }
.r7-coach-mission > span { color:var(--r7-gold); font-size:10px; font-weight:800; white-space:nowrap; }
.r7-chat-card { display:grid; grid-template-rows:auto minmax(260px,1fr) auto auto; min-height:600px; overflow:hidden; }
.r7-chat-head { display:flex; justify-content:space-between; align-items:center; gap:13px; padding:21px 22px; border-bottom:1px solid var(--r7-line); }
.r7-chat-live { display:inline-flex; align-items:center; gap:7px; color:var(--r7-green); font-size:9px; font-weight:900; letter-spacing:.1em; }
.r7-chat-live::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 5px rgba(73,244,182,.07); }
.r7-chat-stream { min-height:0; max-height:510px; overflow-y:auto; padding:20px; display:flex; flex-direction:column; gap:11px; }
.r7-chat-bubble { max-width:84%; padding:14px 16px; border-radius:17px; border:1px solid var(--r7-line); }
.r7-chat-bubble.assistant { align-self:flex-start; background:rgba(73,244,182,.055); border-bottom-left-radius:5px; }
.r7-chat-bubble.user { align-self:flex-end; background:rgba(85,216,255,.07); border-bottom-right-radius:5px; }
.r7-chat-bubble small { color:var(--r7-muted); font-size:8px; font-weight:900; letter-spacing:.1em; }
.r7-chat-bubble p { margin:4px 0 0; }
.r7-chat-bubble a { display:inline-block; margin-top:8px; color:var(--r7-green); font-size:11px; font-weight:800; }
.r7-chat-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; padding:13px; border-top:1px solid var(--r7-line); }
.r7-chat-form textarea { min-height:55px !important; max-height:150px; resize:vertical; }
.r7-chat-form button { width:55px; border:0; border-radius:15px; color:#042219; background:linear-gradient(135deg,var(--r7-green),var(--r7-cyan)); font-size:20px; cursor:pointer; }
.r7-prompt-row { display:flex; gap:7px; overflow-x:auto; padding:0 13px 14px; scrollbar-width:none; }
.r7-prompt-row::-webkit-scrollbar { display:none; }
.r7-prompt-row button { flex:0 0 auto; min-height:35px; padding:0 12px; border:1px solid var(--r7-line); border-radius:99px; background:rgba(255,255,255,.025); color:var(--r7-text-soft); font-size:10px; cursor:pointer; }
.r7-warning { display:flex; gap:11px; padding:15px; border:1px solid rgba(255,201,102,.2); border-radius:15px; background:rgba(255,201,102,.06); }
.r7-warning > span { color:var(--r7-gold); font-weight:950; }
.r7-warning p { margin:0; }
.r7-coach-tools { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.r7-coach-tool { display:flex; align-items:center; gap:12px; min-height:74px; padding:14px; border:1px solid var(--r7-line); border-radius:17px; background:rgba(9,31,36,.72); }
.r7-coach-tool > span { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:rgba(73,244,182,.07); color:var(--r7-green); }
.r7-coach-tool strong { display:block; }
.r7-coach-tool small { color:var(--r7-muted); }

/* ---------- Progression ---------- */
.r7-progress-hero { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(240px,.45fr); gap:26px; align-items:center; padding:30px; position:relative; overflow:hidden; }
.r7-level-emblem { width:128px; height:128px; display:grid; place-items:center; border-radius:42px; background:conic-gradient(var(--r7-green) calc(var(--level-progress)*1%),rgba(255,255,255,.06) 0); position:relative; }
.r7-level-emblem::before { content:""; position:absolute; inset:10px; border-radius:34px; background:var(--r7-bg-2); border:1px solid var(--r7-line); }
.r7-level-emblem div { position:relative; text-align:center; }
.r7-level-emblem small { display:block; color:var(--r7-muted); font-size:8px; letter-spacing:.11em; }
.r7-level-emblem strong { font-size:43px; line-height:1; }
.r7-level-emblem span { color:var(--r7-green); font-size:9px; font-weight:900; }
.r7-progress-copy p { margin-bottom:16px; }
.r7-progress-next { padding:17px; border:1px solid var(--r7-line); border-radius:17px; background:rgba(0,0,0,.17); }
.r7-progress-next small { color:var(--r7-muted); font-size:8px; letter-spacing:.1em; }
.r7-progress-next strong { display:block; margin:4px 0 10px; }
.r7-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.r7-stat-card { padding:18px; border:1px solid var(--r7-line); border-radius:17px; background:rgba(9,31,36,.72); }
.r7-stat-card > span { display:grid; place-items:center; width:39px; height:39px; margin-bottom:14px; border-radius:13px; background:rgba(85,216,255,.07); color:var(--r7-cyan); }
.r7-stat-card strong { display:block; font-size:28px; }
.r7-stat-card small { color:var(--r7-muted); }
.r7-progress-layout { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr); gap:20px; }
.r7-chart-card { min-height:380px; padding:22px; }
.r7-chart-card .line-chart { min-height:285px; }
.r7-skill-card { padding:22px; }
.r7-skill-list { display:grid; gap:10px; margin-top:15px; }
.r7-skill-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:11px; align-items:center; }
.r7-skill-row > span { display:grid; place-items:center; width:39px; height:39px; border-radius:13px; background:rgba(170,130,255,.08); color:var(--r7-violet); }
.r7-skill-row strong { display:block; font-size:12px; }
.r7-skill-row b { color:var(--r7-text-soft); font-size:10px; }
.r7-skill-row .r7-progress { height:5px; margin-top:6px; }
.r7-badge-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.r7-badge { min-height:140px; padding:17px; border:1px solid var(--r7-line); border-radius:17px; background:rgba(9,31,36,.72); }
.r7-badge > span { display:grid; place-items:center; width:45px; height:45px; margin-bottom:17px; border-radius:15px; background:linear-gradient(135deg,rgba(255,201,102,.15),rgba(170,130,255,.1)); color:var(--r7-gold); font-size:19px; }
.r7-badge strong { display:block; }
.r7-badge small { color:var(--r7-muted); }
.r7-progress-links { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.r7-progress-link { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; min-height:82px; padding:15px; border:1px solid var(--r7-line); border-radius:17px; background:rgba(9,31,36,.72); }
.r7-progress-link > span { display:grid; place-items:center; width:43px; height:43px; border-radius:14px; background:rgba(73,244,182,.07); color:var(--r7-green); }
.r7-progress-link strong { display:block; }
.r7-progress-link small { color:var(--r7-muted); }
.r7-progress-link > i { color:var(--r7-green); font-style:normal; }

/* ---------- Plans ---------- */
.r7-plans-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; padding:29px; }
.r7-plans-hero p { max-width:680px; margin-bottom:0; }
.r7-plan-count { display:grid; place-items:center; width:112px; height:112px; border-radius:35px; border:1px solid rgba(73,244,182,.22); background:rgba(73,244,182,.07); text-align:center; }
.r7-plan-count strong { display:block; font-size:36px; line-height:1; }
.r7-plan-count small { color:var(--r7-muted); font-size:8px; letter-spacing:.1em; }
.r7-plan-tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.r7-plan-tab { display:flex; align-items:center; gap:12px; min-height:76px; padding:14px; border:1px solid var(--r7-line); border-radius:17px; background:rgba(9,31,36,.72); }
.r7-plan-tab > span { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:rgba(73,244,182,.07); color:var(--r7-green); }
.r7-plan-tab strong { display:block; }
.r7-plan-tab small { color:var(--r7-muted); }
.r7-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.r7-project-card { padding:20px; }
.r7-project-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; }
.r7-project-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:15px; background:rgba(85,216,255,.08); color:var(--r7-cyan); font-size:19px; }
.r7-project-head small { color:var(--r7-muted); font-size:8px; letter-spacing:.1em; }
.r7-project-head strong { display:block; font-size:17px; }
.r7-project-percent { color:var(--r7-green); font-size:22px; font-weight:900; }
.r7-project-card > .r7-progress { margin:16px 0; }
.r7-project-next { min-height:62px; padding:12px; border-radius:14px; background:rgba(0,0,0,.14); }
.r7-project-next small { color:var(--r7-muted); font-size:8px; letter-spacing:.1em; }
.r7-project-next strong { display:block; margin-top:3px; }
.r7-project-actions { display:flex; gap:8px; margin-top:13px; }
.r7-project-actions a,
.r7-project-actions summary { min-height:38px; display:inline-flex; align-items:center; padding:0 12px; border:1px solid var(--r7-line); border-radius:11px; color:var(--r7-text-soft); background:rgba(255,255,255,.02); font-size:10px; font-weight:800; cursor:pointer; }
.r7-project-adjust { position:relative; }
.r7-project-adjust[open] > form { display:grid; gap:8px; margin-top:10px; padding:13px; border:1px solid var(--r7-line); border-radius:14px; background:rgba(0,0,0,.18); }
.r7-project-adjust input,
.r7-project-adjust select { width:100%; }
.r7-create-project { padding:23px; }
.r7-create-project[hidden] { display:none !important; }
.r7-create-project form { display:grid; gap:11px; margin-top:17px; }
.r7-create-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.r7-plan-more { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.r7-plan-more a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; min-height:78px; padding:14px; border:1px solid var(--r7-line); border-radius:17px; background:rgba(9,31,36,.72); }
.r7-plan-more a > span { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:rgba(170,130,255,.08); color:var(--r7-violet); }
.r7-plan-more strong { display:block; }
.r7-plan-more small { color:var(--r7-muted); }
.r7-plan-more i { color:var(--r7-green); font-style:normal; }

/* ---------- Today check-in ---------- */
.r7-checkin-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; padding:28px; }
.r7-checkin-hero p { margin-bottom:0; max-width:700px; }
.r7-checkin-time { min-width:130px; padding:15px; text-align:center; border-radius:17px; border:1px solid var(--r7-line); background:rgba(0,0,0,.16); }
.r7-checkin-time strong { display:block; font-size:25px; }
.r7-checkin-time small { color:var(--r7-muted); }
.r7-checkin-form { display:grid; gap:18px; padding:23px; }
.r7-range-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.r7-range-card { padding:15px; border:1px solid var(--r7-line); border-radius:16px; background:rgba(255,255,255,.02); }
.r7-range-card > div { display:flex; justify-content:space-between; align-items:center; }
.r7-range-card strong { color:var(--r7-green); font-size:23px; }
.r7-range-card small { color:var(--r7-muted); }
.r7-intention-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.r7-checkin-details { border:1px solid var(--r7-line); border-radius:16px; background:rgba(0,0,0,.1); }
.r7-checkin-details > summary { min-height:54px; display:flex; align-items:center; gap:12px; padding:13px; cursor:pointer; }
.r7-checkin-details > summary::marker { display:none; }
.r7-checkin-details > div { padding:0 14px 14px; }
.r7-micro-mission { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:center; padding:19px; border:1px solid rgba(255,201,102,.18); border-radius:17px; background:rgba(255,201,102,.055); }
.r7-micro-mission > span { display:grid; place-items:center; width:46px; height:46px; border-radius:15px; background:rgba(255,201,102,.1); color:var(--r7-gold); }
.r7-micro-mission p { margin:3px 0 0; }

/* ---------- Onboarding ---------- */
body[data-shell-version^="7.0"].onboarding-body { min-height:100vh; overflow:auto; background:var(--r7-bg); }
body[data-shell-version^="7.0"] .genesis-shell { min-height:100vh; background:radial-gradient(circle at 80% 0,rgba(73,244,182,.11),transparent 34rem),var(--r7-bg); }
body[data-shell-version^="7.0"] .genesis-sidebar { background:linear-gradient(180deg,#08252a,#041317); border-right:1px solid var(--r7-line); }
body[data-shell-version^="7.0"] .genesis-main { background:transparent; }
body[data-shell-version^="7.0"] .genesis-console { max-width:1160px; margin:0 auto; padding:26px 30px 120px; }
body[data-shell-version^="7.0"] .genesis-step { border:1px solid var(--r7-line); border-radius:28px; background:linear-gradient(145deg,rgba(13,45,51,.9),rgba(6,23,27,.95)); box-shadow:var(--r7-shadow); }
body[data-shell-version^="7.0"] .step-heading > span { background:rgba(73,244,182,.09); color:var(--r7-green); border:1px solid rgba(73,244,182,.2); border-radius:16px; }
body[data-shell-version^="7.0"] .genesis-content-card,
body[data-shell-version^="7.0"] .genesis-fieldset { border:1px solid var(--r7-line); border-radius:18px; background:rgba(0,0,0,.12); }
body[data-shell-version^="7.0"] .genesis-choice > span,
body[data-shell-version^="7.0"] .genesis-obstacle-grid label > span { border-color:var(--r7-line); border-radius:17px; background:rgba(255,255,255,.025); }
body[data-shell-version^="7.0"] .genesis-choice input:checked + span,
body[data-shell-version^="7.0"] .genesis-obstacle-grid input:checked + span { border-color:rgba(73,244,182,.36); background:rgba(73,244,182,.075); box-shadow:0 0 0 3px rgba(73,244,182,.04); }
body[data-shell-version^="7.0"] .genesis-actions { background:#06191d; border-top:1px solid var(--r7-line); }

/* ---------- Auth ---------- */
body[data-shell-version^="7.0"].auth-body { background:var(--r7-bg); }
body[data-shell-version^="7.0"] .auth-shell { background:radial-gradient(circle at 14% 0,rgba(73,244,182,.1),transparent 30rem),var(--r7-bg); }
body[data-shell-version^="7.0"] .auth-card { border:1px solid var(--r7-line); border-radius:28px; background:linear-gradient(145deg,rgba(13,45,51,.94),rgba(6,23,27,.97)); box-shadow:var(--r7-shadow); }
body[data-shell-version^="7.0"] .auth-hero h1 { letter-spacing:-.06em; }

/* ---------- Mobile shell ---------- */
.r7-mobile-header,
.r7-mobile-nav,
.r7-mobile-fab,
.r7-universe { display:none; }

@media (max-width: 1180px) {
  :root { --r7-sidebar: 248px; }
  body[data-shell-version^="7.0"] .page-wrap { padding-left:20px; padding-right:20px; }
  .r7-day-hero { grid-template-columns:minmax(0,1fr) 310px; padding:27px; }
  .r7-status-grid { grid-template-columns:repeat(2,1fr); }
  .r7-badge-grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width: 900px) {
  :root { --r7-mobile-header: 66px; --r7-mobile-nav: 72px; }
  html,
  html.reboot-native-app {
    height:auto !important; min-height:100% !important; overflow-x:hidden !important; overflow-y:auto !important;
    touch-action:pan-y pinch-zoom !important; overscroll-behavior-y:auto !important;
  }
  body[data-shell-version^="7.0"] {
    width:100%; min-height:100dvh; height:auto !important; max-height:none !important;
    overflow-x:hidden !important; overflow-y:auto !important; position:static !important;
    touch-action:pan-y pinch-zoom !important; overscroll-behavior-y:auto !important;
    padding-top:calc(var(--r7-mobile-header) + env(safe-area-inset-top));
    padding-bottom:calc(var(--r7-mobile-nav) + 19px + env(safe-area-inset-bottom));
    background:var(--r7-bg);
  }
  body[data-shell-version^="7.0"].r7-overlay-open { overflow:hidden !important; touch-action:none !important; }
  body[data-shell-version^="7.0"] .ambient { display:none !important; }
  body[data-shell-version^="7.0"] .app-shell { display:block !important; min-height:0 !important; }
  body[data-shell-version^="7.0"] .sidebar,
  body[data-shell-version^="7.0"] .topbar,
  body[data-shell-version^="7.0"] .module-flow-header,
  body[data-shell-version^="7.0"] .module-companion,
  body[data-shell-version^="7.0"] .life-mobile-header,
  body[data-shell-version^="7.0"] .life-mobile-nav,
  body[data-shell-version^="7.0"] .life-mobile-capture,
  body[data-shell-version^="7.0"] .life-universe { display:none !important; }
  body[data-shell-version^="7.0"] .main-area,
  body[data-shell-version^="7.0"] .page-wrap,
  body[data-shell-version^="7.0"] .page-content,
  body[data-shell-version^="7.0"] main#main-content {
    min-height:0 !important; height:auto !important; max-height:none !important; overflow:visible !important;
  }
  body[data-shell-version^="7.0"] .page-wrap { width:100%; max-width:none; margin:0; padding:13px 12px 24px; }
  body[data-shell-version^="7.0"] .page-content { width:100%; }
  body[data-shell-version^="7.0"] .life-legacy { display:block !important; }
  body[data-shell-version^="7.0"] .page-heading,
  body[data-shell-version^="7.0"] .systems-hero { padding:20px; border-radius:21px; }
  body[data-shell-version^="7.0"] .page-heading h1,
  body[data-shell-version^="7.0"] .systems-hero h1 { font-size:32px; }

  .r7-mobile-header {
    position:fixed; z-index:1400; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:10px;
    top:0; left:0; right:0; height:calc(var(--r7-mobile-header) + env(safe-area-inset-top));
    padding:env(safe-area-inset-top) 12px 0;
    border-bottom:1px solid var(--r7-line); background:#06191d; box-shadow:0 8px 24px rgba(0,0,0,.22);
  }
  .r7-mobile-brand { display:flex; align-items:center; gap:9px; min-width:0; }
  .r7-mobile-brand-mark { width:37px; height:37px; display:grid; place-items:center; border-radius:13px; background:linear-gradient(135deg,var(--r7-green),var(--r7-cyan)); color:#042219; font-weight:950; }
  .r7-mobile-brand-copy { min-width:0; }
  .r7-mobile-brand-copy strong { display:block; font-size:13px; letter-spacing:.03em; }
  .r7-mobile-brand-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--r7-muted); font-size:8px; letter-spacing:.1em; }
  .r7-mobile-xp { display:block; min-width:77px; }
  .r7-mobile-xp > span { display:flex; justify-content:space-between; gap:6px; color:var(--r7-text-soft); font-size:8px; font-weight:800; }
  .r7-mobile-xpbar { display:block; height:4px; margin-top:5px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.07); }
  .r7-mobile-xpbar > u { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--r7-green),var(--r7-cyan)); text-decoration:none; }
  .r7-universe-trigger { width:42px; height:42px; display:grid; place-items:center; padding:0; border:1px solid var(--r7-line); border-radius:14px; background:rgba(255,255,255,.03); cursor:pointer; }
  .r7-universe-trigger i,
  .r7-universe-trigger i::before,
  .r7-universe-trigger i::after { display:block; width:4px; height:4px; border-radius:50%; background:var(--r7-green); box-shadow:9px 0 0 var(--r7-green), -9px 0 0 var(--r7-green); }
  .r7-universe-trigger i { position:relative; }
  .r7-universe-trigger i::before,.r7-universe-trigger i::after { content:""; position:absolute; left:0; }
  .r7-universe-trigger i::before { top:-9px; }
  .r7-universe-trigger i::after { top:9px; }

  .r7-mobile-nav {
    position:fixed; z-index:1400; display:grid; grid-template-columns:repeat(5,1fr);
    left:0; right:0; bottom:0; height:calc(var(--r7-mobile-nav) + env(safe-area-inset-bottom));
    padding:6px 5px env(safe-area-inset-bottom); border-top:1px solid var(--r7-line); background:#05171a; box-shadow:0 -8px 25px rgba(0,0,0,.25);
  }
  .r7-mobile-nav a,.r7-mobile-nav button { display:grid; place-items:center; align-content:center; gap:2px; min-width:0; border:0; border-radius:14px; color:var(--r7-muted); background:transparent; cursor:pointer; }
  .r7-mobile-nav span { font-size:20px; line-height:1; }
  .r7-mobile-nav small { font-size:8px; font-weight:800; }
  .r7-mobile-nav .active { color:var(--r7-green); background:rgba(73,244,182,.065); }
  .r7-mobile-fab { position:fixed; z-index:1410; display:grid; place-items:center; right:13px; bottom:calc(var(--r7-mobile-nav) + 13px + env(safe-area-inset-bottom)); width:49px; height:49px; padding:0; border:0; border-radius:17px; color:#042219; background:linear-gradient(135deg,var(--r7-green),var(--r7-cyan)); box-shadow:0 12px 30px rgba(73,244,182,.2); font-size:25px; cursor:pointer; }
  body.life-keyboard-open .r7-mobile-nav,
  body.life-keyboard-open .r7-mobile-fab { display:none !important; }

  .r7-universe { position:fixed; z-index:3000; display:block; inset:0; pointer-events:none; visibility:hidden; }
  .r7-universe.open { pointer-events:auto; visibility:visible; }
  .r7-universe-backdrop { position:absolute; inset:0; border:0; background:rgba(0,7,9,.82); opacity:0; transition:opacity .2s ease; }
  .r7-universe.open .r7-universe-backdrop { opacity:1; }
  .r7-universe-panel { position:absolute; top:0; right:0; bottom:0; width:min(92vw,430px); display:flex; flex-direction:column; background:#071b1f; border-left:1px solid var(--r7-line); transform:translateX(104%); transition:transform .25s var(--r7-ease); box-shadow:-24px 0 70px rgba(0,0,0,.42); }
  .r7-universe.open .r7-universe-panel { transform:translateX(0); }
  .r7-universe-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; padding:calc(env(safe-area-inset-top) + 19px) 17px 13px; border-bottom:1px solid var(--r7-line); }
  .r7-universe-head small { color:var(--r7-green); font-size:8px; font-weight:900; letter-spacing:.14em; }
  .r7-universe-head h2 { margin:4px 0 2px; font-size:29px; letter-spacing:-.05em; }
  .r7-universe-head p { margin:0; color:var(--r7-muted); font-size:11px; }
  .r7-universe-head button { width:42px; height:42px; padding:0; border:1px solid var(--r7-line); border-radius:14px; background:rgba(255,255,255,.03); font-size:21px; cursor:pointer; }
  .r7-universe-search { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:9px; margin:12px 13px 8px; padding:0 13px; border:1px solid var(--r7-line); border-radius:14px; background:rgba(0,0,0,.15); }
  .r7-universe-search input { min-height:46px; padding:0; border:0 !important; background:transparent !important; box-shadow:none !important; }
  .r7-universe-featured { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; padding:5px 13px 12px; }
  .r7-universe-featured a { display:flex; gap:10px; align-items:center; min-height:67px; padding:11px; border:1px solid var(--r7-line); border-radius:15px; background:rgba(255,255,255,.025); }
  .r7-universe-featured a > span { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:rgba(73,244,182,.07); color:var(--r7-green); }
  .r7-universe-featured strong { display:block; font-size:12px; }
  .r7-universe-featured small { color:var(--r7-muted); font-size:9px; }
  .r7-universe-scroll { flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; touch-action:pan-y; padding:5px 12px 16px; }
  .r7-universe-scroll .nav-accordion { display:grid; gap:7px; }
  .r7-universe-scroll .nav-group { border:1px solid var(--r7-line); border-radius:15px; background:rgba(255,255,255,.02); }
  .r7-universe-scroll .nav-group summary { min-height:58px; padding:8px 10px; }
  .r7-universe-scroll .nav-group-links { padding:0 7px 8px; }
  .r7-universe-scroll .nav-link { min-height:47px; }
  .r7-universe-footer { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--r7-line); background:#06181b; }
  .r7-universe-footer a,.r7-universe-footer button { min-height:52px; display:grid; place-items:center; gap:2px; border:1px solid var(--r7-line); border-radius:13px; background:rgba(255,255,255,.025); color:var(--r7-text-soft); font-size:9px; }
  .r7-universe-footer span { font-size:17px; }

  .r7-page { gap:13px; }
  .r7-page h1 { font-size:37px; }
  .r7-page h2 { font-size:23px; }
  .r7-card { border-radius:21px; box-shadow:0 13px 34px rgba(0,0,0,.2); }
  .r7-section-head { align-items:center; }
  .r7-day-hero { display:block; min-height:0; padding:22px 19px; border-radius:25px; }
  .r7-day-hero::before { opacity:.12; }
  .r7-day-copy > p { font-size:14px; }
  .r7-hero-actions { margin-top:16px; }
  .r7-hero-actions .btn { min-height:48px; flex:1 1 auto; }
  .r7-player-card { margin-top:18px; padding:16px; border-radius:20px; }
  .r7-avatar-core { width:60px; height:60px; flex-basis:60px; border-radius:19px; }
  .r7-player-top strong { font-size:18px; }
  .r7-player-stats div { padding:9px 5px; }
  .r7-player-stats strong { font-size:15px; }
  .r7-status-grid { grid-template-columns:repeat(2,1fr); gap:7px; }
  .r7-status-tile { padding:11px; gap:9px; border-radius:15px; }
  .r7-status-tile > span { width:34px; height:34px; }
  .r7-status-tile strong { font-size:16px; }
  .r7-day-grid { display:grid; grid-template-columns:1fr; gap:12px; }
  .r7-primary-mission,.r7-momentum-card,.r7-action-card,.r7-habits-card,.r7-quest-card { padding:18px; }
  .r7-momentum-top { align-items:flex-start; }
  .r7-momentum-ring { width:86px; height:86px; flex-basis:86px; }
  .r7-momentum-ring strong { font-size:23px; }
  .r7-habit-grid { grid-template-columns:1fr 1fr; gap:7px; }
  .r7-habit button { min-height:71px; padding:9px; }
  .r7-habit button > span { width:37px; height:37px; }
  .r7-quest-track { grid-template-columns:1fr; gap:7px; }
  .r7-quest-item button { min-height:79px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; padding:12px; }
  .r7-quest-item button > div { min-width:0; }
  .r7-quest-item button strong { display:block; }
  .r7-coach-card { grid-template-columns:auto minmax(0,1fr); padding:16px; }
  .r7-coach-card > a { grid-column:1/-1; width:100%; height:42px; }
  .r7-shortcuts { grid-template-columns:repeat(2,1fr); gap:7px; }
  .r7-shortcut { min-height:69px; padding:10px; gap:9px; }
  .r7-shortcut > span { width:37px; height:37px; }

  .r7-coach-hero { grid-template-columns:auto minmax(0,1fr); gap:15px; padding:19px; }
  .r7-ai-core { width:65px; height:65px; border-radius:21px; font-size:24px; }
  .r7-ai-core i { inset:-5px; border-radius:24px; }
  .r7-coach-hero-copy p { font-size:13px; }
  .r7-coach-state { grid-column:1/-1; min-width:0; grid-template-columns:1fr auto; align-items:center; padding:12px; }
  .r7-coach-state strong { font-size:16px; }
  .r7-coach-metrics { grid-template-columns:repeat(3,1fr); gap:7px; }
  .r7-coach-metrics article { padding:12px 9px; text-align:center; }
  .r7-coach-metrics strong { font-size:17px; }
  .r7-coach-layout { grid-template-columns:1fr; gap:12px; }
  .r7-mission-stack { padding:17px; }
  .r7-coach-mission { grid-template-columns:auto minmax(0,1fr); padding:12px; }
  .r7-coach-mission > span { grid-column:2; }
  .r7-chat-card { min-height:580px; }
  .r7-chat-stream { max-height:430px; }
  .r7-chat-bubble { max-width:92%; }
  .r7-coach-tools { grid-template-columns:1fr; gap:7px; }

  .r7-progress-hero { grid-template-columns:auto minmax(0,1fr); gap:16px; padding:19px; }
  .r7-level-emblem { width:82px; height:82px; border-radius:27px; }
  .r7-level-emblem::before { inset:7px; border-radius:22px; }
  .r7-level-emblem strong { font-size:29px; }
  .r7-progress-next { grid-column:1/-1; padding:13px; }
  .r7-stat-grid { grid-template-columns:repeat(2,1fr); gap:7px; }
  .r7-stat-card { padding:13px; }
  .r7-stat-card > span { margin-bottom:9px; }
  .r7-stat-card strong { font-size:23px; }
  .r7-progress-layout { grid-template-columns:1fr; gap:12px; }
  .r7-chart-card { min-height:330px; padding:17px; }
  .r7-chart-card .line-chart { min-height:245px; }
  .r7-skill-card { padding:17px; }
  .r7-badge-grid { grid-template-columns:repeat(2,1fr); gap:7px; }
  .r7-badge { min-height:120px; padding:13px; }
  .r7-badge > span { margin-bottom:12px; }
  .r7-progress-links { grid-template-columns:1fr; gap:7px; }

  .r7-plans-hero { grid-template-columns:minmax(0,1fr) auto; padding:19px; }
  .r7-plan-count { width:72px; height:72px; border-radius:23px; }
  .r7-plan-count strong { font-size:26px; }
  .r7-plan-tabs { grid-template-columns:repeat(2,1fr); gap:7px; }
  .r7-plan-tab { min-height:67px; padding:10px; gap:9px; }
  .r7-plan-tab > span { width:37px; height:37px; }
  .r7-plan-grid { grid-template-columns:1fr; gap:9px; }
  .r7-project-card { padding:16px; }
  .r7-create-project { padding:17px; }
  .r7-create-grid { grid-template-columns:1fr; }
  .r7-plan-more { grid-template-columns:1fr; gap:7px; }

  .r7-checkin-hero { grid-template-columns:1fr auto; padding:19px; }
  .r7-checkin-time { min-width:82px; padding:10px; }
  .r7-checkin-time strong { font-size:19px; }
  .r7-checkin-form { padding:17px; gap:14px; }
  .r7-range-grid { grid-template-columns:repeat(2,1fr); gap:7px; }
  .r7-range-card { padding:11px; }
  .r7-intention-grid { grid-template-columns:1fr; gap:8px; }

  body[data-shell-version^="7.0"] .kpi-strip,
  body[data-shell-version^="7.0"] .kpi-strip.eight { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body[data-shell-version^="7.0"] .form-grid.two,
  body[data-shell-version^="7.0"] .form-grid.three,
  body[data-shell-version^="7.0"] .form-grid.four { grid-template-columns:1fr !important; }
  body[data-shell-version^="7.0"] .panel { border-radius:20px; }
  body[data-shell-version^="7.0"] .modal > section,
  body[data-shell-version^="7.0"] .experience-drawer-panel,
  body[data-shell-version^="7.0"] .profile-menu-panel,
  body[data-shell-version^="7.0"] .command-console,
  body[data-shell-version^="7.0"] .capture-console,
  body[data-shell-version^="7.0"] .view-console,
  body[data-shell-version^="7.0"] .rescue-console {
    max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px) !important;
    overflow-y:auto !important; -webkit-overflow-scrolling:touch; touch-action:pan-y;
  }

  body[data-shell-version^="7.0"].onboarding-body { padding:0 !important; }
  body[data-shell-version^="7.0"] .genesis-shell { display:block !important; min-height:100dvh !important; }
  body[data-shell-version^="7.0"] .genesis-sidebar { display:none !important; }
  body[data-shell-version^="7.0"] .genesis-main { display:block !important; min-height:100dvh !important; }
  body[data-shell-version^="7.0"] .genesis-console { width:100% !important; padding:calc(env(safe-area-inset-top) + 15px) 11px calc(100px + env(safe-area-inset-bottom)) !important; }
  body[data-shell-version^="7.0"] .genesis-step { padding:17px !important; border-radius:21px !important; }
  body[data-shell-version^="7.0"] .genesis-step-viewport,
  body[data-shell-version^="7.0"] .genesis-step.active,
  body[data-shell-version^="7.0"] .genesis-form { height:auto !important; max-height:none !important; overflow:visible !important; }
  body[data-shell-version^="7.0"] .genesis-actions { position:fixed !important; z-index:1500 !important; left:0 !important; right:0 !important; bottom:0 !important; padding:9px 10px calc(9px + env(safe-area-inset-bottom)) !important; background:#06191d !important; }
  body[data-shell-version^="7.0"] .genesis-action-copy { display:none !important; }

  body[data-shell-version^="7.0"].native-android *,
  body[data-shell-version^="7.0"].native-android *::before,
  body[data-shell-version^="7.0"].native-android *::after {
    -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  }
  body[data-shell-version^="7.0"].native-android .tour-overlay { display:none !important; pointer-events:none !important; }
  body[data-shell-version^="7.0"].native-android .stage-orbit,
  body[data-shell-version^="7.0"].native-android .stage-scan,
  body[data-shell-version^="7.0"].native-android .avatar-orbit { animation:none !important; }
}

@media (max-width: 420px) {
  .r7-mobile-brand-copy small { display:none; }
  .r7-mobile-xp { min-width:68px; }
  .r7-page h1 { font-size:33px; }
  .r7-status-grid { grid-template-columns:1fr 1fr; }
  .r7-status-tile { display:block; }
  .r7-status-tile > span { margin-bottom:8px; }
  .r7-habit-grid { grid-template-columns:1fr; }
  .r7-shortcuts { grid-template-columns:1fr 1fr; }
  .r7-coach-metrics { grid-template-columns:1fr 1fr 1fr; }
  .r7-coach-metrics article { padding:10px 6px; }
  .r7-range-grid { grid-template-columns:1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
