body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.room-page{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.room-container{margin:0 auto;max-width:1400px;padding:20px}.page-header{background:#fff;border-radius:15px;box-shadow:0 4px 6px #0000001a;justify-content:space-between;margin-bottom:25px;padding:25px 30px}.header-left,.page-header{align-items:center;display:flex}.header-left{gap:15px}.back-button{align-items:center;background:#667eea;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;transition:all .3s;width:40px}.back-button:hover{background:#5568d3;transform:scale(1.05)}.header-content h1{align-items:center;color:#2d3748;display:flex;font-size:28px;gap:10px;margin:0}.hostel-name{color:#667eea;font-size:16px;font-weight:500;margin:5px 0 0}.header-right{align-items:center;display:flex;gap:15px}.notification-btn{background:#f7fafc;border:none;border-radius:50%;cursor:pointer;font-size:20px;height:45px;position:relative;transition:all .3s;width:45px}.notification-btn:hover{background:#edf2f7;transform:scale(1.05)}.notification-badge{background:#f5576c;border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;position:absolute;right:8px;top:8px}.user-profile{background:#f7fafc;border-radius:25px;gap:12px;padding:8px 15px}.user-avatar,.user-profile{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.user-info{display:flex;flex-direction:column}.user-name{color:#2d3748;font-size:14px;font-weight:600}.user-role{color:#718096;font-size:12px}.stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:25px}.stat-card{background:#fff;border-radius:15px;box-shadow:0 4px 6px #0000001a;padding:20px;transition:transform .3s,box-shadow .3s}.stat-card:hover{box-shadow:0 8px 12px #00000026;transform:translateY(-5px)}.stat-header{justify-content:space-between;margin-bottom:15px}.stat-header,.stat-icon{align-items:center;display:flex}.stat-icon{border-radius:12px;font-size:24px;height:50px;justify-content:center;width:50px}.stat-icon.total{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.occupied{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-icon.available{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-icon.students{background:linear-gradient(135deg,#fa709a,#fee140)}.stat-value{color:#2d3748;font-size:32px;font-weight:700}.stat-label{color:#718096;font-size:14px;margin-top:5px}.stat-trend{align-items:center;color:#48bb78;display:flex;font-size:12px;gap:5px;margin-top:5px}.filters-section{background:#fff;border-radius:15px;box-shadow:0 4px 6px #0000001a;margin-bottom:25px;padding:20px}.filters-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:15px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-label{color:#4a5568;font-size:14px;font-weight:500}.filter-select,.search-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;padding:10px 15px;transition:all .3s}.filter-select:focus,.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.search-input{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="%23718096" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.35-4.35"></path></svg>') no-repeat 15px;padding-left:45px}.rooms-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.room-card{background:#fff;border-radius:15px;box-shadow:0 4px 6px #0000001a;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s}.room-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:5px;left:0;position:absolute;right:0;top:0}.room-card:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-5px)}.room-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.room-number{color:#2d3748;font-size:24px;font-weight:700}.room-badge{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px}.room-badge.available{background:#c6f6d5;color:#22543d}.room-badge.occupied{background:#fed7d7;color:#742a2a}.room-badge.full{background:#e2e8f0;color:#4a5568}.room-info{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.info-row{align-items:center;color:#4a5568;display:flex;font-size:14px;gap:8px}.info-icon{text-align:center;width:20px}.room-type-badge{align-items:center;border-radius:15px;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:4px 10px}.room-type-badge.private{background:#fef5e7;color:#b7791f}.room-type-badge.shared{background:#ebf8ff;color:#2c5282}.ac-badge{border-radius:15px;font-size:12px;font-weight:600;padding:4px 10px}.ac-badge.ac{background:#e6fffa;color:#234e52}.ac-badge.non-ac{background:#fff5f5;color:#742a2a}.rent-info{color:#667eea;font-size:18px;font-weight:700}.availability-text{color:#718096;font-size:12px}.beds-section{border-top:2px solid #f7fafc;margin-top:15px;padding-top:15px}.beds-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.beds-title{color:#2d3748;font-size:14px;font-weight:600}.bed-status-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 8px}.bed-status-badge.active{background:#c6f6d5;color:#22543d}.bed-status-badge.inactive{background:#e2e8f0;color:#4a5568}.beds-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.bed-item{background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:12px;text-align:center;transition:all .3s}.bed-item:hover{background:#f7fafc;border-color:#667eea}.bed-item.occupied{background:#fef5e7;border-color:#f093fb}.bed-item.available{background:#f0fff4;border-color:#48bb78;cursor:pointer}.bed-item.available:hover{background:#c6f6d5;transform:scale(1.05)}.bed-icon{font-size:24px;margin-bottom:8px}.bed-number{color:#2d3748;font-size:12px;font-weight:600;margin-bottom:4px}.bed-status{color:#718096;font-size:10px;margin-bottom:8px}.student-name{color:#4a5568;font-size:11px;font-weight:500;margin-bottom:8px}.assign-btn,.remove-btn,.view-student-btn{border:none;border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;padding:6px 12px;transition:all .3s;width:100%}.assign-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.assign-btn:hover{box-shadow:0 4px 8px #667eea4d;transform:translateY(-2px)}.view-student-btn{background:#ebf8ff;color:#2c5282;margin-bottom:5px}.view-student-btn:hover{background:#bee3f8}.remove-btn{background:#fed7d7;color:#c53030}.remove-btn:hover{background:#fc8181;color:#fff}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:600px;overflow:hidden;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #f7fafc;color:#fff;justify-content:space-between;padding:25px 30px}.modal-header,.modal-title{align-items:center;display:flex}.modal-title{font-size:20px;font-weight:700;gap:10px}.modal-close{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;height:35px;transition:all .3s;width:35px}.modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-content{max-height:calc(80vh - 80px);overflow-y:auto;padding:25px 30px}.student-list{display:flex;flex-direction:column;gap:12px}.student-item{align-items:center;border:2px solid #e2e8f0;border-radius:12px;display:flex;justify-content:space-between;padding:15px;transition:all .3s}.student-item:hover{background:#f7fafc;border-color:#667eea}.student-item-info{align-items:center;display:flex;flex:1 1;gap:15px}.student-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:20px;font-weight:700;height:50px;justify-content:center;width:50px}.student-details{flex:1 1}.student-name{color:#2d3748;font-weight:600;margin-bottom:5px}.student-contact{color:#718096;font-size:13px}.assign-student-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s;white-space:nowrap}.assign-student-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.assign-student-btn:disabled{cursor:not-allowed;opacity:.6}.student-details-card{background:linear-gradient(135deg,#f7fafc,#fff);border-radius:15px;padding:25px}.student-header-modal{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;gap:20px;margin-bottom:25px;padding-bottom:20px}.student-avatar-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 12px #667eea4d;color:#fff;display:flex;font-size:32px;font-weight:700;height:80px;justify-content:center;width:80px}.student-info-modal{flex:1 1}.student-name-large{color:#2d3748;font-size:24px;font-weight:700;margin-bottom:10px}.student-meta{display:flex;flex-direction:column;gap:5px}.meta-item{align-items:center;color:#4a5568;display:flex;font-size:14px;gap:8px}.details-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.detail-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:15px;transition:all .3s}.detail-card:hover{border-color:#667eea;transform:translateY(-2px)}.detail-label{color:#718096;font-size:12px;font-weight:500;margin-bottom:5px}.detail-value{color:#2d3748;font-size:16px;font-weight:600}.error-container,.loading-container{align-items:center;background:#fff;border-radius:15px;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:40px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:60px;margin-bottom:20px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-text,.loading-text{color:#4a5568;font-size:18px;margin-top:15px}.error-icon{font-size:60px;margin-bottom:20px}.retry-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:20px;padding:12px 30px;transition:all .3s}.retry-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.no-data{color:#718096;font-size:16px;padding:40px;text-align:center}@media (max-width:768px){.page-header{flex-direction:column;gap:15px}.header-left{width:100%}.header-right{justify-content:space-between;width:100%}.stats-container{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-value{font-size:24px}.filters-grid,.rooms-grid{grid-template-columns:1fr}.modal{max-width:95%}.details-grid{grid-template-columns:1fr}}@media (max-width:480px){.room-container{padding:10px}.page-header{padding:15px}.header-content h1{font-size:20px}.stat-card{padding:15px}.beds-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.modal-content::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:#5568d3}.notification-panel{animation:slideDown .3s ease-out;background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;max-height:500px;overflow-y:auto;position:absolute;right:20px;top:60px;width:350px;z-index:100}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notification-header{align-items:center;border-bottom:2px solid #f7fafc;color:#2d3748;display:flex;font-weight:700;justify-content:space-between;padding:20px}.notification-item{border-bottom:1px solid #f7fafc;padding:15px 20px;transition:background .3s}.notification-item:hover{background:#f7fafc}.notification-item:last-child{border-bottom:none}
/*# sourceMappingURL=main.68b79958.css.map*/