.layout-sider{background-color:#001529;transition:width .3s}.logo{background-color:#001529;border-bottom:1px solid #ffffff1a;justify-content:center;align-items:center;height:64px;display:flex}.logo h3{color:#fff;margin:0;font-size:16px;font-weight:600;transition:all .3s}.logo h3.collapsed{font-size:0}.layout-menu{height:calc(100vh - 64px);margin-top:0}.layout-header{background-color:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;box-shadow:0 2px 8px #0000001a}.layout-toggle{justify-content:center;align-items:center;width:32px;height:32px;margin-right:16px;font-size:16px;display:flex}.layout-header-right{align-items:center;gap:16px;display:flex}.layout-user{color:#333;font-size:14px}.layout-logout{color:#999}.layout-logout:hover{color:#ff4d4f}.layout-content{border-radius:8px;min-height:calc(100vh - 112px);box-shadow:0 2px 8px #00000017}@media (max-width:768px){.layout-sider{z-index:1000;position:fixed}.layout-content{margin:16px;padding:16px}}.login-container{background:linear-gradient(135deg,#10b981 0%,#059669 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:Noto Sans TC,sans-serif;display:flex}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:16px;width:100%;max-width:420px;transition:all .3s;overflow:hidden;box-shadow:0 15px 35px #0000001a}.login-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #00000026}.login-card .ant-card-head{background:linear-gradient(90deg,#10b981,#34d399);border-bottom:none;padding:24px}.login-card .ant-card-head-title{text-align:center;color:#fff;margin:0;font-size:22px;font-weight:700}.login-card .ant-card-body{padding:36px}.login-form-button{background:linear-gradient(90deg,#10b981,#34d399);border:none;height:48px;margin-top:24px;font-size:16px;font-weight:600;transition:all .3s}.login-form-button:hover{background:linear-gradient(90deg,#059669,#10b981);transform:translateY(-2px);box-shadow:0 8px 16px #10b9814d}.login-form-button:active{transform:translateY(0)}.login-form-forgot{float:right;color:#059669;font-weight:500;transition:color .3s}.login-form-forgot:hover{color:#10b981}.site-form-item-icon{color:#10b981;font-size:18px}.ant-input{border:1px solid #e2e8f0;border-radius:8px;height:48px;font-size:16px;transition:all .3s}.ant-input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.ant-checkbox-checked .ant-checkbox-inner{background-color:#10b981;border-color:#10b981}.ant-checkbox:hover .ant-checkbox-inner{border-color:#10b981}.ant-alert-error{border-radius:8px;margin-bottom:20px}@media (max-width:480px){.login-card{margin:0 16px}.login-card .ant-card-body{padding:24px}.login-card .ant-card-head-title{font-size:20px}.login-form-button,.ant-input{height:44px;font-size:15px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card{animation:.6s ease-out forwards fadeIn}.login-card .ant-card-body{animation:.8s ease-out forwards fadeIn}.ant-btn-loading-icon{color:#fff}.dashboard{padding:24px;font-family:Noto Sans TC,sans-serif}.dashboard-header{text-align:center;margin-bottom:32px}.dashboard-header h4{color:#1f2937;background:linear-gradient(90deg,#10b981,#34d399);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 12px;font-size:28px;font-weight:700}.dashboard-header .ant-typography-secondary{color:#6b7280;font-size:16px}.dashboard-stats{margin-bottom:32px}.dashboard-stats .ant-card{background:linear-gradient(135deg,#fff,#f9fafb);border:1px solid #e5e7eb;border-radius:16px;transition:all .3s;overflow:hidden;box-shadow:0 4px 16px #00000014}.dashboard-stats .ant-card:hover{border-color:#10b981;transform:translateY(-5px);box-shadow:0 8px 32px #10b98126}.dashboard-stats .ant-statistic-title{color:#6b7280;margin-bottom:8px;font-size:16px;font-weight:500}.dashboard-stats .ant-statistic-content{margin-top:8px}.dashboard-stats .ant-statistic-content-value{color:#10b981;font-size:32px;font-weight:700}.dashboard-stats .ant-statistic-content-suffix{color:#6b7280;font-size:16px;font-weight:500}.dashboard-stats .anticon{color:#10b981;font-size:24px}.dashboard-charts{margin-bottom:32px}.chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;transition:all .3s;box-shadow:0 4px 16px #00000014}.chart-card:hover{border-color:#10b981;box-shadow:0 8px 32px #10b9811a}.chart-card .ant-card-head{background:linear-gradient(90deg,#f9fafb,#fff);border-bottom:1px solid #e5e7eb;padding:20px 24px}.chart-card .ant-card-head-title{color:#1f2937;margin:0;font-size:18px;font-weight:600}.chart-card .ant-card-body{padding:24px}.dashboard-activities{background:#fff;border:1px solid #e5e7eb;border-radius:16px;transition:all .3s;box-shadow:0 4px 16px #00000014}.dashboard-activities:hover{border-color:#10b981;box-shadow:0 8px 32px #10b9811a}.dashboard-activities .ant-card-head{background:linear-gradient(90deg,#f9fafb,#fff);border-bottom:1px solid #e5e7eb;padding:20px 24px}.dashboard-activities .ant-card-head-title{color:#1f2937;margin:0;font-size:18px;font-weight:600}.dashboard-activities .ant-card-body{padding:0}.dashboard-activities .ant-list-item{border-bottom:1px solid #f3f4f6;padding:16px 24px;transition:background-color .3s}.dashboard-activities .ant-list-item:hover{background-color:#f9fafb}.dashboard-activities .ant-list-item:last-child{border-bottom:none}.dashboard-activities .ant-list-item-meta-title{color:#374151;font-size:16px;font-weight:500}.dashboard-activities .ant-tag{border-radius:8px;margin-right:12px;padding:2px 10px;font-size:14px;font-weight:500}.dashboard-activities .ant-tag-green{color:#059669;background-color:#d1fae5;border-color:#10b981}.dashboard-activities .ant-tag-orange{color:#d97706;background-color:#fed7aa;border-color:#f59e0b}.dashboard-activities .ant-tag-red{color:#dc2626;background-color:#fee2e2;border-color:#ef4444}.dashboard-activities .ant-tag-blue{color:#2563eb;background-color:#dbeafe;border-color:#3b82f6}.dashboard-activities .ant-typography-secondary{color:#9ca3af;font-size:14px}.chart-card .ant-card-body{position:relative}.dashboard-stats .ant-card,.chart-card,.dashboard-activities{animation:.6s ease-out forwards fadeInUp}.dashboard-stats .ant-card:first-child{animation-delay:.1s}.dashboard-stats .ant-card:nth-child(2){animation-delay:.2s}.dashboard-stats .ant-card:nth-child(3){animation-delay:.3s}.dashboard-stats .ant-card:nth-child(4){animation-delay:.4s}.chart-card:first-child{animation-delay:.5s}.chart-card:nth-child(2){animation-delay:.6s}.dashboard-activities{animation-delay:.7s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.dashboard{padding:16px}.dashboard-header{margin-bottom:24px}.dashboard-header h4{font-size:24px}.dashboard-stats,.dashboard-charts,.chart-card{margin-bottom:24px}.chart-card .ant-card-body{padding:16px}.dashboard-stats .ant-statistic-content-value{font-size:24px}.dashboard-stats .ant-statistic-title{font-size:14px}.chart-card .ant-card-head-title{font-size:16px}.dashboard-activities .ant-list-item{padding:12px 16px}.dashboard-activities .ant-list-item-meta-title{font-size:14px}}@media (max-width:480px){.dashboard{padding:12px}.dashboard-header h4,.dashboard-stats .ant-statistic-content-value{font-size:20px}.chart-card .ant-card-body{padding:12px}.chart-card .ant-card-head{padding:16px}.chart-card .ant-card-head-title{font-size:14px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh;margin:0}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;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}}
