/* v0.38.0: one tidy style. Loaded after every older layer so corners, spacing, buttons,
   fields and labels match on every page. Components with a deliberate shape (task ticks,
   the phone toolbar, round avatars) keep their own rules, which are more specific. */
:root{
  --tidy-radius:16px;         /* cards and panels */
  --tidy-radius-inner:12px;   /* boxes inside a card */
  --tidy-radius-control:10px; /* buttons and fields */
  --tidy-control:42px;        /* standard button and field height */
  --tidy-control-small:36px;
  --tidy-gap:18px;
  --tidy-pad:20px;
  --tidy-shadow:0 1px 2px #18332b0d,0 8px 22px #18332b10;
  --tidy-shadow-hover:0 3px 6px #18332b14,0 14px 30px #18332b18;
  --hub-radius:var(--tidy-radius);
  --hub-shadow:var(--tidy-shadow);
  --hub-shadow-hover:var(--tidy-shadow-hover);
}

/* Cards and panels: one corner, one border, one shadow, one inner padding. */
.panel,.card,.loan-card,.funding-card,.link-tile,.property-tile,.research-stat,.rental-register,
.search-brief,.featured-opportunity,.research-status,.plain-words,.today-line,.review-banner,
.insight-summary-link,.dashboard-opportunity,.balance-hero,.money-bank,.research-hero{
  border-radius:var(--tidy-radius)}
.panel,.card,.loan-card,.link-tile,.property-tile,.research-stat,.rental-register{box-shadow:var(--tidy-shadow)}
.panel{padding:var(--tidy-pad);margin-bottom:var(--tidy-gap)}
.panel>h2,.panel>.section-heading h2,.card>h2{font-size:19px;line-height:1.3;font-weight:760;letter-spacing:-.02em}
.panel>h2{margin-bottom:12px}
.panel h3{font-size:16px;line-height:1.35}

/* Boxes inside a card. */
.report-summary>div,.opportunity-figures>div,.property-keyline>span,.research-stat>span,.totals .emphasis,
.scenario,.search-brief-grid>div,.rental-type-field,.loan-total,.research-more-stats dl,.funding-card .card,
.notice{border-radius:var(--tidy-radius-inner)}

/* Buttons: one height, one corner, one weight. Secondary buttons match the primary size. */
.button,button{min-height:var(--tidy-control);border-radius:var(--tidy-radius-control);font-size:14px;
  font-weight:700;line-height:1.25;padding:9px 16px;box-shadow:0 1px 2px #174d3d14}
.button:hover,button:hover{box-shadow:0 3px 8px #174d3d1f}
.secondary,.quiet{box-shadow:none}
.property-tile-actions .button,.loan-card .button,.loan-card button,.actions .button.small,.button.small,button.small{
  min-height:var(--tidy-control-small);padding:7px 12px;font-size:13px}
.actions,.property-links{gap:10px}

/* Fields. */
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea{
  border-radius:var(--tidy-radius-control)}
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select{min-height:44px}
label{font-weight:650}

/* Labels and chips. */
.badge,.status-good,.status-warning,.new-marker,.rent-support{border-radius:999px}
.badge{font-size:12px;padding:3px 10px;line-height:1.5}

/* Tabs and segment links share the button corner. */
.section-tabs a,.research-primary a,.rental-views a,.research-tools a,.research-footer-links a,
.search-settings-shortcut a,.quick-actions a,.report-jumps a{border-radius:var(--tidy-radius-control)}

/* Page headings line up the same way everywhere. */
.page-heading h1,.research-heading h1{letter-spacing:-.035em}
.eyebrow,.card-label{font-size:11px;letter-spacing:.085em}

/* Hover lift: the same small movement on every clickable card. */
:where(a.link-tile,a.research-stat,a.insight-summary-link,a.card-action,.hub-quick-actions a,.loan-card):hover{
  transform:translateY(-2px);box-shadow:var(--tidy-shadow-hover)}

@media(max-width:620px){
  :root{--tidy-pad:16px;--tidy-gap:14px;--tidy-radius:14px}
  .panel>h2,.panel>.section-heading h2,.card>h2{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
  :where(a.link-tile,a.research-stat,a.insight-summary-link,a.card-action,.hub-quick-actions a,.loan-card):hover{transform:none}
}
@media print{.panel,.card{box-shadow:none}}

/* Buttons with their own fixed shape keep it. */
.task-tick{min-height:0;padding:0;box-shadow:none}
.signout{min-height:0;box-shadow:none}

/* The house filter chips sit on the page, not on a white strip (an old rule gave every nav a white band). */
.research-subnav{background:transparent;border-bottom:0}
/* Very narrow phones: the header keeps the house icon, search and appearance; the name would wrap to three lines. */
@media(max-width:379px){.workspace-title>span:last-child{display:none}}
