:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;margin:0 auto}*{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}.app{min-height:100vh;padding:20px}.container{max-width:1200px;margin:0 auto}.header{display:flex;justify-content:space-between;align-items:center;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;border-radius:20px;box-shadow:0 8px 32px #0000001a;margin-bottom:2rem}.logo{display:flex;align-items:center;gap:1rem}.logo-icon{font-size:2rem;background:linear-gradient(45deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo h1{font-size:1.8rem;font-weight:700;background:linear-gradient(45deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.assignment-badge{background:linear-gradient(45deg,#ff6b6b,#ee5a52);color:#fff;padding:.5rem 1rem;border-radius:25px;font-weight:600;font-size:.9rem}.user-info{display:flex;align-items:center;gap:1rem;font-weight:500}.logout-btn{background:#ff6b6b;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease}.logout-btn:hover{background:#ee5a52;transform:translateY(-2px)}.login-form{background:#f8f9ff;padding:2rem;border-radius:15px;border:1px solid #e0e7ff;max-width:400px;margin:0 auto}.login-section h2{font-size:2.2rem;margin-bottom:.5rem;color:#333;font-weight:700}.description{font-size:1.1rem;color:#444;margin-bottom:2rem;line-height:1.6;font-weight:500}.login-form h3{text-align:center;margin-bottom:1.5rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:border-color .3s ease}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-btn{width:100%;background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.demo-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.demo-text{font-size:.9rem;color:#666;margin-bottom:1rem}.demo-buttons{display:flex;gap:.5rem;margin-bottom:1rem}.demo-btn{background:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.demo-btn:hover{background:#5a6168;transform:translateY(-1px)}.user-list-toggle{margin-top:1rem}.toggle-btn{background:#17a2b8;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.toggle-btn:hover{background:#138496}.user-list{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem;margin-top:1rem;text-align:left}.user-list ul{margin:.5rem 0;padding-left:1.5rem}.user-list li{margin:.25rem 0;font-family:monospace}.dashboard-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:20px;box-shadow:0 8px 32px #0000001a;margin-bottom:2rem}.dashboard-section h2{font-size:1.8rem;margin-bottom:1.5rem;color:#333}.dashboard-card{background:#f8f9ff;padding:1.5rem;border-radius:15px;border-left:4px solid #667eea}.dashboard-card p{margin-bottom:.75rem;font-size:1rem;line-height:1.5}.employee-id{background:linear-gradient(45deg,#28a745,#20c997);color:#fff;padding:.25rem .75rem;border-radius:15px;font-weight:600;font-size:.9rem}.badge-id{background:linear-gradient(45deg,#17a2b8,#138496);color:#fff;padding:.25rem .75rem;border-radius:15px;font-weight:600;font-size:.9rem;font-family:Courier New,monospace}.access-level{background:linear-gradient(45deg,#ffc107,#e0a800);color:#333;padding:.25rem .75rem;border-radius:15px;font-weight:600;font-size:.9rem}.dashboard-actions{display:flex;gap:1rem;margin-top:1.5rem}.action-btn{padding:.75rem 1.5rem;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease}.action-btn.primary{background:linear-gradient(45deg,#28a745,#20c997);color:#fff}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #28a7454d}.action-btn.secondary{background:#6c757d;color:#fff}.action-btn.secondary:hover{background:#5a6268;transform:translateY(-2px)}.system-info{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:20px;box-shadow:0 8px 32px #0000001a;margin-top:2rem}.system-info h3{font-size:1.8rem;margin-bottom:1.5rem;color:#333}.info-card{background:#f8f9ff;padding:1.5rem;border-radius:15px;border-left:4px solid #667eea}.debug-section{margin-top:1.5rem;border-top:1px solid #e0e7ff;padding-top:1rem}.debug-section details summary{cursor:pointer;font-weight:600;color:#667eea;padding:.5rem;border-radius:4px;transition:background-color .3s ease}.debug-section details summary:hover{background-color:#e0e7ff}.debug-content{margin-top:1rem;padding:1rem;background:#f1f3f4;border-radius:8px}.debug-content code{background:#e9ecef;padding:.25rem .5rem;border-radius:4px;font-family:monospace}.section-desc{background:#fff3cd;border:1px solid #ffeaa7;padding:1rem;border-radius:10px;margin-bottom:1.5rem;color:#856404;font-size:.95rem;line-height:1.5}.section-desc small{font-size:.85rem;font-style:italic}.help-text{margin-top:1rem;padding:.75rem;background:#d1ecf1;border-radius:6px;border-left:4px solid #17a2b8}.access-warning{margin-top:1rem;padding:1rem;background:#f8d7da;border:1px solid #f5c6cb;border-radius:10px;color:#721c24;font-size:.9rem}.warning-icon{font-size:1.2rem;margin-right:.5rem}.flag-note{margin-top:.5rem;padding:.75rem;background:#fff3;border-radius:8px;font-size:.9rem;line-height:1.4}.success-banner{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;padding:2rem;border-radius:20px;text-align:center;margin-bottom:2rem;box-shadow:0 8px 32px #4caf504d}.success-banner h2{font-size:2rem;margin-bottom:1rem}.flag-display{background:#fff3;padding:1rem;border-radius:10px;margin-top:1rem;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700}.vulnerability-explanation{background:#ffffff1a;padding:1.5rem;border-radius:10px;margin-top:1.5rem;text-align:left}.vulnerability-explanation h3{margin-bottom:1rem;color:#fff}.vulnerability-explanation p{margin-bottom:.5rem;line-height:1.5}.main-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}@media (max-width: 768px){.main-content{grid-template-columns:1fr}}.challenge-info{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:20px;box-shadow:0 8px 32px #0000001a}.challenge-info h2{font-size:1.8rem;margin-bottom:1.5rem;color:#333}.mission-card{background:#f8f9ff;padding:1.5rem;border-radius:15px;border-left:4px solid #667eea}.mission-card p{line-height:1.6;margin-bottom:1rem;color:#555}.hint-box{background:#fff3cd;border:1px solid #ffeaa7;padding:1rem;border-radius:10px;margin-top:1rem;color:#856404}.profile-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:20px;box-shadow:0 8px 32px #0000001a}.profile-section h3{font-size:1.8rem;margin-bottom:1.5rem;color:#333}.input-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.input-group label{font-weight:500;color:#555}.profile-input{padding:.75rem;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:border-color .3s ease}.profile-input:focus{outline:none;border-color:#667eea}.view-btn{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;cursor:pointer;font-weight:600;margin-top:.5rem;transition:all .3s ease}.view-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #667eea4d}.view-btn:disabled{opacity:.6;cursor:not-allowed}.quick-actions{margin-top:1rem}.quick-btn{background:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease}.quick-btn:hover{background:#5a6268;transform:translateY(-1px)}.profile-card{background:#f8f9ff;padding:1.5rem;border-radius:15px;margin-top:1.5rem;border:1px solid #e0e7ff}.profile-card h4{font-size:1.3rem;margin-bottom:1rem;color:#333}.profile-details{display:flex;flex-direction:column;gap:.75rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e0e7ff}.detail-row:last-child{border-bottom:none}.label{font-weight:600;color:#555}.value{font-weight:500;color:#333}.role-admin{background:#ff6b6b;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.role-user{background:#28a745;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.flag-row{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;padding:1rem;border-radius:10px;margin-top:.5rem}.flag{font-family:Courier New,monospace;font-weight:700;background:#fff3;padding:.25rem .5rem;border-radius:5px}.learning-section{grid-column:1 / -1;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:20px;box-shadow:0 8px 32px #0000001a}.learning-section h3{font-size:1.8rem;margin-bottom:1.5rem;color:#333}.objectives-card{background:#f8f9ff;padding:1.5rem;border-radius:15px;border-left:4px solid #667eea}.objectives-card ul{list-style-type:none;padding:0}.objectives-card li{position:relative;padding:.5rem 0 .5rem 1.5rem;line-height:1.5;color:#555}.objectives-card li:before{content:"✓";position:absolute;left:0;color:#4caf50;font-weight:700}.loading{text-align:center;padding:2rem;color:#667eea;font-weight:500}.error{background:#f8d7da;color:#721c24;padding:1rem;border-radius:10px;margin-top:1rem;border:1px solid #f5c6cb}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.profile-card,.success-banner{animation:fadeInUp .5s ease-out}
