/* Local UI refinements; loaded after the upstream theme. */
:root {
  --refresh-canvas: #f4f6fa;
  --refresh-panel: #fff;
  --refresh-text: #17253b;
  --refresh-muted: #526279;
  --refresh-border: #dce3ed;
  --refresh-accent: #335cdb;
}
[data-theme="dark"] {
  --refresh-canvas: #111823;
  --refresh-panel: #1a2433;
  --refresh-text: #edf2fa;
  --refresh-muted: #b3bfd0;
  --refresh-border: #344155;
  --refresh-accent: #a6bbff;
}
body { background: var(--refresh-canvas); color: var(--refresh-text); }
.dashboard-main { background: var(--refresh-canvas); }
.dashboard-main-body { padding: 28px; }
.dashboard-main-body .card {
  background: var(--refresh-panel) !important;
  border-color: var(--refresh-border) !important;
  box-shadow: 0 2px 5px rgb(15 23 42 / 3%) !important;
  border-radius: 14px !important;
}
.dashboard-main-body h6 { color: var(--refresh-text); letter-spacing: -.025em; }
.dashboard-main-body > .d-flex > div > h6,
.dashboard-main-body > .container-fluid > .d-flex > strong > p,
.dashboard-main-body > .container-fluid > .d-flex > h6 { font-size: 24px; font-weight: 700 !important; }
.dashboard-main-body .text-secondary-light { color: var(--refresh-muted) !important; }
.navbar-header, .sidebar { background: var(--refresh-panel); border-color: var(--refresh-border); }
.navbar-header { border-bottom: 1px solid var(--refresh-border); box-shadow: none; }
.sidebar-menu li > a { border-radius: 9px; }
.sidebar-menu li > a.active-page { box-shadow: inset 3px 0 var(--refresh-accent); }
.sidebar-menu .sidebar-menu-group-title { letter-spacing: .07em; font-size: 11px; text-transform: uppercase; }
.btn { font-weight: 600; transition: background-color .15s, box-shadow .15s; }
:is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--refresh-accent) !important; outline-offset: 3px;
}
#projects-grid { row-gap: 18px; }
#projects-grid .card-body { padding: 20px !important; }
#projects-grid .card { transition: border-color .15s, box-shadow .15s; }
#projects-grid .card:hover { border-color: var(--refresh-accent) !important; box-shadow: 0 6px 18px rgb(15 23 42 / 7%) !important; }
#projects-grid .dropdown.position-absolute { left: auto !important; right: 16px; margin: 0 !important; top: 16px !important; }
#projects-grid .dropdown + .d-flex { padding-right: 38px; min-height: 38px; }
#projects-grid .dropdown > button {
  background: var(--refresh-canvas) !important; color: var(--refresh-text) !important;
  border: 1px solid var(--refresh-border) !important;
}
.project-menu-dots { font: 700 25px/1 system-ui, sans-serif; }
#projects-grid .w-50-px { width: 36px !important; height: 36px !important; background: #335cdb !important; }
#projects-grid h6 { font-size: 18px !important; margin-top: 10px; }
#projects-grid .btn-info { background: #335cdb !important; border-color: #335cdb !important; color: #fff !important; }
#projects-grid .btn-success { background: var(--refresh-canvas) !important; border-color: var(--refresh-border) !important; color: var(--refresh-text) !important; }
#projects-grid .btn-danger { background: transparent !important; border-color: var(--refresh-border) !important; color: #b42335 !important; }
[data-theme="dark"] #projects-grid .btn-danger { color: #ff9aaa !important; }
#projects-grid .border-top { border-color: var(--refresh-border) !important; }
#disk-text { white-space: normal !important; overflow: visible !important; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.dashboard-main-body .form-control, .dashboard-main-body .form-select {
  background-color: var(--refresh-panel); color: var(--refresh-text); border-color: var(--refresh-border); border-radius: 9px;
}
#services-list td { vertical-align: middle; }
.service-empty { padding: 32px 16px; text-align: center; white-space: normal; }
.service-empty strong { display: block; font-size: 18px; margin-bottom: 8px; }
.service-empty p { color: var(--refresh-muted); margin-bottom: 16px; }
@media (max-width: 767px) {
  .dashboard-main-body { padding: 18px 14px; }
  .dashboard-main-body > .container-fluid { padding: 0; }
  #projects-grid > [class*="col-"] { width: 100%; }
  #projects-grid .card-body { padding: 16px !important; }
  .dashboard-main-body .card-body.p-24 { padding: 18px !important; }
  .dashboard-main-body > .d-flex > ul, .dashboard-main-body > .container-fluid > .d-flex > ul { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .btn, #projects-grid .card { transition: none; } }
/* Keep open action menus above adjacent cards. */
#projects-grid .card:focus-within { position: relative; z-index: 5; }
#projects-grid .dropdown-menu { min-width: 190px; }
#services .table { min-width: 960px; }
#services-list input[type="number"] { min-width: 88px; }
