/* Techorbyte Connect V31.138 — cross-device responsive hardening */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
html,body{min-width:0;max-width:100%;overflow-x:hidden}
body{min-height:100vh;min-height:100dvh}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
img{object-fit:cover}
button,input,select,textarea{font:inherit;max-width:100%}
button,a,[role="button"]{-webkit-tap-highlight-color:transparent}
button{touch-action:manipulation}
input,select,textarea{min-width:0}
textarea{resize:vertical}
pre,code{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}
:where(h1,h2,h3,h4,p,span,strong,small,label,a,button,td,th){overflow-wrap:anywhere}

/* App shell */
.app,.workspace-shell,.page-shell{width:100%;min-width:0;min-height:100vh;min-height:100dvh}
.main,.content,.page-view,.page-main,.report-main,.workspace-main{min-width:0;max-width:100%}
.content,.page-view{overflow-x:clip}
.sidebar,.pro-sidebar{height:100vh;height:100dvh;overscroll-behavior:contain}
.workspace-nav,.grouped-nav{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
.user-card{flex:0 0 auto}

/* Headers and navigation */
.global-topbar,.page-header,.topbar,.services-topbar{min-width:0}
.global-search{min-width:120px;max-width:100%}
.global-search input{min-width:0;width:100%}
.global-user,.global-tools,.notification-wrap{flex:0 0 auto}
.brand,.pro-brand{min-width:0}
.brand>div,.pro-brand>div{min-width:0}
.brand strong,.pro-brand strong,.brand small,.pro-brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-logo,.avatar,.profile-avatar,.user-avatar{flex:0 0 auto;object-fit:cover}
.workspace-nav a,.grouped-nav a{min-width:0}
.workspace-nav a>span:last-child,.grouped-nav a>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-icon{flex:0 0 auto}

/* Universal cards, grids and tiles */
.panel,.card,.tile,.stat-card,.project-card,.task-card,.service-card,.dashboard-card,.settings-card,.profile-card,.modal-card,.dialog-card{min-width:0;max-width:100%}
.dashboard-grid,.stats-grid,.project-grid,.task-grid,.services-grid,.cards-grid,.profile-grid,.form-grid,.grid{min-width:0}
.dashboard-grid>*,.stats-grid>*,.project-grid>*,.task-grid>*,.services-grid>*,.cards-grid>*,.profile-grid>*,.form-grid>*,.grid>*{min-width:0}

/* Forms */
.form-field,.field,.input-group,.form-group{min-width:0}
.form-field input,.form-field select,.form-field textarea,.field input,.field select,.field textarea,.input-group input,.input-group select,.input-group textarea,.form-group input,.form-group select,.form-group textarea{width:100%;max-width:100%}
.form-actions,.card-actions,.page-actions,.modal-actions,.dialog-actions,.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.form-actions>* ,.card-actions>* ,.page-actions>* ,.modal-actions>* ,.dialog-actions>* ,.button-row>*{max-width:100%}

/* Tables and dense data */
.table-wrap,.table-responsive,.data-table-wrap,.users-table-wrap,.report-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%;border-collapse:collapse}
th,td{vertical-align:middle}

/* Popups, dropdowns and dialogs */
[role="dialog"],.modal,.dialog,.confirm-dialog,.tour-modal,.popup,.notification-panel,.dropdown-menu{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
.modal,.dialog,.confirm-dialog,.tour-modal,.popup{overflow:auto;overscroll-behavior:contain}
.notification-panel,.dropdown-menu{overflow:auto}
.modal-backdrop,.dialog-backdrop,.confirm-backdrop,.tour-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}

/* Profile/sidebar footer */
.sidebar-profile-link{min-width:0}
.sidebar-profile-link>div:last-child{min-width:0}
.sidebar-profile-link strong,.sidebar-profile-link small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Safe areas */
@supports(padding:max(0px)){
 body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
 .global-topbar,.page-header,.topbar{padding-right:max(var(--topbar-right,16px),env(safe-area-inset-right))}
 .sidebar,.pro-sidebar{padding-bottom:env(safe-area-inset-bottom)}
}

/* Laptop and compact desktop */
@media (max-width:1280px){
 .content,.page-view{padding-left:clamp(18px,2.4vw,30px);padding-right:clamp(18px,2.4vw,30px)}
 .dashboard-grid,.stats-grid{gap:16px}
 .global-search{max-width:560px}
}

@media (max-width:1024px){
 .dashboard-grid,.stats-grid,.services-grid,.project-grid,.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .profile-grid,.form-grid,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-title,.hero-row,.section-heading{gap:18px}
 .global-search kbd{display:none}
}

