body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;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}*{box-sizing:border-box}#root,body,html{height:100%}:root{--primary-color:#1890ff;--success-color:#52c41a;--warning-color:#faad14;--error-color:#ff4d4f}@media (forced-colors:active){body{background-color:Canvas;color:initial;forced-color-adjust:none}*{forced-color-adjust:auto}.ant-btn,button{background:ButtonFace;border:1px solid ButtonText;color:ButtonText}.ant-btn:hover,button:hover{background:Highlight;color:HighlightText}.ant-input,input{background:Field;border:1px solid FieldText;color:FieldText}.ant-typography a,a{color:LinkText}a:visited{color:VisitedText}}.app-layout{height:100vh;overflow:hidden}.app-layout .ant-layout-sider{background:#fff;box-shadow:2px 0 6px #00152959}.ant-layout-sider,.ant-layout-sider-trigger,.app-layout .ant-layout-sider{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.app-layout .ant-layout-header{align-items:center;background:#fff;box-shadow:0 1px 4px #00152914;display:flex;justify-content:space-between;padding:0 24px}.app-layout .ant-layout-content{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;margin:24px;padding:24px}.custom-menu{border-right:none}.custom-menu .ant-menu-item,.custom-menu .ant-menu-submenu-title{border-radius:0;margin:0}.custom-menu .ant-menu-item:hover,.custom-menu .ant-menu-submenu-title:hover{color:#1890ff}.custom-menu .ant-menu-item-selected{background-color:#e6f7ff;border-right:3px solid #1890ff}.custom-menu>.ant-menu-item .ant-menu-title-content,.custom-menu>.ant-menu-submenu-title .ant-menu-title-content{align-items:center;display:flex;flex:1 1;justify-content:center;text-align:center}.custom-menu>.ant-menu-item,.custom-menu>.ant-menu-submenu-title{align-items:center;display:flex;padding-left:24px;padding-right:24px;position:relative}.custom-menu>.ant-menu-submenu-title{padding-right:48px}.custom-menu>.ant-menu-submenu-title .ant-menu-submenu-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.custom-menu>.ant-menu-item .ant-menu-item-icon,.custom-menu>.ant-menu-submenu-title .ant-menu-item-icon{left:24px;position:absolute;top:50%;transform:translateY(-50%)}.ant-layout-sider-collapsed .custom-menu>.ant-menu-item .ant-menu-item-icon,.ant-layout-sider-collapsed .custom-menu>.ant-menu-submenu-title .ant-menu-item-icon{left:50%;transform:translate(-50%,-50%)}.ant-layout-sider-collapsed .custom-menu>.ant-menu-item .ant-menu-title-content,.ant-layout-sider-collapsed .custom-menu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-layout-sider-collapsed .custom-menu>.ant-menu-submenu-title .ant-menu-title-content{display:none}.ant-layout-sider-collapsed .custom-menu>.ant-menu-item,.ant-layout-sider-collapsed .custom-menu>.ant-menu-submenu-title{justify-content:center;padding-left:0;padding-right:0}.header-content{align-items:center;display:flex;justify-content:space-between;width:100%}.header-title{color:#262626;font-size:18px;font-weight:500}.header-actions{gap:16px}.header-actions,.user-info{align-items:center;display:flex}.user-info{color:#595959;gap:8px}@media (max-width:768px){.app-layout .ant-layout-content{margin:16px;padding:16px}.header-title{font-size:16px}}.react-calendar{background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;max-width:100%;width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{background:none;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700;text-align:center;text-transform:uppercase}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{background:none;font:inherit;font-size:.833em;max-width:100%;padding:10px 6.6667px;text-align:center}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.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{background-color:#282c34;color:#fff;padding:20px}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-form{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:400px;padding:40px;width:100%}.login-title{color:#1890ff;font-size:24px;font-weight:700;margin-bottom:30px;text-align:center}.login-logo{display:flex;justify-content:center;margin-bottom:20px}.logo-image{height:120px;object-fit:contain;width:120px}.dashboard-header{align-items:center;background:#fff;box-shadow:0 2px 8px #0000000f;display:flex;justify-content:space-between;padding:0 24px}.dashboard-content{height:calc(100vh - 120px);margin:24px;overflow-x:hidden;overflow-y:auto;padding-bottom:40px}.stats-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px}.stat-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;padding:24px}.stat-value{color:#1890ff;font-size:28px;font-weight:700;margin-bottom:8px}.stat-label{color:#666;font-size:14px}.chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;padding:24px}.chart-title{color:#333;font-size:18px;font-weight:700;margin-bottom:16px}.reports-container{padding:24px}.report-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;padding:24px}.section-title{border-bottom:2px solid #1890ff;color:#333;font-size:20px;font-weight:700;margin-bottom:16px;padding-bottom:8px}.loading-container{align-items:center;display:flex;height:200px;justify-content:center}.error-message{color:#ff4d4f;padding:20px;text-align:center}.data-source-table .ant-table-thead>tr>th{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-bottom:2px solid #3498db;color:#2c3e50;font-weight:600}.report-page-table .ant-table-thead>tr>th{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-bottom:2px solid #e74c3c;color:#2c3e50;font-weight:600}.table-row-light{background-color:#fff}.table-row-dark{background-color:#f8f9fa}.data-source-table .table-row-dark:hover,.data-source-table .table-row-light:hover{background-color:#e3f2fd!important;transition:background-color .3s ease}.report-page-table .table-row-dark:hover,.report-page-table .table-row-light:hover{background-color:#fce4ec!important;transition:background-color .3s ease}.data-source-table .ant-table-tbody>tr>td,.report-page-table .ant-table-tbody>tr>td{border-bottom:1px solid #e8e8e8;padding:12px 16px}.data-source-table .ant-table,.report-page-table .ant-table{border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.data-source-table .ant-pagination,.report-page-table .ant-pagination{margin-top:24px;text-align:center}.data-source-table .ant-pagination .ant-pagination-item-active,.report-page-table .ant-pagination .ant-pagination-item-active{background-color:#3498db;border-color:#3498db}.data-source-table .ant-pagination .ant-pagination-item-active a,.report-page-table .ant-pagination .ant-pagination-item-active a{color:#fff}.permission-table .ant-table-thead>tr>th{background-color:#fafafa!important;font-weight:600!important}.ant-layout,body,html{height:100vh;overflow:hidden}@media (forced-colors:active){.login-container,.login-form{background:Canvas;color:initial}.login-form{border:1px solid CanvasText}.login-title,.stat-card{color:initial}.stat-card{background:Canvas;border:1px solid CanvasText}.stat-value{color:Highlight}.chart-container,.report-section{background:Canvas;border:1px solid CanvasText;color:initial}.section-title{border-bottom-color:Highlight;color:initial}}@media (max-width:768px){.dashboard-content{height:calc(100vh - 100px);margin:16px}.stats-cards{grid-template-columns:1fr}.chart-container{padding:16px}.login-form{margin:16px;padding:24px}.data-source-table .ant-table-tbody>tr>td,.data-source-table .ant-table-thead>tr>th,.report-page-table .ant-table-tbody>tr>td,.report-page-table .ant-table-thead>tr>th{font-size:14px;padding:8px 12px}}