:root{--dlwg-black: #1d1d1f;--dlwg-gray: #86868b;--dlwg-light: #f5f5f7;--dlwg-accent: #5856D6;--dlwg-accent-dark: #4340B0;--dlwg-accent-light: #8b89e8;--dlwg-accent-soft: rgba(88, 86, 214, .12);--dlwg-accent-soft-hover: rgba(88, 86, 214, .08);--nav-section-bg: rgba(88, 86, 214, .05);--nav-section-divider: rgba(88, 86, 214, .14);--dlwg-header-bg: rgba(255, 255, 255, .82);--dlwg-footer-bg: #f5f5f7;--workspace-bg: #ffffff;--workspace-border: #e5e5ea;--workspace-muted-bg: #fafafa;--nav-header-border: #f0f0f0;--planner-completed: #34c759;--planner-in-progress: var(--dlwg-accent);--planner-pending: #c7c7cc;--dlwg-transition: .22s ease;--font-sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 16px;--text-xl: 20px;--text-kpi: 30px;--text-workbench-xs: 11px;--text-workbench-sm: 12px;--text-workbench-base: 13px;--text-workbench-lg: 15px;--text-workbench-xl: 18px;--text-workbench-kpi: 26px;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.6}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--dlwg-black);background:var(--dlwg-light)}.app-boot-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--dlwg-gray);font-size:var(--text-sm)}.auth-page{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;max-height:100vh;overflow:hidden;padding:16px 20px;box-sizing:border-box;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(88,86,214,.08),transparent 55%),linear-gradient(165deg,#f8f9fb,#eef1f6 48%,#f5f6f8)}.auth-page-stack{position:relative;z-index:1;width:100%;max-width:400px;zoom:1.25}.auth-card{position:relative;width:100%;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);border-radius:14px;padding:0;overflow:hidden;box-shadow:0 1px 2px #1d1d1f0a,0 12px 40px #1d1d1f14;animation:auth-card-in .45s cubic-bezier(.22,1,.36,1) both}@keyframes auth-card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(88,86,214,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(88,86,214,.03) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);pointer-events:none}.auth-card-brand{text-align:center;padding:20px 24px 12px}.auth-card-tagline{margin:6px 0 0;font-size:12px;letter-spacing:.02em;color:#8f959e;font-weight:400}.auth-card-top{display:flex;justify-content:center;padding:4px 24px 0}.auth-tabs{display:inline-flex;width:100%;max-width:280px;background:#f2f3f5;border-radius:10px;padding:3px;gap:2px}.auth-tab{flex:1;border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:#646a73;padding:7px 12px;border-radius:8px;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}.auth-tab--active{background:#fff;color:#1f2329;box-shadow:0 1px 3px #0000000f}.auth-panel{padding:18px 24px 22px}.auth-panel--hidden{display:none}.auth-scan-section--inline{display:flex;justify-content:center;margin-bottom:14px}.auth-scan-chips{display:flex;width:100%;max-width:280px;gap:6px;min-width:0}.auth-scan-provider{flex:1;border:1px solid #e5e6eb;background:#fff;color:#646a73;border-radius:8px;padding:5px 6px;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:color .15s,background .15s,border-color .15s,box-shadow .15s}.auth-scan-provider--active{color:var(--dlwg-accent, #5856d6);background:var(--dlwg-accent-soft, rgba(88, 86, 214, .12));border-color:#5856d659;box-shadow:0 0 0 1px #5856d614}.auth-scan-provider--disabled,.auth-scan-provider:disabled{color:#c9cdd4;cursor:not-allowed;background:#fafafa;border-color:#eee}.auth-scan-provider--disabled.auth-scan-provider--active,.auth-scan-provider:disabled.auth-scan-provider--active{color:#c9cdd4;background:#fafafa;box-shadow:none}.auth-scan-zone{border:1px solid #eceef2;border-radius:12px;background:linear-gradient(180deg,#fafbfc,#fff);padding:16px}.auth-scan-layout{display:flex;align-items:flex-start;gap:16px}.auth-scan-qr-col{flex-shrink:0}.auth-qr-box{position:relative;width:152px;height:152px;border:1px solid #e8eaef;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #fff9}.auth-qr-box:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:11px;padding:1px;background:linear-gradient(145deg,#5856d640,#5856d60a);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.auth-qr-loading{font-size:12px;color:#8f959e}.auth-qr-img{width:136px;height:136px;border-radius:6px;display:block}.auth-scan-help{flex:1;min-width:0;padding-top:2px}.auth-scan-help-kicker{margin:0 0 10px;font-size:13px;font-weight:600;color:#1f2329;letter-spacing:-.01em}.auth-scan-steps{list-style:none;margin:0 0 12px;padding:0}.auth-scan-step{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:12px;color:#4e5969;line-height:1.35}.auth-scan-step:last-child{margin-bottom:0}.auth-scan-step-num{flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#fff;border:1px solid #dee0e3;font-size:10px;font-weight:600;color:var(--dlwg-accent, #5856d6);display:inline-flex;align-items:center;justify-content:center}.auth-scan-step-text{flex:1}.auth-scan-waiting{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:11px;color:#646a73;line-height:1.4}.auth-scan-waiting-dot{width:6px;height:6px;border-radius:50%;background:#34c759;animation:auth-wait-pulse 1.4s ease-in-out infinite}@keyframes auth-wait-pulse{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}.auth-scan-zone--hidden{display:none}.auth-dingtalk-direct{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0 4px;text-align:center}.auth-dingtalk-direct-hint{margin:0;font-size:13px;line-height:1.5;color:var(--dlwg-text-muted, #636366);max-width:280px}.auth-dingtalk-direct-btn{width:min(100%,280px)}.auth-scan-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:6px}.auth-text-btn{border:none;background:none;font-family:inherit;font-size:12px;color:var(--dlwg-accent, #5856d6);cursor:pointer;padding:2px 0;text-decoration:none}.auth-text-btn:hover{color:var(--dlwg-accent-dark, #4340b0);text-decoration:underline}.auth-text-btn:disabled{color:#c9cdd4;cursor:not-allowed;text-decoration:none}.auth-brand-logo{display:block;max-width:180px;width:100%;height:auto;margin:0 auto 12px}.auth-brand-logo--card{max-width:min(200px,58%);margin-bottom:0}.auth-panel--standalone{padding:32px 40px 24px}.auth-account-title{margin:0 0 4px;font-size:22px;font-weight:700;color:var(--dlwg-black, #1d1d1f)}.auth-account-sub{margin:0;font-size:14px;color:var(--dlwg-gray, #86868b)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:14px;font-weight:500;color:#1f2329}.auth-field-hint{margin:0;font-size:12px;color:#8f959e;line-height:1.4}.auth-input{font-family:inherit;font-size:15px;padding:11px 14px;border:1px solid #e5e6eb;border-radius:8px;outline:none;background:#fff;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:var(--dlwg-accent, #5856d6);box-shadow:0 0 0 3px #5856d61f}.auth-inline-row{display:flex;gap:8px;align-items:stretch}.auth-inline-row .auth-input{flex:1;min-width:0}.auth-secondary-btn{flex-shrink:0;font-family:inherit;font-size:13px;font-weight:500;padding:0 12px;border:1px solid #e5e6eb;border-radius:8px;background:#f7f8fa;color:#8f959e;cursor:not-allowed;white-space:nowrap}.auth-error-text{margin:12px 0 0;font-size:13px;color:#e53935;min-height:18px;text-align:center}.auth-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:16px;font-weight:600;padding:12px 0;border:none;border-radius:8px;background:var(--dlwg-accent, #5856d6);color:#fff;cursor:pointer;transition:background .15s}.auth-submit-btn:hover:not(:disabled){background:var(--dlwg-accent-dark, #4340b0)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-spinner{display:inline-block;width:16px;height:16px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:dlwg-auth-spin .6s linear infinite}.auth-spinner--hidden{display:none}@keyframes dlwg-auth-spin{to{transform:rotate(360deg)}}.auth-account-links{margin-top:12px}.auth-link-row{display:flex;justify-content:center}.auth-link-btn{font-family:inherit;font-size:14px;font-weight:500;color:var(--dlwg-accent, #5856d6);background:none;border:none;cursor:pointer}.auth-card-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 32px 8px;border-top:1px solid #f0f1f3;margin-top:8px}.auth-footer-link{border:none;background:none;font-family:inherit;font-size:14px;color:#0089ff;cursor:pointer;padding:0}.auth-footer-link:hover{text-decoration:underline}.auth-footer-divider{color:#d0d3d9;font-size:12px}.auth-page-footer{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:14px;font-size:11px;color:#8f959e}.auth-page-footer-links{display:flex;gap:16px}.auth-page-footer-links a{color:#8f959e;text-decoration:none}.auth-info-box{margin:0 0 16px;padding:12px 14px;border-radius:8px;background:#f7f8fa;font-size:13px;color:#646a73;line-height:1.5}.auth-info-box p{margin:0}.auth-success-text{margin:0;font-size:13px;color:#2e7d32;min-height:18px;text-align:center}@media(max-height:780px){.auth-page-stack{zoom:1.15}}@media(max-height:680px){.auth-page-stack{zoom:1.05}.auth-page{padding:12px 16px}}@media(max-height:620px){.auth-page-stack{zoom:1}}@media(max-width:480px){.auth-panel{padding:16px 18px 20px}.auth-card-brand{padding:18px 18px 10px}.auth-card-top{padding:4px 18px 0}.auth-scan-zone{padding:14px}.auth-scan-layout{flex-direction:column;align-items:center;gap:12px}.auth-scan-help{width:100%;text-align:center}.auth-scan-steps{display:inline-block;text-align:left}.auth-scan-waiting{justify-content:center;width:100%}.auth-qr-box{width:140px;height:140px}.auth-qr-img{width:124px;height:124px}.auth-scan-section--inline{flex-wrap:wrap}.auth-panel--standalone{padding-left:24px;padding-right:24px}}