/* Tablet and phone */
@media (max-width:820px){
 body{font-size:15px}
 .sidebar,.pro-sidebar{width:min(86vw,320px)!important;max-width:320px;position:fixed!important;inset:0 auto 0 0;z-index:1000;transform:translateX(-105%);transition:transform .24s ease;box-shadow:24px 0 60px rgba(0,0,0,.35)}
 body.sidebar-open .sidebar,body.sidebar-open .pro-sidebar,.sidebar.is-open,.pro-sidebar.is-open{transform:translateX(0)!important}
 .main,.page-main,.report-main{margin-left:0!important;width:100%!important}
 .global-topbar,.page-header,.topbar{position:sticky;top:0;z-index:900;min-height:64px;padding:10px 14px!important;gap:10px}
 .mobile-menu-button{display:inline-flex!important;flex:0 0 auto}
 .global-search{flex:1 1 auto;min-width:0}
 .global-user{gap:6px}
 .content,.page-view,.wrap{width:100%!important;max-width:none!important;padding-left:16px!important;padding-right:16px!important}
 .page-title,.hero-row,.section-heading,.card-header,.panel-header{align-items:flex-start;flex-direction:column}
 .page-title h1,.hero h1{font-size:clamp(32px,8vw,48px)!important;line-height:1.08}
 .dashboard-grid,.stats-grid,.services-grid,.project-grid,.task-grid,.cards-grid,.profile-grid,.form-grid,.grid{grid-template-columns:1fr!important}
 .two-column,.split-layout,.content-grid,.details-grid{grid-template-columns:1fr!important}
 .form-actions,.page-actions,.modal-actions,.dialog-actions{align-items:stretch}
 .form-actions>.btn,.form-actions>button,.page-actions>.btn,.page-actions>button,.modal-actions>.btn,.modal-actions>button,.dialog-actions>.btn,.dialog-actions>button{flex:1 1 180px}
 .notification-panel{position:fixed!important;left:12px!important;right:12px!important;top:72px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 88px)!important}
}

@media (max-width:600px){
 body{font-size:14px}
 .global-topbar,.page-header,.topbar{min-height:58px;padding:8px 10px!important}
 .global-search{display:none!important}
 .global-tools{margin-left:auto}
 .content,.page-view,.wrap{padding-left:12px!important;padding-right:12px!important;padding-bottom:max(24px,env(safe-area-inset-bottom))!important}
 .panel,.card,.tile,.settings-card,.profile-card{border-radius:16px!important;padding:16px!important}
 .page-title h1,.hero h1{font-size:clamp(29px,9vw,40px)!important}
 h2{font-size:clamp(20px,6vw,27px)}
 .btn,button,.page-primary,.primary-button,.secondary-button{min-height:44px}
 .form-actions,.page-actions,.modal-actions,.dialog-actions,.button-row{width:100%;flex-direction:column;align-items:stretch}
 .form-actions>* ,.page-actions>* ,.modal-actions>* ,.dialog-actions>* ,.button-row>*{width:100%!important;justify-content:center}
 .table-wrap table,.table-responsive table{min-width:680px}
 [role="dialog"],.modal,.dialog,.confirm-dialog,.tour-modal,.popup{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;border-radius:16px!important}
 .modal-card,.dialog-card,.confirm-dialog__panel,.tour-card{padding:18px!important}
 input,select,textarea{font-size:16px!important} /* prevents iOS zoom */
 .logo-text,.brand strong{font-size:15px}
 .brand small{font-size:9px}
}

@media (max-width:390px){
 .content,.page-view,.wrap{padding-left:10px!important;padding-right:10px!important}
 .panel,.card,.tile,.settings-card,.profile-card{padding:14px!important;border-radius:14px!important}
 .global-topbar,.page-header,.topbar{gap:6px}
 .icon-button,.topbar-tool,.notification-button,.mobile-menu-button{width:42px!important;height:42px!important;min-width:42px!important}
 .page-title h1,.hero h1{font-size:30px!important}
 .eyebrow,.tag{letter-spacing:.11em!important}
}

/* Short laptop screens */
@media (max-height:720px) and (min-width:821px){
 .global-topbar{min-height:64px}
 .workspace-nav a,.grouped-nav a{padding-top:10px!important;padding-bottom:10px!important}
 .nav-section-label{margin-top:12px!important}
 .content,.page-view{padding-top:24px!important}
}

/* Accessibility and browser consistency */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
:focus-visible{outline:3px solid rgba(62,214,235,.75);outline-offset:2px}
@supports not (overflow:clip){.content,.page-view{overflow-x:hidden}}

