*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;color:#333;background:linear-gradient(135deg,#667eea,#764ba2);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#333;padding:1.25rem 0;box-shadow:0 4px 20px #0000001a;position:sticky;top:0;z-index:100}.header .container{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav ul{display:flex;list-style:none;gap:2rem}.nav ul li a{color:#555;text-decoration:none;font-size:1rem;font-weight:500;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease}.nav ul li a:hover{background:#667eea1a;color:#667eea}.main{padding:3rem 0;min-height:calc(100vh - 200px)}.hero{text-align:center;padding:4rem 2rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px #0000001a;margin-bottom:3rem}.hero-content{margin-bottom:3rem}.hero-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.2rem;margin-bottom:2rem;color:#666;line-height:1.8}.hero-actions{display:flex;justify-content:center;gap:1rem}.btn-primary{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;box-shadow:0 4px 15px #667eea66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #667eea80}.hero-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.feature-card{padding:2rem;background:#fff9;border-radius:16px;text-align:center;transition:all .3s ease;border:1px solid rgba(255,255,255,.3)}.feature-card:hover{transform:translateY(-5px);background:#ffffffe6;box-shadow:0 8px 24px #0000001a}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.25rem;color:#333;margin-bottom:.75rem;font-weight:600}.feature-card p{color:#666;line-height:1.6;margin:0}.footer{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#666;padding:1.5rem 0;text-align:center;margin-top:3rem;box-shadow:0 -4px 20px #0000000d}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal.show{display:flex;align-items:center;justify-content:center}.modal-content{background:#fff;padding:2rem;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.close{color:#aaa;float:right;font-size:28px;font-weight:700;cursor:pointer;position:absolute;right:1rem;top:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close:hover{color:#000;background:#0000000d}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem;border:2px solid rgba(0,0,0,.1);border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group button{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.form-group button:hover{transform:translateY(-2px);box-shadow:0 6px 25px #667eea80}.form-footer{display:flex;justify-content:space-between;margin-top:1rem}.form-footer a{color:#3498db;text-decoration:none;cursor:pointer}.form-footer a:hover{text-decoration:underline}.auth-container{max-width:500px;margin:4rem auto;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:3rem;border-radius:20px;box-shadow:0 8px 32px #0000001a}.auth-container h2{text-align:center;margin-bottom:2rem;font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-login{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px #667eea80}.btn-login:disabled{opacity:.7;cursor:not-allowed}.list-container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 8px 24px #0000001a;padding:2rem}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid rgba(102,126,234,.1)}.list-header h3{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:1rem;text-align:left;border-bottom:1px solid #ddd}.table th{background-color:#f8f9fa;font-weight:700}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.btn{padding:.5rem 1rem;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .3s ease;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-success{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.btn-success:hover{transform:translateY(-2px);box-shadow:0 4px 12px #43e97b66}.btn-danger{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f5576c66}.btn-warning{background:linear-gradient(135deg,#fad961,#f76b1c);color:#fff}.btn-warning:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f76b1c66}.btn-secondary{background:linear-gradient(135deg,#bdc3c7,#95a5a6);color:#fff}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #95a5a666}.status-badge{display:inline-block;padding:.4rem .9rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-read{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.status-badge.status-unread{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.status-badge.pending{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.status-badge.approved{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.status-badge.rejected{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.status-badge.cancelled{background:linear-gradient(135deg,#bdc3c7,#95a5a6);color:#fff}.card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 8px 24px #0000001a;padding:2rem;margin-bottom:2rem;transition:all .3s ease}.card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.card h3{margin-bottom:1rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.detail-item{display:flex;gap:1rem;margin-bottom:1rem;padding:.75rem;background:#667eea0d;border-radius:8px}.detail-item label{width:120px;font-weight:600;color:#667eea;flex-shrink:0}.detail-item span{flex:1;color:#555}.detail-item.full-width{flex-direction:column;gap:.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.modal-content{max-height:90vh;overflow-y:auto}.table-responsive{overflow-x:auto}.empty-state{text-align:center;padding:3rem 1rem;color:#999}.empty-state p{font-size:1.1rem;margin-top:1rem}.loading{text-align:center;padding:2rem;color:#666}.form-error{color:#e74c3c;font-size:.9rem;margin-top:.25rem}.form-group input:invalid,.form-group select:invalid,.form-group textarea:invalid{border-color:#e74c3c}.success-message{background-color:#d4edda;color:#155724;padding:1rem;border-radius:4px;margin-bottom:1rem}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1rem}.info-message{background-color:#d1ecf1;color:#0c5460;padding:1rem;border-radius:4px;margin-bottom:1rem}.modal-content h3{margin:0 0 1.5rem;color:#333;font-size:1.5rem;font-weight:700;padding-bottom:1rem;border-bottom:2px solid rgba(102,126,234,.2)}.btn:disabled{opacity:.6;cursor:not-allowed}a.btn{text-decoration:none;display:inline-block}@media(max-width:768px){.header .container{flex-direction:column;gap:1rem}.nav ul{flex-direction:column;gap:.5rem}.role-buttons{flex-direction:column;align-items:center}.list-header{flex-direction:column;gap:1rem;align-items:flex-start}.action-buttons{flex-direction:column}.table{font-size:.9rem}.table th,.table td{padding:.5rem}.detail-item{flex-direction:column;gap:.25rem}.detail-item label{width:auto}.modal-actions{flex-direction:column}.modal-content{width:95%;margin:10% auto;padding:1.5rem}}
