.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1;background:#fffffff2;border:1px solid #fff3;border-radius:16px;width:100%;max-width:400px;margin:20px;position:relative;box-shadow:0 20px 40px #0000001a}.login-card .ant-card-body{padding:40px 32px 32px}.login-header{text-align:center;margin-bottom:32px}.login-logo{flex-direction:column;align-items:center;margin-bottom:8px;display:flex}.logo-image{width:48px;height:48px;margin-bottom:8px}.logo-text{font-weight:600;margin:0!important}.login-options{justify-content:space-between;align-items:center;margin-bottom:0;display:flex}.login-button{border-radius:8px;height:48px;font-size:16px;font-weight:500;transition:all .2s;box-shadow:0 4px 12px #1890ff4d}.login-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1890ff66}.login-footer{text-align:center;border-top:1px solid #f0f0f0;margin-top:24px;padding-top:20px}.login-footer .ant-typography{font-size:12px}@media (max-width:767px){.login-container{padding:20px}.login-card{border-radius:12px;margin:0}.login-card .ant-card-body{padding:32px 24px 24px}.logo-text{font-size:20px!important}.login-form .ant-input-affix-wrapper,.login-form .ant-input{height:44px}.login-button{height:44px;font-size:15px}}@media (max-width:480px){.login-container{padding:16px}.login-card .ant-card-body{padding:24px 20px 20px}.login-options{flex-direction:column;align-items:flex-start;gap:8px}.forgot-password{align-self:flex-end}}:root{--app-viewport-height:100vh;--app-viewport-offset-top:0px;--app-keyboard-offset:0px}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;height:100%;scroll-padding-bottom:calc(128px + env(safe-area-inset-bottom) + var(--app-keyboard-offset))}body{min-height:100%;min-height:var(--app-viewport-height);overscroll-behavior-y:contain;color:#1f2937;background:#f5f7fb;margin:0;overflow-x:hidden}#root{min-height:100%;min-height:var(--app-viewport-height)}*,:before,:after{box-sizing:border-box}img,video{max-width:100%;display:block}a,button,[role=button]{touch-action:manipulation}input,textarea,.ant-input,.ant-input-affix-wrapper,.ant-select-selector{scroll-margin-bottom:calc(168px + env(safe-area-inset-bottom) + var(--app-keyboard-offset))}.app-back-top{bottom:20px;right:20px}.app-mobile-bottom-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom) + var(--app-keyboard-offset));z-index:1000;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #e2e8f0e6;border-radius:16px;margin:0;padding:12px;position:fixed;box-shadow:0 18px 40px #0f172a24}.app-mobile-bottom-bar.ant-space{gap:10px}.content{min-height:var(--app-viewport-height);text-align:center;color:#fff;background-image:linear-gradient(#020917,#101725);flex-direction:column;justify-content:center;line-height:1.1;display:flex}.content h1{font-size:3.6rem;font-weight:700}.content p{opacity:.5;font-size:1.2rem;font-weight:400}@media (max-width:767px){body{overscroll-behavior-x:none;-webkit-tap-highlight-color:#0000}.dashboard-content .ant-space{flex-wrap:wrap}.dashboard-content .ant-card .ant-card-body{padding:16px}.dashboard-content .ant-table-wrapper,.dashboard-content .ant-table-content,.dashboard-content .ant-table-body{overflow-x:auto}.dashboard-content .ant-table{min-width:max-content}.dashboard-content .ant-pagination{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.dashboard-content .ant-form-horizontal .ant-row>.ant-col{flex:0 0 100%;max-width:100%}.dashboard-content .ant-form-item .ant-select,.dashboard-content .ant-form-item .ant-picker,.dashboard-content .ant-form-item .ant-input-number{width:100%}.ant-modal-root .ant-modal{margin:12px auto;max-width:calc(100vw - 24px)!important}.ant-modal-root .ant-modal-content{padding:16px}.ant-modal-root .ant-modal-body{max-height:calc(var(--app-viewport-height) - 180px);overflow-y:auto}.app-back-top{right:12px;bottom:calc(92px + env(safe-area-inset-bottom) + var(--app-keyboard-offset))}}body.app-keyboard-open .app-back-top{opacity:0;pointer-events:none}