:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@font-face{font-family:"Bree Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bree-serif-latin-400-normal-DFKDEHQE.woff2) format("woff2"),url(/assets/bree-serif-latin-400-normal-Dbaz2OwO.woff) format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rubik-latin-400-normal-j0pmKyiQ.woff2) format("woff2"),url(/assets/rubik-latin-400-normal-BV1Ho3GG.woff) format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rubik-latin-500-normal-1os41rQk.woff2) format("woff2"),url(/assets/rubik-latin-500-normal-LZYVHeqz.woff) format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rubik-latin-600-normal-7iWW07_k.woff2) format("woff2"),url(/assets/rubik-latin-600-normal-Bd1rsTk4.woff) format("woff")}:root{--color-primary: #0958d9;--color-primary-hover: #1677ff;--color-primary-active: #003eb3;--color-geek-blue-1: #f0f5ff;--color-geek-blue-2: #d6e4ff;--color-geek-blue-3: #adc6ff;--color-geek-blue-7: #1677ff;--color-geek-blue-9: #003eb3;--color-success: #52c41a;--color-warning: #faad14;--color-error: #ff4d4f;--color-info: #1677ff;--color-white: #ffffff;--color-gray-1: #fafafa;--color-gray-2: #f5f5f5;--color-gray-3: #f0f0f0;--color-gray-4: #d9d9d9;--color-gray-6: #8c8c8c;--color-gray-8: #434343;--color-black: #000000;--font-heading: "Bree Serif", serif;--font-body: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px}*{margin:0;padding:0;box-sizing:border-box}*:focus,*:focus-visible{outline:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary)!important;outline-offset:2px!important}html,body{height:100%;width:100%;margin:0;padding:0;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-gray-8);background-color:var(--color-gray-1);overflow-x:hidden}#root{height:100%;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.loading-spinner{display:flex;justify-content:center;align-items:center;height:100vh}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.full-height{height:100vh}.full-width{width:100%}.flex-center{display:flex;justify-content:center;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-column{display:flex;flex-direction:column}@media(max-width:768px){.hide-mobile{display:none!important}.full-width-layout{grid-template-columns:1fr!important}.full-width-layout>div:first-child{display:none!important}}@media(min-width:769px){.hide-desktop{display:none!important}}@media(min-width:768px)and (max-width:1024px){.full-width-layout{grid-template-columns:1fr 1.2fr}.full-width-layout>div{padding:32px!important}}@media(min-width:1025px){.full-width-layout{grid-template-columns:1fr 1fr}.full-width-layout>div{padding:48px!important}}.ant-btn-link{border:none!important;box-shadow:none!important;background:none!important;padding:0!important;height:auto!important;color:var(--color-primary)!important;font-weight:500!important;text-decoration:none!important;transition:color .2s ease!important}.ant-btn-link:hover,.ant-btn-link:focus{color:var(--color-primary-active)!important;background:none!important;border:none!important;box-shadow:none!important;text-decoration:none!important}.ant-btn-link:active{color:var(--color-primary-active)!important;background:none!important;border:none!important;box-shadow:none!important}.ant-btn-link[disabled]{color:#d9d9d9!important;background:none!important;border:none!important;box-shadow:none!important}.ant-layout{min-height:100vh}.ant-layout-sider{border-right:1px solid var(--color-gray-3)}.ant-layout-header{padding:0 24px;background:#fff;border-bottom:1px solid var(--color-gray-3)}.ant-menu-item-selected{background-color:#e6f7ff!important}.ant-btn-primary{background-color:#1890ff;border-color:#1890ff}.ant-btn-primary:hover,.ant-btn-primary:focus{background-color:#40a9ff;border-color:#40a9ff}.ant-btn{border-radius:var(--radius-md);font-weight:500;font-family:var(--font-body);height:40px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:all .2s ease;outline:none!important;box-shadow:none!important}.ant-btn:focus,.ant-btn:focus-visible,.ant-btn:active{outline:none!important;box-shadow:none!important;border-color:var(--color-primary)!important}.ant-btn-lg{height:42px;padding:0 var(--spacing-lg);font-size:16px}.ant-btn-sm{height:28px;padding:0 var(--spacing-sm);font-size:14px}.ant-input{border-radius:var(--radius-md);height:40px;padding:0 12px;font-family:var(--font-body);border:1px solid var(--color-gray-4);transition:all .2s ease;font-size:15px}.ant-input:focus,.ant-input:focus-visible,.ant-input-focused{outline:none!important;box-shadow:none!important;border-color:var(--color-primary)!important}.ant-input-prefix,.ant-input-suffix,.ant-input-group-addon,.ant-input-affix-wrapper .ant-input-prefix,.ant-input-affix-wrapper .ant-input-suffix{display:none!important}.ant-select .ant-select-selector{height:36px!important;padding:0 12px!important;border-radius:var(--radius-md)!important}.ant-select-lg .ant-select-selector{height:42px!important}.ant-select-sm .ant-select-selector{height:28px!important}.ant-input-number{height:36px!important;border-radius:var(--radius-md)!important}.ant-input-number-lg{height:42px!important}.ant-input-number-sm{height:28px!important}.ant-picker{height:36px!important;border-radius:var(--radius-md)!important}.ant-picker-large{height:42px!important}.ant-picker-small{height:28px!important}.ant-input-lg{height:42px;padding:0 14px;font-size:15px}.ant-input-sm{height:28px;padding:0 10px;font-size:13px}.ant-select:focus,.ant-select-focused .ant-select-selector{outline:none!important;box-shadow:none!important;border-color:var(--color-primary)!important}.login-form{max-width:400px;margin:0 auto;padding:24px}.login-form-title{text-align:center;margin-bottom:24px;font-size:24px;font-weight:600;color:#262626}.login-form-button{width:100%}.login-form-forgot{float:right}.dashboard-card{margin-bottom:16px}.dashboard-stat-card{text-align:center;padding:24px}.dashboard-stat-value{font-size:30px;font-weight:600;color:#1890ff}.dashboard-stat-label{font-size:14px;color:#8c8c8c;margin-top:8px}.table-actions{display:flex;gap:8px}.table-actions .ant-btn{padding:4px 8px;height:auto;font-size:12px}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-in-right{animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.error-message{color:#ff4d4f;font-size:14px;margin-top:4px}.success-message{color:#52c41a;font-size:14px;margin-top:4px}@media(max-width:768px){.ant-layout-content,.ant-card-body{padding:var(--spacing-md)}.ant-btn,.ant-input{height:38px}}
