:root {
  --core-red: #d92d20;
  --core-amber: #b54708;
  --core-violet: #7a5af8;
}
[hidden] { display: none !important; }
html.rch-core-auth-gated,
body.rch-core-auth-gated { width: 100%; height: 100%; overflow: hidden !important; overscroll-behavior: none; }
body.rch-core-auth-gated #coreApp { display: none !important; visibility: hidden !important; pointer-events: none !important; }
body.rch-core-auth-gated #accessGate { position: fixed; inset: 0; z-index: 50000; overflow: auto; overscroll-behavior: contain; }
body.rch-core-v1 > img:not(.gate-brand-logo):not(.office-brand-logo),
body.rch-core-v1 > iframe,
body.rch-core-v1 > object,
body.rch-core-v1 > embed,
body.rch-core-v1 > input[type="image"] { display: none !important; }
.core-content { padding-bottom: 44px; }
.core-kpi-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
.core-toolbar { position: sticky; top: 0; z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding: 13px; box-shadow: 0 10px 28px rgba(15,23,42,.08); }
.core-toolbar-fields { flex: 1; display: grid; grid-template-columns: minmax(260px,1.5fr) repeat(4,minmax(145px,.7fr)); gap: 9px; }
.core-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.45fr); gap: 16px; margin-top: 14px; align-items: start; }
.core-table-panel { overflow: hidden; }
.core-table { min-width: 1080px; }
.core-code { color: #175cd3; font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.core-title { display: block; max-width: 330px; overflow: hidden; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.core-subtitle { display: block; max-width: 330px; overflow: hidden; margin-top: 4px; color: #667085; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.core-row-overdue { background: #fff8f7; }
.core-row-overdue:hover { background: #fff3f1 !important; }
.core-side-stack { display: grid; gap: 14px; }
.core-side-list, .core-status-list, .core-history-list { display: grid; gap: 8px; padding: 0 15px 17px; }
.core-side-item { width: 100%; display: grid; gap: 4px; padding: 11px 12px; border: 1px solid #e7ebf1; border-radius: 13px; background: #fbfcfe; text-align: left; cursor: pointer; }
.core-side-item:hover { border-color: #b2ccff; background: #f5f9ff; }
.core-side-item strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.core-side-item span { color: #667085; font-size: 11px; }
.core-side-item.overdue { border-color: #fecaca; background: #fff7f6; }
.core-status-row { display: grid; gap: 6px; }
.core-status-head { display: flex; justify-content: space-between; gap: 12px; color: #344054; font-size: 12px; font-weight: 800; }
.core-status-track { height: 8px; overflow: hidden; border-radius: 999px; background: #e8ecf2; }
.core-status-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#1677ff,#7a5af8); }
.core-history-item { padding: 10px 11px; border-left: 3px solid #84adff; border-radius: 0 11px 11px 0; background: #f8fbff; }
.core-history-item strong { display: block; font-size: 12px; }
.core-history-item span { display: block; margin-top: 3px; color: #667085; font-size: 11px; line-height: 1.4; }
.core-empty { padding: 24px 14px; color: #98a2b3; text-align: center; font-size: 12px; }
.core-deadline.overdue { color: #b42318; font-weight: 850; }
.core-deadline.today { color: #b54708; font-weight: 850; }
.core-local-link { color: #175cd3; }
@media (max-width: 1450px) {
  .core-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .core-toolbar-fields { grid-template-columns: repeat(3,minmax(150px,1fr)); }
  .core-toolbar-fields input { grid-column: span 2; }
}
@media (max-width: 1120px) {
  .core-dashboard-grid { grid-template-columns: 1fr; }
  .core-side-stack { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .core-toolbar { position: static; align-items: stretch; flex-direction: column; }
  .core-toolbar-fields { grid-template-columns: repeat(2,1fr); }
  .core-toolbar-fields input { grid-column: span 2; }
  .core-side-stack { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .core-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .core-toolbar-fields { grid-template-columns: 1fr; }
  .core-toolbar-fields input { grid-column: auto; }
}
