/* DSVT Analytics 1.2 — Compact Premium. Presentation-only overrides.
   Approximately 15–25% denser on desktop. Forms remain comfortably tappable on mobile. */
@media (min-width: 951px) {
  .sidebar { width: 222px; flex-basis: 222px; padding: 20px 12px 14px; }
  .logo span { font-size: 27px; }
  .logo small { font-size: 11px; letter-spacing: 3px; margin-top: 5px; }
  .logo-tagline { margin-top: 9px; margin-bottom: 32px; font-size: 9px; letter-spacing: 1.6px; }
  .main-nav,.sidebar nav { gap: 3px; }
  .nav-link { padding: 9px 10px; gap: 10px; border-radius: 9px; font-size: 12px; min-height: 39px; }
  .nav-link span { font-size: 18px; width: 18px; }
  .side-label { margin: 0 9px 8px; font-size: 9px; }
  .bottom-group { margin-top: 23px; }
  .side-hint { padding: 10px; gap: 8px; font-size: 11px; border-radius: 10px; }
  .sidebar-bottom { padding: 9px; border-radius: 11px; }
  .user-avatar { width: 30px; height: 30px; }
  .topbar { height: 54px; padding-inline: 23px; font-size: 12px; }
  .content { max-width: 1650px; padding: 21px 23px 45px; }
}

/* Global typography, spacing and geometry */
.page-heading { margin-bottom: 16px; gap: 12px; }
.page-heading h1 { font-size: clamp(26px,2vw,31px); margin-bottom: 3px; letter-spacing: -.9px; }
.page-heading p { font-size: 12px; }
.eyebrow { font-size: 9px; margin-bottom: 5px; letter-spacing: 1.9px; }
.btn { padding: 9px 13px; border-radius: 9px; font-size: 12px; }
.status-chip { padding: 5px 10px; }
.kpi-grid { gap: 9px; margin-bottom: 10px; }
.kpi-grid.kpi-six { gap: 9px; margin-bottom: 10px; }
.kpi { min-height: 85px; padding: 11px 12px; border-radius: 11px; }
.kpi-label { font-size: 10px; }
.kpi-value { font-size: 23px; margin: 7px 0 2px; letter-spacing: -.5px; }
.kpi small { font-size: 10px; }
.dashboard-grid,.overview-main-grid,.overview-bottom-grid { gap: 10px; margin-bottom: 10px; }
.overview-right { gap: 10px; }
.panel { padding: 15px; border-radius: 12px; }
.overview-right>.panel { padding: 14px; }
.panel-head { margin-bottom: 12px; }
.panel-head h2 { font-size: 14px; margin-bottom: 3px; }
.panel-head small { font-size: 10px; }
.tag { font-size: 9px; padding: 4px 7px; border-radius: 7px; }
.chart-container { height: 211px; }
.overview-main-grid>.panel { min-height: 254px; }
.overview-bottom-grid>.panel { min-height: 208px; }
.cal-grid { gap: 3px; }
.cal-cell,.calendar-panel .cal-cell { min-height: 31px; padding: 3px 1px; font-size: 10px; }
.cal-label { font-size: 9px; margin-bottom: 2px; }
.cal-pnl { font-size: 9px; }
.detail-row { padding: 6px 0; font-size: 11px; }
.detail-row strong { font-size: 11px; }
.focus-item { padding: 7px 0; font-size: 11px; }
.action-grid { gap: 7px; }
.action-grid button { min-height: 67px; padding: 8px 10px; border-radius: 9px; gap: 4px; }
.action-grid b { font-size: 18px; }
.action-grid small { font-size: 10px; }
.table-scroll th,th,.trades-card th { padding: 8px 8px; font-size: 10px; letter-spacing: .5px; }
.table-scroll td,td,.trades-card td { padding: 9px 8px; font-size: 11px; }
.notice { padding: 10px 12px; margin-bottom: 12px; border-radius: 9px; }
.filters { gap: 9px; margin-bottom: 12px; }
.filters label { min-width: 170px; }
label { gap: 6px; font-size: 11px; }
input,select,textarea { padding: 9px 11px; min-height: 39px; border-radius: 8px; font-size: 12px; }
.field-grid { gap: 11px; }
.form-actions { gap: 8px; }
.strategy-layout, .accounts-grid, .planning-layout, .analytics-grid { gap: 11px; }
.strategy-layout form { gap: 12px; }
.strategy-layout>.panel { min-height: 300px; }
.strategy-note h2 { font-size: 17px; }
.strategy-note p { line-height: 1.5; }
.account-card { padding: 15px; border-radius: 11px; }
.account-card h2 { font-size: 17px; margin: 7px 0; }
.dialog { padding: 18px; border-radius: 12px; }
.dialog-heading { margin-bottom: 14px; }
.dialog-heading h2 { font-size: 20px; }
.review-dialog { width: min(980px, 96vw); max-height: 94vh; padding: 19px 23px; border-radius: 12px; }
.review-top { padding-bottom: 11px; }
.review-top h2 { font-size: 24px; margin: 1px 0; }
.review-top p { font-size: 12px; }
.review-metrics { gap: 8px; margin: 12px 0; }
.review-stat { padding: 11px 12px; border-radius: 9px; }
.review-stat small { font-size: 10px; margin-bottom: 5px; }
.review-stat strong { font-size: 19px; }
.review-form { gap: 11px; }
.review-section-label { margin-top: 6px; padding-bottom: 7px; gap: 9px; }
.review-section-label h3 { font-size: 13px; letter-spacing: 2px; }
.review-field-grid,.review-media-grid { gap: 9px; }
.review-helper { font-size: 11px; }
.review-upload { padding: 10px; border-radius: 10px; }
.review-preview { min-height: 80px; }
.review-preview img { max-height: 160px; }
.review-form-actions { padding-top: 9px; }
.review-dialog textarea { min-height: 78px; }

