html,body{margin:0;padding:0;height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);overflow-x:hidden}#root,.App{height:100%;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.container{width:100%;min-height:100vh;padding:0;margin:0}.page-container{padding:1rem;max-width:100%;margin:0 auto;overflow-y:auto}.page-header{background:linear-gradient(135deg,#667eea,#764ba2,#667eea);color:#fff;padding:2rem;border-radius:16px;text-align:center;box-shadow:0 8px 32px #00000026;margin-bottom:1.5rem}.page-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.page-header p{font-size:1rem;margin:0;opacity:.9}@media (min-width: 1400px){.page-container{max-width:1200px;padding:2rem}}.card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.card:hover{transform:translateY(-2px);box-shadow:0 12px 48px #00000026}.btn{padding:.75rem 1.5rem;border:none;border-radius:12px;cursor:pointer;font-size:.9rem;font-weight:600;margin:.25rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 6px 25px #667eea66}.btn-success{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.btn-success:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 6px 25px #48bb7866}.btn-danger{background:linear-gradient(135deg,#f56565,#e53e3e);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#e53e3e,#c53030);box-shadow:0 6px 25px #f5656566}.btn-warning{background:linear-gradient(135deg,#ed8936,#dd6b20);color:#fff}.btn-warning:hover{background:linear-gradient(135deg,#dd6b20,#c05621);box-shadow:0 6px 25px #ed893666}.btn-info{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff}.btn-info:hover{background:linear-gradient(135deg,#3182ce,#2b77cb);box-shadow:0 6px 25px #4299e166}.btn-purple{background:linear-gradient(135deg,#9f7aea,#805ad5);color:#fff}.btn-purple:hover{background:linear-gradient(135deg,#805ad5,#6b46c1);box-shadow:0 6px 25px #9f7aea66}.btn-pink{background:linear-gradient(135deg,#ed64a6,#d53f8c);color:#fff}.btn-pink:hover{background:linear-gradient(135deg,#d53f8c,#b83280);box-shadow:0 6px 25px #ed64a666}.btn-teal{background:linear-gradient(135deg,#4fd1c7,#38b2ac);color:#fff}.btn-teal:hover{background:linear-gradient(135deg,#38b2ac,#319795);box-shadow:0 6px 25px #4fd1c766}.btn-secondary{background:linear-gradient(135deg,#a0aec0,#718096);color:#fff}.btn-secondary:hover{background:linear-gradient(135deg,#718096,#4a5568);box-shadow:0 6px 25px #a0aec066}.btn-outline{background:#ffffff1a;color:#4a5568;border:2px solid #e2e8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-outline:hover{background:#fff3;border-color:#667eea;color:#667eea;box-shadow:0 6px 20px #667eea33}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#2d3748;font-size:.9rem}.form-control{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .3s ease;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:#fff}.form-control::-moz-placeholder{color:#a0aec0}.form-control::placeholder{color:#a0aec0}.status-badge{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:.25rem;box-shadow:0 2px 8px #0000001a}.status-active{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.status-inactive{background:linear-gradient(135deg,#a0aec0,#718096);color:#fff}.status-pending{background:linear-gradient(135deg,#ed8936,#dd6b20);color:#fff}.status-completed{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff}.status-cancelled{background:linear-gradient(135deg,#f56565,#e53e3e);color:#fff}.status-scheduled{background:linear-gradient(135deg,#9f7aea,#805ad5);color:#fff}.status-urgent{background:linear-gradient(135deg,#ed64a6,#d53f8c);color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.spinner-large{width:40px;height:40px;border:3px solid transparent;border-top:3px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.card-interactive{transition:all .3s ease;cursor:pointer}.card-interactive:hover{transform:translateY(-4px);box-shadow:0 16px 64px #0003}.color-shift{position:relative;overflow:hidden}.color-shift:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.color-shift:hover:before{left:100%}.stat-card{text-align:center;padding:1.5rem;border-radius:12px;background:#ffffffe6;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.stat-card-icon{font-size:2rem;margin-bottom:.5rem}.stat-card-value{font-size:2rem;font-weight:700;margin-bottom:.25rem;color:#2d3748}.stat-card-label{font-size:.9rem;color:#718096;margin-bottom:.5rem}.stat-card-trend{font-size:.8rem;font-weight:600}.trend-up{color:#48bb78}.trend-down{color:#f56565}.card-primary{border-left:4px solid #667eea;background:linear-gradient(135deg,#667eea0d,#764ba20d)}.card-success{border-left:4px solid #48bb78;background:linear-gradient(135deg,#48bb780d,#38a1690d)}.card-danger{border-left:4px solid #f56565;background:linear-gradient(135deg,#f565650d,#e53e3e0d)}.card-warning{border-left:4px solid #ed8936;background:linear-gradient(135deg,#ed89360d,#dd6b200d)}.card-info{border-left:4px solid #4299e1;background:linear-gradient(135deg,#4299e10d,#3182ce0d)}.grid{display:grid;gap:1.5rem;margin-bottom:2rem}.grid-2{grid-template-columns:1fr 1fr}@media (max-width: 768px){.grid-2{grid-template-columns:1fr}}.grid-3{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}@media (min-width: 1200px){.grid-3{grid-template-columns:repeat(3,1fr)}}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-4{grid-template-columns:1fr}}.table{width:100%;border-collapse:collapse;background:#fffffff2;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0000001a}.table th,.table td{padding:1rem;text-align:left;border-bottom:1px solid rgba(226,232,240,.5)}.table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:.875rem}.table tbody tr:hover{background:linear-gradient(135deg,#667eea0d,#764ba20d)}.table tbody tr:nth-child(2n){background:#f7fafc80}.layout-container{display:flex;min-height:100vh;width:100vw}.sidebar{width:280px;background:linear-gradient(180deg,#2c3e50,#3498db);color:#fff;display:flex;flex-direction:column;transition:all .3s ease;position:relative;z-index:1000;box-shadow:2px 0 10px #0000001a}.sidebar-header{padding:2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0d}.sidebar-header h2{margin:0 0 1rem;font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.user-info{display:flex;align-items:center;gap:1rem}.user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;color:#fff;border:2px solid rgba(255,255,255,.2)}.user-details{flex:1}.user-name{margin:0 0 .25rem;font-weight:600;color:#fff;font-size:1rem}.user-role{margin:0;color:#ffffffb3;font-size:.875rem;background:#ffffff1a;padding:.25rem .5rem;border-radius:12px;display:inline-block}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:#fffc;text-decoration:none;transition:all .3s ease;border-radius:0 25px 25px 0;margin-right:1rem;position:relative}.sidebar-item:hover{background:#ffffff1a;color:#fff;transform:translate(5px)}.sidebar-item.active{background:#fff3;color:#fff;box-shadow:0 4px 15px #0003}.sidebar-item.active:before{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,gold,#ffed4e)}.sidebar-icon{font-size:1.25rem;min-width:24px;display:flex;align-items:center;justify-content:center}.sidebar-text{font-weight:500;font-size:.95rem}.sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1);background:#0000001a}.logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #e74c3c4d}.logout-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e74c3c66}.main-content{flex:1;display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);overflow-y:auto;overflow-x:hidden}.mobile-header{display:none;align-items:center;padding:1rem 1.5rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1);box-shadow:0 2px 10px #0000001a}.mobile-header h1{margin:0;font-size:1.25rem;color:#2c3e50}.menu-toggle{display:flex;flex-direction:column;gap:4px;background:none;border:none;padding:8px;cursor:pointer;margin-right:1rem}.menu-toggle span{width:25px;height:3px;background:#2c3e50;border-radius:2px;transition:.3s}.mobile-overlay{position:fixed;inset:0;background:#00000080;z-index:999;display:none}.text-blue-600{color:#667eea}.text-green-600{color:#48bb78}.text-purple-600{color:#9f7aea}.text-orange-600{color:#ed8936}.text-red-600{color:#f56565}.text-indigo-600{color:#5a67d8}.text-pink-600{color:#ed64a6}.text-teal-600{color:#38b2ac}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:-280px;height:100vh;z-index:1000;transition:left .3s ease}.sidebar-open{left:0}.mobile-header{display:flex}.mobile-overlay{display:block}.main-content{margin-left:0}.page-container{padding:1rem}}@media (max-width: 1024px) and (min-width: 769px){.sidebar{width:240px}.sidebar-header{padding:1.5rem 1rem}.sidebar-item{padding:.75rem 1rem}.page-container{padding:1.5rem}}.text-center{text-align:center}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:10px}.mb-2{margin-bottom:20px}.mb-3{margin-bottom:30px}.mt-0{margin-top:0}.mt-1{margin-top:10px}.mt-2{margin-top:20px}.mt-3{margin-top:30px}.p-0{padding:0}.p-1{padding:10px}.p-2{padding:20px}.p-3{padding:30px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;padding:2rem;box-shadow:0 20px 40px #00000026;border:1px solid rgba(255,255,255,.2);width:90%;max-width:600px;max-height:80vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.modal-large{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(226,232,240,.5)}.modal-header h3{margin:0;fontSize:1.25rem;fontWeight:600;color:#2d3748}.modal-close{background:none;border:none;fontSize:1.5rem;cursor:pointer;color:#718096;transition:color .2s ease}.modal-close:hover{color:#2d3748}.modal-body{margin-bottom:1.5rem}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid rgba(226,232,240,.5)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.card-selected{border:2px solid #4299e1!important;background:linear-gradient(135deg,#4299e11a,#3182ce1a)!important;box-shadow:0 8px 25px #4299e140!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease-in}h1,h2,h3,h4,h5,h6{color:#333;margin-top:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.calendar-day{border:1px solid #e2e8f0;transition:all .2s ease}.calendar-day:hover{background-color:#f7fafc!important;border-color:#cbd5e0;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}
