/* LegisConnect responsive internal-system layer. Loaded after app.css. */
.mobile-sidebar-backdrop{display:none}
@media (max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  body.sidebar-collapsed .lc-shell,body.sidebar-mobile-open .lc-shell,.lc-shell,.shell{display:block!important;grid-template-columns:none!important;width:100%!important;min-width:0!important;height:auto!important;min-height:100vh!important;overflow:visible!important}
  .lc-shell>main,.shell>main,main{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important}
  .lc-sidebar,.sidebar{position:fixed!important;z-index:1002!important;left:0!important;top:0!important;bottom:0!important;width:min(86vw,340px)!important;max-width:340px!important;height:100dvh!important;transform:translateX(-105%)!important;transition:transform .22s ease!important;box-shadow:18px 0 45px rgba(3,24,42,.24)!important;overflow:hidden!important}
  body.sidebar-mobile-open .lc-sidebar,body.sidebar-mobile-open .sidebar{transform:translateX(0)!important}
  body.sidebar-mobile-open{overflow:hidden!important}
  .mobile-sidebar-backdrop{display:block;position:fixed;z-index:1001;inset:0;border:0;background:rgba(4,20,34,.46);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
  body.sidebar-mobile-open .mobile-sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  .sidebar-toggle{display:none!important}
  .lc-sidebar .brand{min-height:84px!important;padding:14px 16px!important}
  .lc-sidebar nav{height:calc(100dvh - 174px)!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:18px!important}
  .lc-sidebar .sidefoot{position:absolute!important;left:0!important;right:0!important;bottom:0!important;min-height:90px!important;padding:12px 14px!important;background:#071f36!important}
  .lc-sidebar .who{min-width:0!important}.lc-sidebar .who div{min-width:0!important}.lc-sidebar .who b,.lc-sidebar .who small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lc-sidebar .logout{padding:9px 12px!important;font-size:12px!important}
  .app-header,.lc-topbar{position:sticky!important;top:0!important;z-index:900!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:10px 14px!important;gap:10px!important;align-items:center!important}
  .header-main{min-width:0!important;flex:1!important}.mobile-menu{display:inline-grid!important;place-items:center!important;flex:0 0 46px!important;width:46px!important;height:46px!important;font-size:25px!important}
  .header-title{min-width:0!important}.header-title small{font-size:8px!important;white-space:normal!important}.header-title h1{font-size:clamp(18px,5.5vw,26px)!important;line-height:1.05!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .header-actions{gap:6px!important;flex:0 0 auto!important}.quick-search,.header-actions>.icon-button{display:none!important}
  .profile-chip{width:48px!important;min-width:48px!important;height:48px!important;padding:5px!important;border-radius:14px!important;justify-content:center!important}.profile-chip>div,.profile-chip>div+*{display:none!important}.profile-chip>span{margin:0!important}
  .content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:16px!important;overflow:visible!important}
  .content>*{max-width:100%;min-width:0}
  .grid,.cards,.dashboard-grid,.action-strip,.profile-stat-grid,.stats,.kpi-grid,.metrics-grid{grid-template-columns:1fr!important}
  .municipal-dashboard-hero{min-height:0!important;padding:24px 18px!important;border-radius:20px!important;display:block!important}.municipal-hero-content h2{font-size:clamp(28px,9vw,38px)!important;overflow-wrap:anywhere}.ai-coming-card{width:100%!important;max-width:none!important;margin-top:18px!important;box-sizing:border-box!important}
  .hero-quick-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.hero-quick-actions a{text-align:center!important;min-width:0!important}
  .panel,.card,.soft-panel,.notification-shell,.chat-thread-shell,.messenger-shell{max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  table{font-size:11px}.table-wrap,.table-responsive,.panel:has(>table){max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  input,select,textarea,button{max-width:100%;box-sizing:border-box}input,select,textarea{font-size:16px!important}
  .two,.two-col,.split,.form-grid,.feedback-grid,.feedback-admin-body,.compose-two,#groupBox,.legislation-layout,.history-info-grid{grid-template-columns:1fr!important}
  .legislation-form-panel{position:static!important}
  .messenger-shell{display:block!important;min-height:0!important}.messenger-left{border-right:0!important}.messenger-main{min-height:320px!important}.compose-panel{width:100%!important}
  .chat-reply-box{grid-template-columns:40px minmax(0,1fr) 40px!important}.chat-reply-box select{grid-column:2!important}.bubble-wrap{max-width:86%!important}
}
@media (max-width:520px){
  .content{padding:12px!important}.app-header,.lc-topbar{padding:9px 10px!important}.header-title small{font-size:7px!important}.profile-chip{width:44px!important;min-width:44px!important;height:44px!important}.mobile-menu{width:44px!important;height:44px!important;flex-basis:44px!important}
  .hero-quick-actions{grid-template-columns:1fr!important}.municipal-dashboard-hero{padding:20px 16px!important}.municipal-hero-content h2{font-size:30px!important}
  .referral-metrics,.referral-summary-strip,.feedback-stats{grid-template-columns:1fr!important}
}
