/*
 * Compact desktop layout
 * Keeps Flipjob's visual design intact while fitting more content on screen.
 * Mobile receives lighter adjustments in the media queries at the end.
 */

@media (min-width: 851px) {
  .app { padding: 14px; gap: 16px; }
  .sidebar { width: 250px; min-height: calc(100vh - 28px); max-height: calc(100vh - 28px); top: 14px; border-radius: 25px; padding: 27px 19px; }
  .brand { gap: 12px; padding: 4px 9px 22px; }
  .brand-icon { width: 44px; height: 44px; border-radius: 11px; }
  .brand strong { font-size: 19px; }
  .brand small { font-size: 12px; margin-top: 3px; }
  .sidebar-nav { gap: 6px; margin-top: 27px; }
  .nav-link { border-radius: 15px; padding: 13px 14px; gap: 12px; font-size: 15px; }
  .nav-link span { width: 19px; }

  .main-content { padding-bottom: 30px; }
  .page-header { min-height: 100px; border-radius: 24px; padding: 22px 31px; }
  .page-header h1 { font-size: 29px; margin-top: 6px; }
  .eyebrow { font-size: 10px; }

  .button { border-radius: 10px; padding: 10px 15px; font-size: 13px; }
  .button.full { margin-top: 17px; }
  .square-button { width: 37px; height: 37px; border-radius: 11px; font-size: 19px; }

  .dashboard { gap: 19px; padding: 21px 27px 0; }
  .panel { border-radius: 19px; padding: 21px; }
  .dashboard .panel { min-height: 235px; }
  .panel h2 { font-size: 21px; margin: 7px 0 15px; }
  .muted { font-size: 14px; line-height: 1.45; }
  .section-head { gap: 13px; }

  .stats { gap: 8px; margin-top: 23px; }
  .stat { border-radius: 14px; padding: 13px 10px; }
  .stat span { font-size: 25px; }
  .stat small { font-size: 11px; }
  .mini-list { gap: 7px; }
  .mini-card { border-radius: 12px; padding: 11px 13px; }
  .mini-card strong { font-size: 13px; }
  .mini-card small { margin-top: 3px; font-size: 11px; }
  .mini-pill { padding: 6px 7px; font-size: 11px; }

  .applications, .backup, .contacts-page, .settings-page, .weekly-goals-page,
  .morning-page, .today-page, .calendar-panel, .activity-report-page {
    margin: 21px 27px 0;
  }

  .filters { gap: 7px; margin: 19px 0 15px; }
  .filter { border-radius: 9px; padding: 7px 12px; font-size: 13px; }
  .cards { gap: 9px; }
  .applications .card { padding: 11px 14px; }
  .card h3 { font-size: 17px; }
  .company { margin-bottom: 7px; font-size: 14px; }
  .next-step { margin-top: 7px; font-size: 13px; }
  .note { margin-top: 6px; font-size: 12px; }
  .pill { padding: 4px 8px; font-size: 11px; }

  .morning-controls { gap: 8px; margin: 18px 0; }
  .morning-controls strong { min-width: 210px; font-size: 14px; }
  .morning-controls .button { padding: 8px 10px; font-size: 12px; }
  .morning-section { padding-top: 14px; margin-top: 15px; }
  .morning-section h3, .today-section h3 { margin-bottom: 10px; font-size: 16px; }
  .morning-row { gap: 11px; border-radius: 11px; padding: 10px 12px; margin: 6px 0; }
  .morning-row input { width: 17px; height: 17px; }
  .morning-row strong { font-size: 13px; }
  .morning-row small { margin-top: 3px; font-size: 11px; }
  .morning-edit { padding: 6px 8px; }
  .finish-morning { margin-top: 20px; padding-top: 18px; }
  .finish-morning .button { padding: 11px 18px; font-size: 14px; }
  .today-section { padding-top: 14px; margin-top: 17px; }

  .week-controls { gap: 13px; margin: 18px 0 12px; }
  .week-controls strong { font-size: 18px; }
  .week-controls span { margin-top: 3px; font-size: 12px; }
  .week-buttons .button { padding: 8px 10px; font-size: 12px; }
  .calendar-scroll { border-radius: 12px; }
  .calendar-grid { min-width: 1000px; grid-template-columns: 64px repeat(7, minmax(132px, 1fr)); }
  .calendar-corner, .day-heading { min-height: 47px; padding: 9px; }
  .all-day-label { padding: 9px 6px; }
  .all-day-cell { min-height: 48px; padding: 4px; }
  .search-label { margin: 17px 0 6px; font-size: 12px; }
  .contacts-page input[type="search"] { padding: 9px 10px; border-radius: 9px; }
  .contact-grid { gap: 14px; margin-top: 15px; }
  .contact-list { gap: 6px; }
  .contact-list-item { border-radius: 11px; padding: 11px 12px; }
  .contact-list-item small { margin-top: 3px; font-size: 12px; }
  .contact-detail { min-height: 210px; border-radius: 13px; padding: 17px; }
  .contact-detail h3 { font-size: 20px; }
  .contact-detail .muted { margin-bottom: 12px; }
  .contact-section { padding-top: 13px; margin-top: 13px; }
  .contact-row, .contact-note { border-radius: 9px; padding: 9px; margin: 5px 0; }

  .activity-report-head { gap: 18px; }
  .activity-report-head label { min-width: 175px; font-size: 12px; }
  .activity-report-head input { margin-top: 5px; padding: 9px 10px; }
  .activity-report-summary { margin: 19px 0 9px; padding: 10px 12px; }
  .activity-report-table-wrap { border-radius: 11px; }
  .activity-report-table th, .activity-report-table td { padding: 10px 12px; }
  .activity-report-table td { font-size: 13px; }
  .activity-report-missing { margin-top: 21px; padding-top: 18px; }

  .settings-page h2 { margin-bottom: 15px; }
  .settings-block { padding: 15px 0; }
  .settings-fields { gap: 10px; margin: 13px 0; }
  .settings-fields input, .settings-fields select { padding: 9px; margin-top: 5px; }

  dialog { border-radius: 17px; width: min(530px, calc(100% - 24px)); }
  dialog form { padding: 21px 24px 24px; }
  .dialog-head h2 { margin-bottom: 15px; }
  form label { margin: 10px 0; font-size: 13px; }
  form input, form select, form textarea { padding: 9px 10px; margin-top: 5px; }
  .form-actions { margin-top: 17px; }
  .application-detail-wrap, .contact-note-dialog-wrap { padding: 21px 24px 24px; }
  .application-detail-row { grid-template-columns: 130px minmax(0, 1fr); gap: 11px; padding: 10px 0; }
}

