:root{--nb-border-width:2px;--nb-border-color:hsl(var(--border));--nb-shadow-offset:4px;--nb-radius:6px;--nb-font-heading:"Space Grotesk", sans-serif;--nb-font-body:"Inter", sans-serif;--nb-primary:hsl(var(--primary));--nb-primary-hover:#ff540a;--nb-secondary:hsl(var(--secondary));--nb-secondary-hover:#00397a;--nb-accent:hsl(var(--accent));--nb-accent-hover:#f59f0a;--nb-success:hsl(var(--success));--nb-error:hsl(var(--destructive));--nb-warning:#f59f0a;--nb-info:#3c83f6;--nb-bg:hsl(var(--background));--nb-bg-card:hsl(var(--card));--nb-bg-muted:hsl(var(--muted));--nb-text:hsl(var(--foreground));--nb-text-secondary:hsl(var(--muted-foreground));--nb-text-muted:hsl(var(--muted-foreground))}.dark{--nb-primary-hover:#ff5e1a;--nb-secondary-hover:#3086e8;--nb-accent-hover:#fab905}.nb-card-base{border:var(--nb-border-width) solid var(--nb-border-color);border-radius:var(--nb-radius);box-shadow:var(--nb-shadow-offset) var(--nb-shadow-offset) 0px var(--nb-shadow-color);background:var(--nb-bg-card);transition:transform .1s,box-shadow .1s}.nb-card-base:hover{box-shadow:6px 6px 0px var(--nb-shadow-color);transform:translate(-2px,-2px)}.nb-btn{border:var(--nb-border-width) solid var(--nb-border-color);border-radius:var(--nb-radius);box-shadow:var(--nb-shadow-offset) var(--nb-shadow-offset) 0px var(--nb-shadow-color);font-weight:700;font-family:var(--nb-font-body);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;justify-content:center;align-items:center;gap:.5rem;transition:transform .1s,box-shadow .1s;display:inline-flex}.nb-btn:hover{box-shadow:0px 0px 0px var(--nb-shadow-color);transform:translate(2px,2px)}.nb-btn:active{box-shadow:none;transform:translate(4px,4px)}.nb-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:var(--nb-shadow-offset) var(--nb-shadow-offset) 0px var(--nb-shadow-color);transform:none}.nb-btn-primary{background:var(--nb-primary);color:#fff}.nb-btn-primary:hover{background:var(--nb-primary-hover)}.nb-btn-secondary{background:var(--nb-secondary);color:#fff}.nb-btn-secondary:hover{background:var(--nb-secondary-hover)}.nb-btn-accent{background:var(--nb-accent);color:var(--nb-text)}.nb-btn-accent:hover{background:var(--nb-accent-hover)}.nb-btn-outline{background:var(--nb-bg-card);color:var(--nb-text)}.nb-btn-outline:hover{background:var(--nb-bg-muted)}.nb-btn-destructive{background:var(--nb-error);color:#fff}.nb-btn-ghost{box-shadow:none;color:var(--nb-text);background:0 0;border-color:#0000}.nb-btn-ghost:hover{background:var(--nb-bg-muted);box-shadow:none;border-color:#0000;transform:none}.nb-input-base{border:var(--nb-border-width) solid var(--nb-border-color);border-radius:var(--nb-radius);background:var(--nb-bg-card);font-family:var(--nb-font-body);transition:box-shadow .1s}.nb-input-base:focus{box-shadow:var(--nb-shadow-offset) var(--nb-shadow-offset) 0px var(--nb-shadow-color);outline:none}.nb-input-base::placeholder{color:var(--nb-text-muted)}.nb-badge{border:var(--nb-border-width) solid var(--nb-border-color);border-radius:var(--nb-radius);font-weight:700;font-family:var(--nb-font-body);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:.125rem .5rem;font-size:.75rem;display:inline-flex}.nb-table{border:var(--nb-border-width) solid var(--nb-border-color);border-radius:var(--nb-radius);overflow:hidden}.nb-table th{background:var(--nb-bg-muted);font-weight:700;font-family:var(--nb-font-body);text-transform:uppercase;letter-spacing:.05em;border-bottom:var(--nb-border-width) solid var(--nb-border-color);font-size:.75rem}.nb-table td{border-bottom:1px solid var(--nb-border-color)}.nb-table tr:last-child td{border-bottom:none}.nb-table tr:hover td{background:var(--nb-bg-muted)}.nb-dialog{border:var(--nb-border-width) solid var(--nb-border-color);border-radius:var(--nb-radius);box-shadow:8px 8px 0px var(--nb-shadow-color);background:var(--nb-bg-card)}.nb-select{border:var(--nb-border-width) solid var(--nb-border-color);border-radius:var(--nb-radius);background:var(--nb-bg-card);font-family:var(--nb-font-body);cursor:pointer}.nb-select:focus{box-shadow:var(--nb-shadow-offset) var(--nb-shadow-offset) 0px var(--nb-shadow-color);outline:none}