/* V31.139 — Archived Projects responsive view and browser-safe branding */
.brand-logo{
  display:block!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  aspect-ratio:1/1;
  object-fit:contain!important;
  object-position:center;
  background:#07111f;
  border-radius:12px;
}
.archived-projects-page{width:100%;max-width:1480px;margin:0 auto;padding-top:clamp(24px,3vw,42px);padding-bottom:48px}
.archived-topbar{justify-content:flex-start}
.archived-topbar-title{min-width:0;display:flex;flex-direction:column;line-height:1.15}
.archived-topbar-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.archived-topbar-title small{margin-top:4px;color:var(--muted,#91a5bb);font-size:11px;font-weight:650}
.archived-active-link{margin-left:auto;flex:0 0 auto;white-space:nowrap}
.archived-page-title{margin-bottom:24px}
.archive-summary{align-items:stretch}
.archive-summary>.panel{height:100%;display:flex;flex-direction:column;justify-content:center}
.archived-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.archived-project-card{display:flex;flex-direction:column;height:100%;overflow:hidden}
.archived-description{flex:1 1 auto}
.archived-card-head>div{min-width:0}
.archived-card-head h2,.archived-card-head p{overflow-wrap:anywhere}
.archived-project-actions{margin-top:auto}
@media(max-width:1180px){.archived-project-grid{grid-template-columns:1fr}}
@media(max-width:820px){
 .archived-projects-page{padding-top:22px!important}
 .archived-topbar-title small{display:none}
 .archived-active-link{min-height:42px;padding-inline:14px}
}
@media(max-width:600px){
 .archived-topbar{flex-wrap:nowrap!important;align-items:center!important}
 .archived-topbar-title{flex:1 1 auto}
 .archived-active-link{font-size:12px;padding-inline:11px}
 .archive-summary{gap:12px;margin-bottom:14px}
 .archived-project-grid{gap:12px}
 .archived-project-card{padding:16px!important}
 .archived-card-head h2{font-size:19px}
 .archived-description{margin:14px 0}
 .archived-project-meta{gap:8px}
 .archived-project-meta span{padding:10px}
 .archived-project-actions{padding-top:14px;margin-top:14px}
}
@media(max-width:420px){
 .archived-topbar-title strong{font-size:14px}
 .archived-active-link{font-size:0;width:44px;min-width:44px;padding:0;border-radius:11px}
 .archived-active-link::before{content:'↩';font-size:20px;line-height:1}
}

/* V31.141 — Canonical Back to Dashboard button used on every administration page */
.app-back-dashboard {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 0 17px !important;
  margin: 0 0 22px !important;
  border: 1px solid rgba(132, 162, 198, .28) !important;
  border-radius: 11px !important;
  background: linear-gradient(145deg, rgba(22, 43, 69, .96), rgba(12, 29, 49, .96)) !important;
  color: #eef6ff !important;
  text-decoration: none !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .14) !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
}
.app-back-dashboard:hover {
  background: linear-gradient(145deg, rgba(31, 57, 88, .98), rgba(15, 38, 63, .98)) !important;
  border-color: rgba(71, 202, 231, .52) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}
.app-back-dashboard:focus-visible {
  outline: 3px solid rgba(37, 200, 232, .24) !important;
  outline-offset: 2px !important;
}
/* Neutralize page-specific back-link rules so the component remains identical. */
.tc-users-topbar .app-back-dashboard,
.et-topbar .app-back-dashboard {
  justify-self: start !important;
  margin: 0 !important;
}
@media (max-width: 620px) {
  .app-back-dashboard {
    width: auto !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    margin-bottom: 18px !important;
    font-size: 13px !important;
  }
  .tc-users-topbar .app-back-dashboard,
  .et-topbar .app-back-dashboard {
    margin: 0 !important;
    font-size: 13px !important;
  }
  .et-topbar .app-back-dashboard::after { content: none !important; }
}


/* v31.147 — Our Services mobile navigation and mobile task search refinement */
@media (max-width:820px){
  .services-topbar .mobile-menu-button{
    display:inline-grid!important;
    place-items:center;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    padding:0!important;
    border:1px solid #29415d!important;
    border-radius:12px!important;
    background:#0b1b2e!important;
    color:#e8f1fb!important;
    box-shadow:0 6px 18px rgba(0,0,0,.16);
  }
  .services-topbar .mobile-menu-button svg{width:22px;height:22px}
  .services-topbar .mobile-menu-button:active{transform:scale(.97)}
}
@media (max-width:600px){
  .task-workspace .task-toolbar{
    gap:12px!important;
    padding:12px!important;
    border-radius:15px!important;
  }
  .task-workspace .task-search{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    padding:0 15px!important;
    gap:11px!important;
    border:1px solid #304b69!important;
    border-radius:13px!important;
    background:#08192c!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  }
  .task-workspace .task-search span{
    display:grid!important;
    place-items:center;
    flex:0 0 auto;
    width:20px;
    color:#91a8bf;
    font-size:22px;
    line-height:1;
  }
  .task-workspace .task-search input{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    color:#eef6ff!important;
    font-size:15px!important;
    line-height:46px!important;
    box-shadow:none!important;
    -webkit-appearance:none;
    appearance:none;
  }
  .task-workspace .task-search input::placeholder{color:#7f95ac;opacity:1}
  .task-workspace .task-search:focus-within{
    border-color:#4e83e8!important;
    box-shadow:0 0 0 3px rgba(78,131,232,.14)!important;
  }
  .task-workspace .task-search input::-webkit-search-cancel-button{filter:invert(1);opacity:.65}
}

/* v31.162 — dashboard empty-state text alignment only */
.dashboard-insights .workload-list > .empty-panel,
.content-grid .deadline-list > .empty-panel{
  display:flex!important;
  flex:1 1 100%!important;
  grid-column:1 / -1!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:28px 18px!important;
  text-align:center!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  line-height:1.5!important;
}
.dashboard-insights .workload-list,
.content-grid .deadline-list{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
@media(max-width:420px){
  .dashboard-insights .workload-list > .empty-panel,
  .content-grid .deadline-list > .empty-panel{
    padding:24px 12px!important;
    font-size:15px!important;
  }
}
