/* ISOPILOT V2.9.53 — responsive/mobile hardening layer.
   Loaded last on every route. It intentionally contains layout-only overrides. */

html{box-sizing:border-box;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas,iframe{max-width:100%}
img,video,canvas{height:auto}
iframe{border:0}
main,section,article,aside,header,footer,nav,form,fieldset,div{min-width:0}
a,button,input,select,textarea{font:inherit}
input,select,textarea{max-width:100%}
textarea{resize:vertical}
button,.btn,a{overflow-wrap:anywhere}
pre{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
code{overflow-wrap:anywhere;word-break:break-word}
.long-text,.muted,.panel p,.app-main p,.public-main p{overflow-wrap:anywhere}

/* Generic application shell */
.app-workspace,.app-main,.app-main>*,.app-content,.app-content>*{min-width:0;max-width:100%}
.app-main{width:100%;padding:clamp(14px,2.2vw,30px)}
.panel,.card,.dashboard-card,.window,.app-page-head{max-width:100%}
.app-page-head,.panel-head,.panel-heading,.dashboard-hero,.hero-actions,.table-filters{min-width:0}
.app-page-head h1,.panel-head h1,.panel-heading h2,.dashboard-hero h1{overflow-wrap:anywhere}

/* Tables: never force the viewport wider than the device. */
.responsive-table,.table-wrap,.document-plan-table-wrap,.pricing-comparison-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:thin}
.responsive-table table,.table-wrap table,.document-plan-table-wrap table{width:100%;min-width:max-content}
table{border-collapse:collapse}
th,td{vertical-align:top}
.table-actions{min-width:max-content}

/* Flexible controls/actions */
.hero-actions,.panel-actions,.table-actions,.dialog-actions,.form-actions,.completed-work-actions,.topbar-actions{flex-wrap:wrap}
.inline-form{max-width:100%}
.inline-form input,.inline-form select{min-width:0}
.formgrid,.form-grid{min-width:0}
label{min-width:0}

/* Admin completed work — preserve vertical card architecture at all widths. */
.completed-detail-shell,.completed-detail-main-grid,.completed-detail-main-column,.completed-detail-side-column{width:100%;max-width:100%}
.completed-detail-main-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:clamp(13px,1.7vw,20px)!important}
.completed-detail-side-column{position:static!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:clamp(13px,1.7vw,20px)!important}
.completed-documents-panel,.completion-notice-panel,.notice-history-panel{width:100%;max-width:100%}
.completed-document-title-line strong,.completed-kpi-card strong,.completed-detail-company-line strong{overflow-wrap:anywhere}

/* Notification and menu layers must stay inside the viewport. */
.notification-dropdown{max-width:calc(100vw - 20px)}
.tenant-actions-popover,.dropdown-menu,.menu-popover{max-width:calc(100vw - 24px)}

/* Public media and layout stability */
.public-site,.public-main,.public-main>*,.public-header,.enterprise-footer{max-width:100%}
.public-main img{object-fit:contain}
.public-header .brand img{max-width:min(190px,52vw);height:auto}
.enterprise-mega-menu{max-width:calc(100vw - 32px)}

