*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.app-container{display:flex;min-height:100vh}.main-content{background-color:#f5f7fa;flex:1 1;margin-left:250px;padding:24px}.sidebar{background-color:#1a1a2e;bottom:0;color:#fff;left:0;padding:20px;position:fixed;top:0;width:250px}.sidebar h2{border-bottom:1px solid #333;margin-bottom:30px;padding-bottom:20px}.sidebar nav a{border-radius:8px;color:#aaa;display:block;margin-bottom:8px;padding:12px 16px;text-decoration:none;transition:all .3s}.sidebar nav a.active,.sidebar nav a:hover{background-color:#16213e;color:#fff}.sidebar nav a.active{background-color:#e94560}.login-container{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:40px;width:400px}.login-box h2{color:#1a1a2e;margin-bottom:30px;text-align:center}.login-box input{border:1px solid #ddd;border-radius:8px;font-size:14px;margin-bottom:16px;padding:12px;width:100%}.login-box button{background-color:#e94560;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:12px;transition:background .3s;width:100%}.login-box button:hover{background-color:#d13350}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.stat-card h3{color:#666;font-size:14px;margin-bottom:8px}.stat-card .value{color:#1a1a2e;font-size:32px;font-weight:700}.stat-card.warning .value{color:#f39c12}.stat-card.success .value{color:#27ae60}.stat-card.danger .value{color:#e74c3c}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.page-header h1{color:#1a1a2e}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.filters input,.filters select{border:1px solid #ddd;border-radius:8px;font-size:14px;padding:10px 14px}.filters button{background-color:#e94560;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:10px 20px}.data-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.data-table table{border-collapse:collapse;width:100%}.data-table td,.data-table th{border-bottom:1px solid #eee;padding:14px 16px;text-align:left}.data-table th{color:#666;font-weight:600}.data-table th,.data-table tr:hover{background-color:#f8f9fa}.status-badge{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px}.status-badge.open{background:#d1ecf1;color:#0c5460}.status-badge.in_progress{background:#fff3cd;color:#856404}.status-badge.resolved{background:#d4edda;color:#155724}.status-badge.closed{background:#e2e3e5;color:#383d41}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;margin-right:4px;padding:6px 12px}.action-btn.primary{background:#3498db;color:#fff}.action-btn.danger{background:#e74c3c;color:#fff}.action-btn.success{background:#27ae60;color:#fff}.analytics-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.chart-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.chart-card h3{color:#1a1a2e;margin-bottom:16px}.modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0}.modal-content{background:#fff;border-radius:12px;max-width:90%;padding:24px;width:400px}.modal-content h3{margin-bottom:16px}.modal-content form input,.modal-content form select{border:1px solid #ddd;border-radius:6px;margin-bottom:12px;padding:10px;width:100%}.modal-actions button{border:none;border-radius:6px;cursor:pointer;padding:8px 16px}.modal-actions .cancel{background:#ddd}.modal-actions .save{background:#3498db;color:#fff}.user-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000d;display:flex;justify-content:space-between;margin-bottom:12px;padding:16px}.user-info h4{margin-bottom:4px}.user-info p{color:#666;font-size:14px}.role-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 10px}.role-badge.admin{background:#e94560;color:#fff}.role-badge.student{background:#3498db;color:#fff}.role-badge.staff{background:#f39c12;color:#fff}.ticket-detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.ticket-body-card,.ticket-info-card,.ticket-status-card,.ticket-student-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px}.ticket-body-card h3,.ticket-info-card h3,.ticket-status-card h3,.ticket-student-card h3{border-bottom:1px solid #eee;color:#1a1a2e;margin-bottom:16px;padding-bottom:12px}.info-row{border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:10px 0}.info-row .label{color:#666;font-weight:500}.info-row .value{color:#1a1a2e}.form-group{margin-bottom:16px}.form-group label{color:#666;display:block;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:8px;font-size:14px;padding:10px;width:100%}.form-group textarea{resize:vertical}.ticket-body{color:#333;line-height:1.6;white-space:pre-wrap}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;max-height:90vh;max-width:90%;overflow-y:auto;padding:24px;width:500px}.modal .form-group,.modal h3{margin-bottom:12px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.status-badge.escalated{background:#e74c3c;color:#fff}.status-badge.low{background:#27ae60;color:#fff}.status-badge.normal{background:#3498db;color:#fff}.status-badge.high{background:#f39c12;color:#fff}.status-badge.urgent{background:#e74c3c;color:#fff}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#e94560;height:30px;width:30px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-loading{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0}.loading-content{color:#fff;text-align:center}.loading-content .spinner{border-top-color:#e94560;border-width:4px;height:50px;margin:0 auto 20px;width:50px}.loading-content p{font-size:18px;opacity:.8}
/*# sourceMappingURL=main.eab09d91.css.map*/