:root{--primary-main:#4C9FE7;--primary-light:#7BC4F0;--primary-dark:#2E7BB8;--secondary-main:#FF6900;--secondary-light:#FF8A33;--secondary-dark:#CC5500;--neutral-main:#64748B;--neutral-light:#94A3B8;--neutral-dark:#475569;--background-default:#0F172A;--background-paper:#1E293B;--text-primary:#F8FAFC;--text-secondary:#CBD5E1;--divider:#334155}*{box-sizing:border-box}body,html{padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-default);color:var(--text-primary);line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6,p{font-size:1rem}p{margin:0 0 1rem;line-height:1.6}button{font-family:inherit;font-size:1rem;font-weight:500;text-transform:none}button:focus,input:focus,textarea:focus{outline:2px solid var(--primary-main);outline-offset:2px}img{max-width:100%;height:auto}html{scroll-behavior:smooth}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--background-default);padding:1rem}.login-card{background-color:var(--background-paper);padding:2rem;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.3);width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-title{color:var(--primary-main);font-size:2rem;margin:0 0 .5rem}.login-subtitle{color:var(--text-secondary);margin:0}.form-group{margin-bottom:1.5rem}.form-group:last-of-type{margin-bottom:2rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500}.form-input,.form-label{color:var(--text-primary)}.form-input{width:100%;padding:.75rem;border:1px solid var(--divider);border-radius:8px;background-color:var(--background-default);font-size:1rem}.form-input:focus{border-color:var(--primary-main)}.login-button{width:100%;background-color:var(--primary-main);color:white;border:none;padding:.875rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:opacity .2s ease}.login-button:hover:not(:disabled){opacity:.9}.login-button:disabled{opacity:.7;cursor:not-allowed}.error-message{background-color:rgba(244,67,54,.1);color:#f44336;padding:.75rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid rgba(244,67,54,.3)}.test-credentials{margin-top:2rem;padding:1rem;background-color:rgba(76,159,231,.1);border-radius:8px;border:1px solid rgba(76,159,231,.3)}.test-credentials p{color:var(--primary-main);font-size:.875rem;margin:0;text-align:center}.dashboard-container{min-height:100vh;background-color:var(--background-default);color:var(--text-primary);padding:2rem}.dashboard-content{max-width:1200px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:1rem;border-bottom:1px solid var(--divider)}.dashboard-title{color:var(--primary-main);margin:0}.logout-button{background-color:var(--secondary-main);color:white;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:opacity .2s ease}.logout-button:hover{opacity:.9}.welcome-section{background-color:var(--background-paper);padding:2rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 4px 6px rgba(0,0,0,.3)}.welcome-title{color:var(--primary-main);margin:0 0 1rem}.welcome-text{color:var(--text-secondary);font-size:1.1rem;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.feature-card{background-color:var(--background-paper);padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.3)}.feature-title{color:var(--primary-main);margin:0 0 1rem}.feature-text{color:var(--text-secondary);margin:0}.user-info{background-color:var(--background-paper);padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.3)}.user-info-title{color:var(--primary-main);margin:0 0 1rem}.user-info-content{color:var(--text-secondary)}.user-info-content p{margin:0 0 .5rem}.user-info-content p:last-child{margin-bottom:0}