
.ux-empty-state,.ux-soft-alert,.ux-soft-loader,.ux-form-shell,.ux-timeline-card,.ux-detail-card,.ux-toast-card{border:1px solid rgba(148,163,184,.16);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 16px 40px rgba(15,23,42,.06)}
[data-bs-theme="dark"] .ux-empty-state,[data-bs-theme="dark"] .ux-soft-alert,[data-bs-theme="dark"] .ux-soft-loader,[data-bs-theme="dark"] .ux-form-shell,[data-bs-theme="dark"] .ux-timeline-card,[data-bs-theme="dark"] .ux-detail-card,[data-bs-theme="dark"] .ux-toast-card{background:rgba(15,23,42,.72)}
.ux-empty-state{padding:1.5rem;text-align:center;color:var(--bs-secondary-color);border-style:dashed}
.ux-empty-state .icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;margin:0 auto 1rem;background:rgba(37,99,235,.12);color:var(--bs-primary);font-size:1.35rem}
.ux-soft-alert{padding:1rem 1.1rem;display:flex;align-items:flex-start;gap:.8rem}
.ux-soft-alert.success{border-color:rgba(34,197,94,.22);background:rgba(34,197,94,.08)}
.ux-soft-alert.warning{border-color:rgba(245,158,11,.22);background:rgba(245,158,11,.10)}
.ux-soft-alert.danger{border-color:rgba(239,68,68,.22);background:rgba(239,68,68,.08)}
.ux-soft-alert .icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.55);flex:0 0 auto}
.ux-form-shell{padding:1rem}
.ux-form-shell .form-control,.ux-form-shell .form-select{border-radius:16px;border-color:rgba(148,163,184,.28);min-height:48px;box-shadow:none}
.ux-form-shell textarea.form-control{min-height:120px}
.ux-form-shell .form-control:focus,.ux-form-shell .form-select:focus{border-color:rgba(37,99,235,.55);box-shadow:0 0 0 .22rem rgba(37,99,235,.12)}
.ux-form-shell .form-control.is-invalid,.ux-form-shell .form-select.is-invalid{border-color:rgba(239,68,68,.72);box-shadow:0 0 0 .22rem rgba(239,68,68,.10)}
.ux-helper-text{font-size:.82rem;color:var(--bs-secondary-color);margin-top:.35rem}
.ux-loader-inline{display:inline-flex;align-items:center;gap:.6rem}
.ux-loader-inline::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(37,99,235,.18);border-top-color:var(--bs-primary);animation:bgsmSpin .75s linear infinite}
.ux-soft-loader{padding:1rem 1.1rem;display:flex;align-items:center;gap:.8rem}
.ux-soft-loader .bar{height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(148,163,184,.18),rgba(37,99,235,.26),rgba(148,163,184,.18));background-size:200% 100%;animation:bgsmShimmer 1.2s linear infinite}
.ux-soft-loader .bar.w-40{width:40%}.ux-soft-loader .bar.w-60{width:60%}.ux-soft-loader .bar.w-80{width:80%}
.ux-chip-row{display:flex;flex-wrap:wrap;gap:.65rem}
.ux-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .8rem;border-radius:999px;background:rgba(37,99,235,.12);color:var(--bs-primary);font-size:.84rem;font-weight:700}
.ux-detail-card{padding:1.15rem 1.2rem;height:100%}
.ux-detail-label{display:block;color:var(--bs-secondary-color);font-size:.8rem;margin-bottom:.35rem}
.ux-detail-value{display:block;font-weight:700}
.ux-timeline{display:flex;flex-direction:column;gap:.95rem}
.ux-timeline-item{display:flex;gap:.85rem;align-items:flex-start}
.ux-timeline-item .marker{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#0f172a,#2563eb);color:#fff;flex:0 0 auto}
.ux-table-shell .table thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--bs-secondary-color);background:rgba(148,163,184,.06);border-bottom-width:1px}
.ux-status-badge{display:inline-flex;align-items:center;padding:.38rem .72rem;border-radius:999px;font-size:.8rem;font-weight:700}
.ux-status-badge.pending,.ux-status-badge.open{background:rgba(245,158,11,.14);color:#b45309}
.ux-status-badge.success,.ux-status-badge.approved,.ux-status-badge.resolved,.ux-status-badge.paid{background:rgba(34,197,94,.14);color:#15803d}
.ux-status-badge.rejected,.ux-status-badge.cancelled,.ux-status-badge.closed{background:rgba(239,68,68,.14);color:#b91c1c}
.ux-status-badge.review,.ux-status-badge.processing{background:rgba(59,130,246,.14);color:#1d4ed8}
.ux-toast-stack{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.75rem;z-index:1085;max-width:min(380px,calc(100vw - 2rem))}
.ux-toast-card{padding:1rem 1.1rem;display:flex;gap:.8rem;align-items:flex-start}
.ux-toast-card .icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(37,99,235,.12);color:var(--bs-primary);flex:0 0 auto}
.ux-page-actions{display:flex;gap:.75rem;flex-wrap:wrap}
@keyframes bgsmSpin{to{transform:rotate(360deg)}}
@keyframes bgsmShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media (max-width:767.98px){.ux-empty-state,.ux-soft-alert,.ux-form-shell,.ux-detail-card,.ux-timeline-card,.ux-toast-card{border-radius:20px}.ux-toast-stack{left:1rem;right:1rem;max-width:none}.ux-page-actions>*{flex:1 1 100%}}


.ux-field-error{display:block;margin-top:.4rem;font-size:.82rem;color:#b91c1c;font-weight:600}
.ux-section-shell{padding:1rem;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,250,252,.84));border:1px solid rgba(148,163,184,.16)}
[data-bs-theme="dark"] .ux-section-shell{background:linear-gradient(180deg,rgba(15,23,42,.9),rgba(15,23,42,.72));}
.ux-empty-state a,.ux-soft-alert a{text-underline-offset:3px}


.ux-table-shell{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ux-table-shell .table{min-width:640px}
.ux-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.ux-stat-card{padding:1rem 1.1rem;border-radius:22px;border:1px solid rgba(148,163,184,.16);background:rgba(255,255,255,.88);box-shadow:0 16px 40px rgba(15,23,42,.06)}
[data-bs-theme="dark"] .ux-stat-card{background:rgba(15,23,42,.78)}
