/* Smartsight v4.0.103 — mobile and tablet responsive layer.
   Pure presentation adjustments; no business or device logic changes. */
@media (max-width: 980px) {
  html, body {width:100%;max-width:100%;overflow-x:hidden!important;}
  #appView.app {display:block!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important;}
  #appView .main-shell {width:100%!important;max-width:100%!important;height:100dvh!important;overflow:hidden!important;min-width:0!important;}
  #appView .content-area {width:100%!important;max-width:100%!important;height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;box-sizing:border-box!important;padding:12px!important;overscroll-behavior:contain;}
  #appView .sidebar {position:fixed!important;top:0!important;left:0!important;bottom:0!important;z-index:108!important;display:flex!important;flex-direction:column!important;transform:translateX(-105%)!important;transition:transform .22s ease!important;width:min(320px,86vw)!important;min-width:0!important;max-width:86vw!important;height:100dvh!important;max-height:100dvh!important;flex:0 0 auto!important;overflow-y:auto!important;visibility:hidden!important;}
  body.mobile-nav-open #appView .sidebar,body.mobile-nav-open.sidebar-collapsed #appView .sidebar {transform:translateX(0)!important;visibility:visible!important;}
  body.mobile-nav-open {overflow:hidden!important;}
  #mobileNavBackdrop {display:none;position:fixed;inset:0;background:rgba(5,17,34,.58);z-index:107;}
  body.mobile-nav-open #mobileNavBackdrop {display:block;}
  body.mobile-nav-open.sidebar-collapsed #appView .sidebar .brand-meta,
  body.mobile-nav-open.sidebar-collapsed #appView .sidebar .brand-sub,
  body.mobile-nav-open.sidebar-collapsed #appView .sidebar .nav-item span,
  body.mobile-nav-open.sidebar-collapsed #appView .sidebar .nav-child,
  body.mobile-nav-open.sidebar-collapsed #appView .sidebar .sidebar-user-text,
  body.mobile-nav-open.sidebar-collapsed #appView .sidebar .user-menu-ellipsis {display:revert!important;visibility:visible!important;}
  body.mobile-nav-open.sidebar-collapsed #appView .sidebar .sidebar-user-toggle{width:100%!important;justify-content:space-between!important;}
  #appView .content-utility-row {position:sticky!important;top:0!important;z-index:35!important;background:var(--bg)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:8px 0!important;margin:0 0 12px!important;min-height:52px!important;box-sizing:border-box!important;}
  #appView .content-toolbar-left {display:flex!important;min-width:0!important;align-items:center!important;gap:7px!important;}
  #appView .content-toolbar-right {display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important;}
  #sidebarCollapseBtn {display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:44px!important;min-height:44px!important;flex:0 0 44px!important;}
  .topbar-breadcrumb{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .topbar-breadcrumb strong{max-width:min(31vw,190px)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  #appView .page-panel,#appView .card,#appView .fm-page,#appView .fm-panel,#appView .rec-panel {min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}
  .page-head,.fm-head,.hero-head{display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:10px!important;}
  .page-head h1,.fm-head h1{font-size:clamp(21px,3.2vw,28px)!important;line-height:1.2!important;}
  .page-head .btn,.fm-head-right .btn{max-width:100%;}
  .grid-4,.dashboard-grid,.fm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .fm-distribution-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .fm-distribution-grid>.fm-alerts-panel{grid-column:1/-1!important;}
  .fm-bottom{display:flex!important;flex-direction:column!important;}
  .fm-table-wrap,.table-wrap,.rec-table-container,.relay-table-scroll,.rec-dyn-table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain;}
  .fm-table{min-width:970px!important;}
  .data-table{min-width:max-content;}
  .rec-table{min-width:1550px!important;table-layout:auto!important;}
  #page-recurrences .rec-table{min-width:1550px!important;}
  .rec-controls{gap:8px!important;flex-wrap:wrap!important;}
  .rec-controls>*{flex:1 1 180px!important;min-width:0!important;}
  .rec-bottom-grid{grid-template-columns:1fr!important;}
  .modal-overlay{position:fixed!important;inset:0!important;z-index:140!important;padding:8px!important;align-items:center!important;justify-items:center!important;}
  .modal-card,.modal-card.modal-maximized,.modal-card.modal-maximized:has(#rec-form),.modal-card:has(#rec-form){box-sizing:border-box!important;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;height:auto!important;overflow:auto!important;}
  .modal-card .modal-body{max-width:100%!important;overflow-x:auto!important;}
  .modal-form-grid,.modal-form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .modal-form-grid>*,.rec-form>*,.rec-form label{min-width:0!important;}
  #rec-form .rec-top-five,#rec-form .rec-billing-five{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #rec-form .rec-second-four{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #rec-form .rec-dyn-table{min-width:640px;}
  #page-recurrences .rec-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .theme-generator-shell,.agenda-shell{grid-template-columns:1fr!important;}
  .theme-generator-shell>*{min-width:0!important;}
  .advanced-filters,.task-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .btn,.nav-item,.nav-child,button{touch-action:manipulation;}
  button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #3978ca;outline-offset:2px;}
}
@media(max-width:600px){
  #appView .content-area{padding:10px!important;}
  #appView .content-toolbar-right #toolbarReports{display:none!important;}
  #appView .content-toolbar-right .top-icon{min-width:38px!important;min-height:40px!important;}
  #appView .content-toolbar-right #languageToggleBtn{min-width:35px!important;}
  .topbar-breadcrumb #topbarCrumbHome,.topbar-breadcrumb .crumb-sep{display:none!important;}
  .topbar-breadcrumb strong{max-width:28vw!important;}
  .grid-4,.dashboard-grid,.fm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .fm-kpi{padding:10px!important;min-height:92px!important;gap:7px!important;}
  .fm-kpi strong{font-size:clamp(21px,5vw,28px)!important;}
  .fm-kpi-icon{width:34px!important;height:34px!important;flex:0 0 34px!important;font-size:18px!important;}
  .fm-distribution-grid{grid-template-columns:1fr!important;}
  .fm-distribution-grid>.fm-alerts-panel{grid-column:auto!important;}
  .fm-head-right,.fm-panel-head,.fm-filters{flex-wrap:wrap!important;gap:7px!important;}
  .fm-filters>*{flex:1 1 130px!important;max-width:none!important;}
  #page-recurrences .rec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #page-recurrences .rec-kpi{padding:10px!important;}
  .rec-controls>*{flex:1 1 100%!important;max-width:none!important;}
  .modal-form-grid,.modal-form-grid.three,.rec-form,#rec-form .rec-top-five,#rec-form .rec-second-four,#rec-form .rec-billing-five,#rec-form .rec-inline-2{grid-template-columns:minmax(0,1fr)!important;}
  #rec-form .rec-section,#rec-form .rec-footer,#rec-form .wide{grid-column:1/-1!important;}
  .advanced-filters,.task-filters,#page-reports .report-controls{grid-template-columns:minmax(0,1fr)!important;}
  #page-reports .report-controls>*{grid-column:1/-1!important;}
  .stepper{overflow-x:auto!important;display:flex!important;flex-wrap:nowrap!important;}
  .stepper>*{flex:0 0 auto!important;}
  .footer-actions,.modal-actions,.row-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
  .modal-actions>*{flex:1 1 140px!important;}
  input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;box-sizing:border-box;}
  .page-panel input.input,.page-panel select.input,.page-panel textarea.input{font-size:16px!important;}
}
@media(prefers-reduced-motion:reduce){#appView .sidebar{transition:none!important;}}
