.sidebar .brand { flex-direction: column; align-items: stretch; text-align: center; gap: 10px; }
.sidebar .brand .brand-mark.uploaded-brand-mark { width: 100%; height: 108px; border-radius: 0; background: transparent !important; box-shadow: none; }
.sidebar .brand .brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sidebar .brand > div:last-child b { font-size: 19px; }
.sidebar .brand small { display: block; line-height: 1.5; }
.select-menu[popover] { position: fixed !important; inset: auto; right: auto !important; bottom: auto !important; margin: 0 !important; padding: 0; z-index: 1000; border: 1px solid #d9cbe9; background: #fff; color: #40314e; border-radius: 11px; box-shadow: 0 14px 40px #28183d30; transform: none !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; max-width: calc(100vw - 16px); }
.searchable-select > .select-menu { display: none; }
.searchable-select.is-open > .select-menu { display: flex; flex-direction: column; }
.select-menu[popover] .select-menu-search { flex: none; min-height: 41px; padding: 7px 10px; }
.select-menu[popover] .select-options { flex: 0 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.select-menu[popover] .select-option { width: 100%; white-space: normal; text-align: left; }
.select-menu[popover] .select-option[hidden], .select-empty[hidden] { display: none !important; }
.select-empty { padding: 12px; margin: 0; color: #8d7c9e; font-size: 12px; }
.select-trigger .select-current { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
body:has(#modal-root .modal) { overflow: hidden; }
.modal.form-modal { width: min(720px, 100%); height: auto; max-height: calc(100dvh - 20px); }
.form-modal .modal-body { flex: 0 1 auto; overflow: auto; padding: 17px 20px; }
.form-modal #modal-form { display: flex; flex-direction: column; gap: 12px; min-height: 0; }
.form-modal #form-error:empty { display: none; }
.form-modal .form-grid { gap: 11px 16px; }
.form-modal .field { margin: 0; gap: 5px; }
.form-modal .field input, .form-modal .select-trigger { min-height: 37px; padding: 8px 10px; }
.form-modal .modal-foot { position: static; margin: 0; padding: 12px 0 0; flex: none; background: transparent; }
.form-modal .notice { margin: 0; }
.form-modal .modal-error { padding: 8px 11px; margin: 0; }
.boot { gap: 13px; text-align: center; padding: 24px; }
.boot-brand { width: min(220px, 60vw); height: 130px; display: flex; align-items: center; justify-content: center; }
.boot-brand img { width: 100%; height: 100%; object-fit: contain; animation: brand-breathe 1.8s ease-in-out infinite; }
.boot h2 { font-size: 22px; }
.boot p { color: #8b7c9a; font-size: 13px; }
.loading-track { width: 150px; height: 4px; overflow: hidden; background: #e9e1f3; border-radius: 5px; }
.loading-track:after { content: ''; display: block; width: 45%; height: 100%; background: linear-gradient(90deg,#8a62d4,#f47b56); border-radius: 5px; animation: loading-slide 1.2s ease-in-out infinite; }
.workspace-loading { position: fixed; top: 12px; left: 50%; transform: translateX(-50%); z-index: 1100; display: flex; align-items: center; gap: 10px; padding: 8px 16px; border: 1px solid #e4d9ef; border-radius: 12px; background: #ffffffed; box-shadow: 0 7px 26px #30184020; font-size: 12px; color: #655076; pointer-events: none; }
.workspace-loading[hidden] { display: none; }
.workspace-loading img { width: 34px; height: 32px; object-fit: contain; }
.loading-dot { width: 15px; height: 15px; border: 2px solid #e7dfee; border-top-color: #8057c9; border-radius: 50%; animation: loading-spin .65s linear infinite; }
@keyframes loading-spin { to { transform: rotate(360deg); } }
@keyframes loading-slide { 0% { transform: translateX(-110%); } 100% { transform: translateX(340%); } }
@keyframes brand-breathe { 50% { opacity: .6; transform: scale(.98); } }
@media (max-width: 700px) {
    .form-modal .modal-body { padding: 12px; }
    .form-modal .modal-head { padding: 12px 14px; }
    .form-modal .modal-head h2 { font-size: 17px; }
    .form-modal #modal-form { gap: 9px; }
    .form-modal .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .form-modal .field input, .form-modal .select-trigger { min-height: 35px; font-size: 13px; }
    .form-modal .modal-foot .btn { flex: 1; }
    .select-menu[popover] .select-menu-input { font-size: 16px !important; }
    .workspace-loading { max-width: calc(100vw - 20px); white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) { .boot-brand img, .loading-track:after, .loading-dot { animation: none; } }
@media print { .workspace-loading { display: none !important; } }
.employee-detail-modal.modal { width: min(1080px,100%); height: min(780px,calc(100dvh - 24px)); }
.employee-detail-modal .modal-body { display:flex; overflow:hidden; }
#employee-profile { display:flex; flex-direction:column; flex:1; gap:13px; min-height:0; min-width:0; }
.employee-identity { display:flex; gap:20px; align-items:start; justify-content:space-between; padding:15px; border:1px solid #e6dcef; border-radius:12px; background:#faf6ff; }
.employee-identity p { color:#8b7b99; font-size:12px; margin-top:4px; }
.employee-identity dl { display:grid; grid-template-columns:1fr 1fr; gap:9px 20px; margin:0; }
.employee-identity dt { color:#9683a6; font-size:10px; }
.employee-identity dd { margin:2px 0 0; color:#493458; font-weight:650; font-size:12px; }
.profile-filters { display:flex; gap:10px; align-items:end; }
.profile-filters label { display:grid; gap:4px; color:#8a7899; font-size:11px; }
.profile-filters input { padding:7px 9px; border:1px solid #dfd3e9; border-radius:8px; background:#fff; color:#45314f; font:inherit; }
#employee-profile .tabs { margin:0; flex:none; }
.profile-content { min-height:0; overflow:auto; }
.employee-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.employee-metrics>div { padding:17px; border:1px solid #e5d9ef; border-radius:12px; background:#fff; }
.employee-metrics span { display:block; font-size:11px; color:#907b9e; }
.employee-metrics b { display:block; margin-top:7px; font-size:19px; color:#553a76; }
.profile-loading { align-items:center; justify-content:center; }
@media(max-width:700px) {
 .employee-detail-modal .modal-body { padding:10px; }
 .employee-identity { padding:10px; flex-direction:column; gap:10px; }
 .employee-identity dl { width:100%; gap:7px; }
 .profile-filters { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
 .profile-filters .btn { grid-column:1/-1; }
 .employee-metrics { grid-template-columns:1fr 1fr; gap:7px; }
 .employee-metrics>div { padding:11px; }
 .employee-metrics b { font-size:15px; }
}
