:root {
  --brand: #007f95;
  --brand-dark: #005766;
  --ink: #202226;
  --muted: #6d7178;
  --surface: #fff;
  --canvas: #f4f3f1;
  --border: rgb(32 34 38 / 10%);
  --radius: 16px;
}

html { font-size: 16px; }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.app-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: linear-gradient(115deg, var(--brand-dark), var(--brand));
  box-shadow: 0 4px 18px rgb(0 87 102 / 20%);
}
.navbar { min-height: 64px; }
.app-header .navbar { padding-left:max(1rem, env(safe-area-inset-left)); padding-right:max(1rem, env(safe-area-inset-right)); }
.navbar-brand { display:flex; min-width:0; align-items:center; gap:.55rem; }
.tenant-logo { width:42px; height:42px; flex:none; object-fit:contain; border-radius:10px; background:#fff; }
.tenant-name { max-width:min(54vw,330px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:1rem; }
.brand-mark {
  display: inline-grid;
  width: 34px;
  height: 34px;
  margin-right: .45rem;
  place-items: center;
  border-radius: 11px;
  color: var(--brand-dark);
  background: white;
  font-size: .82rem;
  font-weight: 800;
}
.user-name { max-width: 13rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff; }
.app-content { max-width: 720px; padding-top: 1.25rem; padding-bottom: 7rem; }
h1 { margin: 0; font-size: clamp(1.75rem, 7vw, 2.4rem); font-weight: 750; }
h2 { font-size: clamp(1.25rem, 5vw, 1.55rem); font-weight: 760; }
.eyebrow { color: var(--brand); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.btn-brand { color: #fff; border-color: var(--brand); background: var(--brand); }
.btn-brand:hover, .btn-brand:focus { color: #fff; border-color: var(--brand-dark); background: var(--brand-dark); }
.btn-outline-brand { color:var(--brand-dark); border:1px solid rgb(0 127 149 / 38%); background:var(--surface); }
.btn-outline-brand:hover, .btn-outline-brand:focus { color:#fff; border-color:var(--brand); background:var(--brand); }
.auth-shell { min-height: calc(100vh - 170px); display: grid; place-items: center; }
.auth-card, .form-card {
  width: 100%;
  padding: 1.25rem;
  border: 1px solid rgb(32 34 38 / 8%);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: 0 16px 50px rgb(42 35 37 / 8%);
}
.auth-card { max-width: 430px; }
.validation-summary-valid { display: none; }
.search-bar { display: grid; grid-template-columns: 1fr auto; gap: .55rem; }
.document-search-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.55rem; }
.document-search-toolbar .btn { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; min-width:112px; }
.document-advanced-filters { display:grid; gap:1rem; padding-top:1rem; }
.filter-details summary em { margin-left:auto; padding:.18rem .45rem; border-radius:999px; color:var(--brand-dark); background:rgb(0 127 149 / 12%); font-size:.65rem; font-style:normal; text-transform:uppercase; }
@media (max-width:420px) {
  .document-search-toolbar .btn { min-width:52px; padding-inline:.75rem; }
  .document-search-toolbar .btn span { display:none; }
}
.expense-list { display: grid; gap: .7rem; }
.expense-card {
  display: flex;
  min-height: 94px;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  padding: 1rem;
  overflow: hidden;
  border: 1px solid rgb(32 34 38 / 7%);
  border-left: 5px solid #d1646f;
  border-radius: 17px;
  background: var(--surface);
  box-shadow: 0 5px 18px rgb(42 35 37 / 5%);
  color: var(--ink);
  text-decoration: none;
}
.expense-card--income { border-left-color: #2e9a70; }
.expense-card--investment { border-left-color: #477db7; }
.expense-card__main { min-width: 0; }
.expense-card__title { overflow: hidden; font-size: 1.02rem; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.expense-card__meta, .expense-card__type { margin-top: .18rem; color: var(--muted); font-size: .78rem; }
.expense-card__amount { flex: none; font-size: .98rem; font-weight: 800; white-space: nowrap; }
.empty-state {
  padding: 3rem 1.2rem;
  border: 1px dashed #c8c3c0;
  border-radius: 20px;
  text-align: center;
  background: rgb(255 255 255 / 55%);
}
.empty-state__icon { display: grid; width: 60px; height: 60px; margin: 0 auto 1rem; place-items: center; border-radius: 18px; color: #fff; background: var(--brand); font-size: 1.6rem; font-weight: 800; }
.empty-state h2 { font-size: 1.3rem; }
.empty-state p { color: var(--muted); }
.bottom-nav {
  position: fixed;
  z-index: 1020;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  gap: .5rem;
  padding: .6rem max(.8rem, env(safe-area-inset-right)) calc(.6rem + env(safe-area-inset-bottom)) max(.8rem, env(safe-area-inset-left));
  border-top: 1px solid rgb(32 34 38 / 9%);
  background: rgb(255 255 255 / 94%);
  backdrop-filter: blur(16px);
}
.bottom-nav__item { display: grid; min-width: 76px; min-height: 48px; padding: .35rem .65rem; place-items: center; border-radius: 14px; color: var(--muted); font-size: .72rem; text-decoration: none; }
.bottom-nav__item--primary { color: #fff; background: var(--brand); }
.bottom-nav__icon { font-size: 1.2rem; font-weight: 800; line-height: 1; }
.bottom-nav__button { border: 0; background: transparent; }
.bottom-nav__button.bottom-nav__item--primary { color: #fff; background: var(--brand); }
.bottom-nav__item.is-disabled { opacity:.42; cursor:not-allowed; }
.anchor-target { scroll-margin-top:90px; }
.reminder-filter.is-collapsed { display: none; }
.recurrence-panel { display: grid; gap: 1rem; padding: 1rem; border: 1px solid rgb(0 87 102 / 18%); border-radius: 18px; background: rgb(0 87 102 / 4%); }
.recurrence-panel.is-collapsed { display: none; }
.choice-chip-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; }
.choice-chip-grid--months { grid-template-columns: repeat(3, 1fr); }
.choice-chip-grid--days { grid-template-columns: repeat(7, 1fr); gap: .35rem; }
.choice-chip { position: relative; margin: 0; cursor: pointer; }
.choice-chip input { position: absolute; opacity: 0; pointer-events: none; }
.choice-chip span { display: grid; min-height: 44px; padding: .25rem; place-items: center; border: 1px solid #d6dcdf; border-radius: 12px; background: #fff; font-weight: 700; text-align: center; }
.choice-chip-grid--days .choice-chip span { min-height: 40px; padding: 0; border-radius: 10px; font-size: .78rem; }
.choice-chip input:checked + span { color: #fff; border-color: var(--brand); background: var(--brand); }
.choice-chip input:focus-visible + span { outline: 3px solid rgb(0 127 149 / 25%); outline-offset: 2px; }
.menu-toggle {
  display: grid;
  width: 42px;
  height: 42px;
  padding: 10px;
  align-content: center;
  gap: 4px;
  border: 1px solid rgb(255 255 255 / 35%);
  border-radius: 13px;
  background: rgb(255 255 255 / 10%);
}
.menu-toggle span { display: block; height: 2px; border-radius: 2px; background: #fff; }
.public-header-menu .dropdown-menu { min-width: 10rem; margin-top: .55rem; padding: .4rem; border: 0; border-radius: 13px; box-shadow: 0 12px 30px rgb(19 38 45 / 18%); }
.public-header-menu .dropdown-item { padding: .65rem .8rem; border-radius: 9px; font-weight: 650; }
.public-header-menu .dropdown-item:active { background: var(--brand); }
.turnstile-wrap { display:flex; min-height:68px; margin:0 0 1rem; align-items:center; justify-content:center; }
.app-drawer { width: min(88vw, 390px); border: 0; }
.app-drawer .offcanvas-header { padding: 1.4rem 1.25rem 1rem; border-bottom: 1px solid rgb(32 34 38 / 8%); }
.app-drawer .offcanvas-title { margin-top: .2rem; font-size: 1.55rem; font-weight: 780; }
.app-drawer .offcanvas-body { display: flex; flex-direction: column; padding: 1rem; }
.drawer-nav { display: grid; gap: .45rem; }
.drawer-nav a {
  display: grid;
  grid-template-columns: 42px 1fr;
  min-height: 58px;
  align-items: center;
  padding: .55rem .75rem;
  border-radius: 15px;
  color: var(--ink);
  text-decoration: none;
}
.drawer-nav a:hover, .drawer-nav a:focus { color: var(--brand-dark); background: rgb(0 127 149 / 9%); }
.drawer-nav a span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; color: #fff; background: var(--brand); font-size: 1.1rem; }
.drawer-logout { margin-top: auto; padding-top: 1.5rem; }
.drawer-groups { display:grid; gap:.4rem; }
.drawer-home, .drawer-groups summary { display:grid; min-height:54px; grid-template-columns:40px 1fr; align-items:center; gap:.55rem; padding:.45rem .6rem; border-radius:14px; color:var(--ink); text-decoration:none; cursor:pointer; list-style:none; }
.drawer-home > span, .drawer-groups summary > span { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; color:#fff; background:var(--brand); font-weight:800; }
.drawer-groups summary::-webkit-details-marker { display:none; }
.drawer-groups details[open] summary { color:var(--brand-dark); background:rgb(0 127 149 / 8%); }
.drawer-groups details.active-section summary { color:#fff; background:linear-gradient(110deg,var(--brand-dark),var(--brand)); }
.drawer-groups details.active-section summary > span { color:var(--brand-dark); background:#fff; }
.drawer-groups details > div { display:grid; margin-left:3.25rem; border-left:2px solid rgb(0 127 149 / 15%); }
.drawer-groups details > div a { min-height:42px; padding:.6rem .75rem; color:var(--ink); font-size:.84rem; font-weight:650; text-decoration:none; }
.drawer-groups details > div a:hover { color:var(--brand); }
.drawer-groups details > div a.is-active { position:relative; color:var(--brand-dark); background:rgb(0 127 149 / 11%); font-weight:850; }
.drawer-groups details > div a.is-active::before { position:absolute; top:8px; bottom:8px; left:-2px; width:3px; border-radius:3px; background:var(--brand); content:""; }
.drawer-home.is-active { color:var(--brand-dark); background:rgb(0 127 149 / 11%); }
.drawer-home.is-active strong { font-weight:850; }
.language-picker { display:grid; gap:.35rem; margin-top:1rem; padding-top:1rem; border-top:1px solid rgb(32 34 38 / 8%); }
.language-picker label { color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.module-grid { display: grid; gap: .75rem; }
.module-card {
  display: grid;
  grid-template-columns: 54px 1fr auto;
  min-height: 88px;
  align-items: center;
  gap: .8rem;
  padding: .9rem 1rem;
  border: 1px solid rgb(32 34 38 / 7%);
  border-radius: 19px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 7px 24px rgb(42 35 37 / 6%);
  text-decoration: none;
}
.module-card__icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 16px; color: #fff; background: var(--brand); font-size: 1.45rem; font-weight: 800; }
.module-card__content { display: grid; min-width: 0; }
.module-card__content strong { font-size: 1.02rem; }
.module-card__content small { margin-top: .18rem; color: var(--muted); line-height: 1.3; }
.module-card__arrow { color: var(--brand); font-size: 1.8rem; }
.module-card--accent { color: #fff; border-color: transparent; background: linear-gradient(120deg, var(--brand-dark), var(--brand)); }
.module-card--accent .module-card__icon { color: var(--brand-dark); background: #fff; }
.module-card--accent .module-card__content small, .module-card--accent .module-card__arrow { color: rgb(255 255 255 / 78%); }
.menu-secondary { display: flex; flex-wrap: wrap; gap: .6rem 1rem; padding: 1rem; }
.menu-secondary a, .public-footer a { color: var(--muted); font-size: .82rem; text-decoration: none; }
.public-footer { display: flex; justify-content: center; gap: 1.1rem; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)); }
.dashboard-heading { align-items: end; }
.year-select { min-width: 94px; min-height: 46px; border-radius: 13px; font-weight: 700; }
.kpi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.kpi-card {
  display: grid;
  min-height: 112px;
  align-content: space-between;
  gap: .8rem;
  padding: .85rem;
  border: 1px solid rgb(32 34 38 / 7%);
  border-radius: 17px;
  background: #ecebea;
}
.kpi-card small { color: var(--muted); font-size: .76rem; line-height: 1.2; }
.kpi-card strong { color: #075f77; font-size: clamp(.88rem, 3.6vw, 1.08rem); line-height: 1.2; }
.kpi-card--positive { background: #dcf8e5; }
.kpi-card--negative { background: #fde0e4; }
.kpi-card--brand { background: #dceff3; }
.kpi-card--info { background: #dcecff; }
.dashboard-section { margin-top: 1.65rem; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.section-heading h2 { margin: .12rem 0 0; }
.mobile-chart {
  display: grid;
  height: 190px;
  grid-template-columns: repeat(12, minmax(18px, 1fr));
  gap: .24rem;
  padding: 1rem .55rem .45rem;
  border: 1px solid rgb(32 34 38 / 7%);
  border-radius: 18px;
  background: var(--surface);
}
.mobile-chart__month { display: grid; min-width: 0; grid-template-rows: 1fr auto; gap: .35rem; text-align: center; }
.mobile-chart__bars { display: flex; height: 135px; align-items: end; justify-content: center; gap: 2px; }
.mobile-chart__bar { width: min(7px, 42%); min-height: 2px; border-radius: 4px 4px 1px 1px; }
.mobile-chart__bar--income { background: #218c61; }
.mobile-chart__bar--cost { background: #df5262; }
.mobile-chart__month small { overflow: hidden; color: var(--muted); font-size: .58rem; text-transform: uppercase; }
.chart-legend { display: flex; justify-content: center; gap: 1.2rem; padding-top: .55rem; color: var(--muted); font-size: .72rem; }
.chart-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.chart-legend i { width: 9px; height: 9px; border-radius: 50%; }
.legend-income { background: #218c61; }
.legend-cost { background: #df5262; }
.compact-list { overflow: hidden; border: 1px solid rgb(32 34 38 / 7%); border-radius: 18px; background: var(--surface); }
.compact-row { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: .75rem; padding: .75rem .9rem; border-bottom: 1px solid rgb(32 34 38 / 7%); }
.compact-row:last-child { border-bottom: 0; }
.compact-row--link { color:var(--ink); text-decoration:none; transition:background .16s ease,color .16s ease; }
.compact-row--link:hover, .compact-row--link:focus-visible { color:var(--brand-dark); background:rgb(0 127 149 / 7%); }
.compact-row > div { display: grid; min-width: 0; }
.compact-row strong { overflow: hidden; font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }
.compact-row small, .compact-row time { margin-top: .18rem; color: var(--muted); font-size: .7rem; }
.compact-row__amount { flex: none; color: var(--brand-dark); font-size: .82rem; font-weight: 800; }
.compact-empty { padding: 1.3rem; color: var(--muted); text-align: center; }
.kpi-card--link { color:inherit; text-decoration:none; }
.kpi-card--link:hover, .kpi-card--link:focus-visible { color:inherit; transform:translateY(-1px); box-shadow:0 12px 28px rgb(42 35 37 / 9%); }
.kpi-card > span { color:var(--muted); font-size:.68rem; }
.financial-chart { min-height:220px; }
.financial-month-list { display:grid; gap:.55rem; }
.financial-month-list article { display:grid; grid-template-columns:minmax(110px,1fr) repeat(3,auto); align-items:center; gap:.7rem; padding:.8rem .9rem; border:1px solid var(--border); border-radius:14px; background:#fff; font-size:.75rem; }
.financial-month-list article em { font-style:normal; font-weight:800; }
.financial-month-list .positive { color:#16744a; }
.financial-month-list .negative { color:#a6352d; }
.profile-hero { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; padding:1.1rem; border:1px solid var(--border); border-radius:20px; background:#fff; }
.profile-hero img, .profile-hero .profile-avatar { width:72px; height:72px; flex:none; object-fit:contain; border-radius:18px; background:#fff; }
.profile-hero .profile-avatar { display:grid; place-items:center; color:#fff; background:var(--brand); font-size:1.3rem; font-weight:800; }
.profile-hero h2, .profile-hero p { margin:0; }
.profile-hero p, .profile-hero small { color:var(--muted); }
.profile-upload-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; padding:.85rem 1rem; border:1px dashed rgb(0 127 149 / 35%); border-radius:16px; background:rgb(255 255 255 / 65%); }
.profile-upload-card > div { display:grid; }
.profile-upload-card small { color:var(--muted); }
.profile-form { display:grid; gap:1.5rem; }
.profile-form section { display:grid; gap:.9rem; padding-bottom:1.3rem; border-bottom:1px solid var(--border); }
.profile-form .section-heading { margin:0; }
.profile-check { display:flex; align-items:center; gap:.6rem; padding:.75rem; border-radius:12px; background:rgb(0 127 149 / 6%); }
.form-hint { display:block; margin-top:.3rem; color:var(--muted); font-size:.72rem; }
.profile-furs { scroll-margin-top:80px; }
.certificate-card { display:grid; gap:.8rem; margin-bottom:.85rem; padding:1rem; border:1px solid var(--border); border-radius:18px; background:#fff; }
.certificate-card__heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.certificate-card__heading > div { display:grid; min-width:0; }
.certificate-card__heading small { overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.certificate-card__heading > span { display:grid; width:36px; height:36px; place-items:center; border-radius:50%; color:var(--muted); background:#eef1f3; }
.certificate-card__heading > span.is-added { color:#16744a; background:#e4f7ee; }
@media (max-width:520px) {
  .financial-month-list article { grid-template-columns:1fr 1fr; }
  .financial-month-list article strong, .financial-month-list article em { grid-column:1 / -1; }
}
.round-action {
  display: flex;
  width: 52px;
  height: 52px;
  flex: none;
  align-items: center;
  justify-content: center;
  padding: 0 0 .12rem;
  border-radius: 17px;
  color: #fff;
  background: var(--brand);
  box-shadow: 0 8px 20px rgb(0 87 102 / 24%);
  font-size: 1.65rem;
  line-height: 1;
  text-decoration: none;
}
.section-heading__link { display:inline-flex; align-items:center; gap:.45rem; color:inherit; text-decoration:none; }
.section-heading__link span { color:var(--brand); font-size:1.35em; line-height:.8; }
.section-heading__link:hover, .section-heading__link:focus-visible { color:var(--brand); }
.day-picker {
  display: grid;
  grid-template-columns: 52px 1fr 52px;
  align-items: stretch;
  gap: .55rem;
  margin-bottom: 1rem;
}
.day-picker > a {
  display: grid;
  min-height: 58px;
  place-items: center;
  border: 1px solid rgb(32 34 38 / 8%);
  border-radius: 16px;
  color: var(--brand-dark);
  background: var(--surface);
  font-size: 2rem;
  text-decoration: none;
}
.day-picker label {
  display: grid;
  min-height: 58px;
  align-content: center;
  padding: .35rem .75rem;
  border: 1px solid rgb(32 34 38 / 8%);
  border-radius: 16px;
  background: var(--surface);
  text-align: center;
}
.day-picker label span { color: var(--brand-dark); font-weight: 800; text-transform: capitalize; }
.day-picker input { border: 0; color: var(--muted); background: transparent; text-align: center; }
.timeline-list, .work-list { display: grid; gap: .72rem; }
.timeline-card, .work-card {
  display: grid;
  min-height: 88px;
  align-items: center;
  gap: .7rem;
  padding: .85rem;
  border: 1px solid rgb(32 34 38 / 7%);
  border-radius: 18px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 6px 22px rgb(42 35 37 / 5%);
  text-decoration: none;
}
.timeline-card { grid-template-columns: 48px 4px 1fr auto; }
.timeline-card time { color: var(--brand-dark); font-size: .9rem; font-weight: 800; }
.timeline-card__line { width: 4px; height: 54px; border-radius: 5px; background: var(--brand); }
.timeline-card__content, .work-card__body { display: grid; min-width: 0; gap: .22rem; }
.timeline-card__content strong, .work-card__body strong { font-size: 1rem; line-height: 1.25; }
.timeline-card__content > small, .work-card__body > small { overflow: hidden; color: var(--muted); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.recurring-card {
  display: grid;
  min-height: 94px;
  grid-template-columns: 4px minmax(0, 1fr) minmax(86px, auto) 18px;
  align-items: center;
  gap: .72rem;
  padding: .9rem;
  border: 1px solid rgb(32 34 38 / 7%);
  border-radius: 18px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 6px 22px rgb(42 35 37 / 5%);
  text-decoration: none;
}
.recurring-card__line { width: 4px; height: 62px; border-radius: 5px; background: var(--brand); }
.recurring-card__content { display: grid; min-width: 0; justify-items: start; gap: .55rem; }
.recurring-card__content strong { width: 100%; overflow: hidden; font-size: 1rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.recurring-card__period { display: inline-flex; min-width: 94px; min-height: 30px; padding: .32rem .65rem; align-items: center; justify-content: center; border-radius: 9px; color: var(--brand-dark); background: rgb(0 127 149 / 10%); font-size: .72rem; font-weight: 800; }
.recurring-card__date { display: grid; justify-items: end; gap: .1rem; text-align: right; }
.recurring-card__date strong { color: var(--brand-dark); font-size: .78rem; white-space: nowrap; }
.recurring-card__date small { color: var(--muted); font-size: .75rem; font-weight: 700; }
.recurring-card__date em { margin-top: .22rem; color: var(--muted); font-size: .61rem; font-style: normal; white-space: nowrap; }
.recurring-card__arrow { color: var(--muted); font-size: 1.3rem; text-align: right; }
.tag-row { display: flex; flex-wrap: wrap; gap: .32rem; margin-top: .15rem; }
.tag-row em {
  padding: .22rem .45rem;
  border-radius: 8px;
  color: var(--brand-dark);
  background: rgb(0 127 149 / 9%);
  font-size: .68rem;
  font-style: normal;
  font-weight: 700;
}
.filter-panel { margin-bottom: 1rem; padding: .75rem; border-radius: 18px; background: var(--surface); box-shadow: 0 5px 18px rgb(42 35 37 / 5%); }
.filter-details { margin-top: .55rem; }
.filter-details summary { display:flex; min-height:44px; align-items:center; gap:.45rem; padding:.65rem .35rem .25rem; color:var(--brand-dark); font-weight:750; cursor:pointer; }
.filter-grid { display: grid; gap: .55rem; padding-top: .5rem; }
.filter-actions { display:grid; grid-template-columns:.8fr 1.2fr; gap:.55rem; }
.document-filters { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.document-filters__wide { grid-column:1 / -1; }
.document-card { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:.7rem; padding:.85rem; border:1px solid var(--border); border-radius:17px; background:var(--surface); box-shadow:0 5px 18px rgb(42 35 37 / 5%); }
.document-card .work-card__body { display:grid; min-width:0; }
.document-card .work-card__body strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.document-kind { width:max-content; margin:.12rem 0; padding:.2rem .45rem; border-radius:8px; color:var(--brand-dark); background:rgb(0 127 149 / 10%); font-size:.67rem; font-weight:800; }
.entity-links { display:grid; grid-column:1 / -1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; padding-top:.1rem; }
.entity-link { display:grid; min-width:0; min-height:58px; grid-template-columns:36px minmax(0,1fr) 14px; align-items:center; gap:.5rem; padding:.5rem; overflow:hidden; border:1px solid rgb(0 127 149 / 13%); border-radius:13px; color:var(--ink); background:rgb(0 127 149 / 5%); text-decoration:none; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.entity-link:hover, .entity-link:focus-visible { color:var(--brand-dark); border-color:rgb(0 127 149 / 35%); background:rgb(0 127 149 / 10%); transform:translateY(-1px); }
.entity-link__icon { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; color:#fff; background:var(--brand); font-size:.8rem; font-weight:900; }
.entity-link--task .entity-link__icon { background:#397d69; }
.entity-link--comment .entity-link__icon { background:#765b87; }
.entity-link__text { display:grid; min-width:0; line-height:1.2; }
.entity-link__text small { color:var(--muted); font-size:.6rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.entity-link__text strong { overflow:hidden; font-size:.74rem; text-overflow:ellipsis; white-space:nowrap; }
.entity-link__arrow { color:var(--brand); font-size:1.2rem; font-weight:800; }
.document-card__actions { display:grid; grid-column:1 / -1; grid-template-columns:1fr 1fr; gap:.55rem; }
.document-card__actions .btn { min-height:44px; align-content:center; font-weight:750; }
.load-more-wrap { display:flex; justify-content:center; padding:1rem 0 .25rem; }
.load-more-button { width:min(100%,360px); min-height:52px; border-radius:15px; font-weight:800; }
.load-more-button.is-loading { cursor:wait; opacity:.72; }
.load-more-button--error { color:#a83d49; border-color:#d68b94; background:#fff3f4; }
.work-card { grid-template-columns: 12px 1fr auto; }
.status-dot { width: 11px; height: 44px; border-radius: 8px; background: #97a0a4; }
.status-dot--20 { background: #e1a43b; }
.status-dot--30 { background: var(--brand); }
.status-dot--40 { background: #2e9a70; }
.status-dot--50 { background: #c65b66; }
.file-icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; color: #fff; background: var(--brand); font-size: .65rem; font-weight: 850; }
.work-card:has(.file-icon) { grid-template-columns: 48px 1fr auto; }
.comment-card { padding: 1rem; border: 1px solid rgb(32 34 38 / 7%); border-radius: 18px; background: var(--surface); box-shadow: 0 6px 22px rgb(42 35 37 / 5%); }
.comment-card small, .comment-card footer { color: var(--muted); font-size: .72rem; }
.comment-card p { margin: .65rem 0; font-size: .96rem; line-height: 1.45; white-space: pre-line; }
.comment-card--link { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; color:var(--ink); text-decoration:none; }
.comment-card--link small, .comment-card--link p, .comment-card--link footer { grid-column:1; }
.comment-card--link > .module-card__arrow, .comment-card--link > span:last-child { grid-column:2; grid-row:1 / span 3; align-self:center; }
.comment-card__main { display:grid; grid-template-columns:minmax(0,1fr) auto; color:var(--ink); text-decoration:none; }
.comment-card__main small, .comment-card__main p, .comment-card__main footer { grid-column:1; }
.comment-card__main > span { grid-column:2; grid-row:1 / span 3; align-self:center; }
.comment-result-card { display:grid; gap:.65rem; }
.comment-result-card .comment-card__main { padding-bottom:.65rem; border-bottom:1px solid rgb(32 34 38 / 7%); }
.comment-thread { display:grid; gap:.7rem; }
.mobile-form { display: grid; gap: 1rem; }
.mobile-form .form-label { margin-bottom: .35rem; color: #3f474b; font-size: .78rem; font-weight: 800; }
.form-split { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.date-range-rows { display:grid; gap:1rem; }
.date-range-rows > div { min-width:0; }
.mobile-datetime-picker { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(112px,.75fr); gap:.55rem; }
.mobile-picker { position:relative; min-width:0; }
.mobile-picker > input.form-control { min-height:52px; padding-right:3.2rem; background:#fff; font-variant-numeric:tabular-nums; }
.mobile-picker > input::-webkit-calendar-picker-indicator { width:0; margin:0; padding:0; opacity:0; }
.mobile-picker__button { position:absolute; top:4px; right:4px; bottom:4px; display:grid; width:44px; place-items:center; border:0; border-radius:10px; color:var(--brand-dark); background:rgb(0 127 149 / 10%); font-size:1.15rem; }
.mobile-picker__button:hover, .mobile-picker__button:focus-visible { color:#fff; background:var(--brand); }
.mobile-picker__button:focus-visible { outline:3px solid rgb(0 127 149 / 25%); outline-offset:2px; }
.form-submit-card { display:grid; gap:.35rem; padding:1rem; border-radius:17px; background:rgb(0 127 149 / 7%); }
.form-submit-card .btn { min-height:54px; font-weight:800; }
.switch-row { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem; border-radius: 15px; background: rgb(0 127 149 / 7%); }
.switch-row > span { display: grid; }
.switch-row small { color: var(--muted); font-size: .72rem; }
.switch-row .form-check-input { width: 3rem; height: 1.55rem; flex: none; }
.sticky-actions { display: grid; grid-template-columns: minmax(100px, .7fr) 1.3fr; gap: .65rem; padding-top: .35rem; }
.menu-groups { display: grid; gap: .75rem; }
.menu-group__hero, .menu-standalone a { display: grid; min-height: 72px; grid-template-columns: 46px 1fr auto; align-items: center; gap: .7rem; padding: .7rem .85rem; border-radius: 18px; color: #fff; background: linear-gradient(120deg,var(--brand-dark),var(--brand)); text-decoration: none; }
.menu-group__hero > span, .menu-standalone a > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: var(--brand-dark); background: #fff; font-size: 1.2rem; font-weight: 850; }
.menu-group__hero div { display: grid; }
.menu-group__hero small { color: rgb(255 255 255 / 76%); }
.menu-group__hero b, .menu-standalone b { font-size: 1.7rem; }
.menu-groups details { overflow: hidden; border: 1px solid rgb(32 34 38 / 7%); border-radius: 18px; background: var(--surface); box-shadow: 0 6px 20px rgb(42 35 37 / 5%); }
.menu-groups summary { display: grid; min-height: 68px; grid-template-columns: 44px 1fr auto; align-items: center; gap: .7rem; padding: .65rem .8rem; cursor: pointer; list-style: none; }
.menu-groups summary::-webkit-details-marker { display: none; }
.menu-groups summary b { color: var(--brand); font-size: 1.1rem; transition: transform .2s; }
.menu-groups details[open] summary b { transform: rotate(180deg); }
.group-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: #fff; background: var(--brand); font-size: 1.15rem; font-weight: 850; }
.menu-groups details nav { display: grid; padding: 0 .8rem .65rem 3.8rem; }
.menu-groups details nav a { display: grid; min-height: 58px; align-content: center; padding: .55rem 0; border-top: 1px solid rgb(32 34 38 / 7%); color: var(--ink); text-decoration: none; }
.menu-groups details nav a span { font-weight: 730; }
.menu-groups details nav a small { color: var(--muted); font-size: .72rem; }
.menu-standalone { display: grid; gap: .65rem; }
.menu-standalone a { color: var(--ink); border: 1px solid rgb(32 34 38 / 7%); background: var(--surface); }
.menu-standalone a > span { color: #fff; background: var(--brand); }
.month-nav { display: grid; min-height: 58px; grid-template-columns: 54px 1fr 54px; align-items: center; margin-bottom: 1rem; border-radius: 17px; background: var(--surface); text-align: center; }
.month-nav a { display: grid; height: 100%; place-items: center; color: var(--brand); font-size: 1.8rem; text-decoration: none; }
.holiday-card { display: grid; min-height: 74px; grid-template-columns: 54px 1fr auto; align-items: center; gap: .75rem; padding: .7rem .85rem; border-radius: 17px; background: var(--surface); }
.holiday-card time { display: grid; text-align: center; }
.holiday-card time strong { color: var(--brand-dark); font-size: 1.35rem; }
.holiday-card time small, .holiday-card div small { color: var(--muted); font-size: .7rem; text-transform: uppercase; }
.holiday-card div { display: grid; }
.holiday-card > span { padding: .28rem .45rem; border-radius: 8px; color: #287456; background: #dcf8e5; font-size: .66rem; font-weight: 750; }
.metric-stack { display: grid; gap: .6rem; }
.metric-stack > div { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-radius: 16px; background: var(--surface); }
.metric-stack span { color: var(--muted); font-size: .8rem; }
.portfolio-hero { display: grid; margin-bottom: 1rem; padding: 1.3rem; border-radius: 22px; color: #fff; background: linear-gradient(135deg,var(--brand-dark),var(--brand)); }
.portfolio-hero small { color: rgb(255 255 255 / 72%); }
.portfolio-hero strong { margin: .2rem 0; font-size: 2rem; }
.asset-card { display: grid; min-height: 78px; grid-template-columns: 48px 1fr auto; align-items: center; gap: .7rem; padding: .75rem; border-radius: 17px; background: var(--surface); }
.asset-code { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; color: #fff; background: var(--brand); font-size: .68rem; font-weight: 800; }
.asset-card > div { display: grid; min-width: 0; }
.asset-card small { color: var(--muted); font-size: .68rem; }
.asset-value { text-align: right; }
.positive { color: #1e875e !important; }.negative { color: #c94e5c !important; }
.converter-card { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin-bottom: 1rem; padding: 1rem; border-radius: 18px; background: var(--surface); }
.converter-card label { color: var(--muted); font-size: .72rem; font-weight: 750; }
.converter-card output { grid-column: 1/-1; padding: .7rem; border-radius: 13px; color: var(--brand-dark); background: rgb(0 127 149 / 9%); font-size: 1.3rem; font-weight: 850; text-align: center; }
.rate-card { display: grid; min-height: 64px; grid-template-columns: 52px 1fr auto; align-items: center; padding: .7rem .9rem; border-radius: 15px; background: var(--surface); }
.rate-card strong { color: var(--brand-dark); }.rate-card span { color: var(--muted); font-size: .78rem; }
.fuel-card, .invoice-card, .travel-card { display: grid; gap: .6rem; padding: .9rem; border-radius: 17px; background: var(--surface); }
.fuel-card { grid-template-columns: 1fr auto auto; align-items: center; }
.fuel-card > div, .fuel-card > span, .invoice-card > div, .travel-card > div { display: grid; }
.fuel-card small, .invoice-card small, .invoice-card span, .travel-card small, .travel-card span { color: var(--muted); font-size: .7rem; }
.fuel-card > span { min-width: 52px; text-align: right; }
.fuel-map-shell { overflow:hidden; border:1px solid rgb(32 34 38 / 8%); border-radius:20px; background:var(--surface); box-shadow:0 8px 28px rgb(42 35 37 / 7%); }
.fuel-map { width:100%; height:min(64vh,560px); min-height:420px; background:#dce8e7; }
.fuel-map-note { display:flex; align-items:center; gap:.7rem; padding:.8rem 1rem; }
.fuel-map-note > span { display:grid; width:38px; height:38px; flex:none; place-items:center; border-radius:11px; background:rgb(0 127 149 / 10%); font-size:1.15rem; }
.fuel-map-note p { display:grid; margin:0; }
.fuel-map-note small { margin-top:.12rem; color:var(--muted); font-size:.7rem; line-height:1.3; }
.fuel-popup h3 { margin:0; color:var(--brand-dark); font-size:1rem; }
.fuel-popup p { margin:.2rem 0 .6rem; color:var(--muted); font-size:.72rem; }
.fuel-popup > small { display:block; margin-top:.45rem; color:var(--muted); font-size:.66rem; }
.fuel-popup__prices { display:grid; gap:.18rem; }
.fuel-popup__prices > div { display:flex; justify-content:space-between; gap:1.5rem; padding:.2rem .35rem; border-radius:7px; background:rgb(0 127 149 / 7%); font-size:.72rem; }
.fuel-popup__prices strong { color:var(--brand-dark); white-space:nowrap; }
.invoice-card { grid-template-columns: 1fr auto; align-items: center; }.invoice-card > b { color: var(--brand-dark); white-space: nowrap; }
.invoice-status { width:max-content; margin-top:.3rem; padding:.22rem .45rem; border-radius:8px; color:#5d6670 !important; background:#eceff1; font-weight:750; }
.invoice-status--30 { color:#237351 !important; background:#dcf8e5; }
.invoice-status--40, .invoice-status--50 { color:#a83d49 !important; background:#fde0e4; }
.page-intro { margin-top: -.6rem; color: var(--muted); }
.calculator-result { display: grid; padding: 1.15rem; border-radius: 17px; color: #fff; background: linear-gradient(125deg,var(--brand-dark),var(--brand)); text-align: center; }
.calculator-result output { margin: .15rem 0; font-size: 2rem; font-weight: 850; }.calculator-result span { color: rgb(255 255 255 / 75%); font-size: .75rem; }
.result-card { margin-top: 1rem; }.result-card dl { margin: 1rem 0 0; }.result-card dl div { display: flex; justify-content: space-between; padding: .35rem 0; border-top: 1px solid rgb(255 255 255 / 15%); }.result-card dt,.result-card dd { margin:0;font-size:.78rem; }
.profile-card { padding: 1.3rem; border-radius: 22px; background: var(--surface); text-align: center; }
.profile-avatar { display: grid; width: 78px; height: 78px; margin: 0 auto .8rem; place-items: center; border-radius: 50%; color: #fff; background: var(--brand); font-size: 1.5rem; font-weight: 850; }
.profile-card p { color: var(--muted); }.profile-card dl { margin: 1.2rem 0 0; text-align: left; }.profile-card dl div { padding: .65rem 0; border-top: 1px solid rgb(32 34 38 / 7%); }.profile-card dt { color: var(--muted); font-size: .7rem; }.profile-card dd { margin: .12rem 0 0; }
.check-result { display: grid; min-height: 88px; grid-template-columns: 52px 1fr; align-items: center; gap: .8rem; margin-top: 1rem; padding: 1rem; border-radius: 18px; background: var(--surface); }
.check-result > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; color: #fff; font-size: 1.4rem; font-weight: 850; }.check-result > div { display:grid; }.check-result small { color:var(--muted); }
.check-result--valid > span { background:#2e9a70; }.check-result--invalid > span { background:#c65b66; }
.upload-zone { display: grid; min-height: 170px; place-items: center; align-content: center; gap: .35rem; border: 2px dashed rgb(0 127 149 / 35%); border-radius: 18px; background: rgb(0 127 149 / 5%); text-align:center; cursor:pointer; }
.upload-zone > span { font-size: 2rem; color:var(--brand); }.upload-zone small {color:var(--muted);}.upload-zone input { max-width:100%; margin-top:.45rem;font-size:.75rem; }
.upload-zone--button { width:100%; padding:1rem; color:var(--ink); font:inherit; appearance:none; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.upload-zone--button:hover, .upload-zone--button:focus-visible, .upload-zone--button.is-dragover { border-color:var(--brand); background:rgb(0 127 149 / 10%); outline:0; transform:translateY(-1px); }
.upload-zone--button > b { margin-top:.35rem; padding:.5rem .9rem; border-radius:11px; color:#fff; background:var(--brand); font-size:.76rem; font-weight:850; box-shadow:0 5px 14px rgb(0 127 149 / 20%); }
.ocr-output { margin-top:1rem; padding:1rem; border-radius:18px; background:var(--surface); }.ocr-output textarea { width:100%; padding:.8rem; border:1px solid rgb(32 34 38 / 12%); border-radius:13px; background:#f9f9f8; }
.field-hint { display:block; margin-top:.35rem; color:var(--muted); font-size:.72rem; }
.people-picker { overflow:hidden; border:1px solid #ced4da; border-radius:16px; background:#fff; }
.people-picker:focus-within { border-color:#86b7fe; box-shadow:0 0 0 .25rem rgb(13 110 253 / 15%); }
.people-picker__search { display:grid; grid-template-columns:26px minmax(0,1fr) auto; align-items:center; gap:.35rem; padding:.45rem .6rem; border-bottom:1px solid rgb(32 34 38 / 8%); background:#f7f8f8; }
.people-picker__search > span { color:var(--muted); font-size:1.15rem; text-align:center; }
.people-picker__search input { min-height:44px; border:0; background:transparent; box-shadow:none !important; }
.people-picker__search output { padding:.28rem .5rem; border-radius:8px; color:var(--brand-dark); background:rgb(0 127 149 / 9%); font-size:.68rem; font-weight:800; white-space:nowrap; }
.people-picker__list { display:grid; max-height:320px; overflow-y:auto; overscroll-behavior:contain; padding:.4rem; }
.people-picker__person { position:relative; display:grid; min-height:58px; grid-template-columns:42px minmax(0,1fr) 32px; align-items:center; gap:.65rem; margin:0; padding:.45rem .55rem; border-radius:12px; cursor:pointer; }
.people-picker__person:hover { background:rgb(0 127 149 / 5%); }
.people-picker__person input { position:absolute; width:1px; height:1px; opacity:0; }
.people-picker__avatar { display:grid; width:40px; height:40px; place-items:center; border-radius:12px; color:var(--brand-dark); background:rgb(0 127 149 / 10%); font-size:.85rem; font-weight:850; }
.people-picker__name { min-width:0; overflow:hidden; color:var(--ink); font-size:.78rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.people-picker__check { display:grid; width:28px; height:28px; place-items:center; border:2px solid #cbd2d5; border-radius:9px; color:transparent; font-weight:900; }
.people-picker__person input:checked ~ .people-picker__avatar { color:#fff; background:var(--brand); }
.people-picker__person input:checked ~ .people-picker__check { color:#fff; border-color:var(--brand); background:var(--brand); }
.people-picker__person:has(input:checked) { background:rgb(0 127 149 / 7%); }
.people-picker__person:has(input:focus-visible) { outline:3px solid rgb(0 127 149 / 25%); outline-offset:-2px; }
.people-picker__empty { margin:.8rem; color:var(--muted); font-size:.78rem; text-align:center; }
.alarm-panel, .attachment-panel { display:grid; gap:.65rem; margin:0; padding:.85rem; border:1px solid rgb(32 34 38 / 8%); border-radius:17px; background:rgb(0 127 149 / 4%); }
.alarm-panel legend, .attachment-panel legend { float:none; width:auto; margin:0; color:var(--brand-dark); font-size:.9rem; font-weight:850; }
.alarm-panel > p { margin:-.25rem 0 .15rem; color:var(--muted); font-size:.72rem; }
.alarm-row { display:grid; grid-template-columns:34px minmax(82px,.55fr) 1fr; align-items:center; gap:.5rem; }
.alarm-row > span { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; color:#fff; background:var(--brand); font-size:.75rem; font-weight:850; }
.rich-editor { overflow:hidden; border:1px solid #ced4da; border-radius:.5rem; background:#fff; }
.rich-editor:focus-within { border-color:#86b7fe; box-shadow:0 0 0 .25rem rgb(13 110 253 / 25%); }
.rich-editor__toolbar { display:flex; flex-wrap:wrap; gap:.3rem; padding:.45rem; border-bottom:1px solid rgb(32 34 38 / 9%); background:#f6f7f7; }
.rich-editor__toolbar button { min-width:42px; min-height:40px; padding:.35rem .55rem; border:1px solid rgb(32 34 38 / 12%); border-radius:9px; color:var(--ink); background:#fff; }
.rich-editor__surface, .rich-editor__source { width:100%; min-height:180px; padding:.85rem; border:0; outline:0; line-height:1.5; }
.rich-editor__surface:empty::before { content: attr(aria-label); color: #91969b; pointer-events: none; }
.rich-editor__surface a { color: var(--brand); text-decoration: underline; }
.rich-editor__surface p:last-child { margin-bottom: 0; }
.rich-editor__source { display:none; resize:vertical; color:#d8f6ff; background:#172b32; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.8rem; }
.rich-editor__hint { display:block; padding:.42rem .7rem; border-top:1px solid rgb(32 34 38 / 7%); color:var(--muted); background:#fafafa; font-size:.65rem; }
.upload-zone--compact { min-height:130px; }
.upload-progress { padding:.65rem .75rem; border-radius:11px; color:var(--brand-dark); background:rgb(0 127 149 / 9%); font-size:.75rem; font-weight:750; }
.upload-progress.is-error { color:#9c3441; background:#fde6e9; }
.attachment-list { display:grid; gap:.5rem; }
.attachment-list:empty { display:none; }
.attachment-file { display:grid; min-height:68px; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:.6rem; padding:.55rem; border:1px solid rgb(32 34 38 / 7%); border-radius:13px; background:#fff; }
.attachment-file__type { display:grid; width:40px; height:40px; place-items:center; overflow:hidden; border-radius:10px; color:#fff; background:var(--brand); font-size:.58rem; font-weight:900; text-transform:uppercase; }
.attachment-file__info { display:grid; min-width:0; gap:.1rem; }
.attachment-file__info strong { overflow:hidden; font-size:.8rem; text-overflow:ellipsis; white-space:nowrap; }
.attachment-file__info small { overflow:hidden; color:var(--muted); font-size:.64rem; text-overflow:ellipsis; white-space:nowrap; }
.attachment-file__actions { display:flex; gap:.28rem; }
.attachment-file__actions a, .attachment-file__actions button { display:grid; width:34px; height:34px; place-items:center; border:0; border-radius:9px; color:var(--brand-dark); background:rgb(0 127 149 / 9%); font-size:1rem; font-weight:850; line-height:1; text-decoration:none; }
.attachment-file__actions button { color:#a83d49; background:#fde7ea; }
.attachment-file__actions a:hover, .attachment-file__actions button:hover { filter:brightness(.96); transform:translateY(-1px); }
.attachment-list--comments { margin-top:.55rem; padding-top:.55rem; border-top:1px solid rgb(32 34 38 / 7%); }
.attached-files { display:grid; gap:.4rem; padding-top:.35rem; }
.attached-files a { display:grid; min-height:58px; grid-template-columns:40px 1fr auto; align-items:center; gap:.55rem; padding:.5rem; border-radius:12px; color:var(--ink); background:#fff; text-decoration:none; }
.attached-files a > span { display:grid; width:38px; height:38px; place-items:center; border-radius:10px; color:#fff; background:var(--brand); font-size:.6rem; font-weight:850; }
.attached-files a > div { display:grid; min-width:0; }.attached-files strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.8rem; }.attached-files small { color:var(--muted); font-size:.65rem; }
.attached-files--comments { margin-top:.55rem; border-top:1px solid rgb(32 34 38 / 7%); }
.expense-metrics article { min-width: 0; }
.mobile-bar-chart { display: grid; gap: .7rem; margin-top: 1rem; }
.mobile-bar-chart__row { display: grid; grid-template-columns: 2.4rem 1fr; gap: .65rem; align-items: center; font-size: .82rem; }
.mobile-bar-chart__bars { display: grid; gap: 3px; }
.mobile-bar-chart__bars i { display: block; min-width: 2px; height: 7px; border-radius: 999px; }
.mobile-bar-chart .is-expense, .chart-legend .is-expense::before { background: #d45a5a; }
.mobile-bar-chart .is-income, .chart-legend .is-income::before { background: var(--brand); }
.mobile-bar-chart .is-investment, .chart-legend .is-investment::before { background: #d3a83e; }
.chart-legend { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; font-size: .82rem; }
.chart-legend span::before { content: ""; display: inline-block; width: .7rem; height: .7rem; border-radius: 50%; margin-right: .35rem; }
.management-editor { margin-bottom: .85rem; }
.management-editor summary { cursor: pointer; font-size: 1.05rem; }
.management-list { display: grid; gap: .65rem; }
.management-list article { display: grid; gap: .2rem; padding: .9rem 1rem; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); }
.management-list span { color: var(--muted); overflow-wrap: anywhere; }
@media (max-width: 430px) {
  .app-content { padding-right: .8rem; padding-left: .8rem; }
  .kpi-card { min-height: 104px; padding: .72rem; }
  .form-split { grid-template-columns: 1fr; }
  .mobile-datetime-picker { grid-template-columns:minmax(0,1fr) minmax(108px,.72fr); }
  .document-filters { grid-template-columns:1fr; }
  .document-filters__wide { grid-column:auto; }
}
@media (max-width: 350px) {
  .entity-links { grid-template-columns:1fr; }
}
@media (min-width: 700px) {
  .app-content { padding-top: 2rem; }
  .auth-card, .form-card { padding: 2rem; }
}
.view-switch{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.3rem;margin:0 0 .85rem;background:#eef2f6;border-radius:14px}.view-switch a{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem;border-radius:11px;color:#536173;font-weight:700;text-decoration:none}.view-switch a.active{background:#fff;color:var(--brand,#3459d9);box-shadow:0 2px 10px rgba(15,23,42,.08)}
.mobile-calendar{overflow:hidden;background:#fff;border:1px solid #e5eaf0;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.mobile-calendar__weekdays,.mobile-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.mobile-calendar__weekdays{padding:.7rem .35rem .45rem;background:#f8fafc;color:#718096;text-align:center;font-size:.7rem;font-weight:800;text-transform:uppercase}.mobile-calendar__day{min-height:88px;padding:.35rem;border-top:1px solid #edf1f5;border-right:1px solid #edf1f5;overflow:hidden}.mobile-calendar__day:nth-child(7n){border-right:0}.mobile-calendar__day.is-empty{background:#f9fbfd}.mobile-calendar__day>b{display:flex;width:1.65rem;height:1.65rem;align-items:center;justify-content:center;margin-bottom:.2rem;border-radius:50%;font-size:.78rem}.mobile-calendar__day.is-today>b{background:var(--brand,#3459d9);color:#fff}.mobile-calendar__day.is-holiday{background:#fff7f5}.calendar-event{display:block;margin:.18rem 0;padding:.2rem .3rem;border-radius:6px;background:#e8f0ff;color:#284ca8;font-size:.65rem;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.calendar-event.status-100{background:#e4f7ee;color:#16744a}.calendar-event.status-200,.calendar-event.holiday{background:#fee9e7;color:#a6352d}
@media(max-width:520px){.mobile-calendar__day{min-height:68px;padding:.2rem}.mobile-calendar__day>b{width:1.35rem;height:1.35rem;font-size:.7rem}.calendar-event{padding:.15rem .2rem;font-size:.58rem}}
.management-form-actions{display:flex;gap:.65rem}.management-section{margin-top:1.5rem}.management-section h2{display:flex;align-items:center;gap:.5rem}.management-section h2 small{display:grid;min-width:1.6rem;height:1.6rem;place-items:center;border-radius:50%;background:#eaf0f6;color:#526071;font-size:.7rem}.management-list{display:grid;gap:.65rem}.management-list article{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem;background:#fff;border:1px solid #e7ebef;border-radius:15px}.management-list article>div:first-child{display:grid;min-width:0;gap:.2rem}.management-list article span,.management-list article small{overflow:hidden;color:#6c7886;font-size:.76rem;text-overflow:ellipsis}.item-actions{display:flex;align-items:center;gap:.45rem;flex:0 0 auto}.item-actions form{margin:0}.item-actions a,.item-actions button{display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:12px;background:#eef3f7;color:#365067;text-decoration:none;font-size:1.05rem}.item-actions button{background:#fff0ee;color:#b63e34}.form-hint{padding:.8rem;border-radius:12px;background:#f3f7fa;color:#647383;font-size:.8rem}
.expense-metrics .is-positive strong,.monthly-table .positive{color:#15704a}.expense-metrics .is-negative strong,.monthly-table .negative{color:#b23b32}.expense-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.expense-donut-card{display:flex;align-items:center;gap:1.1rem}.expense-donut{display:grid;width:130px;aspect-ratio:1;flex:0 0 auto;place-items:center;border-radius:50%;background:conic-gradient(#ec665a 0 var(--expense-share),#6d79df var(--expense-share) 100%)}.expense-donut:before{content:"";grid-area:1/1;width:86px;aspect-ratio:1;border-radius:50%;background:#fff}.expense-donut span{z-index:1;grid-area:1/1;display:grid;text-align:center}.expense-donut small{color:#77818d}.expense-donut-card p{display:flex;align-items:center;gap:.4rem;margin:.4rem 0;color:#66717d;font-size:.76rem}.expense-donut-card p strong{margin-left:auto;color:#263342}.dot{width:.65rem;height:.65rem;border-radius:50%}.dot.expense{background:#ec665a}.dot.investment{background:#6d79df}.balance-chart svg{width:100%;height:190px;overflow:visible}.balance-chart line{stroke:#dfe6ec;stroke-width:2}.balance-chart polyline{fill:none;stroke:#2c7285;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.balance-chart circle{fill:#fff;stroke:#2c7285;stroke-width:4}.balance-chart__range{display:flex;justify-content:space-between;color:#7a8792;font-size:.7rem}.monthly-table{display:grid}.monthly-table article{display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-items:center;gap:.5rem;padding:.75rem 0;border-top:1px solid #edf0f3;font-size:.78rem}.monthly-table article span{display:grid}.monthly-table article small{color:#85909b;font-size:.65rem}.monthly-table article b{text-align:right}@media(max-width:720px){.expense-insights{grid-template-columns:1fr}.expense-donut{width:110px}.monthly-table article{grid-template-columns:1fr 1fr}.monthly-table article>b{text-align:left}}
.portfolio-hero__comparison{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1rem}.portfolio-hero__comparison span{display:grid;padding:.75rem;border-radius:13px;background:#fff;color:#51606f}.portfolio-hero__comparison span small{color:#71808e}.portfolio-hero__comparison b{font-size:2rem;color:#253442}.portfolio-hero__comparison .is-loss b{color:#b23b32}.portfolio-hero__comparison .is-gain b{color:#15704a}.portfolio-allocation{margin:1rem 0}.portfolio-allocation>div{display:grid;gap:.25rem;margin:.65rem 0}.portfolio-allocation span{display:flex;justify-content:space-between;font-size:.76rem}.portfolio-allocation i{height:9px;overflow:hidden;border-radius:9px;background:#edf1f5}.portfolio-allocation i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d7185,#61a9b6)}
.converter-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:.5rem}.converter-pair label{display:grid;gap:.35rem}.converter-pair button{width:44px;height:44px;margin-bottom:.1rem;border:0;border-radius:12px;background:#e8f0f3;color:#225e70;font-size:1.2rem}.currency-converter>small{display:block;margin-top:.35rem;color:#788591}.currency-list .rate-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center}.currency-list .rate-card>div{display:grid}.currency-list .rate-card>div:last-child{text-align:right}.currency-list small{color:#7a8590}.currency-symbol{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:#edf4f6;color:#245f70;font-weight:850}
.fuel-view-switch button{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem;border:0;border-radius:11px;background:transparent;color:#536173;font-weight:700}.fuel-view-switch button.active{background:#fff;color:var(--brand,#3459d9);box-shadow:0 2px 10px rgba(15,23,42,.08)}.fuel-map-note button{margin-left:auto;padding:.55rem .75rem;border:0;border-radius:10px;background:#eaf2f4;color:#245f70;font-size:.74rem;font-weight:800}.fuel-station-list{display:grid;gap:.75rem}.fuel-station-card{padding:1rem;border:1px solid #e3e9ee;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.04)}.fuel-station-card header,.fuel-station-card footer{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.fuel-station-card header>div{display:grid}.fuel-station-card header small,.fuel-station-card footer{color:#77838e;font-size:.7rem}.fuel-station-card__prices{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.8rem 0}.fuel-station-card__prices span{display:grid;padding:.55rem;border-radius:11px;background:#f2f6f8}.fuel-station-card__prices small{color:#70808c;font-size:.65rem}.fuel-station-card__prices b{font-size:.86rem}
.mobile-calendar__day.is-weekday-holiday{background:#effaf4}.mobile-calendar__day.is-weekend-holiday{background:#fff0ee}.calendar-event.holiday.workday-free{background:#dff5e9;color:#116b43}.calendar-event.holiday.weekend-free{background:#f8d4cf;color:#98281f}.calendar-event.holiday.observance{display:block;width:fit-content;max-width:100%;padding:.2rem .3rem;background:#fee3df;color:#a52f27;white-space:normal}

.legal-page{display:grid;gap:1rem}.legal-page__hero{padding:1.35rem;border-radius:22px;color:#fff;background:linear-gradient(135deg,var(--brand-dark),var(--brand));box-shadow:0 12px 32px rgb(0 87 102 / 16%)}.legal-page__hero .eyebrow{color:rgb(255 255 255 / 72%)}.legal-page__hero h1{margin:.3rem 0 .4rem;font-size:clamp(1.8rem,7vw,2.6rem)}.legal-page__hero p{max-width:42rem;margin:0;color:rgb(255 255 255 / 80%)}.legal-page__links{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.3rem;border-radius:15px;background:#eaf0f2}.legal-page__links a{display:flex;min-height:46px;align-items:center;justify-content:center;padding:.55rem;border-radius:12px;color:#56656d;font-size:.78rem;font-weight:800;text-align:center;text-decoration:none}.legal-page__links a.active{color:var(--brand-dark);background:#fff;box-shadow:0 4px 14px rgb(0 87 102 / 9%)}.legal-page__body{padding:1.1rem;border:1px solid rgb(32 34 38 / 7%);border-radius:20px;background:var(--surface);box-shadow:0 8px 26px rgb(42 35 37 / 5%)}.legal-document{color:#34434a;font-size:.91rem;line-height:1.65}.legal-document>p:first-child{margin:0 0 1.2rem;padding:.75rem .85rem;border-radius:12px;color:var(--brand-dark);background:rgb(0 127 149 / 8%)}.legal-document h3{margin:1.55rem 0 .55rem;color:#162b33;font-size:1.08rem;line-height:1.35}.legal-document p{margin:.35rem 0 .8rem}.legal-document ul{display:grid;gap:.45rem;margin:.45rem 0 1rem;padding-left:1.25rem}.legal-document a{color:var(--brand);font-weight:720;text-underline-offset:2px}.legal-document b{color:#1d333b}@media(min-width:700px){.legal-page__hero{padding:2rem}.legal-page__body{padding:2rem}.legal-document{font-size:.98rem}}

.document-list-hint{margin:.25rem .15rem .75rem;color:#65747c;font-size:.88rem}.document-record-list{display:grid;gap:.8rem}.document-record{overflow:hidden;border:1px solid #e0e8eb;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(0,87,102,.07)}.document-record__main{display:grid;grid-template-columns:3.25rem minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:1rem;color:inherit;text-decoration:none}.document-record__main:active{background:#f1f7f8}.document-record__icon{display:grid;width:3.25rem;height:3.25rem;place-items:center;border-radius:14px;background:#e7f2f4;color:#005766;font-size:.72rem;font-weight:900;letter-spacing:.04em}.document-record__icon--signed{background:#e2f6ea;color:#147446;font-size:1.2rem}.document-record__content{display:flex;min-width:0;flex-direction:column;gap:.18rem}.document-record__content>small{color:#68777e;font-size:.76rem}.document-record__content>strong{overflow:hidden;color:#15252b;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.document-record__content>span:not(.tag-row):not(.invoice-status){color:#65747c;font-size:.78rem}.document-record__amount{align-self:start;color:#005766;font-size:.92rem;white-space:nowrap}.document-record__actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e8eef0}.document-record__actions a{padding:.7rem;text-align:center;color:#005766;font-size:.8rem;font-weight:800;text-decoration:none}.document-record__actions a+a{border-left:1px solid #e8eef0}.document-record__actions a:active{background:#edf5f6}

.upload-zone--interactive{width:100%;border:2px dashed #b7cbd0;background:#f6fafb;text-align:center}.upload-zone--interactive:active{border-color:#005766;background:#edf6f7}.upload-zone__mark{display:grid!important;width:3rem;height:3rem;place-items:center;margin:0 auto .55rem!important;border-radius:50%;background:#dcecef;color:#005766;font-size:1.5rem}.ocr-file-list{display:grid;gap:.45rem}.ocr-file-list>span{display:grid;grid-template-columns:1.8rem minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.55rem .65rem;border-radius:12px;background:#f0f5f6}.ocr-file-list b{display:grid;width:1.7rem;height:1.7rem;place-items:center;border-radius:8px;background:#fff;color:#005766;font-size:.75rem}.ocr-file-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ocr-file-list small{color:#68777e}.ocr-progress{display:grid;gap:.8rem;padding:1rem;border-radius:16px;background:linear-gradient(135deg,#edf7f8,#f8fbfb)}.ocr-progress__brand{display:flex;align-items:center;gap:.8rem}.ocr-progress__brand>span{display:grid;width:3.4rem;height:3.4rem;place-items:center;border-radius:50%;background:#fff;box-shadow:0 5px 18px rgba(0,87,102,.14);animation:ocrPulse 1.35s ease-in-out infinite}.ocr-progress__brand img{width:2.3rem;height:2.3rem;object-fit:contain}.ocr-progress__brand div{display:flex;flex-direction:column}.ocr-progress__brand small{color:#65747c}.ocr-progress .progress{height:.85rem;border-radius:999px;background:#d9e8eb}.ocr-progress .progress-bar{border-radius:999px;background:linear-gradient(90deg,#005766,#20a080);font-size:.65rem;font-weight:800;transition:width .4s ease}@keyframes ocrPulse{0%,100%{transform:scale(.94) rotate(-2deg)}50%{transform:scale(1.06) rotate(2deg)}}@media(max-width:520px){.document-record__main{grid-template-columns:2.8rem minmax(0,1fr);padding:.85rem}.document-record__icon{width:2.8rem;height:2.8rem}.document-record__amount{grid-column:2}.document-record__actions a{font-size:.76rem}}

/* Public sales and registration experience */
.landing-content { max-width: 1180px; padding-bottom: 2rem; }
.landing-page { display: grid; gap: clamp(3rem, 8vw, 6rem); }
.landing-hero {
  position: relative;
  display: grid;
  min-height: 590px;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
  padding: clamp(2rem, 6vw, 5rem);
  overflow: hidden;
  border-radius: 32px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 12%, rgb(99 224 230 / 34%), transparent 30%),
    linear-gradient(135deg, #004d5a 0%, var(--brand) 58%, #00a7b2 100%);
  box-shadow: 0 28px 70px rgb(0 87 102 / 20%);
}
.landing-hero::before { position:absolute; right:-12%; bottom:-45%; width:520px; height:520px; border:1px solid rgb(255 255 255 / 18%); border-radius:50%; content:""; }
.landing-hero__copy { position: relative; z-index: 2; }
.landing-kicker { display:inline-flex; padding:.42rem .72rem; border:1px solid rgb(255 255 255 / 28%); border-radius:999px; background:rgb(255 255 255 / 10%); font-size:.74rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.landing-hero h1 { max-width: 720px; margin:1rem 0; color:#fff; font-size:clamp(2.65rem,7vw,5.3rem); line-height:.96; }
.landing-hero__copy > p { max-width: 610px; margin:0; color:rgb(255 255 255 / 82%); font-size:clamp(1rem,2vw,1.25rem); line-height:1.55; }
.landing-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:2rem; }
.landing-actions .btn, .landing-cta .btn { padding:.8rem 1.15rem; color:var(--brand-dark); border:0; border-radius:14px; font-weight:850; box-shadow:0 10px 25px rgb(0 57 67 / 18%); }
.landing-signin { color:#fff; font-weight:750; text-underline-offset:4px; }
.landing-trust { display:flex; flex-wrap:wrap; gap:.65rem 1.1rem; margin:1.5rem 0 0; padding:0; color:rgb(255 255 255 / 72%); font-size:.75rem; list-style:none; }
.landing-trust li::before { margin-right:.35rem; color:#9ff4dc; content:"✓"; font-weight:900; }
.landing-hero__visual { position:relative; display:grid; min-height:380px; place-items:center; }
.landing-hero__visual > img { position:relative; z-index:2; width:min(100%,360px); border-radius:34%; filter:drop-shadow(0 28px 28px rgb(0 44 52 / 22%)); mix-blend-mode:screen; }
.hero-orbit { position:absolute; border:1px solid rgb(255 255 255 / 25%); border-radius:50%; }
.hero-orbit--one { width:360px; height:360px; }
.hero-orbit--two { width:280px; height:280px; border-style:dashed; transform:rotate(18deg); }
.hero-float { position:absolute; z-index:3; display:flex; align-items:center; gap:.65rem; padding:.65rem .85rem; border:1px solid rgb(255 255 255 / 25%); border-radius:14px; color:#16434b; background:rgb(255 255 255 / 91%); box-shadow:0 14px 32px rgb(0 48 56 / 16%); font-size:.72rem; font-weight:800; backdrop-filter:blur(10px); }
.hero-float strong { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; color:#fff; background:var(--brand); font-size:1rem; }
.hero-float--top { top:10%; right:0; }
.hero-float--bottom { bottom:12%; left:0; }
.landing-proof { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; border:1px solid var(--border); border-radius:22px; background:var(--border); box-shadow:0 14px 38px rgb(42 35 37 / 6%); }
.landing-proof div { display:grid; gap:.15rem; padding:1.25rem; background:#fff; text-align:center; }
.landing-proof strong { color:var(--brand-dark); font-size:clamp(1.5rem,4vw,2.25rem); }
.landing-proof span { color:var(--muted); font-size:.76rem; }
.landing-section { display:grid; gap:2rem; }
.landing-section__heading { max-width:720px; margin:0 auto; text-align:center; }
.landing-section__heading h2, .landing-value h2 { margin:.55rem 0 .7rem; font-size:clamp(2rem,5vw,3.3rem); line-height:1.05; }
.landing-section__heading p, .landing-value p { color:var(--muted); font-size:1rem; line-height:1.6; }
.feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.feature-card { display:grid; grid-template-columns:108px minmax(0,1fr); align-content:start; gap:.15rem 1rem; padding:1.35rem; border:1px solid var(--border); border-radius:24px; background:#fff; box-shadow:0 12px 34px rgb(42 35 37 / 5%); }
.feature-card img { width:108px; height:108px; grid-row:1/5; object-fit:contain; border-radius:22px; background:#f4fafb; }
.feature-card span { color:var(--brand); font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.feature-card h3 { margin:.25rem 0; color:#193139; font-size:1.15rem; }
.feature-card p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.5; }
.feature-card--wide { grid-column:1/-1; grid-template-columns:160px minmax(0,1fr); align-items:center; padding:1.6rem; background:linear-gradient(120deg,#edf9fa,#fff); }
.feature-card--wide img { width:160px; height:160px; }
.feature-card--wide h3 { font-size:clamp(1.35rem,3vw,2rem); }
.feature-card--wide p { max-width:670px; font-size:.9rem; }
.landing-value { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:3rem; padding:clamp(1.5rem,5vw,3.5rem); border-radius:28px; background:#e8f5f6; }
.landing-value ul { display:grid; gap:.75rem; margin:0; padding:0; list-style:none; }
.landing-value li { display:flex; align-items:center; gap:.75rem; padding:.8rem; border-radius:14px; background:rgb(255 255 255 / 72%); color:#29454d; font-weight:750; }
.landing-value li span { display:grid; width:30px; height:30px; flex:none; place-items:center; border-radius:9px; color:#fff; background:var(--brand); }
.landing-cta { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:1.25rem; padding:clamp(1.5rem,4vw,2.5rem); border-radius:28px; color:#fff; background:linear-gradient(120deg,var(--brand-dark),var(--brand)); }
.landing-cta img { width:64px; height:64px; padding:.55rem; border-radius:18px; background:#fff; }
.landing-cta span { color:rgb(255 255 255 / 70%); font-size:.76rem; font-weight:800; }
.landing-cta h2 { margin:.25rem 0 0; color:#fff; font-size:clamp(1.35rem,3.5vw,2.2rem); }
.landing-cta .btn span { color:inherit; font-size:inherit; }
.registration-consent { display:flex; align-items:flex-start; gap:.6rem; color:var(--muted); font-size:.78rem; line-height:1.45; }
.registration-consent input { flex:none; margin-top:.16rem; }
.registration-consent a { color:var(--brand-dark); font-weight:750; }
.auth-card--confirmation { max-width:500px; }
.confirmation-mark { display:grid; width:72px; height:72px; margin:0 auto 1rem; place-items:center; border-radius:22px; color:#fff; background:linear-gradient(135deg,var(--brand-dark),var(--brand)); font-size:2rem; box-shadow:0 14px 30px rgb(0 87 102 / 18%); }
.public-footer { flex-wrap:wrap; align-items:center; }
.public-footer__account { color:var(--brand-dark) !important; font-weight:850; }
@media (max-width: 800px) {
  .landing-hero { min-height:0; grid-template-columns:1fr; padding:2rem 1.35rem; }
  .landing-hero__visual { min-height:290px; }
  .landing-hero__visual > img { width:270px; }
  .hero-orbit--one { width:280px; height:280px; }
  .hero-orbit--two { width:220px; height:220px; }
  .landing-value { grid-template-columns:1fr; gap:1.5rem; }
  .landing-cta { grid-template-columns:52px minmax(0,1fr); }
  .landing-cta img { width:52px; height:52px; }
  .landing-cta .btn { grid-column:1/-1; }
}
@media (max-width: 560px) {
  .landing-content { padding-right:.65rem; padding-left:.65rem; }
  .landing-page { gap:3.25rem; }
  .landing-hero { border-radius:24px; }
  .landing-hero h1 { font-size:clamp(2.55rem,14vw,4rem); }
  .landing-hero__copy > p { font-size:.96rem; }
  .landing-actions { align-items:stretch; flex-direction:column; }
  .landing-actions .btn, .landing-signin { text-align:center; }
  .landing-proof { grid-template-columns:1fr; }
  .feature-grid { grid-template-columns:1fr; }
  .feature-card, .feature-card--wide { grid-column:auto; grid-template-columns:82px minmax(0,1fr); padding:1rem; border-radius:19px; }
  .feature-card img, .feature-card--wide img { width:82px; height:82px; }
  .feature-card--wide h3 { font-size:1.15rem; }
  .feature-card--wide p { font-size:.82rem; }
  .landing-value, .landing-cta { border-radius:22px; }
}
