/* Small app-wide overrides on top of the theme (assets/css/style.bundle.css). */
.field-validation-error { color: #f1416c; font-size: .9rem; }

/* ---------- Generic right-side panel (add / edit forms). Same look as the old dep-/dsg-/doc- panels ---------- */
.hp-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 1049; opacity: 0; visibility: hidden; transition: opacity .25s ease; }
.hp-overlay.show { opacity: 1; visibility: visible; }
.hp-panel { position: fixed; top: 0; right: 0; height: 100vh; width: 430px; max-width: 100%; background: #fff; z-index: 1050;
    box-shadow: -4px 0 24px rgba(0,0,0,.08); transform: translateX(100%); transition: transform .3s ease; display: flex; flex-direction: column; }
.hp-panel.wide { width: 560px; }
.hp-panel.show { transform: translateX(0); }
.hp-panel-header { display: flex; align-items: flex-start; justify-content: space-between; padding: 20px 22px 16px; border-bottom: 1px solid #eef0f4; }
.hp-panel-body { padding: 22px; overflow-y: auto; flex: 1 1 auto; }
.hp-panel .panel-icon { width: 44px; height: 44px; border-radius: 50%; background: #eaf1ff; color: #3b7ddd; display: flex; align-items: center; justify-content: center; flex: 0 0 44px; margin-right: 12px; }
.hp-panel .panel-title { font-size: 16px; font-weight: 600; margin: 0; }
.hp-panel .panel-sub { font-size: 12.5px; color: #7c8698; margin: 2px 0 0; }
.hp-panel .col-form-label { font-size: 13px; font-weight: 500; color: #313a4c; }
.hp-panel .form-control, .hp-panel .form-select { border-radius: 8px; }
.hp-panel-close { border: none; background: transparent; font-size: 22px; line-height: 1; color: #98a2b3; cursor: pointer; }
body.hp-panel-open { overflow: hidden; }

/* ---------- Master list pages (old departmentlist.css / dsg- / doc- styles) ---------- */
.mst-stat-card { border: 1px solid #eef0f4; border-radius: 12px; background: #fff; padding: 16px 18px; display: flex; align-items: center; gap: 14px; height: 100%; }
.mst-stat-icon { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; flex: 0 0 44px; background: #eaf1ff; color: #3b7ddd; }
.mst-stat-icon.green { background: #e8fff3; color: #50cd89; }
.mst-stat-icon.purple { background: #f8f5ff; color: #7239ea; }
.mst-stat-icon.orange { background: #fff8dd; color: #f6a609; }
.mst-stat-label { font-size: 13px; color: #7c8698; margin-bottom: 2px; }
.mst-stat-value { font-size: 20px; font-weight: 600; color: #1b1f2b; line-height: 1; }
.mst-table thead th { font-size: 12px; font-weight: 600; color: #6b7280; border-bottom: 1px solid #eef0f4 !important; white-space: nowrap; }
.mst-table td { font-size: 13.5px; color: #313a4c; vertical-align: middle; }
.mst-act-btn { border: none; padding: 6px 9px; font-size: 14px; border-radius: 8px; margin-right: 4px; }
.mst-act-btn.edit { background: #eaf1ff; color: #3b7ddd; }
.mst-act-btn.del { background: #ffeaef; color: #f0426b; }
.mst-badge { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 500; background: #e8fff3; color: #50cd89; }
.word-break { word-break: break-word; }

/* Not yet ported menu items */
.settings-subtab.soon, .settings-tab.soon { opacity: .55; }
