:root{--color-bg: #f6f7f8;--color-surface: #ffffff;--color-border: #d9dde2;--color-border-strong: #b7bec7;--color-text: #1c2530;--color-text-muted: #5b6673;--color-primary: #142337;--color-primary-hover: #243a54;--color-primary-contrast: #ffffff;--color-accent-bg: #eef2f5;--color-accent: #ff7350;--color-accent-hover: #f2603c;--color-accent-contrast: #142337;--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.125rem;--font-size-xl: 1.4rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius: 6px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);line-height:1.55}h1,h2{margin:0;font-weight:600;line-height:1.3}h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}a{color:var(--color-primary)}button{font-family:inherit;font-size:var(--font-size-sm);cursor:pointer}.muted{color:var(--color-text-muted)}.small{font-size:var(--font-size-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius);text-decoration:none}.btn:hover{background:var(--color-accent-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:.78rem}.btn:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm)}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);max-width:400px;width:100%;text-align:center}.auth-card p{color:var(--color-text-muted);font-size:var(--font-size-sm)}.auth-card .btn{width:100%;margin-top:var(--space-2)}.auth-brand{margin-bottom:var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.auth-logo-box{display:inline-flex;background:var(--color-primary);border-radius:var(--radius);padding:var(--space-3) var(--space-5)}.auth-logo-box img{display:block;width:190px;max-width:100%;height:auto}.auth-brand span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.landing-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-5) var(--space-7)}.landing-topbar{align-self:stretch;max-width:720px;width:100%;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.landing-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.landing-intro{color:var(--color-text-muted);max-width:50ch;margin:0}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5);width:100%;max-width:720px}.tool-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.tool-card p{color:var(--color-text-muted);flex:1;margin:0}.empty-state{max-width:480px;text-align:center;padding:var(--space-6);color:var(--color-text-muted)}.empty-state h2{color:var(--color-text);margin-bottom:var(--space-2)}
