@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap");:root{--bg-base:#0b0e11;--bg-surface:#12161c;--bg-elevated:#1a1f28;--bg-overlay:#232a35;--border-default:#2a3040;--border-hover:#3d4a5c;--border-active:#94a3b8;--text-primary:#c9d1d9;--text-secondary:#7b8794;--text-muted:#4a5568;--text-bright:#e6edf3;--accent:#94a3b8;--accent-dim:rgba(148,163,184,0.10);--accent-glow:rgba(148,163,184,0.20);--success-color:#4ade80;--danger-color:#f87171;--warning-color:#fbbf24;--info-color:#60a5fa;--primary-color:#94a3b8;--secondary-color:#7b8794;--dark-color:#c9d1d9;--light-color:#0d0d17;--font-mono:"JetBrains Mono","Fira Code","Cascadia Code","SF Mono",ui-monospace,monospace;--font-size-xs:0.6875rem;--font-size-sm:0.8125rem;--font-size-base:0.875rem;--font-size-lg:1rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--radius-sm:3px;--radius-md:6px;--radius-lg:8px}*{box-sizing:border-box;padding:0;margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body,html{max-width:100vw;overflow-x:hidden;font-family:var(--font-mono);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:rgba(148,163,184,.4);text-decoration-color:rgba(148,163,184,.4);text-underline-offset:2px;transition:all .15s}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}a.btn,a.dropdown-item,a.nav-link,a.navbar-brand{text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.container-fluid{padding-left:1.5rem;padding-right:1.5rem}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:none;transition:border-color .2s}.card:hover{border-color:var(--border-hover);box-shadow:none}.card-header{background:var(--bg-elevated);border-bottom:1px solid var(--border-default);color:var(--text-bright);font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.08em;padding:.625rem 1rem}.card-body{padding:1rem}.stats-card{border-left:3px solid var(--accent)}.stats-card h2{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-bright)}.stats-card h6{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)!important;font-weight:500}.stats-card.success{border-left-color:var(--success-color)}.stats-card.success h2{color:var(--success-color)}.stats-card.warning{border-left-color:var(--warning-color)}.stats-card.warning h2{color:var(--warning-color)}.stats-card.danger{border-left-color:var(--danger-color)}.stats-card.danger h2{color:var(--danger-color)}.btn{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-sm);letter-spacing:.02em;transition:all .15s;border-width:1px}.btn-primary{background:var(--accent-dim);border-color:rgba(148,163,184,.35);color:var(--accent)}.btn-primary:focus,.btn-primary:hover{background:rgba(148,163,184,.18);border-color:var(--accent);color:#cbd5e1;box-shadow:0 0 12px var(--accent-glow)}.btn-success{background:rgba(74,222,128,.12);border-color:rgba(74,222,128,.35);color:var(--success-color)}.btn-success:focus,.btn-success:hover{background:rgba(74,222,128,.22);border-color:var(--success-color);color:#86efac;box-shadow:0 0 12px rgba(74,222,128,.2)}.btn-danger{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.35);color:var(--danger-color)}.btn-danger:focus,.btn-danger:hover{background:rgba(248,113,113,.22);border-color:var(--danger-color);color:#fca5a5;box-shadow:0 0 12px rgba(248,113,113,.2)}.btn-warning{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.35);color:var(--warning-color)}.btn-warning:focus,.btn-warning:hover{background:rgba(251,191,36,.22);border-color:var(--warning-color);color:#fde68a;box-shadow:0 0 12px rgba(251,191,36,.2)}.btn-info{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.35);color:var(--info-color)}.btn-info:focus,.btn-info:hover{background:rgba(96,165,250,.22);border-color:var(--info-color);color:#93c5fd;box-shadow:0 0 12px rgba(96,165,250,.2)}.btn-secondary{background:var(--bg-elevated);border-color:var(--border-default);color:var(--text-secondary)}.btn-secondary:focus,.btn-secondary:hover{background:var(--bg-overlay);border-color:var(--border-hover);color:var(--text-primary)}.btn-outline-secondary{background:transparent;border-color:var(--border-default);color:var(--text-secondary)}.btn-outline-secondary:focus,.btn-outline-secondary:hover{background:var(--bg-elevated);border-color:var(--border-hover);color:var(--text-primary)}.btn-lg{font-size:var(--font-size-base);padding:.5rem 1.25rem}.btn-sm{font-size:var(--font-size-xs);padding:.25rem .625rem}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.btn-group .btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.badge,.btn-group .btn:only-child{border-radius:var(--radius-sm)}.badge{font-family:var(--font-mono);font-weight:500;font-size:var(--font-size-xs);letter-spacing:.06em;padding:.25em .6em}.badge-status{text-transform:uppercase}.badge.bg-success{background:rgba(74,222,128,.15)!important;color:var(--success-color)!important;border:1px solid rgba(74,222,128,.3)}.badge.bg-warning{background:rgba(251,191,36,.15)!important;color:var(--warning-color)!important;border:1px solid rgba(251,191,36,.3)}.badge.bg-danger{background:rgba(248,113,113,.15)!important;color:var(--danger-color)!important;border:1px solid rgba(248,113,113,.3)}.badge.bg-primary{background:var(--accent-dim)!important;color:var(--accent)!important;border:1px solid rgba(148,163,184,.25)}.badge.bg-secondary{background:var(--bg-elevated)!important;color:var(--text-secondary)!important;border:1px solid var(--border-default)}.badge.bg-info{background:rgba(96,165,250,.15)!important;color:var(--info-color)!important;border:1px solid rgba(96,165,250,.3)}.table{color:var(--text-primary);font-size:var(--font-size-sm);--bs-table-bg:transparent;--bs-table-hover-bg:var(--bg-elevated);--bs-table-border-color:var(--border-default);border-color:var(--border-default);margin-bottom:0}.table thead th{background:var(--bg-elevated);color:var(--text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-default);padding:.5rem .75rem;white-space:nowrap}.table tbody td{border-bottom:1px solid rgba(42,48,64,.5);padding:.625rem .75rem;vertical-align:middle}.table-hover tbody tr:hover{background:var(--bg-elevated)!important}.form-control,.form-select{font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);padding:.5rem .75rem;transition:all .15s}.form-control::placeholder{color:var(--text-muted)}.form-control:focus,.form-select:focus{background:var(--bg-base);border-color:var(--accent);color:var(--text-bright);box-shadow:0 0 0 3px var(--accent-glow)}.form-label{color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.375rem}.form-label,.form-text{font-size:var(--font-size-xs)}.form-text{color:var(--text-muted)}.form-control[type=file]{color:var(--text-secondary)}.form-control[type=file]::-webkit-file-upload-button{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:.375rem .75rem;margin-right:.75rem;-webkit-transition:all .15s;transition:all .15s}.form-control[type=file]::file-selector-button{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:.375rem .75rem;margin-right:.75rem;transition:all .15s}.form-control[type=file]::-webkit-file-upload-button:hover{background:var(--bg-overlay);color:var(--text-primary)}.form-control[type=file]::file-selector-button:hover{background:var(--bg-overlay);color:var(--text-primary)}.modal-content{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary)}.modal-header{background:var(--bg-elevated);border-bottom:1px solid var(--border-default);padding:.75rem 1rem}.modal-title{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-bright)}.modal-body{padding:1.25rem 1rem}.modal-footer{background:var(--bg-elevated);border-top:1px solid var(--border-default);padding:.75rem 1rem}.modal-backdrop.show{background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-close{filter:invert(1) grayscale(100%) brightness(200%);opacity:.5}.btn-close:hover{opacity:.8}.alert{font-family:var(--font-mono);font-size:var(--font-size-sm);border-radius:var(--radius-sm);padding:.5rem 1rem;border-width:1px}.alert-danger{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.25);color:var(--danger-color)}.alert-success{background:rgba(74,222,128,.08);border-color:rgba(74,222,128,.25);color:var(--success-color)}.alert-info{background:rgba(96,165,250,.08);border-color:rgba(96,165,250,.25);color:var(--info-color)}.alert .btn-close{padding:.625rem}.spinner-border{border-color:var(--border-hover);border-right-color:transparent}.spinner-border-sm{width:.875rem;height:.875rem;border-width:.15em}.text-primary{color:var(--accent)!important}.text-success{color:var(--success-color)!important}.text-danger{color:var(--danger-color)!important}.text-warning{color:var(--warning-color)!important}.text-muted{color:var(--text-secondary)!important}.text-info{color:var(--info-color)!important}.bg-primary{background-color:var(--accent)!important}.bg-light{background-color:var(--bg-base)!important}h1,h2,h3,h4,h5,h6{color:var(--text-bright);font-weight:600}h1{font-size:var(--font-size-2xl);letter-spacing:-.02em}h2{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-base)}strong{color:var(--text-bright);font-weight:600}small{font-size:var(--font-size-xs)}.project-item{transition:all .15s;cursor:pointer}.project-item:hover{background-color:var(--bg-elevated)}.browser-preview{width:100%;height:600px;border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--bg-surface)}::selection{background:rgba(148,163,184,.3);color:#e2e8f0}