/* GSTPanel — small layer on top of Bootstrap 5.3 */
:root { --gp-side: 240px; }
body { background: #f4f6fa; font-size: .95rem; }
.gp-topbar { z-index: 1030; }
.gp-side { width: var(--gp-side); min-height: calc(100vh - 57px); }
@media (min-width: 992px) {
  .gp-side { position: sticky; top: 57px; height: calc(100vh - 57px); overflow-y: auto; flex-shrink: 0; }
}
.gp-side .nav-link { color: #344054; padding: .45rem 1rem; border-left: 3px solid transparent; }
.gp-side .nav-link:hover { background: #f1f4f9; }
.gp-side .nav-link.active { background: #e8f0fe; color: #0d6efd; border-left-color: #0d6efd; font-weight: 600; }
.gp-nav-head { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: #98a2b3; padding: .9rem 1rem .25rem; }
.gp-main { min-width: 0; }
.gp-ctx { position: sticky; top: 57px; z-index: 1020; }
.gp-avatar { display: inline-flex; width: 32px; height: 32px; border-radius: 50%; background: #0d6efd; color: #fff; align-items: center; justify-content: center; font-weight: 600; }
.gp-auth { background: linear-gradient(160deg, #eef3ff 0%, #f8f9fb 60%); min-height: 100vh; }
.gp-choose { transition: transform .1s; }
.gp-choose:hover { transform: translateY(-2px); }

/* work list row colours: green on track, amber ≤3 days, red overdue, grey on hold */
.gp-due { width: 6px; padding: 0 !important; }
.gp-due-green { background: #2fb170; }
.gp-due-amber { background: #f5a524; }
.gp-due-red   { background: #e5484d; }
.gp-due-grey  { background: #adb5bd; }
.gp-due-done  { background: #c7e9d6; }
tr.gp-row-red td { background-color: #fff5f5; }
tr.gp-row-grey td { color: #6c757d; }
.table td, .table th { vertical-align: middle; }
.gp-mono { font-family: SFMono-Regular, Menlo, Consolas, monospace; font-size: .85em; }
.gp-bulkbar { position: sticky; bottom: 0; z-index: 10; }
.flag-check .form-check-label { font-size: .85rem; }
.dt-container .dt-search input { min-width: 220px; }
.gp-card-green { border-left-color: #2fb170 !important; }
.gp-card-amber { border-left-color: #f5a524 !important; }
.gp-card-red   { border-left-color: #e5484d !important; }
.gp-card-grey  { border-left-color: #adb5bd !important; }
.gp-card-done  { border-left-color: #c7e9d6 !important; }
