.login-redesign-page{display:flex;min-height:100vh;background:#f6f7fb;font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.login-brand{width:52%;position:relative;overflow:hidden;background:linear-gradient(140deg,#a8000d,#e60012 48%,#ff8a1e);display:flex;flex-direction:column;justify-content:center;padding:64px 72px;color:#fff}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.14) 1.2px,transparent 1.2px);background-size:26px 26px;mask-image:linear-gradient(120deg,transparent 30%,#000 90%);-webkit-mask-image:linear-gradient(120deg,transparent 30%,#000 90%)}.login-glow{position:absolute;border-radius:50%;filter:blur(2px);background:#ffffff12}.login-glow.g1{width:560px;height:560px;top:-180px;right:-160px}.login-glow.g2{width:340px;height:340px;bottom:-110px;left:-90px}.login-ring{position:absolute;right:10%;top:14%;width:110px;height:110px;border:1.5px solid rgba(255,255,255,.28);border-radius:50%}.login-ring:after{content:"";position:absolute;top:22px;right:22px;bottom:22px;left:22px;border:1px dashed rgba(255,255,255,.22);border-radius:50%}.login-cube{position:absolute;right:14%;bottom:16%;width:150px;height:150px;border:1.5px solid rgba(255,255,255,.22);border-radius:26px;transform:rotate(16deg)}.login-brand-logo,.login-brand h1,.login-brand .login-slogan,.login-brand .login-line,.login-brand .login-desc,.login-brand .login-badges{position:relative;z-index:1}.login-brand-logo{background:#fffffff7;border-radius:14px;padding:14px 26px;width:fit-content;box-shadow:0 14px 34px #78000847}.login-brand-logo img{height:44px;display:block}.login-brand h1{margin-top:54px;font-size:42px;font-weight:700;letter-spacing:3px}.login-brand .login-slogan{margin-top:16px;font-size:14px;letter-spacing:5px;opacity:.85;font-weight:300}.login-brand .login-line{margin-top:26px;width:72px;height:4px;border-radius:2px;background:linear-gradient(90deg,#ffd23e,#ffb347)}.login-brand .login-desc{margin-top:26px;font-size:14px;line-height:2;opacity:.78;max-width:400px}.login-badges{margin-top:48px;display:flex;gap:14px;flex-wrap:wrap}.login-badge{display:flex;align-items:center;gap:9px;padding:11px 18px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:13px;letter-spacing:1px}.login-badge svg{flex-shrink:0}.login-panel{flex:1;position:relative;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(#eef0f6 1px,transparent 1px),linear-gradient(90deg,#eef0f6 1px,transparent 1px);background-size:34px 34px}.login-card{width:420px;max-width:calc(100vw - 48px);background:#fff;border-radius:22px;padding:46px 46px 38px;box-shadow:0 24px 70px #161e3c1f}.login-card h2{font-size:25px;color:#191f33;font-weight:700;letter-spacing:1px;margin:0}.login-card .login-sub{margin-top:9px;font-size:13.5px;color:#98a0b5}.login-tabs{margin-top:26px;position:relative;display:flex;background:#f1f3f8;border-radius:12px;padding:4px}.login-tab-slider{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);background:#fff;border-radius:9px;box-shadow:0 3px 10px #161e3c1f;transition:transform .28s cubic-bezier(.4,0,.2,1)}.login-tabs.external .login-tab-slider{transform:translate(100%)}.login-tabs button{flex:1;height:42px;position:relative;z-index:1;border:none;background:transparent;font-size:14.5px;color:#6a7388;cursor:pointer;font-family:inherit;transition:color .2s;border-radius:9px}.login-tabs button.active{color:#e60012;font-weight:600}.login-tab-hint{margin-top:12px;font-size:12px;color:#9aa3b7;line-height:1.7;min-height:20px}.login-field{margin-top:24px;position:relative}.login-field label{position:absolute;top:-9px;left:14px;background:#fff;padding:0 7px;font-size:12px;color:#c8102e;font-weight:600;z-index:1}.login-field input{width:100%;height:52px;border:1.5px solid #e4e8f1;border-radius:12px;padding:0 46px;font-size:15px;color:#191f33;outline:none;background:#fafbfe;transition:border-color .2s,box-shadow .2s,background .2s}.login-field input:focus{border-color:#e60012;box-shadow:0 0 0 4px #e6001212;background:#fff}.login-field .login-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#b3bacb;display:flex;align-items:center;pointer-events:none}.login-field .login-eye{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#b3bacb;cursor:pointer;display:flex;align-items:center;border:none;background:none;padding:4px}.login-field .login-eye:hover{color:#e60012}.login-row{margin-top:18px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.login-row .login-remember{display:flex;align-items:center;gap:7px;color:#5a6478;cursor:pointer;-webkit-user-select:none;user-select:none}.login-row .login-remember input{accent-color:#e60012;width:15px;height:15px;cursor:pointer}.login-row a{color:#e60012;text-decoration:none;cursor:pointer}.login-row a:hover{text-decoration:underline}.login-btn{margin-top:28px;width:100%;height:52px;border:none;border-radius:12px;background:linear-gradient(92deg,#e60012 10%,#ff7a00 90%);color:#fff;font-size:16px;font-weight:600;letter-spacing:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 10px 26px #e600124d;transition:transform .16s,box-shadow .16s,opacity .16s;font-family:inherit}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 34px #e6001261}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-btn svg{transition:transform .2s}.login-btn:hover:not(:disabled) svg{transform:translate(4px)}.login-register{margin-top:26px;text-align:center;font-size:13px;color:#6a7388}.login-register a{color:#e60012;text-decoration:none;font-weight:600;margin-left:5px}.login-register a:hover{text-decoration:underline}.login-footer{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:12px;color:#aab1c2}@media (max-width: 900px){.login-brand{display:none}.login-panel{background:linear-gradient(140deg,#a8000d,#e60012 48%,#ff8a1e)}.login-footer{color:#ffffffbf;padding:0 16px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc}#root{min-height:100vh}:root{--app-primary: #2563eb;--app-primary-light: #3b82f6;--app-primary-dark: #1d4ed8;--app-secondary: #7c3aed;--app-success: #10b981;--app-warning: #f59e0b;--app-error: #ef4444;--app-info: #3b82f6;--app-bg: #f8fafc;--app-sider-bg: #0f172a;--app-header-bg: #ffffff;--app-content-bg: #f8fafc;--app-sider-width: 240px;--app-header-height: 64px;--app-content-padding: 24px;--app-card-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--app-card-hover-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--app-btn-hover-shadow: 0 4px 6px -1px rgba(37, 99, 235, .3);--app-border-radius: 8px}.app-content{margin:24px;padding:24px}.app-sider{background:linear-gradient(180deg,#0f172a,#1e293b)!important;box-shadow:2px 0 8px #00000026}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column}.app-logo{height:64px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:700;letter-spacing:1px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.08);text-shadow:0 2px 4px rgba(0,0,0,.3);transition:all .3s ease-in-out;white-space:nowrap;overflow:hidden}.app-logo.collapsed{font-size:14px;letter-spacing:0}.app-logo-short{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--app-primary) 0%,var(--app-primary-light) 100%);border-radius:8px;font-size:14px;font-weight:700;color:#fff}.app-sider-trigger{padding:8px 0;text-align:center;border-bottom:1px solid rgba(255,255,255,.06)}.app-sider-trigger-btn{color:#ffffffa6!important;font-size:16px;transition:all .25s ease}.app-sider-trigger-btn:hover{color:#fff!important;background:#ffffff1a!important}.app-sider .ant-menu{background:transparent!important;border-right:none!important;padding:8px}.app-sider .ant-menu-item{color:#ffffffb3!important;border-radius:8px!important;margin:4px 0!important;transition:all .25s ease!important}.app-sider .ant-menu-item:hover{color:#fff!important;background:#ffffff1a!important}.app-sider .ant-menu-item-selected{color:#fff!important;background:linear-gradient(135deg,var(--app-primary) 0%,var(--app-primary-light) 100%)!important;box-shadow:0 4px 12px #2563eb59}.app-sider .ant-menu-item-selected:after{display:none!important}.app-sider .ant-menu-submenu-title{color:#ffffffbf!important;border-radius:8px!important;margin:4px 0!important;transition:all .25s ease!important}.app-sider .ant-menu-submenu-title:hover{color:#fff!important;background:#ffffff14!important}.app-sider .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#fff!important;background:#2563eb33!important}.app-sider .ant-menu-submenu .ant-menu{background:#00000026!important;border-radius:8px!important;margin:4px 0!important}.app-sider .ant-menu-item-icon{font-size:16px}.app-sider.ant-layout-sider-collapsed .ant-menu-item,.app-sider.ant-layout-sider-collapsed .ant-menu-submenu-title{padding:0 24px!important;justify-content:center}.app-sider .ant-menu-item .anticon+span,.app-sider .ant-menu-submenu-title .anticon+span{transition:opacity .3s ease-in-out,width .3s ease-in-out}.app-sider{transition:width .3s ease-in-out,min-width .3s ease-in-out,flex .3s ease-in-out!important}.app-header{background:#fffffff2!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;border-bottom:1px solid rgba(229,231,235,.6);z-index:10}.app-user-info{padding:6px 12px;border-radius:24px;background:#f8fafc;border:1px solid #e2e8f0;transition:all .25s ease}.app-user-info:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 2px 8px #00000014}.app-username{font-weight:500;color:#334155;font-size:14px}.app-breadcrumb-placeholder{font-size:18px;font-weight:600;color:#1e293b}.ant-layout .ant-layout-content{background:var(--app-content-bg)}.login-page{background:linear-gradient(135deg,#0f172a,#1e3a5f,#2563eb)!important;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(37,99,235,.15) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(124,58,237,.1) 0%,transparent 50%);pointer-events:none}.login-page .ant-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2!important;border:1px solid rgba(255,255,255,.3)!important}.login-logo h3{background:linear-gradient(135deg,#1e3a5f,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-stats-row .stat-card{border:none!important;overflow:hidden;position:relative;transition:all .35s cubic-bezier(.4,0,.2,1)}.dashboard-stats-row .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:12px 12px 0 0}.dashboard-stats-row .stat-card:hover{transform:translateY(-4px);box-shadow:var(--app-card-hover-shadow)}.stat-card-templates:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.stat-card-templates .ant-statistic-title{color:#3b82f6;font-weight:500}.stat-card-templates .anticon{color:#3b82f6;font-size:22px}.stat-card-records:before{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.stat-card-records .ant-statistic-title{color:#7c3aed;font-weight:500}.stat-card-records .anticon{color:#7c3aed;font-size:22px}.stat-card-documents:before{background:linear-gradient(90deg,#10b981,#34d399)}.stat-card-documents .ant-statistic-title{color:#10b981;font-weight:500}.stat-card-documents .anticon{color:#10b981;font-size:22px}.stat-card-pending:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.stat-card-pending .ant-statistic-title{color:#f59e0b;font-weight:500}.stat-card-pending .anticon{color:#f59e0b;font-size:22px}.dashboard-stats-row .ant-statistic-content-value{font-weight:700;font-size:28px;color:#1e293b}.ant-table-wrapper .ant-table{border-radius:12px;overflow:hidden}.ant-table-wrapper .ant-table-thead>tr>th{background:linear-gradient(180deg,#f8fafc,#f1f5f9)!important;color:#475569;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0!important;padding:14px 16px!important}.ant-table-wrapper .ant-table-tbody>tr{transition:all .2s ease}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#eff6ff!important}.ant-table-wrapper .ant-table-tbody>tr:nth-child(2n)>td{background:#fafbfc}.ant-table-wrapper .ant-table-tbody>tr>td{padding:12px 16px!important;border-bottom:1px solid #f1f5f9!important;color:#334155}.ant-btn-primary{background:linear-gradient(135deg,var(--app-primary) 0%,var(--app-primary-light) 100%)!important;border:none!important;box-shadow:0 2px 4px #2563eb33!important;transition:all .25s ease!important}.ant-btn-primary:hover{background:linear-gradient(135deg,var(--app-primary-dark) 0%,var(--app-primary) 100%)!important;box-shadow:var(--app-btn-hover-shadow)!important;transform:translateY(-1px)}.ant-btn-primary:active{transform:translateY(0)}.ant-btn-default{border-color:#d1d5db!important;color:#4b5563!important;transition:all .25s ease!important}.ant-btn-default:hover{border-color:var(--app-primary)!important;color:var(--app-primary)!important;box-shadow:0 2px 8px #2563eb1a}.ant-btn-dangerous{transition:all .25s ease!important}.ant-btn-dangerous:hover{transform:translateY(-1px);box-shadow:0 4px 6px -1px #ef444440}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{border-radius:8px!important;transition:all .25s ease!important}.ant-input:focus,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:var(--app-primary)!important;box-shadow:0 0 0 3px #2563eb1a!important}.ant-form-item-label>label{font-weight:500;color:#374151;font-size:14px}.ant-card{border:1px solid #e5e7eb!important;transition:all .3s ease}.ant-card:hover{border-color:#d1d5db!important}.ant-card-head{border-bottom:1px solid #f3f4f6!important;padding:16px 20px!important}.ant-card-head-title{font-weight:600;font-size:16px;color:#1e293b}.ant-card-body{padding:20px!important}.ant-tag{font-weight:500;padding:2px 10px;font-size:12px}.ant-modal-content{border-radius:16px!important;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a!important}.ant-modal-header{border-radius:16px 16px 0 0!important;border-bottom:1px solid #f3f4f6!important;padding:20px 24px!important}.ant-modal-title{font-weight:600;font-size:18px;color:#1e293b}.ant-modal-body{padding:24px!important}.ant-modal-footer{border-top:1px solid #f3f4f6!important;padding:16px 24px!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ant-layout-content>div{animation:fadeInUp .4s ease-out}.dashboard-stats-row .ant-col:nth-child(1) .stat-card{animation:fadeInUp .4s ease-out 0s both}.dashboard-stats-row .ant-col:nth-child(2) .stat-card{animation:fadeInUp .4s ease-out .08s both}.dashboard-stats-row .ant-col:nth-child(3) .stat-card{animation:fadeInUp .4s ease-out .16s both}.dashboard-stats-row .ant-col:nth-child(4) .stat-card{animation:fadeInUp .4s ease-out .24s both}.ant-list-item{transition:all .2s ease;border-radius:6px;padding:12px 16px!important}.ant-list-item:hover{background:#f8fafc}.ant-alert{border-radius:8px;border:none}.ant-alert-success{background:#ecfdf5}.ant-alert-warning{background:#fffbeb}.ant-alert-error{background:#fef2f2}.ant-alert-info{background:#eff6ff}.ant-dropdown-menu{border-radius:10px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important;padding:6px!important}.ant-dropdown-menu-item,.ant-pagination-item{border-radius:6px;transition:all .2s ease}.ant-pagination-item-active{background:linear-gradient(135deg,var(--app-primary) 0%,var(--app-primary-light) 100%)!important;border-color:var(--app-primary)!important}.ant-pagination-item-active a{color:#fff!important}.ant-switch-checked{background:linear-gradient(135deg,var(--app-primary) 0%,var(--app-primary-light) 100%)!important}.ant-steps .ant-steps-item-process .ant-steps-item-icon{background:linear-gradient(135deg,var(--app-primary) 0%,var(--app-primary-light) 100%)!important;border-color:var(--app-primary)!important}.ant-steps .ant-steps-item-finish .ant-steps-item-icon{background:#ecfdf5!important;border-color:var(--app-success)!important}.ant-steps .ant-steps-item-finish .ant-steps-item-icon .ant-steps-icon{color:var(--app-success)!important}@media (max-width: 1024px){.app-content{margin:16px;padding:20px}.dashboard-stats-row .ant-statistic-content-value{font-size:24px}}@media (max-width: 768px){.app-mobile-menu-btn{display:inline-flex!important}.app-username{display:none}.app-content{margin:8px;padding:12px}.dashboard-stats-row .ant-statistic-content-value{font-size:22px}.ant-card-body{padding:16px!important}.ant-table-wrapper .ant-table-tbody>tr>td{padding:10px 12px!important}}@media (max-width: 576px){.app-content{margin:4px;padding:8px}.ant-card-body{padding:12px!important}.ant-card-head{padding:12px 16px!important}.ant-modal-body{padding:16px!important}.ant-modal-header{padding:16px 20px!important}.dashboard-stats-row .ant-statistic-content-value{font-size:20px}.ant-table-wrapper .ant-table-thead>tr>th{padding:10px 12px!important}.ant-table-wrapper .ant-table-tbody>tr>td{padding:8px 10px!important}}@media (max-width: 480px){.login-page .ant-card{width:95%!important;max-width:none!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.user-management-page,.role-management-page,.branch-library-page,.inspection-records-page,.documents-page{animation:fadeInUp .4s ease-out}@media (max-width: 768px){button,a,input,select,textarea,.ant-btn,.ant-select,.ant-picker,.ant-radio-wrapper,.ant-checkbox-wrapper{min-height:44px;font-size:16px}.ant-menu-item,.ant-pagination-item,.ant-tabs-tab,.ant-list-item{min-height:44px}}@media (min-width: 769px){button,a.ant-btn,.ant-btn{min-height:32px}input,select,textarea,.ant-input,.ant-select,.ant-picker{min-height:auto;font-size:14px}}*{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea,.ant-input,.ant-input-textarea{-webkit-user-select:auto;user-select:auto}*{-webkit-tap-highlight-color:transparent}body{-webkit-overflow-scrolling:touch}
