/* REVOO AI ID — Frontend V85 R43 (visual / interaction only).
   Keep existing R42 Soft Modern colors, data, API, exports, pagination and sidebar. */
@media screen {
  /* Constrain ONLY lengthy table bodies to their own scroll region.
     Header never sticks to the overall page or floats over other panels.
     Dashboard's continuously animated activity rows are excluded. */
  .page-content :is(.table-scroll, .table-wrap, .responsive-table):has(> table > tbody > tr:nth-child(9)):not(.finance-dashboard-v81 .table-scroll) {
    max-height: min(62vh, 610px);
    overflow: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    position: relative;
  }
  .page-content :is(.table-scroll, .table-wrap, .responsive-table):has(> table > tbody > tr:nth-child(9)):not(.finance-dashboard-v81 .table-scroll) > table > thead > tr > th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #eaf2ed;
    background-clip: padding-box;
    box-shadow: inset 0 -1px 0 #d1e1d7;
  }
  html[data-theme="dark"] .page-content :is(.table-scroll, .table-wrap, .responsive-table):has(> table > tbody > tr:nth-child(9)):not(.finance-dashboard-v81 .table-scroll) > table > thead > tr > th {
    background: #0b1322;
    box-shadow: inset 0 -1px 0 #3c4c57;
  }
  /* Existing desktop-only bell gains a real, data-backed accessible preview. */
  .topbar .revoo-r43-notice-wrap {position: relative; flex: 0 0 auto; display: flex; align-items: center;}
  .topbar .revoo-topbar-notification-v85-r42[aria-expanded="true"] {background:#e2f1e9;border-color:#92bca8;box-shadow:0 0 0 3px rgba(75,133,108,.11);}
  .topbar .revoo-r43-notice-panel {
    position:absolute;right:0;top:calc(100% + 11px);z-index:90;
    width:min(365px,calc(100vw - 36px));max-height:min(440px,75vh);
    overflow-y:auto;overscroll-behavior:contain;background:#fffefa;
    border:1px solid #dce9e0;border-radius:19px;
    padding:13px;box-shadow:0 19px 49px rgba(30,66,55,.18);
    color:#31483f;
  }
  .revoo-r43-notice-panel .revoo-r43-notice-heading {display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:3px 4px 11px;border-bottom:1px solid #e4ece6;}
  .revoo-r43-notice-heading strong {font-size:13px;display:block;}
  .revoo-r43-notice-heading small {display:block;margin-top:2px;color:#6b8276;font-size:11px;}
  .revoo-r43-notice-heading button {border:0;background:transparent;color:inherit;cursor:pointer;font-size:19px;line-height:1;padding:3px 7px;border-radius:8px;}
  .revoo-r43-notice-list {display:grid;gap:6px;padding:10px 0;}
  .revoo-r43-notice-item {display:flex;align-items:flex-start;gap:10px;border-radius:11px;background:#f4f8f4;padding:11px 10px;}
  .revoo-r43-notice-icon {display:grid;place-items:center;min-width:28px;height:28px;border-radius:9px;background:#e0eee4;color:#426e5b;font-size:14px;}
  .revoo-r43-notice-item strong {display:block;font-size:12px;}
  .revoo-r43-notice-item small {display:block;color:#668174;font-size:11px;margin-top:3px;line-height:1.4;}
  .revoo-r43-notice-empty {padding:16px 8px;color:#597367;font-size:12px;text-align:center;}
  .revoo-r43-notice-all {width:100%;border-radius:11px;min-height:37px;background:#e7f2eb;color:#255b4a;border:1px solid #cfe4d7;font-size:12px;font-weight:750;cursor:pointer;}
  .revoo-r43-notice-all:hover,.revoo-r43-notice-heading button:hover {background:#d8eadd;}
  .revoo-r43-notice-panel button:focus-visible {outline:2px solid #3a8d70;outline-offset:2px;}
  html[data-theme="dark"] .revoo-r43-notice-panel {background:#1e3036;border-color:#45635a;color:#edf8f1;box-shadow:0 17px 48px rgba(0,0,0,.34);}
  html[data-theme="dark"] .revoo-r43-notice-heading {border-color:#3b5551;}
  html[data-theme="dark"] .revoo-r43-notice-heading small, html[data-theme="dark"] .revoo-r43-notice-item small {color:#bbd3c8;}
  html[data-theme="dark"] .revoo-r43-notice-item {background:#28423d;}
  html[data-theme="dark"] .revoo-r43-notice-icon {background:#34584b;color:#d9efe3;}
  html[data-theme="dark"] .revoo-r43-notice-all {background:#305546;border-color:#4b7d65;color:#f0fff4;}
  /* Consistent button/processing affordances, without changing event handlers. */
  .page-content :is(.button,.icon-button,.form-actions > button) {
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, filter .16s ease, transform .16s ease;
  }
  .page-content :is(.button,.icon-button,.form-actions > button):focus-visible {
    outline:2px solid #3e8d77;outline-offset:2px;
  }
  .page-content :is(.button,.icon-button,.form-actions > button):disabled {
    cursor:not-allowed;opacity:.59;box-shadow:none !important;filter:saturate(.72);
  }
  .page-content button[data-revoo-busy="true"] {
    cursor:progress!important;opacity:.83;pointer-events:none;
  }
  .page-content button[data-revoo-busy="true"]::before {
    content:"";display:inline-block;vertical-align:middle;flex:0 0 auto;
    width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;
    border-radius:50%;animation:revoo-r43-spinner .8s linear infinite;
  }
  @keyframes revoo-r43-spinner {to{transform:rotate(360deg)}}
  @media (hover:hover) and (pointer:fine) {
    .page-content :is(.button,.form-actions > button):not(:disabled):hover {
      filter:brightness(.975);box-shadow:0 5px 13px rgba(48,95,77,.11);
      transform:translateY(-1px);
    }
  }
  @media (max-width:1149px) {.topbar .revoo-r43-notice-wrap{display:none!important;}}
  @media (prefers-reduced-motion:reduce) {
    .page-content :is(.button,.icon-button,.form-actions > button){transition:none!important;transform:none!important;}
    .page-content button[data-revoo-busy="true"]::before{animation:none;border-right-color:currentColor;}
  }
}
