@charset "UTF-8";:root{--brand-deep: #230d41;--brand-accent: #7f2e8d;--brand-alt: #3d2280;--sidebar-width: 250px;--sidebar-bg: var(--brand-deep);--sidebar-color: #e7e0f2;--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-accent: var(--brand-accent);--topbar-bg: #ffffff;--content-bg: #f6f4fb;--ink: #2a1b45;--muted: #6c757d;--line: #e9ecef}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--content-bg);color:var(--ink)}.surface,.card-soft{background-color:#fff;border:1px solid var(--line);border-radius:10px}.card-soft{padding:20px;box-shadow:0 2px 6px #230d410f}.section-title{font-weight:700;color:var(--ink);font-size:1.05rem;margin:0}.muted{color:var(--muted)}.dl-badge{display:inline-block;font-size:11px;font-weight:600;line-height:1;padding:5px 9px 6px;border-radius:20px;border:1px solid transparent;white-space:nowrap}.dl-badge--neutral{background:#f1f3f5;color:#495057;border-color:#e3e6ea}.dl-badge--brand{background:#f3e9f6;color:var(--brand-accent);border-color:#e7d5ec}.dl-badge--info{background:#e7f1ff;color:#1c64c4;border-color:#d3e4fb}.dl-badge--success{background:#e6f6ec;color:#157347;border-color:#cfeddc}.dl-badge--warning{background:#fff4e5;color:#b26a00;border-color:#ffe6c7}.dl-badge--danger{background:#fdecee;color:#b02a37;border-color:#f8d7da}.dl-empty,.dl-error{text-align:center;padding:48px 24px;border-radius:10px;border:1px dashed var(--line);background:#fff}.dl-empty i,.dl-error i{font-size:28px;display:block;margin-bottom:12px}.dl-empty p,.dl-error p{margin:0 0 16px}.dl-empty{color:var(--muted)}.dl-empty i{color:#b3a6cf}.dl-error{color:#b02a37;border-color:#f8d7da;border-style:solid;background:#fdecee}.dl-error i{color:#b02a37}.table-responsive{font-size:12px;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 6px #230d410f}.table-responsive table{margin-bottom:0}.table-responsive thead th{background-color:#f8f9fa;border-top:none;font-weight:600;color:#2c3e50;-webkit-user-select:none;user-select:none}.table-responsive tbody tr{transition:background-color .2s}.table-responsive tbody tr:hover{background-color:#f8f9fa}.btn-brand{background-color:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.btn-brand:hover,.btn-brand:focus{background-color:var(--brand-alt);border-color:var(--brand-alt);color:#fff}.btn-outline-brand{border-color:var(--brand-accent);color:var(--brand-accent);background:transparent}.btn-outline-brand:hover{background-color:var(--brand-accent);color:#fff}