@media (max-width: 950px) {
  .content { padding: 16px 15px 40px; }
  .page-heading h1 { font-size: 27px; }
  .review-dialog { width: min(980px, 98vw); padding: 17px; }
}
@media (max-width: 720px) {
  .sidebar { padding: 10px 12px 7px; }
  .topbar { height: 47px; }
  .content { padding: 14px 12px 40px; }
  .page-heading h1 { font-size: 25px; }
  .panel { padding: 13px; }
  .kpi { min-height: 89px; }
  .kpi-value { font-size: 21px; }
  .chart-container { height: 190px; }
  .overview-main-grid>.panel, .overview-bottom-grid>.panel { min-height: 0; }
  .cal-cell,.calendar-panel .cal-cell { min-height: 37px; }
  .nav-link { min-height: 42px; }
  .btn { min-height: 42px; }
  input,select,textarea { font-size: 16px; min-height: 44px; } /* iOS zoom prevention */
  .review-dialog { padding: 13px; }
  .review-top h2 { font-size: 22px; }
  .review-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .review-field-grid,.review-media-grid { grid-template-columns: 1fr; }
  .review-field-grid .span-2 { grid-column: 1; }
  .review-stat strong { font-size: 17px; }
  .review-upload input { font-size: 12px; }
}
/* Desktop dashboard: show the approved six KPIs in one row and compact calendar. */
@media (min-width: 1380px) {
  .kpi-grid.kpi-six { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .overview-main-grid { grid-template-columns: minmax(0,1.40fr) minmax(0,.95fr) minmax(0,.72fr); align-items:stretch; }
  .overview-right { grid-column:auto; grid-template-columns:1fr; grid-template-rows:1fr 1fr; }
  .overview-bottom-grid { grid-template-columns: minmax(0,1.30fr) minmax(0,.79fr) minmax(0,.76fr); }
  .focus-card { grid-column:auto; }
}
@media (min-width: 721px) {
  .calendar-panel .cal-cell { aspect-ratio:auto; height:34px; min-height:34px; }
  .calendar-panel .cal-grid { gap:3px; }
  .overview-main-grid>.panel { min-height:0; }
  .overview-bottom-grid>.panel { min-height:0; }
}
