/* Desktop presentation only. Existing mobile styles stay in index.html. */
.desktop-only{ display:none; }
@media (min-width:1024px){
  .desktop-only{ display:revert; }
  body:has(#bottomNav:not(.hidden)){ padding:28px 30px 24px 246px; }
  body:has(#bottomNav:not(.hidden)) .staging-banner{ margin:-28px -30px 22px; }
  #appRoot{
    max-width:1280px; display:grid; grid-template-columns:minmax(350px,.8fr) minmax(0,1.2fr);
    gap:22px; align-items:start; padding-bottom:0;
  }
  #appRoot > .hdr{
    grid-column:1 / -1; grid-row:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,240px);
    align-items:center; gap:20px; padding:18px 20px; margin:0;
  }
  #appRoot .header-net-icon{ width:23px; height:23px; }
  #appRoot .header-skyline{ right:150px; width:38%; height:135px; }
  #appRoot .hdr .title h1{ font-size:24px; letter-spacing:0; }
  #appRoot .header-tagline{ font-size:11px; }
  #appRoot .hdr .signout-link{ display:none; }
  #appRoot .hdr .meta{ grid-column:2; grid-row:1; display:flex; flex-direction:column; align-items:flex-end; gap:5px; padding:0; border:0; text-align:right; }
  #appRoot .hdr .meta .date{ font-size:12px; }
  #appRoot .hdr .meta .clock{ font-size:12px; margin-top:3px; }
  #appRoot .hdr .conn-badge{ font-size:10px; }
  #appRoot .online-users{ max-width:420px; }
  #appRoot > .stats{ grid-column:1 / -1; grid-row:2; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:18px; margin:0; }
  #statTotalCard{ order:1; } #statDirCard{ order:2; } #scriptWeather{ order:3; }
  #appRoot .stat{ min-height:84px; padding:15px 20px; border-style:solid; }
  #appRoot .stat-info{ text-align:left; }
  #appRoot .stat-top{ justify-content:flex-start; gap:14px; }
  #appRoot .stat-top-icon{ display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--line-soft); border-radius:11px; background:var(--panel-2); font-size:21px; }
  #appRoot .stat .n{ font-size:26px; }
  #appRoot .stat .l{ margin:4px 0 0 56px; }
  #checkinEntryPanel{ grid-column:1; grid-row:3; }
  #todayLogPanel{ grid-column:2; grid-row:3; }
  #appRoot > .panel{ min-width:0; margin:0; padding:20px; border-style:solid; }
  #appRoot .panel h2{ font-size:12px; color:var(--text); }
  #checkinEntryPanel .panel-hdr{ margin:-20px -20px 18px; padding:18px 20px; border-bottom:1px solid var(--line); gap:10px; }
  #checkinEntryPanel .panel-hdr-actions{ gap:5px; }
  #checkinEntryPanel .btn-lookup-pill, #checkinEntryPanel .btn-clear-pill{ font-size:10px; padding:5px 9px; }
  #checkinEntryPanel .field{ margin-bottom:14px!important; }
  #checkinEntryPanel :is(.checkin-callsign-row,.checkin-weather-row){ margin-bottom:14px; }
  #checkinEntryPanel :is(.checkin-callsign-row,.checkin-weather-row) > .field{ margin-bottom:0!important; }
  #checkinEntryPanel .btnrow{ margin-top:18px; }
  #todayLogPanel > h2{ margin:-20px -20px 0; padding:19px 20px; border-bottom:1px solid var(--line); }
  #todayLogPanel .log-table th{ padding:12px 6px; font-size:10px; }
  #todayLogPanel .log-table td{ padding:12px 6px; font-size:13px; }
  #todayLogPanel .log-table th:nth-child(2), #todayLogPanel .log-table td.cs{ width:104px; }
  #todayLogPanel .log-table th.act-th, #todayLogPanel .log-table td.act{ width:56px; }
  #todayLogPanel .log-table .desktop-rst{ width:48px; text-align:center; font-weight:700; }
  #todayLogPanel .log-table td.cs{ white-space:normal; }
  #todayLogPanel .station-history-link{ font-size:14px; white-space:normal; }
  #todayLogPanel .rst-line{ display:none; }
  #todayLogPanel .qth-line{ font-size:12px; margin-top:4px; }
  #todayLogPanel .act-btn{ padding:4px; }
  .bottom-nav{
    left:0; top:0; bottom:0; transform:none; width:216px; max-width:none;
    display:flex; flex-direction:column; align-items:stretch; gap:7px; padding:26px 18px 20px;
    border:0; border-right:1px solid var(--line); border-radius:0; background:var(--panel);
    box-shadow:none; overflow-y:auto;
  }
  .bottom-nav .nav-sep{ display:none; }
  .bottom-nav .nav-btn{ flex:none; flex-direction:row; align-items:center; justify-content:flex-start; gap:12px; padding:13px 14px; border-radius:10px; }
  .bottom-nav .nav-btn svg{ width:19px; height:19px; }
  .bottom-nav .nav-btn span{ font-size:13px; text-transform:none; letter-spacing:0; font-weight:600; }
  .bottom-nav .nav-btn.active::after{ top:50%; bottom:auto; left:-18px; transform:translateY(-50%); width:3px; height:24px; border-radius:0 3px 3px 0; }
  .desktop-sidebar-brand{ display:flex; align-items:center; gap:10px; padding:0 7px 21px; }
  .desktop-sidebar-brand > svg{ flex:none; width:36px; height:42px; padding:5px; color:var(--green); background:var(--panel-2); border:1px solid var(--line-soft); border-radius:10px; }
  .desktop-sidebar-brand strong{ display:block; font-size:14px; line-height:1.3; letter-spacing:.06em; }
  .desktop-sidebar-brand small{ display:block; font-size:9px; color:var(--text-dim); line-height:1.6; margin-top:4px; }
  .desktop-nav-caption{ padding:0 13px 5px; color:var(--text-dim); font-size:10px; letter-spacing:.13em; }
  .desktop-sidebar-repeater{ margin-top:22px; padding:15px; border:1px solid var(--line-soft); border-radius:12px; background:var(--panel-2); }
  .desktop-sidebar-repeater .caption{ color:var(--text-dim); font-size:9px; letter-spacing:.1em; }
  .desktop-sidebar-repeater strong{ display:block; color:var(--green); font-family:'JetBrains Mono',monospace; font-size:18px; margin:8px 0; }
  .desktop-repeater-details{ display:grid; grid-template-columns:48px 1fr; gap:5px; font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--text-dim); }
  .desktop-sidebar-account{ margin-top:auto; padding:22px 7px 0; }
  .desktop-sidebar-account .identity{ padding-top:15px; border-top:1px solid var(--line); overflow-wrap:anywhere; }
  #desktopWhoCall{ color:var(--green); font-size:12px; font-family:'JetBrains Mono',monospace; font-weight:700; }
  #desktopWhoName{ font-size:12px; margin-top:5px; }
  #desktopWhoRole{ font-size:10px; margin-top:3px; color:var(--text-dim); }
  .desktop-theme-toggle{ display:flex; align-items:center; justify-content:center; gap:6px; width:100%; padding:8px; margin-bottom:14px; background:var(--panel-2); border:1px solid var(--line-soft); color:var(--text-dim); border-radius:8px; font-size:11px; }
  .desktop-signout{ padding:0; margin-top:12px; background:none; color:var(--text-dim); font-size:11px; text-decoration:underline; text-underline-offset:3px; }
  .page-bg{ padding-bottom:0; }
  .page-bg .page{ max-width:1280px; }
  .page-bg .page-hdr{ margin:10px 0 22px; }
  .page-bg .page-hdr h3{ font-size:26px; }
  .page-bg .panel{ border-style:solid; padding:20px; }
  .page-bg .log-table th{ font-size:11px; padding:10px 8px; }
  .page-bg .log-table td{ padding:12px 8px; font-size:14px; }
  .page-bg .log-table th:nth-child(2), .page-bg .log-table td.cs{ width:100px; }
  #dirModalBg .page{ display:grid; grid-template-columns:minmax(290px,.55fr) minmax(0,1fr); gap:20px; align-items:start; }
  #dirModalBg .page-hdr{ grid-column:1 / -1; margin-bottom:0; }
  #dirModalBg .panel{ min-width:0; margin:0; }
  #dirModalBg .dir-item{ padding:12px 0; }
  #settingsModalBg .page{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
  #settingsModalBg .page-hdr{ grid-column:1 / -1; margin-bottom:0; }
  #settingsModalBg .panel{ min-width:0; margin:0; }
  #settingsMyScriptSection, #settingsManageScriptsSection{ grid-column:1 / -1; }
  #statsModalBg .page, #pastModalBg .page{ max-width:1000px; }
  #statsContent .stats-row{ padding:14px 8px; }
  #statsContent .stats-who .cs{ font-size:15px; }
  #scriptModalBg .page, #weatherModalBg .page{ max-width:860px; }
  .toast, body:has(#appRoot:not(.hidden)) .toast{ left:calc(50% + 108px); bottom:24px; }
  .update-banner, body:has(#appRoot:not(.hidden)) .update-banner{ left:calc(50% + 108px); bottom:24px; }
}
@media (min-width:1024px) and (max-width:1259px){
  body:has(#bottomNav:not(.hidden)){ padding:24px 20px 20px 200px; }
  body:has(#bottomNav:not(.hidden)) .staging-banner{ margin:-24px -20px 20px; }
  .bottom-nav{ width:180px; padding:22px 12px 18px; }
  .desktop-sidebar-brand{ gap:7px; padding-left:0; padding-right:0; }
  .desktop-sidebar-brand strong{ font-size:12px; }
  .desktop-sidebar-brand small{ font-size:8px; }
  .bottom-nav .nav-btn.active::after{ left:-12px; }
  #appRoot{ gap:18px; }
  #appRoot .hdr .title h1{ font-size:20px; }
  #appRoot > .hdr{ gap:14px; }
  #appRoot .stat{ padding:13px 15px; }
  #appRoot .stat .n{ font-size:22px; }
  #appRoot .stat-top{ gap:10px; }
  #appRoot .stat .l{ margin-left:52px; font-size:9px; }
  #todayLogPanel .log-table th:nth-child(2), #todayLogPanel .log-table td.cs{ width:88px; }
  #todayLogPanel .log-table .desktop-rst{ width:40px; }
  #todayLogPanel .station-history-link{ font-size:12px; }
  #todayLogPanel .log-table td{ font-size:12px; }
  #todayLogPanel .log-table th.act-th, #todayLogPanel .log-table td.act{ width:50px; }
  #dirModalBg .page{ grid-template-columns:290px minmax(0,1fr); gap:18px; }
  .toast, body:has(#appRoot:not(.hidden)) .toast,
  .update-banner, body:has(#appRoot:not(.hidden)) .update-banner{ left:calc(50% + 90px); }
}
