/* =========================================================
   TCHC UI SHELL R7.1
   Visual polish only - no business logic changes.
   ========================================================= */

:root {
  --r71-content-max: 1600px;
  --r71-content-pad: 24px;
  --r71-section-gap: 20px;
}

body.tchc-shell-enabled {
  min-width: 0;
}

body.tchc-shell-enabled > main,
body.tchc-shell-enabled > .container,
body.tchc-shell-enabled > .page-container {
  width: 100%;
  max-width: var(--r71-content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--r71-content-pad);
  padding-right: var(--r71-content-pad);
}

/* Main page legacy layouts */
body.tchc-shell-enabled #app,
body.tchc-shell-enabled .app,
body.tchc-shell-enabled .content,
body.tchc-shell-enabled .main-content {
  min-width: 0;
}

/* Cards / panels */
body.tchc-shell-enabled .card,
body.tchc-shell-enabled .panel,
body.tchc-shell-enabled section {
  scroll-margin-top: calc(
    var(--shell-topbar-h) + 16px
  );
}

body.tchc-shell-enabled .card {
  margin-bottom: var(--r71-section-gap);
}

/* Typography hierarchy */
body.tchc-shell-enabled h1 {
  letter-spacing: -.025em;
}

body.tchc-shell-enabled h2,
body.tchc-shell-enabled h3 {
  letter-spacing: -.015em;
}

/* Inputs */
body.tchc-shell-enabled input,
body.tchc-shell-enabled select,
body.tchc-shell-enabled textarea {
  border-color: #d0d5dd;
  transition:
    border-color .15s ease,
    box-shadow .15s ease;
}

body.tchc-shell-enabled input:hover,
body.tchc-shell-enabled select:hover,
body.tchc-shell-enabled textarea:hover {
  border-color: #98a2b3;
}

body.tchc-shell-enabled input:focus,
body.tchc-shell-enabled select:focus,
body.tchc-shell-enabled textarea:focus {
  border-color: var(--shell-primary);
  box-shadow:
    0 0 0 3px rgba(31,94,255,.12);
}

/* Buttons */
body.tchc-shell-enabled button,
body.tchc-shell-enabled .button,
body.tchc-shell-enabled .btn {
  transition:
    transform .08s ease,
    box-shadow .15s ease,
    background-color .15s ease,
    border-color .15s ease;
}

body.tchc-shell-enabled button:not(:disabled):active,
body.tchc-shell-enabled .button:not(:disabled):active,
body.tchc-shell-enabled .btn:not(:disabled):active {
  transform: translateY(1px);
}

/* Tables */
body.tchc-shell-enabled .table-wrap,
body.tchc-shell-enabled .table-responsive {
  max-width: 100%;
  overflow-x: auto;
  border-radius: 10px;
}

body.tchc-shell-enabled table {
  border-spacing: 0;
}

body.tchc-shell-enabled table thead th {
  background: #fafbfc;
  box-shadow:
    inset 0 -1px 0 #e4e7ec;
}

body.tchc-shell-enabled table tbody tr {
  transition: background-color .12s ease;
}

body.tchc-shell-enabled table tbody tr:hover {
  background: #fafcff;
}

/* Sidebar polish */
#tchcShellSidebar {
  box-shadow:
    1px 0 0 rgba(16,24,40,.02);
}

.tchc-shell-nav {
  scrollbar-width: thin;
  scrollbar-color:
    #d0d5dd transparent;
}

.tchc-shell-link {
  position: relative;
}

.tchc-shell-link.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--shell-primary);
}

.tchc-shell-link.active {
  font-weight: 700;
}

.tchc-shell-section:first-child {
  margin-top: 4px;
}

/* Topbar */
#tchcShellTopbar {
  box-shadow:
    0 1px 0 rgba(16,24,40,.02);
}

.tchc-shell-page-title {
  font-size: 15px;
}

.tchc-shell-role-badge {
  border: 1px solid #e4e7ec;
}

/* Admin assignment */
body.tchc-shell-enabled
#assignmentRows td:first-child {
  max-width: 220px;
}

body.tchc-shell-enabled
#assignmentRows td:first-child:hover {
  white-space: normal;
  overflow: visible;
}

/* Meeting Reports */
body.tchc-shell-enabled
.meeting-report-page,
body.tchc-shell-enabled
.meeting-dashboard,
body.tchc-shell-enabled
.report-dashboard {
  min-width: 0;
}

body.tchc-shell-enabled
.dashboard-grid {
  gap: 16px;
}

/* 1366 / typical office laptop */
@media (max-width: 1440px) {
  :root {
    --shell-sidebar-w: 232px;
    --r71-content-pad: 18px;
  }

  .tchc-shell-brand {
    padding-left: 14px;
    padding-right: 14px;
  }

  .tchc-shell-link {
    font-size: 12.5px;
  }
}

