/* Shared accessibility and responsive repair layer, v8.6. */
:root { --muted:#a6b1c1; --muted-2:#a6b1c1; }
:focus-visible {outline:2px solid #8affcc !important;outline-offset:2px;}
.skip-link {position:fixed;left:8px;top:-100px;z-index:10000;padding:12px;background:#111a24;color:white;}
.skip-link:focus {top:8px;}
.field-label {display:block;color:#cdd6e2;font-size:14px;margin:8px 0 4px;}
.dialog-toolbar {position:relative;z-index:3;flex-shrink:0;display:flex;justify-content:flex-end;background:#111722;padding-bottom:8px;margin-bottom:12px;}
.modal-close,.close {position:static !important;display:block;float:none;right:auto !important;margin:0 !important;width:44px;height:44px;min-width:44px;min-height:44px;background:#17212e !important;}
.modal,.modal-card {max-height:calc(var(--app-vh,100dvh) - 32px);display:flex !important;flex-direction:column;overflow:hidden;contain:none !important;}
.dialog-content {overflow:auto;min-height:0;flex:1 1 auto;scroll-padding-block:8px;}
.modal .section-head {clear:both;flex-wrap:wrap;}
.modal-backdrop {padding:16px;}
.modal .section-head>div,.incident-detail-head>div,.incident-detail {min-width:0;overflow-wrap:anywhere;}
.sidebar {overflow-y:auto;min-height:0;height:var(--app-vh,100dvh);contain:none;}
.sidebar>* {flex-shrink:0;}
.sidebar .history {flex:1 0 130px;overflow:visible;}
.drawer-close {display:none;}
.messages {min-height:0;padding-bottom:16px;}
.composer-wrap {position:relative;left:auto;right:auto;bottom:auto;flex:0 0 auto;padding-top:12px;}
.topbar {flex-shrink:0;contain:none;gap:8px;}
.top-left,.model-pill {min-width:0;}
.model-pill {white-space:normal;}
.top-actions {flex-shrink:0;}
.tools .tool-btn {font-size:12px;}
.app,.main {height:var(--app-vh,100dvh);}
.hero-badges,.security-posture {flex-wrap:wrap;overflow:visible;}
.security-posture i:not(#researchDot) {display:none;}
.hero {padding-top:16px;}
.history-row {overflow:visible;}
.history-row:focus-within .history-delete {opacity:1;}
.history-pin,.history-delete {min-width:32px;min-height:32px;}
.history-row .history-item {padding-inline:40px !important;}
.form-status,.field-note,.form-safe-note,.password-hint,.password-strength span,.section-subtitle,.footer-note,.history-empty,.support-meta,.secure-note,.google-title span,.google-disabled,.install-instructions,.install-secure,.support-chat-author time {color:#a6b1c1;font-size:14px;}
.password-toggle {color:#c7d3e3;font-size:12px;min-height:32px;}
.support-chat-author b,.support-chat-bubble p,.incident-list-item small,.incident-list-item time,.session-card p,.session-card small,.notification-item p,.notification-item small {font-size:13px;color:#a6b1c1;}
.native-install-grid {grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.incident-actions {flex-wrap:wrap;}
.incident-list-item {grid-template-columns:8px minmax(0,1fr);overflow-wrap:anywhere;}
.incident-list-item time {grid-column:2;}
.incident-list-item b {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.support-thread-modal {display:block;overflow:auto;height:auto;}
.support-chat {max-height:40vh;min-height:0;}
.support-chat-bubble {min-width:0;overflow-wrap:anywhere;}
.support-chat-author {flex-wrap:wrap;}
.failed-message {margin-top:12px;color:#ffd4d9;font-size:14px;}
.failed-message button {padding:10px;margin:4px;border-radius:8px;color:white;background:#253144;}
.admin-side {overflow-y:auto;}.admin-side>* {flex-shrink:0;}.admin-main {min-width:0;}.admin-main .page-head h1 {scroll-margin-top:80px;}.admin-main .row {overflow-wrap:anywhere;}.admin-main .user-tools {flex-wrap:wrap;}
@media (max-width:1023px),(max-height:599px) {
  .app {grid-template-columns:1fr;}
  .sidebar {position:fixed;inset:0 auto 0 0;width:min(88vw,320px);transform:translateX(-102%);box-shadow:30px 0 80px #0008;z-index:120;}
  .sidebar.open {transform:translateX(0);}
  .menu-btn,.drawer-close {display:block;min-width:44px;min-height:44px;}
  .drawer-close {background:#17212e;color:white;position:sticky;top:0;z-index:1;}
  .overlay {position:fixed;inset:0;background:#0009;z-index:119;}
  .overlay.show {display:block;}
  .quick-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .workspace-layout {grid-template-columns:1fr;min-height:0;}
  .incident-list {max-height:220px;}
}
@media (max-width:760px) {
  .main {padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom));}
  .keyboard-open .mobile-bottom-nav {display:none;}
  .keyboard-open .main {padding-bottom:0;}
  .modal-backdrop {padding:max(8px,env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom));}
  .modal {max-height:calc(var(--app-vh,100dvh) - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));}
  input,textarea,select {font-size:16px !important;}
  .mobile-nav-item b,.mobile-nav-new b {font-size:11px;}
  .mobile-nav-new {margin-top:0;width:44px;height:44px;border-width:1px;}
  .mobile-nav-new b {position:static;}
  .tool-btn,.voice-btn,.voice-output-btn,.send,.mini-icon-btn,.history-delete,.history-pin,.attachment-chip button,.support-image-preview button {min-width:44px;min-height:44px;}
  .history-row .history-item {padding-inline:50px !important;}
  .tools {flex-wrap:wrap;overflow:visible;max-width:none;}
  .composer-wrap {padding:8px 10px;}
  .top-left {flex:1;}
  .model-pill {max-width:none;}
  .install-top-btn {min-width:66px;min-height:44px;}
  .install-top-text {font-size:12px;}
  .hero-badges,.security-posture {flex-wrap:wrap;overflow:visible;}
  .hero p,.quick-card span,.guest-mode-note span {font-size:13px;}
  .guest-mode-note b,.guest-mode-note button {font-size:12px;}
  .incident-detail {min-height:0;}
}
@media (max-width:599px) {.incident-detail-head {flex-direction:column;}.incident-actions {width:100%;}.session-card {grid-template-columns:32px minmax(0,1fr);}.session-card button,.session-card em {grid-column:2;}}
@media (max-width:420px) {.quick-grid {grid-template-columns:1fr;}.topbar {padding-inline:8px;}.model-pill {padding-inline:6px;}.hero h1 {font-size:32px;}}
@media (prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none !important;transition:none !important;scroll-behavior:auto !important;}}
@media (forced-colors:active) {:focus-visible {outline:2px solid Highlight !important;}.field-label {color:CanvasText;}}
