@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/fonts/dm-sans-latin-ext.woff2) format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/fonts/dm-sans-latin.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2-variations")}:root{--background: #0f0f0f;--foreground: #e6e6ea;--card: #151515;--card-foreground: #e6e6ea;--popover: #1c1c1c;--popover-foreground: #e6e6ea;--primary: #f3c93c;--primary-foreground: #151515;--secondary: #1e1e1e;--secondary-foreground: #b9bac2;--muted: #1e1e1e;--muted-foreground: #747788;--accent: #2a2a2a;--accent-foreground: #e6e6ea;--destructive: oklch(70.4% .191 22.216);--border: #242424;--input: #2e2e2e;--ring: #f3c93c80;--signal: #3a7d4e;--radius: .625rem;--sidebar: #151515;--sidebar-foreground: #b9bac2;--sidebar-primary: #f3c93c;--sidebar-primary-foreground: #151515;--sidebar-accent: #1e1e1e;--sidebar-accent-foreground: #fff;--sidebar-active: #1f1d16;--sidebar-border: #242424;--sidebar-ring: #f3c93c80;--sidebar-width: 13.5rem;--projects-width: 14.5rem;--font-sans: "DM Sans Variable", system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, monospace;color-scheme:dark;font-family:var(--font-sans);line-height:1.5;color:var(--foreground);background:var(--background)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--background);color:var(--foreground)}button,input,select,textarea{font:inherit}button{cursor:pointer}select{background:var(--secondary);color:var(--foreground);border:1px solid var(--border);border-radius:.5rem}.app-shell{display:flex;height:100vh;overflow:hidden;background:var(--background)}.app-sidebars{display:flex;flex-shrink:0;min-height:0;height:100%}.app-sidebar{background:var(--sidebar);color:var(--sidebar-foreground);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;min-height:0;height:100%}.app-sidebar-menu{flex:0 0 var(--sidebar-width);width:var(--sidebar-width)}.app-sidebar-projects{flex:0 0 var(--projects-width);width:var(--projects-width)}.sidebar-brand{height:3.5rem;flex-shrink:0;display:flex;align-items:center;gap:.625rem;padding:0 1rem;border-bottom:1px solid var(--sidebar-border);text-decoration:none;color:var(--foreground)}.sidebar-logo{height:1.25rem;width:auto;flex-shrink:0;color:var(--primary)}.sidebar-brand span{font-size:1rem;font-weight:700;letter-spacing:-.02em}.sidebar-nav{flex:1;min-height:0;overflow:auto;padding:.875rem .625rem .5rem;display:flex;flex-direction:column}.sidebar-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.125rem}.sidebar-group-label{margin:0;padding:.375rem .5rem .625rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.sidebar-separator{height:1px;background:var(--sidebar-border);margin:.5rem 0}.sidebar-nav a,.nav-current{display:flex;align-items:center;gap:.625rem;padding:9px .625rem;border-radius:.4rem;font-size:13.5px;color:var(--sidebar-foreground);text-decoration:none;line-height:1.2}.sidebar-nav a svg,.nav-current svg{width:1rem;height:1rem;flex-shrink:0}.sidebar-nav a:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.nav-current{background:var(--sidebar-active);color:var(--primary);box-shadow:inset 2px 0 0 var(--primary);font-weight:600}.nav-label{flex:1}.nav-external{width:.75rem!important;height:.75rem!important;margin-left:auto;color:var(--muted-foreground);flex-shrink:0}.projects-header{height:3.5rem;flex-shrink:0;display:flex;align-items:center;padding:0 1rem;border-bottom:1px solid var(--sidebar-border)}.projects-header h2{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--foreground)}.projects-toolbar{flex-shrink:0;padding:.75rem .75rem .5rem}.sidebar-new{width:100%;margin:0;padding:.45rem .65rem;border:none;border-radius:.5rem;background:var(--primary);color:var(--primary-foreground);font-size:.82rem;font-weight:600}.sidebar-new:disabled{opacity:.55;cursor:not-allowed}.sidebar-projects{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;list-style:none;margin:0;padding:0 .5rem .75rem;display:flex;flex-direction:column;gap:.125rem}.project-item{width:100%;text-align:left;padding:.4rem .5rem;border-radius:.4rem;border:1px solid transparent;background:transparent;color:inherit}.project-item:hover{background:var(--sidebar-accent)}.project-item.is-active{background:var(--sidebar-active);border-color:var(--primary);box-shadow:inset 2px 0 0 var(--primary)}.project-name{display:block;font-weight:500;font-size:.82rem;color:var(--foreground)}.project-status{display:block;opacity:.7;font-size:.72rem;color:var(--muted-foreground)}.sidebar-footer{flex-shrink:0;border-top:1px solid var(--sidebar-border);padding:.65rem .75rem;display:flex;flex-direction:column;gap:.4rem}.sidebar-user{font-size:.75rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{align-self:flex-start;padding:.3rem .55rem;border-radius:.4rem;border:1px solid var(--border);background:transparent;color:var(--sidebar-foreground);font-size:.75rem}.sidebar-logout:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.app-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-topbar{height:3.5rem;flex-shrink:0;display:flex;align-items:center;padding:0 1.25rem;border-bottom:1px solid var(--border)}.app-topbar h1{font-size:1rem;font-weight:600;margin:0;letter-spacing:-.02em}.app-content{flex:1;min-height:0;overflow:auto;padding:1.25rem 1.5rem 1.5rem}.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:1rem;background:color-mix(in srgb,var(--muted) 40%,var(--background))}.login-logo{height:2rem;width:auto;color:var(--primary)}.login-card{width:100%;max-width:24rem;background:var(--card);color:var(--card-foreground);border-radius:.75rem;box-shadow:0 0 0 1px color-mix(in srgb,var(--foreground) 10%,transparent);padding:1.25rem}.login-card h1{margin:0;text-align:center;font-size:1rem;font-weight:500}.login-card .login-desc{margin:.25rem 0 1rem;text-align:center;font-size:.875rem;color:var(--muted-foreground)}.login-card input{width:100%;padding:.55rem .7rem;border-radius:.5rem;border:1px solid var(--input);background:var(--background);color:inherit}.login-card .login-stack{display:grid;gap:.7rem}.btn-primary{width:100%;padding:.55rem .8rem;border-radius:.5rem;border:none;background:var(--primary);color:var(--primary-foreground);font-weight:600}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.login-error{margin-top:.75rem;background:color-mix(in srgb,var(--destructive) 16%,#1a1010);border:1px solid color-mix(in srgb,var(--destructive) 45%,#3d1f24);padding:.6rem .75rem;border-radius:.5rem;font-size:.8rem;white-space:pre-wrap}.login-divider{display:flex;align-items:center;gap:.75rem;margin:.85rem 0;font-size:.8rem;color:var(--muted-foreground)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.app-error{background:color-mix(in srgb,var(--destructive) 16%,#1a1010);border:1px solid color-mix(in srgb,var(--destructive) 45%,#3d1f24);padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.85rem;white-space:pre-wrap;flex-shrink:0}@media(max-width:1080px){.app-sidebar-menu{flex-basis:3.25rem;width:3.25rem}.app-sidebar-menu .sidebar-brand{justify-content:center;padding:0}.app-sidebar-menu .sidebar-brand span,.app-sidebar-menu .sidebar-group-label,.app-sidebar-menu .sidebar-separator,.app-sidebar-menu .nav-external,.app-sidebar-menu .nav-text,.app-sidebar-menu .sidebar-user{display:none}.app-sidebar-menu .sidebar-nav{padding:.75rem .35rem;align-items:stretch}.app-sidebar-menu .sidebar-nav a,.app-sidebar-menu .nav-current{justify-content:center;padding:.55rem 0;gap:0}.app-sidebar-menu .sidebar-footer{align-items:center;padding:.5rem .3rem}.app-sidebar-menu .sidebar-logout{width:100%;padding:.35rem .15rem;font-size:.62rem;text-align:center}}
