.app-shell{--shell-bg:var(--ds-surface);--shell-surface:var(--ds-surface-elevated);--shell-surface-2:var(--ds-surface-hover);--shell-border:var(--ds-border);--shell-text:var(--ds-text-primary);--shell-muted:var(--ds-text-muted);--shell-primary:var(--ds-primary);--shell-primary-hover:var(--ds-primary-hover);--shell-accent:var(--ds-accent);--shell-sidebar:var(--ds-surface-elevated);--shell-success:var(--ds-success);--shell-warning:var(--ds-warning);--shell-danger:var(--ds-danger);background:var(--shell-bg);color:var(--shell-text);font-family:var(--font-body), system-ui, -apple-system, "Segoe UI", sans-serif}.app-card{background:var(--ds-surface-elevated);border:1px solid var(--ds-border);box-shadow:var(--ds-shadow-sm);border-radius:12px}.app-card-hover:hover{border-color:var(--ds-border-strong);box-shadow:var(--ds-shadow-md)}.app-kpi-value{letter-spacing:-.02em;color:var(--ds-text-primary);font-size:1.75rem;font-weight:700;font-family:var(--font-display), system-ui, sans-serif}.app-table{border-collapse:collapse;width:100%;font-size:.875rem}.app-table th{text-align:left;color:var(--ds-text-muted);background:var(--ds-surface);border-bottom:1px solid var(--ds-border);text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.app-table td{border-bottom:1px solid var(--ds-border);color:var(--ds-text-primary);padding:.875rem 1rem}.app-table tbody tr:nth-child(2n) td{background:var(--ds-surface)}.app-table tr:hover td{background:var(--ds-surface-hover)}.app-btn-primary{min-height:40px;color:var(--ds-text-inverse);background:var(--ds-primary);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background .15s;display:inline-flex}.app-btn-primary:hover{background:var(--ds-primary-hover)}.app-btn-ghost{min-height:40px;color:var(--ds-text-muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.app-btn-ghost:hover{background:var(--ds-surface-hover);color:var(--ds-text-primary)}.app-input{width:100%;min-height:40px;color:var(--ds-text-primary);background:var(--ds-surface-elevated);border:1px solid var(--ds-border);box-sizing:border-box;border-radius:8px;padding:.5rem .875rem;font-size:.875rem}.app-input:focus{border-color:var(--ds-accent);box-shadow:0 0 0 3px var(--ds-focus-ring);outline:none}.app-shell :focus-visible{outline:2px solid var(--ds-accent);outline-offset:2px}.app-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.app-badge-success{background:var(--ds-success-bg);color:var(--ds-success-text)}.app-badge-warning{background:var(--ds-warning-bg);color:var(--ds-warning-text)}.app-badge-danger{background:var(--ds-danger-bg);color:var(--ds-danger-text)}.app-badge-neutral{background:var(--ds-neutral-bg);color:var(--ds-neutral-text)}.app-badge-info{background:var(--ds-info-bg);color:var(--ds-info-text)}.app-shell .text-soft-white,.app-shell .text-body{color:var(--ds-text-primary)}.app-shell .text-muted{color:var(--ds-text-muted)}.app-shell .text-teal{color:var(--ds-primary)}.app-shell .text-amber-300,.app-shell .text-warning{color:var(--ds-warning-text)}.app-shell .bg-track{background:var(--ds-progress-track)}.app-shell .border-soft-white\/5,.app-shell .border-soft-white\/10,.app-shell [class*=border-soft-white]{border-color:var(--ds-border)!important}.app-shell .bg-teal\/10,.app-shell .bg-teal\/5{background:var(--ds-primary-bg)}.app-shell .border-teal{border-color:var(--ds-primary)}.app-shell .hover\:border-teal\/30:hover{border-color:var(--ds-primary-border)}.app-shell .ring-teal\/50{--tw-ring-color:var(--ds-focus-ring)}.app-shell .md-surface,.app-shell .md-surface-2,.app-shell .md-surface-3{box-shadow:var(--ds-shadow-sm)}.app-shell .md-interactive:hover{box-shadow:var(--ds-shadow-md)}.app-shell .elevation-2{box-shadow:var(--ds-shadow-sm)}.app-shell .bg-page\/50,.app-shell .bg-page\/80,.app-shell .bg-page\/95{background:color-mix(in srgb, var(--ds-surface-elevated) 90%, transparent)}.app-shell .ds-highlight-row,.app-shell .notification-unread{background:var(--ds-primary-bg)}