@media (min-width: 851px) and (max-width: 1100px) {
  .sidebar { width: 215px; }
  .dashboard { gap: 14px; padding: 18px 15px 0; }
  .applications, .backup, .contacts-page, .settings-page, .weekly-goals-page,
  .morning-page, .today-page, .calendar-panel, .activity-report-page { margin: 18px 15px 0; }
}

@media (max-width: 850px) {
  .app { padding: 10px; }
  .sidebar { padding: 12px 15px; }
  .brand-icon { width: 38px; height: 38px; }
  .sidebar-nav { margin-top: 9px; }
  .nav-link { padding: 8px 10px; }
  .page-header { min-height: 88px; padding: 19px; }
  .page-header h1 { font-size: 26px; }
  .dashboard { gap: 13px; padding-top: 17px; }
  .panel { padding: 18px; }
  .dashboard .panel { min-height: 220px; }
}

@media (max-width: 650px) {
  .app { padding: 8px; }
  .sidebar { border-radius: 17px; padding: 11px 13px; }
  .page-header { margin-top: 8px; min-height: 82px; padding: 16px; border-radius: 18px; }
  .page-header h1 { font-size: 24px; }
  .dashboard { gap: 11px; padding: 14px 10px 0; }
  .panel { padding: 17px; border-radius: 17px; }
  .dashboard .panel { min-height: 0; }
  .applications, .backup, .contacts-page, .settings-page, .weekly-goals-page,
  .morning-page, .today-page, .calendar-panel, .activity-report-page { margin: 14px 10px 0; }
  .button { padding: 10px 13px; font-size: 13px; }
}
.goal-row.goal-done span{color:#a0aab5;text-decoration:none}.goals-list .goal-toggle{position:absolute;opacity:0;pointer-events:none}.home-today-list{gap:6px}.calendar-action-title,.calendar-action-company{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
