.badge{text-transform:uppercase;letter-spacing:.05em;border:1px solid #0000;border-radius:8px;justify-content:flex-start;align-items:center;width:fit-content;padding:.75rem;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500;transition:background-color .2s;display:inline-flex}.badge-default{background-color:var(--primary);color:var(--primary-foreground)}.badge-default:hover{background-color:color-mix(in srgb, var(--primary) 80%, transparent)}.badge-secondary{background-color:var(--secondary);color:var(--secondary-foreground)}.badge-secondary:hover{background-color:color-mix(in srgb, var(--secondary) 80%, transparent)}.badge-destructive{background-color:var(--destructive);color:var(--destructive-foreground)}.badge-destructive:hover{background-color:color-mix(in srgb, var(--destructive) 80%, transparent)}.badge-outline{border-color:var(--border);color:var(--foreground)}.card{border:1px solid var(--border);background-color:var(--card);color:var(--card-foreground);border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.card-header{flex-direction:column;gap:.375rem;padding:1.5rem;display:flex}.card-title{letter-spacing:-.025em;font-weight:600;line-height:1}.card-description{color:var(--muted-foreground);font-size:.875rem}.card-content{padding:0 1.5rem 1.5rem}.card-footer{align-items:center;padding:0 1.5rem 1.5rem;display:flex}.separator{background-color:var(--border);border:none;flex-shrink:0}.separator-horizontal{width:100%;height:1px}.separator-vertical{width:1px;height:100%}.page-container{background-color:var(--background-color);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.content-wrapper{text-align:center;width:100%;max-width:32rem}.page-title{color:var(--foreground);margin-bottom:1rem;font-size:2.25rem;font-weight:700;line-height:1.2}.page-description{color:var(--muted-foreground);margin-bottom:2rem;font-size:1.125rem}.upload-card{width:100%;margin-top:2rem}.upload-content{padding:2rem}.upload-area{border:2px dashed var(--border);background-color:var(--background);border-radius:.5rem;flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.upload-text{color:var(--foreground);font-size:1.125rem;font-weight:500}.upload-subtext{color:var(--muted-foreground);font-size:.875rem}.upload-button{margin-top:.5rem}.file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}