/* Tablet */
@media (max-width: 1100px) {
  :root {
    --r71-content-pad: 14px;
  }

  body.tchc-shell-enabled table {
    font-size: 13px;
  }

  body.tchc-shell-enabled th,
  body.tchc-shell-enabled td {
    padding-top: 9px;
    padding-bottom: 9px;
  }
}

/* Mobile drawer mode */
@media (max-width: 900px) {
  body.tchc-shell-enabled {
    padding-top:
      var(--shell-topbar-h) !important;
  }

  body.tchc-shell-enabled > main,
  body.tchc-shell-enabled > .container,
  body.tchc-shell-enabled > .page-container {
    padding-left: 12px;
    padding-right: 12px;
  }

  #tchcShellSidebar {
    width: min(
      86vw,
      300px
    );
  }

  .tchc-shell-brand {
    min-height: 64px;
  }

  .tchc-shell-link {
    min-height: 44px;
    font-size: 14px;
  }

  .tchc-shell-section {
    margin-top: 18px;
  }
}

/* Small mobile */
@media (max-width: 560px) {
  :root {
    --shell-topbar-h: 56px;
  }

  body.tchc-shell-enabled h1 {
    font-size: 20px;
  }

  body.tchc-shell-enabled h2 {
    font-size: 17px;
  }

  body.tchc-shell-enabled .card {
    padding: 14px;
    border-radius: 10px;
  }

  body.tchc-shell-enabled
  .permissions {
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  body.tchc-shell-enabled
  table {
    font-size: 12.5px;
  }

  .tchc-shell-page-title {
    max-width: 190px;
  }
}

/* Very narrow */
@media (max-width: 390px) {
  .tchc-shell-page-title {
    max-width: 145px;
  }

  .tchc-shell-brand-title {
    font-size: 13px;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  body.tchc-shell-enabled *,
  body.tchc-shell-enabled *::before,
  body.tchc-shell-enabled *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

/* TCHC_REQUEST_DELETE_UI_R1 */
.request-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.danger-outline {
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #f1b8b4;
  border-radius: 8px;
  background: #fff;
  color: #b42318;
  font-weight: 600;
  cursor: pointer;
}

.danger-outline:hover {
  background: #fff5f4;
  border-color: #e78b84;
}

.danger-outline:focus-visible {
  outline: 3px solid rgba(180,35,24,.16);
  outline-offset: 2px;
}

@media (max-width: 560px) {
  .request-actions {
    width: 100%;
  }

  .request-actions button {
    flex: 1;
  }
}

/* TCHC_UI_AUDIT_R1_TABLE_HEADER */
body.tchc-shell-enabled .table-wrap table thead th, body.tchc-shell-enabled .table-responsive table thead th, body.tchc-shell-enabled .tchc-r2-table-scroll > table thead th { position: static !important; top: auto !important; z-index: auto !important; }
body.tchc-shell-enabled .tchc-sticky-table-head thead th { position: sticky !important; top: var(--shell-topbar-h) !important; z-index: 5 !important; }


/* TCHC UIUX FINAL R1 2026-10-09 */
body.tchc-shell-enabled{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans",sans-serif;
  font-size:16px;line-height:1.55;color:#172536;
}
body.tchc-shell-enabled p,body.tchc-shell-enabled li,body.tchc-shell-enabled .kv,
body.tchc-shell-enabled .notice,body.tchc-shell-enabled .empty{line-height:1.55}
body.tchc-shell-enabled h1{font-size:30px;line-height:1.18}
body.tchc-shell-enabled h2{font-size:23px;line-height:1.25}
body.tchc-shell-enabled h3{font-size:19px;line-height:1.3}
body.tchc-shell-enabled .card h3{font-size:18px}
body.tchc-shell-enabled .card p{font-size:15px;line-height:1.55}
body.tchc-shell-enabled .meta{font-size:14.5px;line-height:1.55}
body.tchc-shell-enabled .notice{font-size:15px}
body.tchc-shell-enabled .badge{font-size:13px;padding:6px 10px}
body.tchc-shell-enabled button,body.tchc-shell-enabled .button,body.tchc-shell-enabled .btn,
body.tchc-shell-enabled .nav-link-button{font-family:inherit;font-size:15.5px;font-weight:650;line-height:1.25;min-height:42px}
body.tchc-shell-enabled .form-field label,body.tchc-shell-enabled label{font-size:15.5px;font-weight:650}
body.tchc-shell-enabled input,body.tchc-shell-enabled select,body.tchc-shell-enabled textarea{
  font-family:inherit;font-size:16px;line-height:1.4;min-height:44px;
}
body.tchc-shell-enabled textarea{min-height:104px}
body.tchc-shell-enabled table{font-size:15px;line-height:1.45}
body.tchc-shell-enabled th,body.tchc-shell-enabled td{font-size:15px;line-height:1.45;padding:11px 12px}
body.tchc-shell-enabled th{font-weight:700;color:#475467}
body.tchc-shell-enabled .panel{padding:22px}
body.tchc-shell-enabled .card{padding:19px}
body.tchc-shell-enabled .requests-table td[data-label]::before{font-size:13.5px;line-height:1.35}

.tchc-shell-brand-title{font-size:15.5px;line-height:1.3}
.tchc-shell-brand-subtitle{font-size:12.5px;line-height:1.35}
.tchc-shell-section{font-size:11.5px;line-height:1.3;letter-spacing:.07em;color:#667085}
.tchc-shell-link{font-size:15.5px;line-height:1.35;min-height:44px;padding:9px 11px}
.tchc-shell-footer-title{font-size:13.5px}
.tchc-shell-footer-subtitle{font-size:12.5px}
.tchc-shell-breadcrumb{font-size:12.5px}
.tchc-shell-page-title{font-size:16.5px}
.tchc-shell-role-badge{font-size:13px;padding:7px 10px}
.tchc-workspace-box label{font-size:13.5px}
.tchc-workspace-box select{font-size:15px;min-height:44px}
body.tchc-shell-enabled #nav > button[data-view],
body.tchc-shell-enabled #meetingReportNavBtn{display:none!important}
body.tchc-shell-enabled #nav{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:16px}
@media (max-width:1440px){
  .tchc-shell-link{font-size:15px}
  body.tchc-shell-enabled table{font-size:15px}
}
@media (max-width:1100px){
  body.tchc-shell-enabled table{font-size:15px}
  body.tchc-shell-enabled th,body.tchc-shell-enabled td{font-size:15px;padding-top:10px;padding-bottom:10px}
}
@media (max-width:900px){
  #tchcShellSidebar{width:min(88vw,320px)}
  .tchc-shell-link{font-size:16px;min-height:46px}
  .tchc-shell-section{font-size:12px}
  .tchc-shell-mobile-toggle{width:44px;height:44px;min-height:44px}
  body.tchc-shell-enabled button,body.tchc-shell-enabled .nav-link-button{min-height:46px}
}
@media (max-width:560px){
  body.tchc-shell-enabled h1{font-size:25px}
  body.tchc-shell-enabled h2{font-size:21px}
  body.tchc-shell-enabled h3{font-size:18px}
  body.tchc-shell-enabled .panel{padding:16px}
  body.tchc-shell-enabled .card{padding:16px}
  body.tchc-shell-enabled table,body.tchc-shell-enabled th,body.tchc-shell-enabled td{font-size:15px}
  body.tchc-shell-enabled .meta{font-size:14px}
  body.tchc-shell-enabled .card p{font-size:15px}
  body.tchc-shell-enabled .requests-table td[data-label]::before{font-size:13.5px}
  .tchc-shell-page-title{font-size:15.5px;max-width:180px}
}

/* TCHC UIUX FINAL R2 2026-10-10 */
body.tchc-shell-enabled .card p{font-size:16px}
body.tchc-shell-enabled .meta{font-size:15px}
body.tchc-shell-enabled button,body.tchc-shell-enabled .button,body.tchc-shell-enabled .btn,body.tchc-shell-enabled .nav-link-button{font-size:16px;min-height:44px}
body.tchc-shell-enabled table,body.tchc-shell-enabled th,body.tchc-shell-enabled td{font-size:15.5px}
.tchc-shell-section{font-size:12.25px}
.tchc-shell-link{font-size:16px;min-height:46px;padding:10px 11px}
.tchc-shell-brand-subtitle{font-size:13px}
.tchc-shell-page-title{font-size:17px}
.tchc-shell-breadcrumb{font-size:13px}
.tchc-workspace-box label{font-size:14px}
@media(max-width:560px){body.tchc-shell-enabled .meta{font-size:14.5px}body.tchc-shell-enabled .card p{font-size:16px}body.tchc-shell-enabled table,body.tchc-shell-enabled th,body.tchc-shell-enabled td{font-size:15.5px}.tchc-shell-page-title{font-size:16px}}

/* TCHC UIUX FINAL R3 2026-10-10 */
body.tchc-shell-enabled > main,
body.tchc-shell-enabled > .container,
body.tchc-shell-enabled > .page-container{box-sizing:border-box;min-width:0}
@media(max-width:900px){
  .tchc-shell-mobile-toggle{width:44px;height:44px;min-height:44px;font-size:19px}
}
