:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-card:#fff;--bg-hover:#f1f5f9;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--border-color:#e2e8f0;--border-light:#f1f5f9;--accent-primary:#3b82f6;--accent-secondary:#8b5cf6;--accent-success:#10b981;--accent-warning:#f59e0b;--accent-danger:#ef4444}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#1e293b;--bg-hover:#334155;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--border-color:#334155;--border-light:#1e293b}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Rubik,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;line-height:1.6}.app-container{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;padding:1rem;display:flex}.main-content{flex:1}.footer{text-align:center;color:var(--text-muted);margin-top:auto;padding:1.5rem;font-size:.875rem}.footer p{margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.contractor-banner{color:#fff;background:linear-gradient(135deg,#059669 0%,#047857 100%);border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1.5rem;display:flex}.contractor-label{opacity:.9;font-size:.9rem}.contractor-name{font-size:1rem;font-weight:600}.invalid-token{text-align:center;background:var(--bg-primary);min-height:100vh;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.invalid-token h1{margin-bottom:1rem;font-size:2rem}.invalid-token p{color:var(--text-secondary)}.landing-page{background:linear-gradient(135deg,var(--bg-primary)0%,var(--bg-secondary)100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.landing-content{background:var(--bg-card);text-align:center;border-radius:1.5rem;max-width:400px;padding:3rem;box-shadow:0 10px 40px -10px #0003}.landing-content h1{color:var(--text-primary);margin-bottom:1rem;font-size:1.75rem}.landing-content p{color:var(--text-secondary);margin-bottom:.5rem}.landing-hint{color:var(--text-muted);font-size:.875rem}