/* Tap targets and keyboard visibility. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(21,94,239,.3);outline-offset:2px}
@media(pointer:coarse){button,.btn,input:not([type="checkbox"]):not([type="radio"]),select{min-height:44px}.side-nav a,.public-nav a,.public-nav button{min-height:44px}}

@media(max-width:1000px){
  .app-shell{grid-template-columns:minmax(0,1fr)!important}
  .app-workspace{width:100%;max-width:100vw}
  .app-sidebar{max-width:min(290px,88vw)}
  .app-topbar{width:100%;padding-inline:clamp(12px,3vw,20px)}
  .app-footer{padding-inline:clamp(14px,3vw,22px)}
  .completed-detail-hero{grid-template-columns:minmax(0,1fr)!important}
}

@media(max-width:820px){
  .app-main{padding:16px 12px}
  .app-page-head,.dashboard-hero,.panel-head,.panel-heading{gap:12px}
  .app-page-head,.dashboard-hero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important}
  .hero-actions,.app-page-head .actions,.panel-actions{width:100%}
  .hero-actions>.btn,.app-page-head .actions>.btn{flex:1 1 180px;justify-content:center}
  .table-filters{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .table-filters input,.table-filters select,.table-filters .btn{width:100%;max-width:none}
  .app-footer{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;text-align:center}
  .app-footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:5px 9px}
  .completed-detail-hero-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
  .completed-detail-hero-actions .btn{width:100%;justify-content:center}
  .completed-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .completion-notice-form select,.completion-notice-form .btn{width:100%}
  .public-header{padding-inline:14px}
}

@media(max-width:640px){
  body{font-size:15px}
  .app-main{padding:12px 10px 18px}
  .panel{border-radius:16px}
  .app-topbar{min-height:62px;height:auto;padding-block:8px}
  .app-topbar-title{display:none!important}
  .topbar-actions{margin-left:auto;justify-content:flex-end;gap:6px}
  .topbar-background-activity{display:none!important}
  .user-chip{padding-right:5px}
  .user-chip>div{display:none!important}
  .topbar-help,.notification-bell,.sidebar-open{flex:0 0 40px;width:40px;height:40px}
  .notification-dropdown{position:fixed!important;top:64px!important;right:8px!important;left:8px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 78px);overflow:auto}
  .app-page-head h1,.dashboard-hero h1{font-size:clamp(25px,8vw,31px)!important;line-height:1.12}
  .panel-head h2,.panel-heading h2{font-size:clamp(19px,6vw,24px)}
  .hero-actions,.app-page-head .actions,.panel-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .hero-actions>.btn,.app-page-head .actions>.btn,.panel-actions>.btn{width:100%;min-width:0}
  .formgrid,.form-grid{grid-template-columns:minmax(0,1fr)!important}
  .formgrid>.wide,.form-grid>.wide{grid-column:auto!important}
  .inline-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%}
  .inline-form>*{width:100%!important;max-width:none!important}
  .responsive-table,.table-wrap,.document-plan-table-wrap{margin-inline:0;border-radius:12px}
  .responsive-table::after,.table-wrap::after{content:"";display:block;width:1px;height:1px}
  th,td{padding-left:10px!important;padding-right:10px!important}
  .completed-detail-hero{padding:18px 14px!important}
  .completed-detail-hero h1{font-size:clamp(24px,8vw,29px)!important}
  .completed-detail-kpis{grid-template-columns:minmax(0,1fr)!important}
  .completed-detail-switcher{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .completed-detail-switcher-center{display:none!important}
  .completed-documents-panel,.completion-notice-panel,.notice-history-panel{padding:14px!important}
  .completed-section-head{grid-template-columns:36px minmax(0,1fr) auto!important;gap:10px!important}
  .completed-section-head.compact{grid-template-columns:36px minmax(0,1fr)!important}
  .completed-document-row{grid-template-columns:30px minmax(0,1fr)!important}
  .completed-document-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .completed-document-meta span:last-child{grid-column:1/-1}
  .enterprise-mega-menu{max-width:calc(100vw - 20px)}
}

@media(max-width:430px){
  .app-main{padding-inline:8px}
  .completed-detail-hero-actions{grid-template-columns:minmax(0,1fr)!important}
  .completed-detail-hero-meta{grid-template-columns:minmax(0,1fr)!important}
  .completed-detail-company-line{display:grid!important;gap:3px}
  .completed-detail-company-line>span[aria-hidden="true"]{display:none}
  .completed-detail-switcher-side small{display:none}
  .completed-detail-switcher-side b{font-size:10px}
  .switcher-arrow{display:none!important}
  .completed-document-meta{grid-template-columns:minmax(0,1fr)!important}
  .completed-document-meta span:last-child{grid-column:auto}
  .public-header .brand img{max-width:48vw}
  .btn{max-width:100%}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@media print{
  .responsive-table,.table-wrap,.document-plan-table-wrap{overflow:visible!important}
  .app-main{max-width:none!important}
}
