*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #1e3a8a;--primary-light: #3b82f6;--secondary: #0f172a;--accent: #06b6d4;--text-dark: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--success: #10b981;--error: #ef4444;--background: #ffffff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-dark);background-color:#f9fafb}.btn-primary,.btn-primary-lg{background-color:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all .3s ease}.btn-primary-lg{padding:1rem 2rem;font-size:1.125rem}.btn-primary:hover,.btn-primary-lg:hover{background-color:var(--primary-light);transform:translateY(-2px);box-shadow:0 10px 25px #1e3a8a33}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary,.btn-secondary-lg{background-color:transparent;color:var(--primary);border:2px solid var(--primary);padding:.5rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all .3s ease}.btn-secondary-lg{padding:1rem 2rem;font-size:1.125rem}.btn-secondary:hover,.btn-secondary-lg:hover{background-color:var(--primary);color:#fff}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:underline;padding:0;margin-left:.5rem;font-size:1rem}.landing-page{min-height:100vh;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.navbar{background:#fff;padding:1.5rem 0;box-shadow:0 1px 3px #0000001a}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.75rem;font-weight:700;color:var(--primary)}.nav-buttons,.nav-info{display:flex;gap:1rem;align-items:center}.nav-info{font-size:.875rem;color:var(--text-light)}.hero{max-width:1000px;margin:0 auto;padding:6rem 2rem;text-align:center}.hero h2{font-size:3rem;font-weight:700;color:var(--primary);margin-bottom:1.5rem;line-height:1.2}.hero p{font-size:1.125rem;color:var(--text-light);margin-bottom:2rem;line-height:1.6}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.features{max-width:1200px;margin:4rem auto;padding:0 2rem}.features h3{font-size:2rem;color:var(--primary);margin-bottom:3rem;text-align:center}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.feature-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px #00000012;transition:all .3s ease}.feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 25px #0000001a}.feature-card h4{font-size:1.25rem;margin-bottom:1rem}.feature-card p{color:var(--text-light);line-height:1.6}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:2rem}.auth-container{background:#fff;padding:3rem;border-radius:1rem;box-shadow:0 20px 25px #0000001a;width:100%;max-width:400px}.auth-container h2{margin-bottom:2rem;color:var(--primary);text-align:center}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-form input{padding:.75rem;border:2px solid var(--border);border-radius:.5rem;font-size:1rem;transition:border-color .3s ease}.auth-form input:focus{outline:none;border-color:var(--primary)}.error-message{color:var(--error);font-size:.875rem;background-color:#fee2e2;padding:.75rem;border-radius:.5rem}.dashboard-page{min-height:100vh;background:#f9fafb}.dashboard-container{display:flex;max-width:1400px;margin:0 auto;gap:2rem;padding:2rem}.sidebar{width:250px;display:flex;flex-direction:column;gap:1rem}.sidebar-btn{background:#fff;border:2px solid var(--border);padding:1rem;border-radius:.5rem;text-align:left;cursor:pointer;transition:all .3s ease;color:var(--text-dark)}.sidebar-btn:hover,.sidebar-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.main-content{flex:1}.usage-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.usage-bar{height:8px;background-color:var(--border);border-radius:999px;margin:1rem 0;overflow:hidden}.usage-filled{height:100%;background-color:var(--primary);transition:width .3s ease}.upgrade-prompt{color:var(--error);font-size:.875rem;margin-top:1rem}.classifications-list{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 1px 3px #0000001a}.classifications-list h3{margin-bottom:1.5rem}.classification-item{border:2px solid var(--border);padding:1.5rem;border-radius:.5rem;margin-bottom:1rem;cursor:pointer;transition:all .3s ease}.classification-item:hover{border-color:var(--primary);box-shadow:0 4px 12px #1e3a8a1a}.classification-item h4{margin-bottom:.5rem}.classification-item p{color:var(--text-light);font-size:.875rem;margin-bottom:.5rem}.badge{display:inline-block;background-color:#dbeafe;color:var(--primary);padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;margin-bottom:.5rem}.badge-lg{display:inline-block;background-color:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;margin-right:1rem;margin-top:1rem}.classify-page{min-height:100vh;background:#f9fafb}.form-container{max-width:900px;margin:0 auto;padding:2rem}.form-container h2{color:var(--primary);margin-bottom:2rem}.classification-form{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 1px 3px #0000001a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-dark)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:2px solid var(--border);border-radius:.5rem;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.form-group textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.results-page{min-height:100vh;background:#f9fafb}.results-container{max-width:1200px;margin:0 auto;padding:2rem}.results-header{background:#fff;padding:2rem;border-radius:1rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.results-header h2{color:var(--primary);font-size:2rem;margin-bottom:.5rem}.results-header p{color:var(--text-light);margin-bottom:1rem}.results-meta{display:flex;gap:1rem;flex-wrap:wrap}.classification-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.result-card{background:#f3f4f6;padding:1.5rem;border-radius:.5rem;border-left:4px solid var(--primary)}.result-card h4{color:var(--text-light);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.result-card p{font-size:1.25rem;font-weight:600;color:var(--primary)}.pillars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.pillar-card{background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;border-top:4px solid var(--primary-light)}.pillar-card h4{margin-bottom:.75rem;color:var(--primary)}.score-badge{display:inline-block;background-color:#dbeafe;color:var(--primary);padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.score-number{color:var(--text-light);font-size:.875rem;margin-bottom:.75rem}.justification{color:var(--text-light);font-size:.875rem;line-height:1.5}.scoring-card{background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.scoring-card p{margin-bottom:.75rem}.justification-box{background:#fff;padding:1.5rem;border-radius:.5rem;border-left:4px solid var(--accent);line-height:1.6;color:var(--text-dark);margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.download-section{display:flex;gap:1rem;margin-top:2rem}.download-section .btn-primary,.download-section .btn-secondary{flex:1}@media(max-width:768px){.hero h2{font-size:2rem}.nav-buttons,.dashboard-container{flex-direction:column}.sidebar{width:100%;flex-direction:row}.form-row{grid-template-columns:1fr}.download-section{flex-direction:column}}:root{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}body{margin:0;display:flex;justify-content:center;min-width:320px;min-height:100vh}#root{width:100%}
