/* 多分辨率与多浏览器兼容层：Chrome、Edge、Safari，以及桌面、平板和手机。 */
:root{--viewport-safe-top:env(safe-area-inset-top,0px);--viewport-safe-right:env(safe-area-inset-right,0px);--viewport-safe-bottom:env(safe-area-inset-bottom,0px);--viewport-safe-left:env(safe-area-inset-left,0px)}
html{min-width:320px;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{min-width:320px;overflow-x:hidden}*,*::before,*::after{box-sizing:border-box}.app,.main,.content,.card,.modal,.form-row>*,.detail-grid>*,.grid-2>*,.charts-row>*,.bottom-row>*{min-width:0}img,svg,canvas{max-width:100%}button,input,select,textarea{font-family:inherit}button{touch-action:manipulation}input,textarea,select{max-width:100%}textarea{resize:vertical}
/* 统一滚动容器，让 Safari、Firefox 和 Chromium 都可横向查看长表格。 */
.card,.table-wrap,.qref-table-wrap{scrollbar-width:thin;scrollbar-color:#aab9cc transparent}.card::-webkit-scrollbar,.table-wrap::-webkit-scrollbar,.qref-table-wrap::-webkit-scrollbar{height:9px;width:9px}.card::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb,.qref-table-wrap::-webkit-scrollbar-thumb{background:#aab9cc;border-radius:99px;border:2px solid transparent;background-clip:padding-box}.card::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track,.qref-table-wrap::-webkit-scrollbar-track{background:transparent}
/* Safari 不支持 backdrop-filter 时维持足够的对比度。 */
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.mobile-bottom-nav{background:#fff!important}.new-user-guide-shade{background:rgba(5,20,42,.68)!important}.dashboard-premium .welcome-stat{background:rgba(255,255,255,.18)!important}}
/* 高 DPI 触控屏：扩大点击区域，避免 iOS 聚焦输入框时自动放大页面。 */
@media (pointer:coarse){.btn,.nav-item,.tab,.mobile-bottom-nav button{min-height:40px}.form-group input,.form-group select,.form-group textarea,#quoteSheetModal input,#quoteSheetModal select{font-size:16px!important}.content{-webkit-overflow-scrolling:touch}}
/* 1024–1279：笔记本与横向 iPad，维持三列数据，不让表格挤压。 */
@media (min-width:1024px) and (max-width:1279px){.content{padding:20px!important}.header{padding:0 22px!important}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.todo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}.charts-row,.bottom-row{grid-template-columns:1fr!important}.card>table,#content>table{min-width:760px}}
/* 1280–1599：常见办公室显示器，兼顾密度和可读性。 */
@media (min-width:1280px) and (max-width:1599px){.content{padding:22px 24px!important}.stats-grid{gap:14px!important}.dashboard-premium .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.dashboard-premium .quick-grid{grid-template-columns:repeat(8,minmax(0,1fr))!important}}
/* 1600 以上：限制内容行宽，避免超宽屏表格和卡片过于松散。 */
@media (min-width:1600px){.content{max-width:1760px;margin-left:auto!important;margin-right:auto!important;padding-left:30px!important;padding-right:30px!important}.dashboard-premium{max-width:1700px!important}.dashboard-premium .stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
/* 窄屏与横屏手机：保留可读字号与安全区，弹窗永不超出可视区域。 */
@media (max-width:767px){.cloud-login,.login-page{min-height:100vh;min-height:100dvh;padding:calc(16px + var(--viewport-safe-top)) calc(14px + var(--viewport-safe-right)) calc(16px + var(--viewport-safe-bottom)) calc(14px + var(--viewport-safe-left))}.app.active{height:100vh;height:100dvh}.header{padding-left:calc(14px + var(--viewport-safe-left))!important;padding-right:calc(14px + var(--viewport-safe-right))!important}.content{padding-left:calc(12px + var(--viewport-safe-left))!important;padding-right:calc(12px + var(--viewport-safe-right))!important}.modal-overlay{padding:12px max(12px,var(--viewport-safe-right)) calc(12px + var(--viewport-safe-bottom)) max(12px,var(--viewport-safe-left))!important}.modal{max-height:calc(100vh - 24px)!important;max-height:calc(100dvh - 24px)!important}.table-toolbar{min-width:0}.table-toolbar>*,.page-header>*,.section-header>*{min-width:0}.card{overscroll-behavior-x:contain}.qref-table-wrap{overscroll-behavior-x:contain}}
@media (max-width:359px){html,body{min-width:280px}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.stats-grid{grid-template-columns:1fr!important}.header h1{font-size:16px!important}.mobile-bottom-nav{left:7px!important;right:7px!important}.new-user-guide-card{width:calc(100vw - 20px)!important}}
@media (max-height:600px) and (orientation:landscape){.modal-overlay{align-items:flex-start!important;overflow-y:auto!important}.modal{margin:10px 0!important;max-height:none!important}.mobile-bottom-nav{height:54px!important}.content{padding-bottom:70px!important}}
@media print{.new-user-guide-shade,.new-user-guide-card,.new-user-guide-intro,#guideLauncher{display:none!important}}
/* PC 布局修复：只作用于应用的主内容容器。避免平板适配或旧缓存把电脑端页面收缩为中间窄栏。 */
@media (min-width:1181px){
  .app.active > .main{min-width:0!important;width:auto!important}
  #content.content{width:100%!important;max-width:none!important;margin:0!important;padding:22px 26px 30px!important}
}
@media (min-width:1600px){
  #content.content{padding-left:30px!important;padding-right:30px!important}
}