.App{text-align:center;min-height:100vh;min-width:100%}.course-review-modal .ant-form-item-label>label{width:100%}.ant-pagination{display:flex!important;align-items:center!important}.ant-pagination-total-text{display:flex!important;align-items:center!important;height:32px!important;line-height:32px!important}.ant-pagination-item,.ant-pagination-prev,.ant-pagination-next,.ant-pagination-jump-prev,.ant-pagination-jump-next{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important;height:32px!important;min-width:32px!important}.ant-pagination-item a,.ant-pagination-prev button,.ant-pagination-next button{display:flex!important;align-items:center!important;justify-content:center!important;height:100%!important;line-height:1!important;padding:0!important}.ant-pagination-options{display:flex!important;align-items:center!important;height:32px!important}.ant-menu-item{font-weight:700!important}.ant-layout-sider-collapsed .ant-menu-item{display:flex!important;justify-content:center!important;align-items:center!important;padding:0!important}.ant-layout-sider-collapsed .ant-menu-item .ant-menu-title-content{display:none!important}.ant-layout-sider-collapsed .ant-menu-item .anticon{margin:0!important;font-size:18px!important;display:flex!important;justify-content:center!important;align-items:center!important}.ant-pagination-options-size-changer{display:flex!important;align-items:center!important;height:32px!important}.ant-pagination-quick-jumper,.ant-pagination .ant-pagination-quick-jumper,.ant-pagination>div:last-child,.ant-pagination-quick-jumper input,.ant-pagination-quick-jumper span{display:none!important}.ant-pagination .ant-pagination-quick-jumper{display:none!important}#root{min-height:100vh;min-width:100%}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background:#f0f2f5}.login-form{width:400px;padding:24px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026}.logo{color:#fff;font-size:20px;font-weight:700}ul{list-style:none;padding:0}li{padding:12px;border-bottom:1px solid #f0f0f0;text-align:left}li:hover{background:#f5f5f5}.booking-list{margin-top:20px}.booking-item{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.booking-item:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.booking-header h4{margin:0;color:#333;font-size:18px}.booking-status{padding:6px 16px;border-radius:20px;font-size:14px;font-weight:500}.status-pending{background-color:#fffbe6;color:#faad14}.status-confirmed{background-color:#e6f7ff;color:#1890ff}.status-completed{background-color:#f9f0ff;color:#722ed1}.status-cancelled{background-color:#fff1f0;color:#ff4d4f}.status-review{background-color:#fff7e6;color:#fa8c16}.booking-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;text-align:left}.detail-item{display:flex;align-items:center}.detail-item label{font-weight:500;color:#666;margin-right:8px;min-width:80px}.detail-item span{color:#333;font-size:14px}.course-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.course-item{border:1px solid #e8e8e8;border-radius:8px;padding:16px;background-color:#fff;box-shadow:0 2px 8px #0000001a}.course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.course-header h4{margin:0;color:#333}.course-details{margin-top:12px}.course-details p{margin:8px 0;font-size:14px;color:#666}.time-slots-container{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.day-container{flex:1;min-width:200px;border:1px solid #e8e8e8;border-radius:8px;padding:16px;background-color:#fff;box-shadow:0 2px 8px #0000001a}.day-container h5{margin:0 0 12px;color:#333;font-size:16px;text-align:center}.slots-grid{display:grid;grid-template-columns:1fr;gap:8px}.slot-item{border:1px solid #e8e8e8;border-radius:4px;padding:8px;text-align:center;cursor:pointer;transition:all .3s ease;background-color:#f5f5f5;min-height:60px;display:flex;flex-direction:column;justify-content:space-between}.slot-item.booked{background-color:#e6f7ff;cursor:not-allowed}.slot-item.booked:hover{background-color:#e6f7ff;border-color:#1890ff}.slot-item .slot-booking{margin-top:5px;font-size:9px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-all}.slot-item .slot-booking div{overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all}.slot-item:hover{border-color:#1890ff;background-color:#e6f7ff}.slot-item.available{background-color:#f6ffed;border-color:#52c41a;color:#52c41a}.slot-item.available:hover{background-color:#d9f7be}.dashboard-calendar{margin-top:20px}.no-time-slots{padding:20px;text-align:center;color:#999;background-color:#f5f5f5;border-radius:8px;margin-top:12px}.selected-time{margin-top:12px;padding:12px;background-color:#f5f5f5;border-radius:8px;text-align:center;font-size:14px;color:#333}.search-bar{display:flex;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}.calendar-container{background-color:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a;overflow-x:auto;width:100%;box-sizing:border-box;min-width:100%}.calendar-header{display:flex;border-bottom:2px solid #e8e8e8;margin-bottom:10px;width:100%;min-width:100%}.time-column{width:100px;padding:10px;font-weight:600;text-align:center;background-color:#f5f5f5;border-right:1px solid #e8e8e8;flex-shrink:0}.date-column{flex:1;min-width:120px;padding:10px;text-align:center;border-right:1px solid #e8e8e8}.date-column:last-child{border-right:none}.date-header{font-weight:600;margin-bottom:5px;color:#333}.day-header{font-size:12px;color:#666}.calendar-body{display:flex;flex-direction:column;width:100%;min-width:100%}.time-slot-row{display:flex;border-bottom:1px solid #e8e8e8;width:100%;min-width:100%}.time-slot-row:last-child{border-bottom:none}.slot-cell{padding:5px;display:flex;flex-direction:column;gap:2px;min-height:50px;justify-content:flex-start;align-items:center;box-sizing:border-box}.slot-checkbox{align-self:center;margin-bottom:5px}.slot-checkbox input[type=checkbox]{margin:0}.slot-status{font-size:12px;color:#666;text-align:center}.slot-booking{font-size:12px;color:#999;margin-top:5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-all;text-align:center}.slot-booking div{overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all}.date-column.available{background-color:#f6ffed}.date-column.available.booked,.date-column.booked{background-color:#e6f7ff}.date-column.not-available{background-color:#f5f5f5}.slot-cell span{font-size:12px;color:#666}.date-column.available .slot-status span{color:#52c41a}.date-column.available.booked .slot-status span,.date-column.booked .slot-status span{color:#1890ff}.date-column.not-available .slot-status span{color:#ff4d4f}.slot-item.past-time{background-color:#e0e0e0;cursor:not-allowed;opacity:.7}.slot-item.past-time:hover{background-color:#e0e0e0;border-color:#e0e0e0}.slot-item.booked.past-time{background-color:#e6f7ff;opacity:.7}.slot-item.booked.past-time:hover{background-color:#e6f7ff;border-color:#1890ff;opacity:.7}.date-column.past-time{background-color:#f0f0f0;opacity:.7}.date-column.booked.past-time{background-color:#e6f7ff!important;opacity:.7!important}.date-column.review-pending{background-color:#fff7e6!important;opacity:.9!important}.date-column.review-pending .slot-status span{color:#fa8c16!important;font-weight:500}.date-column.reviewed{background-color:#f9f0ff!important;opacity:.9!important}.date-column.reviewed .slot-status span{color:#722ed1!important;font-weight:500}.slot-item.review-pending{background-color:#fff7e6;cursor:pointer}.slot-item.review-pending:hover{background-color:#fff1e0;border-color:#fa8c16}.slot-item.booked.review-pending{background-color:#fff7e6}.date-column.past-time:not(.review-pending) .slot-checkbox input[type=checkbox]{cursor:not-allowed}.date-column.review-pending .slot-checkbox input[type=checkbox]{cursor:pointer}.date-column.review-pending .slot-checkbox input[type=checkbox]:not(:disabled){cursor:pointer;opacity:1}.filter-group{display:flex;align-items:center;gap:8px}.search-label{font-size:14px;color:#666;font-weight:400}.pill-select .ant-select-selector{border-radius:16px!important;padding:0 14px!important;height:32px!important;border:1px solid #e8e8e8!important;box-shadow:none!important;display:flex;align-items:center}.pill-select .ant-select-selection-item{color:#333!important;font-weight:500!important;font-size:14px}.pill-select .ant-select-selection-placeholder{color:#333!important;font-weight:500!important}.pill-select:hover .ant-select-selector{border-color:#667eea!important}.pill-select.ant-select-focused .ant-select-selector{border-color:#667eea!important;box-shadow:0 0 0 2px #667eea33!important}body{margin:0;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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.reverse-buttons .ant-popconfirm-buttons{display:flex!important;flex-direction:row-reverse!important;justify-content:flex-start;gap:8px}.reverse-buttons .ant-popconfirm-buttons>button{margin:0!important}.reverse-buttons .ant-modal-confirm-btns{display:flex!important;flex-direction:row-reverse!important;justify-content:flex-start;gap:8px}.reverse-buttons .ant-modal-confirm-btns>button{margin:0!important}
