@import url("https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600&display=swap");@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,500;0,600&display=swap");:root{--color-canvas:#FAFAFA;--color-surface:#F5F5F4;--color-stripe:#E7E5E4;--color-well:#F0EFED;--color-ink:#1C1917;--color-heading:#292524;--color-body:#44403C;--color-secondary:#78716C;--color-disabled:#A8A29E;--color-accent:#2563EB;--color-accent-hover:#1D4ED8;--color-accent-surface:#DBEAFE;--color-accent-text:#1E40AF;--color-error:#DC2626;--color-error-tint:#FEF2F2;--color-error-border:#FECACA;--color-warning:#D97706;--color-warning-tint:#FFFBEB;--color-warning-border:#FDE68A;--color-success:#16A34A;--color-success-tint:#F0FDF4;--color-success-border:#BBF7D0;--color-border:#D6D3D1;--color-border-strong:#A8A29E;--color-border-subtle:#E7E5E4;--color-overlay:rgba(0,0,0,0.4);--space-2xs:2px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--shadow-raised:0 1px 2px rgba(0,0,0,0.05);--shadow-floating:0 4px 8px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04);--shadow-dialog:0 8px 24px rgba(0,0,0,0.12),0 2px 4px rgba(0,0,0,0.04);--font-display:"General Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-body:"Source Sans 3","Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-mono:"JetBrains Mono","SF Mono",Consolas,monospace;--nav-width:220px;--topbar-height:48px;--content-max-width:1440px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:14px;font-weight:400;line-height:1.5;color:var(--color-body);background-color:var(--color-canvas)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-heading);font-weight:600}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button,input,select,textarea{font-family:var(--font-body)}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-shell{display:flex;min-height:100vh}.app-shell__nav{width:var(--nav-width);flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:10}.app-shell__main{margin-left:var(--nav-width);flex:1 1;display:flex;flex-direction:column;min-height:100vh}.app-shell__topbar{height:var(--topbar-height);flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;z-index:5}.app-shell__content{flex:1 1;padding:var(--space-xl) var(--space-lg);max-width:var(--content-max-width);margin:0 auto;width:100%}.app-shell--focused .app-shell__nav{display:none}.app-shell--focused .app-shell__main{margin-left:0}.app-shell--focused .app-shell__content{padding:0;max-width:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:var(--font-body);font-size:13px;font-weight:500;padding:6px 16px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:background-color .1s ease;line-height:1.4}.btn:disabled{background:var(--color-surface);color:var(--color-disabled);border:1px solid var(--color-border-subtle);cursor:not-allowed}.btn--primary{background:var(--color-accent);color:#ffffff}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn--secondary{background:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.btn--secondary:hover:not(:disabled){background:var(--color-accent-surface)}.btn--danger{background:var(--color-error);color:#ffffff}.btn--danger:hover:not(:disabled){background:#b91c1c}.btn--text{background:transparent;color:var(--color-accent);padding:6px 8px}.btn--text:hover:not(:disabled){background:var(--color-surface)}.btn--ghost{background:transparent;color:var(--color-body);border:1px solid var(--color-border)}.btn--ghost:hover:not(:disabled){background:var(--color-surface);color:var(--color-heading)}.btn--small{font-size:12px;padding:4px 10px}.btn--icon{padding:6px;background:transparent;color:var(--color-secondary);border:1px solid transparent;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.btn--icon:hover:not(:disabled){background:var(--color-surface);color:var(--color-heading)}.btn--icon-danger:hover:not(:disabled){background:var(--color-error-tint);color:var(--color-error)}