:root{--primary-color: #4361ee;--secondary-color: #3f37c9;--text-dark: #1e1e1e;--text-muted: #8e95a9;--bg-light: #f8f9fa;--white: #ffffff;--border-color: #e9ecef;--sidebar-width: 260px;--header-height: 70px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--border-radius: 12px}[data-theme=dark]{--primary-color: #4cc9f0;--secondary-color: #4895ef;--text-dark: #e0e0e0;--text-muted: #9ca3af;--bg-light: #0f172a;--white: #1e293b;--border-color: #334155;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .5)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-light);color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit;transition:all .3s ease}ul{list-style:none}input,button{font-family:inherit;outline:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:var(--white);padding:30px;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative;animation:modalEnter .3s ease-out}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:15px}.modal-header h2{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);line-height:1}.close-btn:hover{color:#ef4444}.form-group{margin-bottom:20px}.form-control{width:100%;padding:12px 15px;border-radius:10px;border:1px solid var(--border-color);background-color:var(--bg-light);color:var(--text-dark);transition:all .2s}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4361ee1a}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f6fa;padding:20px}.login-card{background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 25px #0000000d;width:100%;max-width:450px;text-align:center;position:relative}.brand-logo-wrapper{width:100px;height:100px;margin:-75px auto 20px;display:flex;align-items:center;justify-content:center;border-radius:24px;background:#0b1120;box-shadow:0 12px 28px #00000040;padding:6px}.login-logo-img{width:100%;height:100%;object-fit:contain;border-radius:14px}.login-card h2{font-size:1.5rem;margin-bottom:5px;color:var(--text-dark)}.login-subtitle{font-weight:600;color:var(--text-dark);margin-bottom:10px}.login-desc{color:var(--text-muted);font-size:.9rem;margin-bottom:30px;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:15px}.form-group input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;transition:all .3s}.form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4361ee1a}.form-extras{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-muted)}.remember-me{display:flex;align-items:center;gap:5px;cursor:pointer}.forgot-password{color:var(--primary-color);font-weight:500}.login-btn{background-color:var(--primary-color);color:#fff;padding:12px;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;margin-top:10px;transition:background-color .3s}.login-btn:hover{background-color:var(--secondary-color)}.divider{position:relative;text-align:center;margin:20px 0}.divider:before{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background-color:var(--border-color)}.divider span{background-color:#fff;padding:0 10px;color:var(--text-muted);font-size:.8rem;position:relative}.social-login{display:flex;justify-content:center;gap:15px;margin-bottom:20px}.social-btn{width:40px;height:40px;border:1px solid var(--border-color);background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all .3s}.social-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.signup-link{font-size:.9rem;color:var(--text-muted)}.signup-link a{color:var(--primary-color);font-weight:600}.error-message{background-color:#fee2e2;color:#ef4444;padding:10px;border-radius:8px;font-size:.9rem;text-align:left}.sidebar{width:var(--sidebar-width);height:100vh;background-color:var(--white);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:1000;transition:all .3s ease}.sidebar-header{height:var(--header-height);display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--border-color)}.sidebar-logo{width:48px;height:48px;object-fit:contain;border-radius:10px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.sidebar-header h2{font-size:.95rem;font-weight:800;letter-spacing:.5px;color:var(--primary-color);text-transform:uppercase;margin:0;white-space:nowrap}.sidebar-content{flex:1;overflow-y:auto;padding:20px 0}.menu-label{font-size:.75rem;color:var(--text-muted);font-weight:600;padding:0 24px 10px;text-transform:uppercase;letter-spacing:.5px}.sidebar-menu{list-style:none;padding:0 12px}.menu-item{display:flex;align-items:center;padding:12px 16px;margin-bottom:4px;border-radius:var(--border-radius);color:var(--text-muted);font-weight:500;transition:all .2s ease;text-decoration:none}.menu-item:hover{background-color:var(--bg-light);color:var(--primary-color)}.menu-item.active{background-color:var(--primary-color);color:#fff!important;box-shadow:0 4px 12px #4361ee4d}.menu-icon{font-size:1.2rem;margin-right:12px;display:flex;align-items:center}.menu-label-text{font-size:.95rem}.sidebar-footer{padding:20px;border-top:1px solid var(--border-color)}.logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background-color:#fee2e2;color:#ef4444;border:none;border-radius:var(--border-radius);font-weight:600;transition:all .2s;cursor:pointer}.logout-btn:hover{background-color:#fecaca;color:#dc2626}[data-theme=dark] .logout-btn{background-color:#ef444426}[data-theme=dark] .logout-btn:hover{background-color:#ef444440}.header{height:var(--header-height);background-color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:900;box-shadow:var(--shadow-sm);transition:background-color .3s ease;border-bottom:1px solid var(--border-color)}.search-bar{display:flex;align-items:center;background-color:var(--bg-light);padding:8px 16px;border-radius:8px;width:300px}.search-icon{color:var(--text-muted);margin-right:10px}.search-bar input{border:none;background:transparent;width:100%;color:var(--text-dark)}.search-bar input::placeholder{color:var(--text-muted)}.header-right{display:flex;align-items:center;gap:20px}.icon-btn{background:none;border:none;font-size:1.2rem;color:var(--text-muted);cursor:pointer;position:relative;padding:8px;transition:color .3s}.icon-btn:hover{color:var(--primary-color);background:none}.badge{position:absolute;top:0;right:0;background-color:#ef476f;color:#fff;font-size:.6rem;padding:2px 5px;border-radius:10px;font-weight:700}.profile-menu{display:flex;align-items:center;gap:10px;cursor:pointer}.profile-icon{width:36px;height:36px;background-color:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.profile-name{font-weight:600;color:var(--text-dark)}.layout-container{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;background-color:var(--bg-light);min-height:100vh;transition:margin-left .3s ease}.page-content{padding:30px;flex:1}@media(max-width:768px){.main-content{margin-left:0}}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-widget{background:var(--white);border-radius:16px;padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.widget-header h3{font-size:1.1rem;font-weight:700;color:var(--text-dark)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.stat-item{display:flex;align-items:center;padding:10px}.stat-dot{width:8px;height:8px;border-radius:50%;margin-right:10px}.stat-label{font-size:.9rem;color:var(--text-muted);margin-right:5px;font-weight:500}.stat-value{font-size:.9rem;color:var(--text-dark);font-weight:600}.real-stats{margin-top:20px;padding-top:10px;border-top:1px dashed var(--border-color);color:var(--text-muted)}.team-item{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color)}.team-item:last-child{border-bottom:none}.avatar-circle{width:40px;height:40px;background-color:#e2e8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-dark);margin-right:15px}.team-info h4{font-size:.95rem;margin-bottom:2px}.team-info p{font-size:.8rem;color:var(--text-muted)}.status-badge{margin-left:auto;font-size:.75rem;padding:4px 10px;border-radius:12px;font-weight:600}.status-badge.active{background-color:#dcfce7;color:#16a34a}.status-badge.sent{background-color:#f3f4f6;color:#4b5563}.schedule-item{display:flex;align-items:center;margin-bottom:20px}.date-box{width:60px;height:60px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-right:15px;flex-shrink:0}.date-num{font-size:1.2rem;font-weight:700}.date-month{font-size:.7rem;font-weight:600;text-transform:uppercase}.schedule-info h4{font-size:.95rem;margin-bottom:4px;color:var(--text-dark)}.schedule-info p{font-size:.85rem;color:var(--text-muted)}.project-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.project-info{display:flex;align-items:center;gap:15px}.project-icon{width:36px;height:36px;border-radius:10px}.project-info h4{font-size:.9rem;margin-bottom:2px}.project-info p{font-size:.75rem;color:var(--text-muted)}.project-progress{display:flex;align-items:center;gap:10px;width:40%}.progress-bar-bg{flex:1;height:6px;background-color:#f1f5f9;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px}.progress-text{font-size:.8rem;color:var(--text-muted);width:30px;text-align:right}.user-list-widget{grid-column:1 / -1!important}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;margin-top:10px}.data-table th,.data-table td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{background-color:var(--bg-light);color:var(--text-muted);font-weight:600;font-size:.85rem;text-transform:uppercase}.data-table td{color:var(--text-dark);font-size:.9rem}.data-table tr:hover{background-color:var(--bg-light)}[data-theme=dark] .data-table th{background-color:#1e293b;color:#94a3b8}[data-theme=dark] .data-table tr:hover{background-color:#334155}.user-details-grid{display:flex;flex-direction:column;gap:20px}.details-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;background:var(--bg-light);padding:15px;border-radius:8px;border:1px solid var(--border-color)}.details-summary p{margin:0;font-size:.95rem;color:var(--text-dark)}.details-summary strong{color:var(--text-muted)}.details-section h3{font-size:1.1rem;color:var(--primary-color);margin-bottom:12px;border-bottom:2px solid var(--bg-light);padding-bottom:5px}.enrolled-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.course-item{display:flex;justify-content:space-between;align-items:center;background:var(--white);padding:10px 15px;border-radius:6px;border:1px solid var(--border-color)}.course-item strong{color:var(--text-dark);font-weight:600}.badge-outline{border:1px solid var(--primary-color);color:var(--primary-color);background:transparent;font-size:.75rem;padding:3px 8px;border-radius:12px}.small-table{font-size:.9rem}.small-table th,.small-table td{padding:8px 12px}.fw-bold{font-weight:700}.text-success{color:var(--success-color, #10b981)}.divider{border:none;height:1px;background:var(--border-color);margin:10px 0}.badge-generator-container{display:flex;flex-direction:column;gap:24px}.badge-form-grid{display:grid;grid-template-columns:200px 1fr;gap:32px}.icon-upload-section{display:flex;flex-direction:column;align-items:center;gap:16px}.icon-preview{width:120px;height:120px;border-radius:60px;background:var(--bg-light);border:2px dashed var(--border-color);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.icon-preview img{width:100%;height:100%;object-fit:contain;padding:10px}.upload-button{cursor:pointer;font-size:.9rem;font-weight:600}.form-fields{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.form-group input,.form-group select,.form-group textarea{padding:12px;border-radius:8px;border:1px solid var(--border-color);font-size:.95rem;background:var(--white);color:var(--text-dark)}.badges-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.badge-item-card{background:var(--white);border:1px solid var(--border-color);border-radius:12px;padding:20px;display:flex;align-items:center;gap:20px;position:relative}.badge-item-icon{width:60px;height:60px;border-radius:30px;background:var(--bg-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}.badge-item-icon img{width:40px;height:40px;object-fit:contain}.badge-item-info{flex:1}.badge-item-info h3{margin:0 0 4px;font-size:1rem;color:var(--text-dark)}.badge-item-info p{margin:0 0 8px;font-size:.85rem;color:var(--text-muted)}.badge-criteria-tag{display:inline-block;padding:4px 10px;background:#e0e7ff;color:#4338ca;border-radius:20px;font-size:.75rem;font-weight:600}.delete-badge-btn{position:absolute;top:15px;right:15px;color:#ef4444;background:none;border:none;cursor:pointer;opacity:.6;transition:opacity .2s}.delete-badge-btn:hover{opacity:1}[data-theme=dark] .badge-criteria-tag{background:#312e81;color:#c7d2fe}body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}
