*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}.container{max-width:1200px;margin:0 auto;padding:20px}.header{text-align:center;margin-bottom:40px;color:#fff}.header h1{font-size:3rem;font-weight:700;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.header p{font-size:1.2rem;opacity:.9}.main-content{background:#fff;border-radius:20px;padding:40px;box-shadow:0 20px 40px #0000001a;position:relative}.generation-counter{position:absolute;top:20px;right:20px;background:#f0f4f8;padding:10px 15px;border-radius:25px;font-size:.9rem;color:#666;border:2px solid #e2e8f0}.generation-counter.warning{background:#fef3cd;border-color:#fbbf24;color:#92400e}.generation-counter.danger{background:#fee2e2;border-color:#f87171;color:#dc2626}.step-indicator{display:flex;justify-content:center;margin-bottom:40px}.step{display:flex;align-items:center;margin:0 20px}.step-number{width:40px;height:40px;border-radius:50%;background:#667eea;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:10px}.step.active .step-number{background:#4caf50}.form-section{margin-bottom:30px}.form-section h3{color:#333;margin-bottom:15px;font-size:1.3rem}.input-group{margin-bottom:20px}label{display:block;margin-bottom:8px;font-weight:600;color:#555}.quick-select{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.quick-btn{background:#f0f4f8;border:2px solid #e2e8f0;border-radius:25px;padding:8px 16px;cursor:pointer;transition:all .3s ease;font-size:.9rem}.quick-btn:hover,.quick-btn.selected{background:#667eea;color:#fff;border-color:#667eea}input,select,textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .3s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#667eea}.generate-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:15px 40px;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .3s ease;display:block;margin:30px auto}.generate-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003}.generate-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.btn{padding:12px 24px;border-radius:25px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5a6fd8;transform:translateY(-2px)}.btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea}.btn-secondary:hover{background:#667eea;color:#fff}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-small{padding:6px 12px;font-size:.9rem}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:none;opacity:0;transition:opacity .3s ease}.overlay.show{display:flex;opacity:1}.overlay-content{width:95%;max-width:1000px;height:90%;background:#fff;border-radius:20px;margin:auto;display:flex;flex-direction:column;overflow:hidden;transform:scale(.9);transition:transform .3s ease}.overlay.show .overlay-content{transform:scale(1)}.overlay-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 30px;display:flex;justify-content:between;align-items:center}.overlay-header h2{font-size:1.5rem;flex:1}.close-btn{background:#fff3;border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:background .3s ease}.close-btn:hover{background:#ffffff4d}.overlay-body{flex:1;overflow-y:auto;padding:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.course-preview{display:none;height:100%}.course-preview.show{display:flex;flex-direction:column}.preview-nav{background:#f8fafc;padding:20px 30px;border-bottom:1px solid #e2e8f0;display:flex;gap:20px}.nav-tab{padding:10px 20px;background:#fff;border:2px solid #e2e8f0;border-radius:25px;cursor:pointer;transition:all .3s ease;font-weight:500}.nav-tab.active{background:#667eea;color:#fff;border-color:#667eea}.preview-content{flex:1;padding:30px;overflow-y:auto}.curriculum-display h4{color:#333;font-size:1.4rem;margin-bottom:20px;padding-bottom:10px;border-bottom:3px solid #667eea}.curriculum-display h5{color:#555;font-size:1.1rem;margin:25px 0 15px}.curriculum-display ul{list-style:none;padding:0}.curriculum-display li{background:#f8fafc;margin:10px 0;padding:15px;border-radius:8px;border-left:4px solid #667eea}.action-buttons{background:#f8fafc;padding:20px 30px;border-top:1px solid #e2e8f0;display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.saved-curricula{margin-top:40px;background:#f8fafc;border-radius:15px;padding:30px}.saved-curricula h3{color:#333;margin-bottom:20px;display:flex;align-items:center;gap:10px}.curriculum-card{background:#fff;border-radius:10px;padding:20px;margin-bottom:15px;border:2px solid #e2e8f0;transition:all .3s ease}.curriculum-card:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}.card-header{display:flex;justify-content:between;align-items:center;margin-bottom:10px}.card-title{font-weight:600;color:#333;margin:0}.card-date{font-size:.9rem;color:#666}.card-actions{display:flex;gap:10px;margin-top:15px}.subscription-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;z-index:2000;display:none;align-items:center;justify-content:center}.subscription-content{background:#fff;border-radius:20px;padding:40px;max-width:500px;width:90%;text-align:center}.subscription-content h3{color:#333;margin-bottom:20px;font-size:1.8rem}.subscription-content p{color:#666;margin-bottom:30px;font-size:1.1rem}.pricing-preview{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:20px;border-radius:15px;margin-top:30px;text-align:center}.price{font-size:2rem;font-weight:700;margin-bottom:10px}.error-alert{background:#fee2e2;border:1px solid #fca5a5;color:#dc2626;padding:15px;border-radius:8px;margin-bottom:20px;display:none}.output-section{margin-top:40px;padding:30px;background:#f8fafc;border-radius:15px;display:none}.output-section.show{display:block}.curriculum-output{background:#fff;padding:30px;border-radius:10px;border-left:5px solid #667eea;margin-top:20px}.loading{text-align:center;padding:40px}@media (max-width: 768px){.header h1{font-size:2rem}.main-content{padding:20px}.overlay-content{width:100%;height:100%;border-radius:0}.step-indicator{flex-direction:column;align-items:center}.step{margin:10px 0}.generation-counter{position:static;margin-bottom:20px;text-align:center}.preview-nav{flex-wrap:wrap;gap:10px}.nav-tab{font-size:.9rem;padding:8px 16px}.action-buttons{flex-direction:column;gap:10px}.quick-select{justify-content:center}}
