.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Microsoft JhengHei,微軟正黑體,sans-serif;font-size:14px;color:#374151;background-color:#f9fafb;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%}.app-layout{min-height:100vh}.app-sider{background:#152238!important}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column}.app-sider .logo-container{height:64px;padding:12px 16px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.1)}.app-sider .logo-container img{height:40px;width:auto}.app-sider .logo-container .logo-text{color:#fff;font-size:18px;font-weight:600;margin-left:10px;white-space:nowrap}.app-sider .ant-menu{background:transparent;border-right:none}.app-sider .ant-menu .ant-menu-item{color:#ffffffbf;margin:4px 8px;border-radius:6px}.app-sider .ant-menu .ant-menu-item:hover{color:#fff;background:#ffffff1a}.app-sider .ant-menu .ant-menu-item.ant-menu-item-selected{color:#fff;background:#e85a4f}.app-sider .ant-menu .ant-menu-item-icon{font-size:18px}.app-header{background:#fff!important;padding:0 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 2px #0000000d}.app-header .header-left{display:flex;align-items:center}.app-header .header-left .trigger{font-size:18px;cursor:pointer;padding:0 12px;transition:color .3s}.app-header .header-left .trigger:hover{color:#e85a4f}.app-header .header-left .breadcrumb{margin-left:16px}.app-header .header-right{display:flex;align-items:center;gap:16px}.app-header .header-right .user-dropdown{cursor:pointer;display:flex;align-items:center;gap:8px}.app-header .header-right .user-dropdown .user-name{color:#374151;font-weight:500}.app-header .header-right .user-dropdown .user-company{color:#6b7280;font-size:12px}.app-content{margin:24px;padding:24px;background:#fff;border-radius:8px;min-height:calc(100vh - 112px)}.page-header{margin-bottom:24px}.page-header .page-title{font-size:24px;font-weight:600;color:#1b2d4f;margin-bottom:8px}.page-header .page-description{color:#6b7280;font-size:14px}.stat-card{background:#fff;border-radius:8px;padding:20px;border:1px solid #E5E7EB;transition:box-shadow .3s}.stat-card:hover{box-shadow:0 4px 12px #00000014}.stat-card .stat-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:12px}.stat-card .stat-icon.primary{background:#1b2d4f1a;color:#1b2d4f}.stat-card .stat-icon.accent{background:#e85a4f1a;color:#e85a4f}.stat-card .stat-icon.success{background:#52c41a1a;color:#52c41a}.stat-card .stat-icon.warning{background:#faad141a;color:#faad14}.stat-card .stat-value{font-size:28px;font-weight:600;color:#1b2d4f;line-height:1.2}.stat-card .stat-label{color:#6b7280;font-size:14px;margin-top:4px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1b2d4f,#152238)}.login-page .login-card{background:#fff;border-radius:16px;padding:48px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d}.login-page .login-card .login-logo{text-align:center;margin-bottom:32px}.login-page .login-card .login-logo img{height:60px;width:auto}.login-page .login-card .login-logo h1{font-size:24px;color:#1b2d4f;margin-top:16px;font-weight:600}.login-page .login-card .login-logo p{color:#6b7280;margin-top:8px}.login-page .login-card .login-btn{width:100%;height:48px;font-size:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:12px}.login-page .login-card .login-btn.google-btn{background:#fff;border:1px solid #E5E7EB;color:#374151}.login-page .login-card .login-btn.google-btn:hover{border-color:#1b2d4f;color:#1b2d4f}.login-page .login-card .login-btn.google-btn img{width:20px;height:20px}.login-page .login-card .login-divider{margin:24px 0;color:#9ca3af}.login-page .login-card .login-footer{text-align:center;color:#6b7280;font-size:12px;margin-top:24px}.ant-table .ant-table-thead>tr>th{background:#f9fafb;color:#374151;font-weight:600}.status-tag.todo{background:#6b72801a;color:#6b7280}.status-tag.in-progress{background:#3b82f61a;color:#3b82f6}.status-tag.done{background:#52c41a1a;color:#52c41a}.status-tag.blocked{background:#e85a4f1a;color:#e85a4f}@media (max-width: 768px){.app-content{margin:12px;padding:16px}.page-header .page-title{font-size:20px}.login-card{margin:16px;padding:32px 24px}}
