.btn-primary,.btn-secondary,.ds-btn,.vt-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;padding:0 14px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-semi);line-height:1;border:1px solid transparent;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;text-decoration:none;white-space:nowrap}.btn-primary:focus-visible,.btn-secondary:focus-visible,.ds-btn:focus-visible,.vt-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn-primary:disabled,.btn-secondary:disabled,.ds-btn:disabled,.ds-btn[disabled],.vt-btn:disabled,.vt-btn[disabled]{opacity:.5;cursor:not-allowed}.btn-primary,.ds-btn--primary,.vt-btn--primary{background:var(--brand-primary);color:var(--text-on-brand)}.btn-primary:hover,.ds-btn--primary:hover,.vt-btn--primary:hover{background:var(--brand-primary-hover)}.btn-primary:active,.ds-btn--primary:active,.vt-btn--primary:active{background:var(--brand-primary-active)}.ds-btn--success{background:var(--success);color:var(--text-on-brand)}.ds-btn--success:hover{background:var(--success-hover)}.btn-secondary,.ds-btn--secondary,.vt-btn:not([class*="--primary"]):not([class*="--ghost"]):not([class*="--danger"]){background:var(--surface);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-sm)}.btn-secondary:hover,.ds-btn--secondary:hover,.vt-btn:not([class*="--primary"]):not([class*="--ghost"]):not([class*="--danger"]):hover{background:var(--surface-hover);border-color:var(--border-strong)}.ds-btn--ghost,.vt-btn--ghost{background:transparent;color:var(--text-secondary);box-shadow:none}.ds-btn--ghost:hover,.vt-btn--ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.ds-btn--danger,.vt-btn--danger{background:var(--danger);color:var(--text-on-brand)}.ds-btn--danger:hover,.vt-btn--danger:hover{background:var(--danger-hover)}.ds-btn--sm,.vt-btn--sm{height:30px;padding:0 10px;font-size:var(--text-xs)}.ds-btn--lg,.vt-btn--lg{height:42px;padding:0 18px;font-size:var(--text-md)}.ds-btn .ds-icon,.ds-btn i,.ds-btn svg,.vt-btn i,.vt-btn svg{width:16px;height:16px}.ds-pill{display:inline-flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;transition:background .12s,border-color .12s}.ds-pill:hover{background:var(--surface-hover)}.ds-pill[aria-pressed=true]{background:var(--brand-primary-soft);border-color:var(--brand-primary);color:var(--brand-primary-active)}.ds-field{display:flex;flex-direction:column;gap:var(--space-2)}.ds-label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.ds-input,.ds-select,.ds-textarea{height:36px;padding:0 var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);transition:border-color .12s ease,box-shadow .12s ease}.ds-textarea{height:auto;padding:var(--space-3);min-height:96px}.ds-input::-moz-placeholder,.ds-textarea::-moz-placeholder{color:var(--text-tertiary)}.ds-input::placeholder,.ds-textarea::placeholder{color:var(--text-tertiary)}.ds-input:focus-visible,.ds-select:focus-visible,.ds-textarea:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.ds-input:hover:not(:focus-visible),.ds-select:hover:not(:focus-visible),.ds-textarea:hover:not(:focus-visible){border-color:var(--border-strong)}.ds-input[aria-invalid=true],.ds-select[aria-invalid=true]{border-color:var(--danger)}.ds-input--money{font-variant-numeric:tabular-nums;text-align:right}.ds-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-sm)}.ds-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.ds-card__title{font-size:var(--text-lg);font-weight:var(--fw-semi);color:var(--text-heading)}.ds-card__subtitle{font-size:var(--text-sm);color:var(--text-secondary)}.ds-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.ds-kpi-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.ds-kpi-card__label{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.ds-kpi-card__value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em;line-height:1.1;color:var(--text-heading)}.ds-kpi-card__value--positive{color:var(--success)}.ds-kpi-card__value--negative{color:var(--danger)}.ds-kpi-card__value--warning{color:var(--warning-text)}.ds-kpi-card__value--info{color:var(--brand-primary)}.ds-kpi-card__value .ds-money-prefix{font-size:.55em;font-weight:var(--fw-medium);margin-right:4px;color:var(--text-secondary)}.ds-kpi-card__footer{font-size:var(--text-sm);color:var(--text-secondary)}.ds-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.ds-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.ds-table thead th{padding:10px var(--space-4);text-align:left;background:var(--surface-subtle);border-bottom:1px solid var(--border);color:var(--text-tertiary);font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.ds-table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--divider);color:var(--text-primary);line-height:var(--lh-table)}.ds-table tbody tr:hover td{background:var(--surface-hover)}.ds-table tbody tr[aria-selected=true] td{background:var(--surface-selected)}.ds-table tbody tr.ds-row--overdue td:first-child{border-left:3px solid var(--danger)}.ds-col--money{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.ds-table__foot td{background:var(--surface-subtle);border-top:1px solid var(--border);padding:var(--space-3) var(--space-4);font-weight:var(--fw-semi)}.ds-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:.04em}.ds-badge--success{background:var(--success-soft);color:var(--success-text)}.ds-badge--danger{background:var(--danger-soft);color:var(--danger-text)}.ds-badge--warning{background:var(--warning-soft);color:var(--warning-text)}.ds-badge--info{background:var(--brand-primary-soft);color:var(--brand-primary-active)}.ds-badge--neutral{background:var(--surface-subtle);color:var(--text-secondary);border:1px solid var(--border)}.ds-filter-bar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.ds-filter-bar__group{display:flex}.ds-filter-bar__group,.ds-search{align-items:center;gap:var(--space-2)}.ds-search{display:inline-flex;height:36px;padding:0 var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);flex:1;min-width:240px;max-width:480px}.ds-search input{flex:1;border:0;background:transparent;font-size:var(--text-md);color:var(--text-primary);outline:none}.ds-search input::-moz-placeholder{color:var(--text-tertiary)}.ds-search input::placeholder{color:var(--text-tertiary)}.ds-page{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.ds-page__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.ds-page__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;letter-spacing:-.02em;color:var(--text-heading);line-height:1.1}.ds-page__subtitle{margin-top:4px;font-size:var(--text-sm);color:var(--text-secondary)}.ds-modal-overlay{position:fixed;inset:0;background:rgba(15,30,60,.45);z-index:var(--z-overlay);display:grid;place-items:center}.ds-modal{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:var(--z-modal);max-width:640px;width:calc(100vw - var(--space-8));max-height:calc(100vh - var(--space-8));overflow:hidden;display:flex;flex-direction:column}.ds-modal__header{border-bottom:1px solid var(--divider)}.ds-modal__body,.ds-modal__header{padding:var(--space-5) var(--space-6)}.ds-modal__body{overflow-y:auto;flex:1}.ds-modal__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--divider);display:flex;justify-content:flex-end;gap:var(--space-3);background:var(--surface-subtle)}.vt-arrow-module{color:var(--text-primary);font-family:var(--font-body)}.vt-arrow-module .bg-white{background-color:var(--surface)!important}.vt-arrow-module .bg-gray-50,.vt-arrow-module .bg-gray-50\/50,.vt-arrow-module .bg-slate-100,.vt-arrow-module .bg-slate-50,.vt-arrow-module .bg-zinc-100{background-color:var(--bg-app)!important}.vt-arrow-module .bg-gray-100,.vt-arrow-module .bg-zinc-100,.vt-arrow-module .hover\:bg-gray-100:hover,.vt-arrow-module .hover\:bg-gray-50:hover{background-color:var(--surface-hover)!important}.vt-arrow-module .border-gray-100,.vt-arrow-module .border-gray-200,.vt-arrow-module .border-zinc-200{border-color:var(--border)!important}.vt-arrow-module .text-gray-900,.vt-arrow-module .text-zinc-900{color:var(--text-heading)!important}.vt-arrow-module .text-gray-700,.vt-arrow-module .text-gray-800,.vt-arrow-module .text-zinc-700{color:var(--text-primary)!important}.vt-arrow-module .text-gray-500,.vt-arrow-module .text-gray-600,.vt-arrow-module .text-zinc-500{color:var(--text-secondary)!important}.vt-arrow-module .text-gray-400,.vt-arrow-module .text-zinc-400{color:var(--text-tertiary)!important}.vt-arrow-module .bg-cyan-100,.vt-arrow-module .bg-cyan-50,.vt-arrow-module .bg-fuchsia-100,.vt-arrow-module .bg-fuchsia-50,.vt-arrow-module .bg-purple-100,.vt-arrow-module .bg-purple-50,.vt-arrow-module .bg-violet-100,.vt-arrow-module .bg-violet-50,.vt-arrow-module .hover\:bg-cyan-50:hover,.vt-arrow-module .hover\:bg-fuchsia-50:hover,.vt-arrow-module .hover\:bg-purple-50:hover,.vt-arrow-module .hover\:bg-violet-50:hover{background-color:var(--brand-primary-soft)!important}.vt-arrow-module .bg-blue-500,.vt-arrow-module .bg-cyan-500,.vt-arrow-module .bg-fuchsia-500,.vt-arrow-module .bg-fuchsia-600,.vt-arrow-module .bg-purple-500,.vt-arrow-module .bg-purple-600,.vt-arrow-module .bg-violet-500,.vt-arrow-module .bg-violet-600,.vt-arrow-module .hover\:bg-blue-600:hover,.vt-arrow-module .hover\:bg-cyan-600:hover,.vt-arrow-module .hover\:bg-fuchsia-600:hover,.vt-arrow-module .hover\:bg-purple-600:hover,.vt-arrow-module .hover\:bg-violet-600:hover{background-color:var(--brand-primary)!important}.vt-arrow-module .hover\:text-fuchsia-700:hover,.vt-arrow-module .hover\:text-violet-600:hover,.vt-arrow-module .text-blue-500,.vt-arrow-module .text-blue-600,.vt-arrow-module .text-cyan-400,.vt-arrow-module .text-cyan-500,.vt-arrow-module .text-cyan-600,.vt-arrow-module .text-fuchsia-500,.vt-arrow-module .text-fuchsia-600,.vt-arrow-module .text-fuchsia-700,.vt-arrow-module .text-purple-300,.vt-arrow-module .text-purple-400,.vt-arrow-module .text-purple-500,.vt-arrow-module .text-purple-600,.vt-arrow-module .text-purple-700,.vt-arrow-module .text-violet-300,.vt-arrow-module .text-violet-400,.vt-arrow-module .text-violet-500,.vt-arrow-module .text-violet-600,.vt-arrow-module .text-violet-700{color:var(--brand-primary)!important}.vt-arrow-module .border-cyan-500,.vt-arrow-module .border-fuchsia-500,.vt-arrow-module .border-purple-500,.vt-arrow-module .border-violet-500,.vt-arrow-module .focus\:border-fuchsia-500:focus,.vt-arrow-module .focus\:border-purple-500:focus,.vt-arrow-module .focus\:border-violet-500:focus{border-color:var(--brand-primary)!important}.vt-arrow-module .from-cyan-400,.vt-arrow-module .from-fuchsia-500,.vt-arrow-module .from-fuchsia-600,.vt-arrow-module .from-purple-500,.vt-arrow-module .from-purple-600,.vt-arrow-module .from-violet-500,.vt-arrow-module .from-violet-600{--tw-gradient-from:var(--brand-primary) var(--tw-gradient-from-position)!important;--tw-gradient-to:transparent var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important}.vt-arrow-module .via-purple-500,.vt-arrow-module .via-purple-600,.vt-arrow-module .via-violet-600{--tw-gradient-stops:var(--tw-gradient-from),var(--brand-primary-hover) var(--tw-gradient-via-position),var(--tw-gradient-to)!important}.vt-arrow-module .to-blue-500,.vt-arrow-module .to-cyan-500,.vt-arrow-module .to-fuchsia-500,.vt-arrow-module .to-fuchsia-600,.vt-arrow-module .to-purple-500,.vt-arrow-module .to-purple-600,.vt-arrow-module .to-violet-500,.vt-arrow-module .to-violet-600{--tw-gradient-to:var(--brand-primary-hover) var(--tw-gradient-to-position)!important}.vt-arrow-module .shadow-fuchsia-500\/20,.vt-arrow-module .shadow-fuchsia-500\/25,.vt-arrow-module .shadow-purple-500\/20,.vt-arrow-module .shadow-purple-500\/30,.vt-arrow-module .shadow-violet-500\/20,.vt-arrow-module .shadow-violet-500\/30{--tw-shadow-color:var(--brand-primary-ring)!important;--tw-shadow:var(--tw-shadow-colored)!important}.vt-arrow-module [class*="shadow-[0_4px_12px_rgba"]{box-shadow:0 8px 24px var(--brand-primary-ring)!important}.vt-arrow-module .rounded-2xl,.vt-arrow-module .rounded-3xl{border-radius:var(--radius-lg)!important}.vt-arrow-module input,.vt-arrow-module select,.vt-arrow-module textarea{border-radius:var(--radius-md)!important}.ds-content .bg-cyan-100,.ds-content .bg-cyan-50,.ds-content .bg-cyan-500\/10,.ds-content .bg-cyan-500\/15,.ds-content .bg-cyan-500\/20,.ds-content .bg-cyan-500\/5,.ds-content .bg-fuchsia-100,.ds-content .bg-fuchsia-50,.ds-content .bg-fuchsia-500\/10,.ds-content .bg-indigo-100,.ds-content .bg-indigo-50,.ds-content .bg-indigo-500\/10,.ds-content .bg-purple-100,.ds-content .bg-purple-50,.ds-content .bg-purple-500\/10,.ds-content .bg-purple-500\/15,.ds-content .bg-purple-500\/20,.ds-content .bg-purple-500\/5,.ds-content .bg-violet-100,.ds-content .bg-violet-50,.ds-content .bg-violet-500\/10,.ds-content .bg-violet-500\/20,.ds-content .hover\:bg-cyan-500\/10:hover,.ds-content .hover\:bg-cyan-500\/5:hover,.ds-content .hover\:bg-purple-500\/10:hover,.ds-content .hover\:bg-purple-500\/20:hover,.ds-content .hover\:bg-purple-500\/5:hover,.ds-content .hover\:bg-violet-50:hover{background-color:var(--brand-primary-soft)!important}.ds-content .bg-cyan-500,.ds-content .bg-cyan-600,.ds-content .bg-fuchsia-500,.ds-content .bg-fuchsia-600,.ds-content .bg-indigo-500,.ds-content .bg-indigo-600,.ds-content .bg-purple-500,.ds-content .bg-purple-600,.ds-content .bg-purple-700,.ds-content .bg-violet-500,.ds-content .bg-violet-600,.ds-content .hover\:bg-cyan-600:hover,.ds-content .hover\:bg-fuchsia-600:hover,.ds-content .hover\:bg-purple-600:hover,.ds-content .hover\:bg-purple-700:hover{background-color:var(--brand-primary)!important}.ds-content .hover\:text-cyan-300:hover,.ds-content .hover\:text-cyan-400:hover,.ds-content .hover\:text-purple-300:hover,.ds-content .hover\:text-purple-400:hover,.ds-content .text-cyan-300,.ds-content .text-cyan-400,.ds-content .text-cyan-500,.ds-content .text-cyan-600,.ds-content .text-cyan-700,.ds-content .text-fuchsia-500,.ds-content .text-fuchsia-600,.ds-content .text-fuchsia-700,.ds-content .text-indigo-400,.ds-content .text-indigo-500,.ds-content .text-indigo-600,.ds-content .text-purple-200,.ds-content .text-purple-300,.ds-content .text-purple-400,.ds-content .text-purple-500,.ds-content .text-purple-600,.ds-content .text-purple-700,.ds-content .text-violet-300,.ds-content .text-violet-400,.ds-content .text-violet-500,.ds-content .text-violet-600{color:var(--brand-primary)!important}.ds-content .border-cyan-500\/10,.ds-content .border-cyan-500\/15,.ds-content .border-cyan-500\/20,.ds-content .border-cyan-500\/25,.ds-content .border-cyan-500\/30,.ds-content .border-fuchsia-500,.ds-content .border-purple-500\/10,.ds-content .border-purple-500\/20,.ds-content .border-purple-500\/25,.ds-content .border-purple-500\/30,.ds-content .border-purple-500\/40,.ds-content .border-violet-500,.ds-content .focus\:border-cyan-500\/50:focus,.ds-content .focus\:border-fuchsia-500:focus,.ds-content .focus\:border-purple-500\/50:focus,.ds-content .hover\:border-purple-500\/20:hover,.ds-content .hover\:border-purple-500\/30:hover,.ds-content .hover\:border-purple-500\/40:hover{border-color:var(--brand-primary)!important}.ds-content .focus\:ring-cyan-500\/30:focus,.ds-content .focus\:ring-fuchsia-500\/20:focus,.ds-content .focus\:ring-purple-500\/30:focus,.ds-content .focus\:ring-violet-500\/30:focus{--tw-ring-color:var(--brand-primary-ring)!important}.ds-content .accent-cyan-600,.ds-content .accent-fuchsia-600,.ds-content .accent-purple-600,.ds-content .accent-violet-600{accent-color:var(--brand-primary)!important}.ds-content .from-cyan-500,.ds-content .from-cyan-600,.ds-content .from-fuchsia-500,.ds-content .from-fuchsia-600,.ds-content .from-indigo-500,.ds-content .from-purple-500,.ds-content .from-purple-600,.ds-content .from-purple-700,.ds-content .from-violet-500,.ds-content .from-violet-600{--tw-gradient-from:var(--brand-primary) var(--tw-gradient-from-position)!important;--tw-gradient-to:transparent var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important}.ds-content .via-indigo-500,.ds-content .via-purple-500,.ds-content .via-purple-600,.ds-content .via-purple-900\/10,.ds-content .via-purple-900\/5{--tw-gradient-stops:var(--tw-gradient-from),var(--brand-primary-hover) var(--tw-gradient-via-position),var(--tw-gradient-to)!important}.ds-content .to-cyan-500,.ds-content .to-cyan-600,.ds-content .to-emerald-500,.ds-content .to-fuchsia-500,.ds-content .to-indigo-500,.ds-content .to-purple-400,.ds-content .to-purple-500,.ds-content .to-purple-600,.ds-content .to-purple-700,.ds-content .to-violet-500,.ds-content .to-violet-600{--tw-gradient-to:var(--brand-primary-hover) var(--tw-gradient-to-position)!important}.ds-content .shadow-cyan-500\/25,.ds-content .shadow-fuchsia-500\/20,.ds-content .shadow-fuchsia-500\/25,.ds-content .shadow-purple-500\/10,.ds-content .shadow-purple-500\/20,.ds-content .shadow-purple-500\/25,.ds-content .shadow-purple-500\/30,.ds-content .shadow-violet-500\/20,.ds-content .shadow-violet-500\/30{--tw-shadow-color:var(--brand-primary-ring)!important;--tw-shadow:var(--tw-shadow-colored)!important}.ds-content [class*="shadow-[0_4px_12px_rgba"]{box-shadow:0 8px 24px var(--brand-primary-ring)!important}.ds-content .rounded-2xl,.ds-content .rounded-3xl{border-radius:var(--radius-lg)!important}.ds-content :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){background-color:var(--surface);border-color:var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.ds-content :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea):focus{border-color:var(--brand-primary)!important;box-shadow:var(--shadow-focus)!important;outline:none}.ds-content :where(input,textarea)::-moz-placeholder{color:var(--text-tertiary)}.ds-content :where(input,textarea)::placeholder{color:var(--text-tertiary)}.ds-content table{color:var(--text-primary)}.ds-content table :where(th){color:var(--text-secondary);font-weight:var(--fw-semi)}.ds-content table :where(td,th){border-color:var(--divider)}