:root{--brand-blue:#2563eb;--brand-blue-light:#eef4ff;--brand-blue-dark:#1d4ed8;--brand-blue-mid:#dbeafe;--brand-yellow:#f59e0b;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--text-disabled:#d1d5db;--border-color:#e5e7eb;--border-color-strong:#d1d5db;--border-color-focus:#93c5fd;--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--bg-hover:#f3f4f6;--bg-selected:#eff6ff;--bg-sidebar:#fff;--bg-app:#f9fafb;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 8px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 12px 24px #00000014, 0 4px 8px #0000000a;--sidebar-width:264px;--topbar-height:54px;--transition:all .15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{letter-spacing:.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-app);color:var(--text-primary);min-height:100vh;font-family:Sarabun,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.55}button{cursor:pointer;font-family:inherit}a{text-decoration:none}.lg-page{background:radial-gradient(1200px 700px at 15% -10%,#dbe8fb 0%,#0000 55%),radial-gradient(900px 600px at 110% 120%,#fff2d4 0%,#0000 50%),#eef3fa;place-items:center;min-height:100dvh;padding:24px;display:grid}.lg-card{background:#fff;border-radius:28px;grid-template-columns:1.05fr 1fr;width:min(1060px,100%);min-height:640px;display:grid;overflow:hidden;box-shadow:0 30px 70px -30px #012e5e73}.lg-brand{color:#16233b;isolation:isolate;background:linear-gradient(160deg,#eaf2ff 0%,#f5f9ff 45%,#fffbf0 100%);border-right:1px solid #e6ebf2;flex-direction:column;justify-content:space-between;padding:44px 48px;display:flex;position:relative;overflow:hidden}.lg-brand:before,.lg-brand:after{content:"";z-index:-1;filter:blur(2px);border-radius:50%;position:absolute}.lg-brand:before{background:radial-gradient(circle at 35% 35%,#0367c729,#0000 68%);width:420px;height:420px;animation:14s ease-in-out infinite lgDrift;top:-140px;right:-120px}.lg-brand:after{background:radial-gradient(circle,#ffb70347,#0000 68%);width:300px;height:300px;animation:18s ease-in-out infinite reverse lgDrift;bottom:-110px;left:-80px}@keyframes lgDrift{0%,to{transform:translate(0)}50%{transform:translate(-22px,26px)}}@keyframes spin{to{transform:rotate(360deg)}}.lg-wordmark{align-items:center;gap:11px;display:flex}.lg-logo-img{width:auto;height:46px;display:block}.lg-stage{margin:auto 0}.lg-eyebrow{letter-spacing:.4px;text-transform:uppercase;color:#0367c7;align-items:center;gap:8px;margin-bottom:18px;font-size:12.5px;font-weight:600;display:inline-flex}.lg-arrow{font-weight:800}.lg-slides{min-height:186px;position:relative}.lg-slide{opacity:0;pointer-events:none;transition:opacity .6s,transform .6s;position:absolute;inset:0;transform:translateY(14px)}.lg-slide.active{opacity:1;transform:none}.lg-slide h1{letter-spacing:-.5px;max-width:15ch;margin-bottom:14px;font-size:clamp(30px,3.4vw,42px);font-weight:700;line-height:1.08}.lg-slide p{color:#64748b;max-width:34ch;font-size:15.5px;line-height:1.6}.lg-dots{gap:9px;margin-top:8px;display:flex}.lg-dots button{cursor:pointer;background:#c3d3e8;border:none;border-radius:99px;width:26px;height:6px;padding:0;transition:background .3s,width .3s}.lg-dots button.active{background:#0367c7;width:34px}.lg-auth{flex-direction:column;padding:56px 56px 40px;display:flex}.lg-auth-head h2{letter-spacing:-.5px;color:#16233b;font-size:34px;font-weight:700}.lg-auth-head p{color:#64748b;max-width:36ch;margin-top:8px;font-size:15px;line-height:1.55}.lg-gbtn{color:#16233b;cursor:pointer;background:#fff;border:1.5px solid #e6ebf2;border-radius:16px;justify-content:center;align-items:center;gap:12px;width:100%;margin-top:34px;padding:15px 20px;font-family:inherit;font-size:16px;font-weight:600;transition:border-color .2s,box-shadow .2s,transform 50ms;display:flex}.lg-gbtn:hover{border-color:#c9d6e8;box-shadow:0 10px 24px -14px #0367c780}.lg-gbtn:active{transform:translateY(1px)}.lg-gbtn:focus-visible{outline-offset:2px;outline:3px solid #0367c759}.lg-gbtn:disabled{opacity:.65;cursor:not-allowed}.lg-gbtn svg{flex:none;width:20px;height:20px}.lg-secure{color:#64748b;justify-content:center;align-items:center;gap:7px;margin-top:16px;font-size:13px;display:flex}.lg-secure svg{opacity:.75;flex:none;width:13px;height:13px}.lg-divider{color:#a6b3c6;align-items:center;gap:14px;margin:30px 0 22px;font-size:12px;display:flex}.lg-divider:before,.lg-divider:after{content:"";background:#e6ebf2;flex:1;height:1px}.lg-help{color:#64748b;background:#f5f8fc;border:1px solid #e6ebf2;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;font-size:13.5px;line-height:1.5;display:flex}.lg-help b{color:#16233b;font-weight:600}.lg-badge{color:#b07f00;background:#ffb7032e;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid}.lg-legal{color:#93a1b5;text-align:center;margin-top:auto;padding-top:28px;font-size:12.5px;line-height:1.6}.lg-legal a{color:#0367c7;font-weight:600;text-decoration:none}.lg-legal a:hover{text-decoration:underline}@media (max-width:820px){.lg-card{grid-template-columns:1fr;min-height:0}.lg-brand{padding:32px 30px}.lg-slides{min-height:150px}.lg-auth{padding:36px 30px 30px}.lg-auth-head h2{font-size:30px}}@media (prefers-reduced-motion:reduce){.lg-brand:before,.lg-brand:after{animation:none}.lg-slide{transition:opacity 10ms}}.workspace-view{grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--topbar-height) 1fr;grid-template-areas:"sidebar topbar""sidebar main";min-height:100vh;animation:.3s ease-out viewFadeIn;display:grid}@keyframes viewFadeIn{0%{opacity:0}to{opacity:1}}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);flex-direction:column;grid-area:sidebar;padding:10px 8px 12px;display:flex;overflow:hidden auto}.workspace-switcher{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex}.workspace-switcher:hover{background:var(--bg-hover)}.workspace-avatar{border-radius:var(--radius-sm);background:var(--brand-blue);color:#fff;width:30px;height:30px;box-shadow:var(--shadow-xs);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.workspace-info{flex:1;min-width:0}.workspace-name{color:var(--text-primary);letter-spacing:-.1px;font-size:14px;font-weight:600}.workspace-plan{color:var(--text-tertiary);margin-top:1px;font-size:11px;font-weight:500}.sidebar-chevron{color:var(--text-tertiary);flex-shrink:0}.section-header{justify-content:space-between;align-items:center;padding:14px 10px 5px;display:flex}.section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.7px;font-size:11px;font-weight:600}.section-add-btn{border-radius:var(--radius-xs);width:20px;height:20px;color:var(--text-tertiary);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.section-add-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.all-tasks-item{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);align-items:center;gap:9px;margin-bottom:1px;padding:7px 10px;display:flex}.all-tasks-item:hover{background:var(--bg-hover)}.all-tasks-item.selected{background:var(--bg-selected)}.all-tasks-item.selected .all-tasks-icon{color:var(--brand-blue)}.all-tasks-item.selected .all-tasks-label{color:var(--brand-blue);font-weight:600}.all-tasks-icon{width:18px;height:18px;color:var(--text-tertiary);transition:var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex}.all-tasks-label{color:var(--text-secondary);flex:1;font-size:14px;font-weight:500}.all-tasks-item:hover .all-tasks-label{color:var(--text-primary)}.all-tasks-item:hover .all-tasks-icon{color:var(--text-secondary)}.all-tasks-workspace{color:var(--text-disabled);font-size:12px}.sidebar-footer{border-top:1px solid var(--border-color);margin-top:auto;padding-top:12px;position:relative}.user-card{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);align-items:center;gap:9px;padding:8px 10px;display:flex}.user-card:hover{background:var(--bg-hover)}.user-avatar{color:#fff;width:28px;height:28px;box-shadow:var(--shadow-xs);background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.user-info{flex:1;min-width:0}.user-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);font-size:13px;font-weight:600;overflow:hidden}.user-email{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.topbar{background:var(--bg-primary);border-bottom:1px solid var(--border-color);grid-area:topbar;align-items:center;gap:12px;padding:0 20px;display:flex}.breadcrumb{color:var(--text-tertiary);align-items:center;gap:5px;min-width:0;font-size:13px;display:flex}.breadcrumb-item{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.breadcrumb-current{color:var(--text-primary);font-size:13px;font-weight:600}.breadcrumb-sep{color:var(--border-color-strong);flex-shrink:0;font-size:12px}.search-box{flex:1;max-width:400px;margin-left:auto;position:relative}.search-box input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);transition:var(--transition);outline:none;padding:7px 12px 7px 34px;font-family:inherit;font-size:13px}.search-box input::placeholder{color:var(--text-tertiary)}.search-box input:focus{background:var(--bg-primary);border-color:var(--border-color-focus);box-shadow:0 0 0 3px #2563eb14}.search-box svg{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.topbar-actions{align-items:center;gap:2px;display:flex}.icon-btn{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-tertiary);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.icon-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.notification-count{color:#fff;text-align:center;border:1.5px solid var(--bg-primary);box-sizing:border-box;background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:2px;right:2px}.notif-dropdown{z-index:10001;background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:380px;animation:.14s ease-out cpFadeIn;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 20px 48px #0000002e}.notif-dd-header{color:#111827;border-bottom:1px solid #f0f1f3;justify-content:space-between;align-items:center;padding:14px 16px;font-size:15px;font-weight:700;display:flex}.notif-dd-count{color:#fff;background:#ef4444;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.notif-dd-markall{color:#1873e8;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-family:inherit;font-size:13px;font-weight:600}.notif-dd-markall:hover{text-decoration:underline}.notif-dd-list{max-height:420px;overflow-y:auto}.notif-dd-empty{text-align:center;color:#9ca3af;padding:40px 20px;font-size:14px}.notif-row{cursor:pointer;border-bottom:1px solid #f5f6f8;gap:11px;padding:12px 16px;transition:background .1s;display:flex;position:relative}.notif-row:hover{background:#f9fafb}.notif-row.unread{background:#f5f9ff}.notif-row.unread:hover{background:#edf4fe}.notif-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.notif-avatar-sys{color:#6b7280;background:#eef1f5}.notif-icon-blue{color:#1873e8}.notif-icon-purple{color:#7c3aed}.notif-icon-gray{color:#6b7280}.notif-icon-orange{color:#f59e0b}.notif-icon-green{color:#10b981}.notif-icon-red{color:#ef4444}.notif-icon-yellow{color:#ca8a04}.notif-body{flex:1;min-width:0}.notif-text{color:#374151;font-size:13.5px;line-height:1.4}.notif-text b{color:#111827;font-weight:700}.notif-title-sm{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12.5px;overflow:hidden}.notif-quote{color:#4b5563;background:#f3f4f6;border-radius:6px;margin-top:3px;padding:4px 8px;font-size:12.5px;font-style:italic}.notif-when{color:#9ca3af;margin-top:4px;font-size:11.5px}.notif-unread-dot{background:#1873e8;border-radius:50%;width:8px;height:8px;position:absolute;top:16px;right:14px}.notif-dd-footer{color:#1873e8;cursor:pointer;background:#fff;border:none;border-top:1px solid #f0f1f3;width:100%;padding:12px;font-family:inherit;font-size:13.5px;font-weight:600}.notif-dd-footer:hover{background:#f5f9ff}.main{background:var(--bg-app);grid-area:main;padding:28px 36px 56px;overflow-y:auto}.modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.modal-backdrop.show{animation:.2s ease-out modalFadeIn;display:flex}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-backdrop.show .modal{animation:.25s ease-out modalSlideUp}.modal{border-radius:var(--radius-lg);background:#fff;flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex;box-shadow:0 24px 48px #00000026}.modal.modal-small{max-width:420px}.modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-title{font-size:19px;font-weight:500}.modal-close-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .12s;display:flex}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{flex-direction:column;flex:1;gap:0;padding:20px 22px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.form-group{margin-bottom:14px}.form-group:last-child{margin-bottom:0}.form-label{color:var(--text-primary);margin-bottom:6px;font-size:15px;font-weight:500;display:block}.form-helper{color:var(--text-tertiary);margin-top:4px;font-size:13px}.form-section-title{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:12px;font-size:13px;font-weight:700}.form-section-divider{border-top:1px solid var(--border-color);margin-top:18px;padding-top:16px}.leave-text-input{box-sizing:border-box;border:1px solid var(--border-color-strong);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:#fff;outline:none;padding:9px 12px;font-family:inherit;font-size:15px;transition:all .15s}.leave-text-input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1873e81f}.leave-text-input::placeholder{color:var(--text-tertiary)}.leave-text-input:disabled{background:var(--bg-secondary);color:var(--text-tertiary);cursor:not-allowed}.form-row{gap:12px;display:grid}.form-validation-msg{color:#d14545;margin-top:6px;font-size:14px}.form-label-required:after{content:" *";color:#ef4444}.form-input{border:1px solid var(--border-color-strong);border-radius:var(--radius-md);box-sizing:border-box;width:100%;color:var(--text-primary);background:#fff;outline:none;padding:10px 12px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1873e81f}.form-input::placeholder{color:var(--text-tertiary)}.date-input{border:1px solid var(--border-color-strong);border-radius:var(--radius-md);width:100%;color:var(--text-primary);box-sizing:border-box;background:#fff;outline:none;padding:10px 12px;font-family:inherit;font-size:15px;transition:all .15s}.date-input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1873e81f}.btn-primary{background:var(--brand-blue);color:#fff;border-radius:var(--radius-md);letter-spacing:.1px;transition:var(--transition);border:none;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #2563eb4d}.btn-primary:hover{background:var(--brand-blue-dark);transform:translateY(-1px);box-shadow:0 3px 8px #2563eb59}.btn-primary:active{box-shadow:none;transform:translateY(0)}.btn-secondary{background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color-strong);border-radius:var(--radius-md);transition:var(--transition);align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;display:inline-flex}.btn-secondary:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-disabled)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#dashboardMainContent{flex-direction:column;gap:18px;padding-bottom:40px;display:flex}.dash-greeting{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.dash-greeting-text h1{letter-spacing:-.3px;margin:0;font-size:26px;font-weight:600}.dash-greeting-text p{color:var(--text-tertiary);margin-top:4px;font-size:15px}.dash-greeting-meta{color:var(--text-secondary);text-align:right;font-size:14px}.dash-greeting-date{color:var(--text-primary);font-weight:500}.dash-action-section{border-radius:var(--radius-lg);background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border:1px solid #fcd34d;padding:16px 18px}.dash-action-section.empty{background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border-color:#86efac}.dash-action-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.dash-action-icon{font-size:24px}.dash-action-title{color:#92400e;font-size:17px;font-weight:600}.dash-action-section.empty .dash-action-title{color:#14532d}.dash-action-count{color:#92400e;background:#fff;border-radius:12px;margin-left:auto;padding:3px 10px;font-size:14px;font-weight:600}.dash-action-list{flex-direction:column;gap:6px;display:flex}.dash-action-item{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;background:#fff;align-items:center;gap:10px;padding:10px 12px;font-size:15px;transition:all .15s;display:flex}.dash-action-item:hover{border-color:var(--brand-blue);transform:translate(2px);box-shadow:0 2px 8px #0000000a}.dash-action-item-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.dash-action-item-icon.urgent{color:#991b1b;background:#fee2e2}.dash-action-item-icon.warn{color:#92400e;background:#fef3c7}.dash-action-item-icon.info{color:#1e40af;background:#dbeafe}.dash-action-item-icon.review{color:#6b21a8;background:#e9d5ff}.dash-action-item-icon.money{color:#065f46;background:#d1fae5}.dash-action-item-info{flex:1;min-width:0}.dash-action-item-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.dash-action-item-meta{color:var(--text-tertiary);margin-top:1px;font-size:13px}.dash-action-item-meta.overdue{color:#d14545;font-weight:500}.dash-action-item-meta.urgent{color:#d97706;font-weight:500}.dash-action-item-cta{color:var(--text-tertiary);flex-shrink:0;transition:color .15s}.dash-action-item:hover .dash-action-item-cta{color:var(--brand-blue)}.dash-stats-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.dash-stat-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;background:#fff;padding:14px 16px;transition:all .15s}.dash-stat-card:hover{border-color:var(--brand-blue);transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.dash-stat-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dash-stat-card-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px;font-size:14px;font-weight:500}.dash-stat-card-icon{opacity:.6;font-size:18px}.dash-stat-card-value{color:var(--text-primary);letter-spacing:-.5px;font-size:28px;font-weight:700;line-height:1.1}.dash-stat-card-value.brand{color:var(--brand-blue)}.dash-stat-card-value.success{color:#10b981}.dash-stat-card-value.warn{color:#d97706}.dash-stat-card-value.money{font-family:monospace;font-size:24px}.dash-stat-card-sub{color:var(--text-tertiary);margin-top:4px;font-size:13px}.dash-stat-card-progress{background:var(--bg-tertiary);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.dash-stat-card-progress-fill{background:var(--brand-blue);border-radius:2px;height:100%;transition:width .3s}.dash-stat-card-progress-fill.warn{background:#f59e0b}.dash-stat-card-progress-fill.danger{background:#d14545}.dash-stat-card-progress-fill.success{background:#10b981}.dash-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:10px;font-size:15px;font-weight:600;display:flex}.dash-section-title-pill{background:var(--bg-tertiary);color:var(--text-secondary);text-transform:none;letter-spacing:0;border-radius:9px;padding:1px 7px;font-size:12px;font-weight:600}.dash-two-col{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:900px){.dash-two-col{grid-template-columns:1fr}}.dash-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;padding:16px}.dash-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dash-card-title{color:var(--text-primary);font-size:16px;font-weight:600}.dash-card-link{color:var(--brand-blue);cursor:pointer;font-size:14px;font-weight:500}.dash-card-link:hover{text-decoration:underline}.dash-today-list{flex-direction:column;gap:8px;display:flex}.dash-today-item{background:var(--bg-secondary);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 10px;font-size:15px;display:flex}.dash-today-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:600;display:flex}.dash-today-name{color:var(--text-primary);font-weight:500}.dash-today-status{color:var(--text-secondary);flex:1;font-size:14px}@media (max-width:900px){.workspace-view{grid-template-columns:1fr;grid-template-areas:"topbar""main"}.sidebar{display:none}.main{padding:20px 20px 48px}}.dash-empty{text-align:center;color:var(--text-tertiary);padding:32px 16px;font-size:15px;line-height:1.7}.dash-empty-icon{margin-bottom:8px;font-size:32px}#timesheetMainContent{flex-direction:column;gap:16px;display:flex}.ts-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.ts-title-wrap h1{letter-spacing:-.2px;margin-bottom:4px;font-size:24px;font-weight:500}.ts-title-wrap p{color:var(--text-tertiary);font-size:15px}.ts-total-pill{background:var(--brand-blue-light);color:var(--brand-blue-dark);border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:15px;font-weight:500;display:inline-flex}.ts-total-pill strong{font-family:monospace;font-size:17px}.ts-toolbar{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.ts-nav-group{align-items:center;gap:6px;display:flex}.ts-nav-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:#fff;justify-content:center;align-items:center;font-family:inherit;transition:all .15s;display:flex}.ts-nav-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ts-today-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);background:#fff;padding:5px 12px;font-family:inherit;font-size:14px;transition:all .15s}.ts-today-btn:hover{background:var(--bg-hover)}.ts-period-title{color:var(--text-primary);min-width:160px;font-size:17px;font-weight:500}.ts-view-toggle{background:var(--bg-secondary);border-radius:var(--radius-sm);gap:2px;padding:3px;display:flex}.ts-view-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 14px;font-family:inherit;font-size:14px;transition:all .15s}.ts-view-btn.active{color:var(--text-primary);background:#fff;font-weight:500;box-shadow:0 1px 2px #0000000f}.ts-week-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.ts-day-col{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;flex-direction:column;gap:6px;min-height:320px;padding:10px 8px;display:flex}.ts-day-col.today{border-color:var(--brand-blue);box-shadow:0 0 0 2px #1873e81a}.ts-day-col.weekend{background:var(--bg-secondary)}.ts-day-header{border-bottom:1px solid var(--border-color);flex-direction:column;margin-bottom:2px;padding-bottom:6px;display:flex}.ts-day-name{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.ts-day-date{color:var(--text-primary);margin-top:1px;font-size:18px;font-weight:500}.ts-day-col.today .ts-day-date{color:var(--brand-blue)}.ts-day-total{color:var(--text-secondary);margin-top:2px;font-family:monospace;font-size:13px;font-weight:500}.ts-day-entries{flex-direction:column;flex:1;gap:5px;max-height:260px;display:flex;overflow-y:auto}.ts-entry{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:5px;padding:7px 9px;transition:all .12s;position:relative}.ts-entry:hover{border-color:var(--border-color-strong);background:#fff}.ts-entry-task{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:500;overflow:hidden}.ts-entry-project{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.ts-entry-duration{color:var(--brand-blue);margin-top:3px;font-family:monospace;font-size:14px;font-weight:600}.ts-day-add{border:1px dashed var(--border-color-strong);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;gap:4px;margin-top:auto;padding:5px 8px;font-family:inherit;font-size:13px;transition:all .15s;display:flex}.ts-day-add:hover{border-color:var(--brand-blue);color:var(--brand-blue);background:var(--brand-blue-light)}#leaveMainContent{flex-direction:column;gap:20px;display:flex}.leave-tabs{border-bottom:1px solid var(--border-color);gap:2px;display:flex}.leave-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 16px;font-family:inherit;font-size:15px;transition:color .15s;display:inline-flex;position:relative}.leave-tab-badge{background:var(--bg-tertiary);color:var(--text-secondary);text-align:center;border-radius:10px;min-width:20px;padding:2px 7px;font-size:12px;font-weight:600}.leave-tab.active .leave-tab-badge{background:var(--brand-blue);color:#fff}.leave-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;background:#fff;flex-direction:column;gap:12px;padding:16px;transition:all .15s;display:flex}.leave-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.leave-type-badge{border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:14px;font-weight:500;display:inline-flex}.leave-meta-row{color:var(--text-secondary);flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.leave-empty{text-align:center;color:var(--text-tertiary);padding:48px 20px;font-size:15px}.leave-empty svg{opacity:.35;margin:0 auto 12px;display:block}.leave-status-badge{border-radius:10px;align-items:center;gap:5px;padding:3px 10px;font-size:13px;font-weight:500;display:inline-flex}.persona-banner{border-radius:var(--radius-md);background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px dashed #f59e0b;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.persona-banner-label{color:#92400e;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.persona-tabs{flex-wrap:wrap;gap:6px;display:flex}.persona-tab{border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);background:#fff;border-radius:18px;align-items:center;gap:7px;padding:4px 10px 4px 4px;font-family:inherit;font-size:13px;transition:all .15s;display:inline-flex}.persona-tab:hover{border-color:var(--brand-blue)}.persona-tab.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.persona-tab-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:flex}.persona-tab-level{opacity:.6;font-size:11px}#inboxMainContent{flex-direction:column;gap:16px;display:flex}.inbox-title-wrap h1{letter-spacing:-.2px;font-size:24px;font-weight:500}.inbox-title-wrap p{color:var(--text-tertiary);margin-top:3px;font-size:15px}.inbox-tabs{border-bottom:1px solid var(--border-color);display:flex}.inbox-tab{cursor:pointer;text-align:left;max-width:240px;color:var(--text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;align-items:center;gap:10px;margin-bottom:-1px;padding:12px 18px;font-family:inherit;transition:all .15s;display:flex}.inbox-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.inbox-tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.inbox-tab-icon{width:20px;height:20px;color:var(--text-tertiary);flex-shrink:0}.inbox-tab.active .inbox-tab-icon{color:var(--brand-blue)}.inbox-tab-label{flex-direction:column;line-height:1.3;display:flex}.inbox-tab-name{font-size:16px;font-weight:500}.inbox-tab-count{color:var(--text-tertiary);font-size:13px}.inbox-tab.active .inbox-tab-count{color:var(--brand-blue);font-weight:500}.inbox-toolbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.inbox-filter-btn,.inbox-clear-all-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;background:#fff;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:14px;transition:all .15s;display:inline-flex}.inbox-filter-btn:hover,.inbox-clear-all-btn:hover{background:var(--bg-hover)}.inbox-clear-all-btn{color:var(--text-secondary)}.inbox-list{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.inbox-item{cursor:pointer;border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:14px 16px;transition:background .12s;display:flex;position:relative}.inbox-item:last-child{border-bottom:none}.inbox-item:hover{background:var(--bg-secondary)}.inbox-item.unread{background:linear-gradient(90deg,#1873e80a 0%,#0000 40%)}.inbox-item.unread:before{content:"";background:var(--brand-blue);width:3px;position:absolute;top:0;bottom:0;left:0}.inbox-item-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.inbox-item-icon.green{color:#065f46;background:#d1fae5}.inbox-item-icon.blue{color:#0d5bc9;background:#d9e8fc}.inbox-item-icon.yellow{color:#92400e;background:#fef3c7}.inbox-item-icon.red{color:#991b1b;background:#fee2e2}.inbox-item-icon.purple{color:#5a3db8;background:#e9e2fd}.inbox-item-icon.orange{color:#9a3412;background:#fde4cf}.inbox-item-icon.gray{background:var(--bg-tertiary);color:var(--text-secondary)}.inbox-item-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:0 0 280px;min-width:0;font-size:16px;font-weight:500;overflow:hidden}.inbox-item.unread .inbox-item-title{font-weight:600}.inbox-item-message{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:15px;overflow:hidden}.inbox-item-actor{color:var(--text-primary);font-weight:500}.inbox-item-time{color:var(--text-tertiary);flex-shrink:0;font-size:13px}#teamMainContent{flex-direction:column;gap:16px;display:flex}.team-tabs{border-bottom:1px solid var(--border-color);gap:2px;display:flex}.team-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 16px;font-family:inherit;font-size:15px;transition:color .15s;display:inline-flex}.team-tab:hover{color:var(--text-primary)}.team-tab.active{color:var(--brand-blue);border-bottom-color:var(--brand-blue);font-weight:500}.team-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.team-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;flex-direction:column;gap:12px;padding:16px;transition:all .15s;display:flex}.team-card:hover{border-color:var(--border-color-strong);box-shadow:0 2px 8px #0000000a}.team-card-header{align-items:center;gap:10px;display:flex}.team-card-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:600;display:flex}.team-card-info{flex:1;min-width:0}.team-card-name{color:var(--text-primary);font-size:17px;font-weight:500}.team-card-label{color:var(--text-tertiary);font-size:13px}.team-card-count{background:var(--bg-secondary);color:var(--text-secondary);border-radius:10px;align-items:center;padding:2px 8px;font-size:13px;font-weight:500;display:inline-flex}.team-card-desc{color:var(--text-secondary);font-size:14px;line-height:1.5}.team-card-members{flex-wrap:wrap;gap:6px;display:flex}.team-member-chip{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:14px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-family:inherit;transition:all .15s;display:inline-flex}.team-member-chip:hover{border-color:var(--brand-blue);background:#fff}.team-member-chip-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:flex}.team-member-chip-name{color:var(--text-primary);font-size:14px}.myteam-section{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;margin-bottom:16px;padding:18px}.myteam-section:last-child{margin-bottom:0}.myteam-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.myteam-section-title{color:var(--text-primary);align-items:center;gap:8px;font-size:17px;font-weight:500;display:inline-flex}.myteam-section-title-badge{background:var(--bg-secondary);color:var(--text-secondary);border-radius:10px;padding:2px 8px;font-size:13px;font-weight:600}.myteam-toolbar-toggle{background:var(--bg-secondary);border-radius:var(--radius-sm);gap:2px;padding:3px;display:flex}.myteam-toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 12px;font-family:inherit;font-size:13px;transition:all .15s}.myteam-toggle-btn.active{color:var(--text-primary);background:#fff;font-weight:500;box-shadow:0 1px 2px #0000000f}.myteam-toggle-btn.active.overdue-active{color:#ef4444;background:#fee2e2}.myteam-inbox-tabs{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.mti-tab{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:120px;padding:12px 16px;font-family:inherit;transition:all .12s;display:flex}.mti-tab:hover{background:#fafbff;border-color:#0367c759}.mti-tab.active{background:#f4f9ff;border-color:#0367c7;box-shadow:0 2px 8px -4px #0367c766}.mti-tab.mti-overdue.active{background:#fdecec;border-color:#e5484d;box-shadow:0 2px 8px -4px #e5484d66}.mti-tab-name{color:var(--text-primary);font-size:14px;font-weight:600}.mti-tab-count{color:var(--text-tertiary);font-size:12px}.mti-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.mti-tool-hint{color:var(--text-tertiary);font-size:13px}.mti-tool-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:13px;display:inline-flex}.mti-tool-btn:hover{background:var(--bg-secondary);color:#0367c7;border-color:#0367c74d}.mti-filter-active{color:#0367c7;background:#eef3fb;border-color:#0367c7}.mti-clear-all{margin-left:auto}.myteam-members-row{flex-wrap:wrap;gap:10px;display:flex}.myteam-member{cursor:pointer;border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:6px;padding:6px;transition:background .15s;display:flex}.myteam-member:hover{background:var(--bg-secondary)}.myteam-member.filter-active{background:#0367c71a}.myteam-member.filter-active .myteam-member-avatar{box-shadow:0 0 0 2px #0367c7}.myteam-member.filter-active .myteam-member-name{color:#0367c7;font-weight:600}.myteam-member-count{color:#fff;background:#e5484d;border:2px solid #fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:flex;position:absolute;top:-3px;right:-3px}.myteam-clear-filter{border:1px solid var(--border-color);color:#0367c7;cursor:pointer;background:#fff;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:13px}.myteam-clear-filter:hover{background:#eef3fb;border-color:#0367c74d}.myteam-member-avatar-wrap{position:relative}.myteam-member-avatar{color:#fff;width:54px;height:54px;box-shadow:0 0 0 2px var(--border-color);border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:600;display:flex}.myteam-member.me .myteam-member-avatar{box-shadow:0 0 0 2px var(--brand-blue)}.myteam-member-name{color:var(--text-primary);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:72px;font-size:13px;overflow:hidden}.myteam-task-list{flex-direction:column;gap:6px;max-height:480px;display:flex;overflow-y:auto}.myteam-task-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;padding:8px 10px;transition:all .15s;display:flex}.myteam-task-item:hover{border-color:var(--border-color-strong);background:#fff}.myteam-task-priority{border-radius:2px;flex-shrink:0;align-self:stretch;width:4px}.myteam-task-info{flex:1;min-width:0}.myteam-task-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;overflow:hidden}.myteam-task-meta{color:var(--text-tertiary);align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.myteam-task-assignees{flex-shrink:0;display:flex}.myteam-task-assignees .task-assignee-avatar{border:1.5px solid #fff;width:20px;height:20px;font-size:11px}.myteam-task-assignees .task-assignee-avatar+.task-assignee-avatar{margin-left:-6px}.myteam-task-due{color:var(--text-secondary);background:#fff;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:13px;font-weight:500}.myteam-task-due.overdue{color:#991b1b;background:#fee2e2}.myteam-empty{text-align:center;color:var(--text-tertiary);padding:24px 12px;font-size:15px}#settingsMainContent{flex-direction:column;gap:16px;display:flex}.settings-tabs{border-bottom:1px solid var(--border-color);gap:2px;display:flex}.settings-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 18px;font-family:inherit;font-size:15px;transition:color .15s;display:inline-flex}.settings-tab:hover{color:var(--text-primary)}.settings-tab.active{color:var(--brand-blue);border-bottom-color:var(--brand-blue);font-weight:500}.settings-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-search{flex:1;max-width:320px;position:relative}.settings-search-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);background:#fff;outline:none;padding:8px 12px 8px 32px;font-family:inherit;font-size:15px}.settings-search-input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1873e81f}.settings-search-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.users-table{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.user-row{border-bottom:1px solid var(--border-color);grid-template-columns:2.2fr 2fr 1.6fr 1.4fr 1fr 1.2fr 80px;align-items:center;gap:10px;padding:12px 16px;font-size:15px;display:grid}.user-row.header{background:var(--bg-secondary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;padding:10px 16px;font-size:14px;font-weight:500}.user-row:last-child{border-bottom:none}.user-row:not(.header):hover{background:var(--bg-secondary)}.user-cell-name{align-items:center;gap:10px;min-width:0;display:flex}.user-cell-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;font-weight:600;display:flex}.user-cell-name-info{min-width:0}.user-cell-fullname{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-weight:500;display:flex;overflow:hidden}.user-cell-nickname{color:var(--text-tertiary);font-size:13px}.user-cell-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-cell-team-badge{border-radius:12px;align-items:center;gap:5px;padding:3px 9px;font-size:13px;font-weight:500;display:inline-flex}.user-cell-level-badge{border-radius:10px;align-items:center;padding:2px 8px;font-size:13px;font-weight:500;display:inline-flex}.user-cell-level-badge.lvl-1{background:var(--bg-tertiary);color:var(--text-secondary)}.user-cell-level-badge.lvl-2{color:#0d5bc9;background:#d9e8fc}.user-cell-level-badge.lvl-3{color:#991b1b;background:#fee2e2}.user-cell-level-badge.lvl-4{color:#92400e;background:#fef3c7}.report-tab{color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 16px;font-family:inherit;font-size:12.5px;font-weight:500;transition:all .12s;display:inline-flex}.report-tab:hover{color:var(--text-primary)}.report-tab.active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}.settings-section-header{margin-bottom:4px}.settings-section-title{color:var(--text-primary);margin-bottom:4px;font-size:20px;font-weight:600}.settings-section-desc{color:var(--text-tertiary);font-size:15px}.lp-counter-btn{border:1px solid var(--border-color);cursor:pointer;width:28px;height:28px;color:var(--text-primary);background:#fff;border-radius:6px;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:all .12s;display:flex}.lp-counter-btn:hover{background:var(--bg-hover);border-color:var(--brand-blue);color:var(--brand-blue)}.lp-counter-val{text-align:center;min-width:32px;color:var(--text-primary);font-size:16px;font-weight:700}.perm-row{border-bottom:1px solid var(--border-color);grid-template-columns:2fr 1.5fr 1fr 1fr;align-items:center;gap:12px;padding:12px 16px;display:grid}.perm-row:last-child{border-bottom:none}.perm-row.header{background:var(--bg-secondary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;border-radius:var(--radius-md) var(--radius-md) 0 0;padding:10px 16px;font-size:13px;font-weight:500}.perm-check{color:#10b981;font-size:18px;display:inline-block}.perm-dash{color:var(--text-tertiary);font-size:13px}.icon-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:6px;align-items:center;padding:4px 6px;transition:all .12s;display:inline-flex}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color-strong)}.icon-btn.danger{color:#d14545}.icon-btn.danger:hover{background:#fee2e2;border-color:#fee2e2}.user-cell-hr-badge{color:#065f46;background:#d1fae5;border-radius:8px;padding:1px 6px;font-size:11px;font-weight:600}.user-cell-tenure{color:var(--text-secondary);font-size:14px}.user-row-actions{justify-content:flex-end;gap:4px;display:flex}.user-row-action-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);background:#fff;justify-content:center;align-items:center;transition:all .12s;display:flex}.user-row-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.user-row-action-btn.delete:hover{color:#991b1b;background:#fee2e2;border-color:#fee2e2}.settings-demo-chip{border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);background:#fff;border-radius:18px;align-items:center;gap:7px;padding:4px 10px 4px 4px;font-family:inherit;transition:all .15s;display:inline-flex;position:relative}.settings-demo-chip:hover{border-color:var(--brand-blue);transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.settings-demo-chip.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.settings-demo-chip.active:after{content:"✓";opacity:.9;margin-left:2px;font-size:12px}.settings-demo-chip-avatar{color:#fff;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:600;display:flex}.settings-demo-chip-text{flex-direction:column;align-items:flex-start;line-height:1.2;display:flex}.settings-demo-chip-name{font-size:14px;font-weight:500}.settings-demo-chip-sub{opacity:.7;font-size:12px}.settings-demo-chip-icon{align-items:center;margin-right:1px;font-size:16px;display:inline-flex}.settings-mode-banner{border-radius:var(--radius-lg);align-items:center;gap:14px;margin-bottom:4px;padding:14px 18px;display:flex}.settings-mode-banner.hr{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:1px solid #6ee7b7}.settings-mode-banner.executive{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:1px solid #fca5a5}.settings-mode-banner.both{background:linear-gradient(135deg,#e9e2fd 0%,#ddd6fe 100%);border:1px solid #c4b5fd}.settings-mode-icon{background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;display:flex;box-shadow:0 1px 3px #0000000f}.settings-mode-info{flex:1;min-width:0}.settings-mode-title{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.settings-mode-title-badge{border-radius:10px;padding:2px 9px;font-size:13px;font-weight:600}.settings-mode-title-badge.hr{color:#fff;background:#10b981}.settings-mode-title-badge.executive{color:#fff;background:#dc2626}.settings-mode-desc{color:var(--text-secondary);margin-top:3px;font-size:14px}.settings-demo-bar{border-radius:var(--radius-md);background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px dashed #f59e0b;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.settings-demo-label{color:#92400e;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.settings-demo-personas{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.leave-quota-wrap{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.leave-quota-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.leave-quota-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.leave-quota-type{align-items:center;gap:7px;font-size:14px;font-weight:500;display:inline-flex}.leave-quota-ratio{align-items:baseline;gap:4px;font-weight:600;display:flex}.leave-quota-used{color:var(--text-primary);font-size:22px;line-height:1}.leave-quota-slash{color:var(--text-tertiary);font-size:16px}.leave-quota-bar{background:var(--bg-secondary);border-radius:3px;height:6px;position:relative;overflow:hidden}.leave-quota-card.warning .leave-quota-bar-fill{background:#f97316}.leave-quota-card.danger .leave-quota-bar-fill{background:#ef4444}.leave-quota-card.danger .leave-quota-used{color:#ef4444}.holidays-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.holiday-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex;position:relative}.holiday-card:hover{border-color:var(--border-color-strong);box-shadow:0 2px 6px #0000000a}.holiday-date-block{border-radius:var(--radius-md);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:56px;display:flex}.holiday-date-day{font-size:24px;font-weight:600;line-height:1}.holiday-date-month{text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:13px;font-weight:500}.holiday-info{flex:1;min-width:0}.holiday-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;overflow:hidden}.holiday-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.holiday-type-badge{border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:13px;font-weight:500;display:inline-flex}.holiday-recurring-badge{color:var(--text-tertiary);font-size:12px}.holiday-card-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}.holiday-card:hover .holiday-card-actions{opacity:1}.holidays-year-tabs{gap:6px;display:flex}.holidays-year-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:#fff;padding:5px 14px;font-family:inherit;font-size:14px;transition:all .15s}.holidays-year-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.holidays-year-btn.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.settings-empty{text-align:center;color:var(--text-tertiary);padding:60px 20px;font-size:15px}.settings-empty svg{opacity:.4;margin-bottom:10px}.meeting-add-card{background:#fff;border:1px solid #eaedf0;border-radius:12px;flex-direction:column;gap:10px;margin:12px 0;padding:16px 18px;display:flex}.meeting-add-row{display:flex}.meeting-link-row{align-items:center;gap:8px}.meeting-link-row .form-input{flex:1}.meeting-create-btn{white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.meeting-add-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.cal-holiday-bar{color:#991b1b;white-space:nowrap;text-overflow:ellipsis;cursor:default;background:#fee2e2;border-left:2px solid #d14545;border-radius:3px;align-items:center;gap:3px;margin-bottom:1px;padding:1px 5px;font-size:12px;font-weight:500;display:flex;overflow:hidden}.cal-holiday-bar.t-religious{color:#5a3db8;background:#e9e2fd;border-left-color:#8b5cf6}.cal-holiday-bar.t-company{color:#0d5bc9;background:#d9e8fc;border-left-color:#1873e8}.cal-holiday-bar.t-observance{color:#065f46;background:#d1fae5;border-left-color:#10b981}.cal-leave-bar{color:#555;white-space:nowrap;text-overflow:ellipsis;cursor:default;background:#d3d3d3;border-left:2px solid #a9a9a9;border-radius:3px;align-items:center;gap:3px;margin-bottom:1px;padding:1px 5px;font-size:12px;font-weight:500;line-height:1.4;display:flex;overflow:hidden}.cal-leave-bar.pending{opacity:.65}.cal-leave-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:700;display:flex}.cal-leave-name{text-overflow:ellipsis;overflow:hidden}.cal-leave-more{color:var(--text-tertiary);padding:1px 6px;font-size:10px;font-weight:600}.cal-leave-more.clickable{cursor:pointer;border-radius:4px}.cal-leave-more.clickable:hover{background:var(--bg-secondary);color:var(--brand-blue)}.cal-task-bar{color:#555;cursor:default;background:#d3d3d3;border-left:2px solid #a9a9a9;border-radius:3px;flex-direction:column;gap:0;margin-bottom:1px;padding:1px 5px;font-size:12px;font-weight:500;line-height:1.3;display:flex;overflow:hidden}.cal-task-bar .cal-task-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-task-bar .cal-task-time{opacity:.85;white-space:nowrap;font-size:10px;font-weight:400}.cal-task-bar.clickable{cursor:pointer;transition:filter .12s}.cal-task-bar.clickable:hover{filter:brightness(.93)}#calendarMainContent{flex-direction:column;height:100%;display:flex}.cal-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:4px 0 20px;display:flex}.cal-title-group{align-items:center;gap:16px;display:flex}.cal-title{letter-spacing:-.2px;color:var(--text-primary);min-width:200px;font-size:24px;font-weight:500}.cal-nav{align-items:center;gap:4px;display:flex}.cal-nav-btn{border:1px solid var(--border-color-strong);border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:#fff;justify-content:center;align-items:center;transition:all .15s;display:flex}.cal-nav-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.cal-today-btn{border:1px solid var(--border-color-strong);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;background:#fff;padding:6px 14px;font-family:inherit;font-size:15px;transition:all .15s}.cal-today-btn:hover{background:var(--bg-secondary)}.cal-right-controls{align-items:center;gap:10px;display:flex}.cal-view-toggle{background:var(--bg-tertiary);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.cal-view-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:6px 14px;font-family:inherit;font-size:15px;transition:all .15s}.cal-view-btn:hover{color:var(--text-primary)}.cal-view-btn.active{color:var(--text-primary);background:#fff;font-weight:500;box-shadow:0 1px 3px #0000000f}.cal-filter-wrap{position:relative}.cal-filter-btn{border:1px solid var(--border-color-strong);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;background:#fff;align-items:center;gap:8px;min-height:34px;padding:6px 12px;font-family:inherit;font-size:15px;transition:all .15s;display:flex}.cal-filter-btn:hover{background:var(--bg-secondary)}.cal-filter-btn.active{border-color:var(--brand-blue);background:var(--brand-blue-light);color:var(--brand-blue-dark)}.cal-filter-btn .chevron{color:var(--text-tertiary);flex-shrink:0}.cal-filter-dropdown{border:1px solid var(--border-color-strong);border-radius:var(--radius-md);z-index:100;background:#fff;flex-direction:column;width:300px;max-height:420px;display:none;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 10px 30px #0000001f}.cal-filter-dropdown.show{display:flex}.cal-filter-quick-actions{border-bottom:1px solid var(--border-color);gap:6px;padding:8px;display:flex}.cal-filter-quick-btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#fff;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:5px;padding:6px 10px;font-family:inherit;font-size:14px;transition:all .15s;display:inline-flex}.cal-filter-quick-btn:hover{background:var(--bg-secondary)}.cal-filter-quick-btn.clear:hover{color:#d14545;background:#fdecec;border-color:#e8c4c4}.cal-month{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.cal-weekdays{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);grid-template-columns:repeat(7,1fr);display:grid}.cal-weekday{color:var(--text-secondary);text-align:center;padding:10px 12px;font-size:14px;font-weight:500}.cal-weekday.weekend{color:var(--brand-blue)}.cal-days-grid{grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(100px,1fr);display:grid}.cal-day{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);cursor:pointer;flex-direction:column;gap:2px;min-height:100px;padding:6px 6px 4px;transition:background .12s;display:flex;position:relative;overflow:hidden}.cal-day:hover{background:var(--bg-secondary)}.cal-day:nth-child(7n){border-right:none}.cal-days-grid .cal-day:nth-last-child(-n+7){border-bottom:none}.cal-day.other-month{color:var(--text-tertiary);background:#fbfbf9}.cal-day.other-month .cal-day-num{color:var(--text-tertiary)}.cal-day-num{color:var(--text-secondary);border-radius:50%;justify-content:center;align-self:flex-start;align-items:center;min-width:22px;height:22px;padding:2px 4px;font-size:14px;font-weight:500;display:flex}.cal-day-num.today{background:var(--brand-blue);color:#fff}.cal-day.is-holiday .cal-day-num{color:#d14545;font-weight:600}.cal-day.is-holiday .cal-day-num.today{color:#fff}.cal-week{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;flex-direction:column;max-height:70vh;display:flex;overflow-y:auto}.cal-week-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:5;flex-shrink:0;grid-template-columns:56px repeat(7,1fr);display:grid;position:sticky;top:0}.cal-time-label-col{border-right:1px solid var(--border-color)}.cal-day-header{text-align:center;border-right:1px solid var(--border-color);cursor:pointer;padding:10px 8px;transition:background .15s}.cal-day-header:last-child{border-right:none}.cal-day-header:hover{background:#fff}.cal-day-name{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:13px}.cal-day-date{color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;font-weight:500;display:inline-flex}.cal-day-date.today{background:var(--brand-blue);color:#fff}.cal-week-body{flex:1;grid-template-columns:56px repeat(7,1fr);display:grid;position:relative}.cal-time-labels{border-right:1px solid var(--border-color);background:var(--bg-primary)}.cal-time-label{height:48px;color:var(--text-tertiary);text-align:right;border-top:1px solid var(--border-color);padding:2px 6px 0;font-size:12px}.cal-time-label:first-child{border-top:none}.cal-week-day-col{border-right:1px solid var(--border-color);position:relative}.cal-hour-slot{border-top:1px solid var(--border-color);height:48px}.cal-hour-slot:first-child{border-top:none}.cal-week-day-col:last-child{border-right:none}.cal-week-day-col.today-col{background-color:#1873e808}.cal-current-time-line{z-index:3;pointer-events:none;background:#ef4444;height:2px;position:absolute;left:0;right:0}.cal-current-time-line:before{content:"";background:#ef4444;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.leave-quota-wrap{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;padding:16px 18px}.leave-quota-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.leave-quota-title{color:var(--text-secondary);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.leave-quota-year{color:var(--text-tertiary);font-size:13px}.leave-quota-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.leave-quota-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:12px 14px;transition:all .12s;display:flex}.leave-quota-card:hover{border-color:var(--border-color-strong);box-shadow:var(--shadow-xs);background:#fff}.leave-quota-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.leave-quota-type{color:var(--text-primary);flex:1;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:500;display:flex}.leave-quota-type-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.leave-quota-ratio{flex-shrink:0;align-items:baseline;gap:1px;display:flex}.leave-quota-used{color:var(--text-primary);font-size:18px;font-weight:700;line-height:1}.leave-quota-slash{color:var(--text-tertiary);margin:0 1px;font-size:12px}.leave-quota-max{color:var(--text-tertiary);font-size:12px}.leave-quota-bar{background:var(--border-color);border-radius:2px;height:4px;overflow:hidden}.leave-quota-bar-fill{border-radius:2px;height:100%;transition:width .4s}.leave-quota-remaining{color:var(--text-tertiary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.leave-quota-remaining-value{color:var(--text-secondary);font-weight:600}.leave-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.leave-title-wrap h1{letter-spacing:-.2px;margin-bottom:4px;font-size:24px;font-weight:500}.leave-title-wrap p{color:var(--text-tertiary);font-size:15px}.leave-tabs{border-bottom:2px solid var(--border-color);display:flex}.leave-tab{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-bottom:2.5px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:400;transition:all .15s;display:inline-flex}.leave-tab:hover{color:var(--text-primary)}.leave-tab.active{color:var(--brand-blue);border-bottom-color:var(--brand-blue);font-weight:600}.leave-tab-badge{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:20px;padding:1px 7px;font-size:11px;font-weight:700}.leave-tab-badge.urgent{color:#fff;background:#d14545}.leave-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;flex-direction:column;gap:10px;padding:14px 16px;transition:all .12s;display:flex}.leave-card:hover{border-color:var(--border-color-strong);box-shadow:var(--shadow-sm)}.leave-card-top{align-items:flex-start;gap:10px;display:flex}.leave-type-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-flex}.leave-meta-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px;display:flex}.leave-meta-item{color:var(--text-secondary);align-items:center;gap:4px;font-size:13px;display:inline-flex}.leave-reason{color:var(--text-secondary);font-size:14px;line-height:1.55}.leave-status-badge{white-space:nowrap;border-radius:20px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600}.leave-status-badge.pending{color:#92400e;background:#fef3c7}.leave-status-badge.approved{color:#065f46;background:#d1fae5}.leave-status-badge.rejected{color:#991b1b;background:#fee2e2}.leave-status-badge.cancelled{color:#6b7280;background:#f3f4f6}.leave-approval-chain{border-top:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:5px;padding-top:10px;display:flex}.leave-approval-label{color:var(--text-tertiary);margin-right:2px;font-size:12px;font-weight:500}.leave-approval-chip{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:20px;align-items:center;gap:5px;padding:3px 8px 3px 3px;font-size:12px;font-weight:500;display:inline-flex}.leave-approval-chip.current{color:var(--brand-blue);background:#eff6ff;border-color:#bfdbfe}.leave-approval-chip.approved{color:#065f46;background:#d1fae5;border-color:#a7f3d0}.leave-approval-chip.rejected{color:#991b1b;background:#fee2e2;border-color:#fecaca}.leave-approval-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:flex}.leave-approval-arrow{color:var(--text-tertiary);font-size:14px;line-height:1}.leave-empty{color:var(--text-tertiary);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;font-size:15px;line-height:1.7;display:flex}.leave-type-picker{flex-wrap:wrap;gap:6px;display:flex}.leave-type-option{border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;background:#fff;flex-direction:column;align-items:center;gap:5px;min-width:68px;padding:8px 10px;transition:all .15s;display:flex}.leave-type-option:hover{border-color:var(--border-color-strong);background:var(--bg-secondary)}.leave-type-option.selected{border-color:currentColor}.leave-type-icon-box{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.leave-type-label{color:var(--text-secondary);text-align:center;white-space:nowrap;font-size:11.5px;font-weight:500}.leave-type-option.selected .leave-type-label{font-weight:600}.leave-duration-picker{gap:6px;display:flex}.duration-opt{border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);background:#fff;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 6px;font-family:inherit;transition:all .15s;display:flex}.duration-opt:hover{border-color:var(--border-color-strong);background:var(--bg-secondary)}.duration-opt.selected{border-color:var(--brand-blue);color:var(--brand-blue);background:#eff6ff}.duration-opt-title{color:var(--text-primary);font-size:13px;font-weight:600}.duration-opt.selected .duration-opt-title{color:var(--brand-blue)}.duration-opt-sub{color:var(--text-tertiary);font-size:11px}.leave-custom-time-wrap{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:10px;padding:10px 12px}.time-range-row{align-items:center;gap:8px;display:flex}.time-input{border:1px solid var(--border-color-strong);border-radius:var(--radius-md);color:var(--text-primary);outline:none;padding:8px 10px;font-family:inherit;font-size:14px;transition:all .15s}.time-input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1873e81f}.date-range-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.task-description-input{box-sizing:border-box;border:1px solid var(--border-color-strong);border-radius:var(--radius-md);width:100%;color:var(--text-primary);resize:vertical;background:#fff;outline:none;min-height:56px;padding:9px 12px;font-family:inherit;font-size:15px;line-height:1.5;transition:all .15s}.leave-form-divider{background:var(--border-color);height:1px;margin:8px 0}.approver-section{border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color);margin-bottom:8px;padding:10px 12px 10px 14px}.approver-section:last-child{margin-bottom:0}.approver-section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.approver-section-hint{color:var(--text-tertiary);font-size:12px}.approver-chips{flex-wrap:wrap;gap:6px;display:flex}.approver-chip-btn{border:1.5px solid var(--border-color);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:20px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-family:inherit;font-size:13px;font-weight:400;transition:all .15s;display:inline-flex}.approver-chip-btn:hover{border-color:var(--border-color-strong);background:var(--bg-secondary);color:var(--text-primary)}.approver-chip-btn.selected{border-color:var(--brand-blue);color:var(--brand-blue);background:#eff6ff;font-weight:600}.attach-browse-btn{border:1px solid var(--border-color-strong);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);background:#fff;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:13px;transition:all .15s;display:inline-flex}.attach-browse-btn:hover{background:var(--bg-secondary);border-color:var(--brand-blue);color:var(--brand-blue)}.task-assignee-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.icon-preview-row{background:var(--bg-secondary);border-radius:var(--radius-md);align-items:center;gap:14px;margin-bottom:16px;padding:14px;display:flex}.icon-preview-box{border-radius:var(--radius-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;transition:background .2s;display:flex}.icon-preview-info{flex:1;min-width:0}.icon-preview-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:16px;font-weight:500;overflow:hidden}.icon-preview-helper{color:var(--text-tertiary);font-size:13px}.picker-label{color:var(--text-secondary);margin-bottom:8px;font-size:14px;font-weight:500}.icon-grid{grid-template-columns:repeat(7,1fr);gap:6px;max-height:168px;margin-bottom:16px;padding:2px;display:grid;overflow-y:auto}.icon-grid::-webkit-scrollbar{width:6px}.icon-grid::-webkit-scrollbar-thumb{background:var(--border-color-strong);border-radius:3px}.icon-option{aspect-ratio:1;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:#fff;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.icon-option:hover{background:var(--bg-secondary);color:var(--text-primary)}.icon-option.selected{background:var(--brand-blue-light);color:var(--brand-blue-dark);border-color:var(--brand-blue)}.icon-option svg{width:20px;height:20px}.color-grid{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.color-option{cursor:pointer;border:none;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .15s;position:relative;box-shadow:inset 0 0 0 1px #00000014}.color-option:hover{transform:scale(1.12)}.color-option.selected:after{content:"";border:2px solid var(--brand-blue);border-radius:50%;position:absolute;inset:-3px}.access-options{flex-direction:column;gap:8px;display:flex}.access-option{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:12px;padding:12px;transition:all .15s;display:flex}.access-option:hover{border-color:var(--border-color-strong);background:var(--bg-secondary)}.access-option.selected{border-color:var(--brand-blue);background:var(--brand-blue-light)}.access-option input[type=radio]{accent-color:var(--brand-blue);flex-shrink:0;margin-top:0}.access-option-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);border:1px solid var(--border-color);background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:flex}.access-option.selected .access-option-icon{color:var(--brand-blue-dark);border-color:#0000}.access-option-text{flex:1;min-width:0}.access-option-title{margin-bottom:2px;font-size:15px;font-weight:500}.access-option-desc{color:var(--text-secondary);font-size:14px}.access-option.selected .access-option-desc{color:var(--brand-blue-dark);opacity:.85}.list-header{margin-bottom:20px}.list-header-top{align-items:flex-start;gap:14px;margin-bottom:4px;display:flex}.list-icon-large-box{border-radius:var(--radius-md);background:var(--bg-tertiary);width:44px;height:44px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.list-title-group{flex:1;min-width:0}.list-title{letter-spacing:-.3px;margin-bottom:4px;font-size:26px;font-weight:500}.list-meta{color:var(--text-secondary);font-size:15px}.list-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.filter-chips{gap:4px;display:flex}.filter-chip{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:16px;padding:6px 12px;font-family:inherit;font-size:14px;transition:all .15s}.filter-chip:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.filter-chip.active{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.task-list{flex-direction:column;gap:14px;display:flex}.task-table-header{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;background:0 0;border-bottom:none;grid-template-columns:36px minmax(0,1fr) 150px 140px 90px 180px 28px;gap:12px;margin-bottom:-8px;padding:2px 16px 0;font-size:12px;font-weight:600;display:grid}.task-row{border-bottom:1px solid var(--border-color);cursor:pointer;grid-template-columns:36px minmax(0,1fr) 150px 140px 90px 180px 28px;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:grid}.task-row:last-child{border-bottom:none}.task-row:hover{background:var(--bg-secondary)}.task-row.completed{opacity:.5}.task-row.completed .task-name{text-decoration:line-through}.task-section{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.task-section-head{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:11px 16px;display:flex}.task-section.collapsed .task-section-head{border-bottom:none}.task-section-head:hover{background:var(--bg-secondary)}.task-section-caret{color:var(--text-tertiary);flex-shrink:0;transition:transform .15s}.task-section.collapsed .task-section-caret{transform:rotate(-90deg)}.task-section-pill{color:#fff;text-transform:uppercase;letter-spacing:.3px;border-radius:8px;align-items:center;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.task-section-count{color:var(--text-tertiary);font-size:13px;font-weight:600}.task-section.collapsed .task-section-body{display:none}.task-section-body .task-row{border-bottom:1px solid var(--border-color)}.task-section-body .task-row:last-child{border-bottom:none}.status-dd-trigger{color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;min-width:130px;padding:6px 12px;font-size:13px;font-weight:600;transition:filter .12s;display:inline-flex}.status-dd-trigger:hover{filter:brightness(.95)}.status-dd-popover{min-width:200px;padding:4px;overflow-y:auto}.status-dd-option{cursor:pointer;color:var(--text-primary);border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.status-dd-option:hover{background:var(--bg-secondary)}.status-dd-option.sel{background:var(--bg-tertiary);font-weight:600}.status-dd-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.task-checkbox{border:1.8px solid var(--border-color-strong);cursor:pointer;color:#fff;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:all .15s;display:flex}.task-checkbox:hover{border-color:var(--brand-blue)}.task-checkbox.checked{background:var(--brand-blue);border-color:var(--brand-blue)}.task-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.task-cell{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.task-cell-assignee{align-items:center;gap:6px;display:flex}.task-assignee-avatars{align-items:center;display:flex}.task-assignee-avatars .task-assignee-avatar{border:2px solid #fff;margin-left:-6px}.task-assignee-avatars .task-assignee-avatar:first-child{margin-left:0}.task-assignee-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:flex}.cp-popover{z-index:9999;background:#fff;border:1px solid #e5e7eb;border-radius:14px;min-width:280px;padding:0;animation:.12s ease-out cpFadeIn;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f}.cp-popover.cp-dropdown{z-index:100;margin-top:4px;position:absolute;top:100%;left:0}@keyframes cpFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cp-popover.st-popover{min-width:210px;padding:4px}.cp-popover.dt-timeonly{flex-direction:column;width:120px;min-width:0;max-height:300px;padding:0;display:flex;overflow:hidden}.cp-popover.dt-timeonly .cu-timecol-head{flex-shrink:0;padding:9px 10px 5px;font-size:11px}.cp-popover.dt-timeonly .cu-timecol-list{flex:1;min-height:0;padding:0 5px 8px;overflow-y:auto}.cp-popover.dt-timeonly .cu-timeopt{text-align:center;padding:7px 8px}.dt-timeonly-popover{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.cu-timecol-head{color:#6b7280;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px 8px;font-size:12px;font-weight:600;display:flex}.cu-timecol-clear{color:#e5484d;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px}.cu-timecol-list{flex:1;min-height:0;padding:0 8px 10px;overflow-y:auto}.cu-timeopt{text-align:left;color:#374151;cursor:pointer;background:0 0;border:none;border-radius:7px;width:100%;padding:7px 10px;font-family:inherit;font-size:13px;display:block}.cu-timeopt:hover{background:#f3f4f6}.cu-timeopt.sel{color:#2563eb;background:#2563eb14;font-weight:500}.assignee-search-wrap{border-bottom:1px solid var(--border-color);color:var(--text-tertiary);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.assignee-search-wrap svg{flex-shrink:0}.assignee-search-wrap input,.assignee-search-wrap input[type=text]{appearance:none;color:var(--text-primary);background:0 0;flex:1;padding:0;font-family:inherit;font-size:15px;box-shadow:none!important;border:none!important;outline:none!important}.assignee-search-wrap input[type=text]:focus{box-shadow:none!important;border:none!important;outline:none!important}.st-asg-list{max-height:260px;overflow-y:auto}.st-asg-list .assignee-search-wrap input[type=text]{box-shadow:none!important;border:none!important}.assignee-section-label{color:var(--text-tertiary);letter-spacing:.02em;padding:8px 10px 4px;font-size:12px;font-weight:600}.assignee-option{cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:10px;padding:7px 10px;transition:background .12s;display:flex}.assignee-option:hover{background:var(--bg-secondary)}.assignee-option.is-assigned:hover{background:#feecec}.assignee-option-name{color:var(--text-primary);flex:1;font-size:15px}.assignee-option-avatar-wrap{flex-shrink:0;display:flex;position:relative}.assignee-remove-badge{border:2px solid var(--surface,#fff);opacity:0;background:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;transition:opacity .12s;display:flex;position:absolute;bottom:-3px;left:-3px}.assignee-option.is-assigned:hover .assignee-remove-badge{opacity:1}.assignee-empty-state{text-align:center;color:var(--text-tertiary);padding:24px 12px;font-size:14px}.cp-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.cp-month-label{color:#111827;cursor:pointer;font-size:15px;font-weight:700}.cp-nav-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .12s;display:flex}.cp-nav-btn:hover{background:#f3f4f6}.cp-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;padding:8px 12px 4px;display:grid}.cp-wd{text-align:center;color:#9ca3af;padding:2px 0;font-size:11px;font-weight:600}.cp-days{grid-template-columns:repeat(7,1fr);gap:2px;padding:0 12px 8px;display:grid}.cp-day{aspect-ratio:1;cursor:pointer;color:#374151;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-family:inherit;font-size:13px;transition:background .1s;display:flex}.cp-day:hover:not(.cp-day-other):not(.cp-day-selected){background:#f3f4f6}.cp-day-other{color:#d1d5db}.cp-day-today{color:#1873e8;font-weight:700}.cp-day-selected{font-weight:700;color:#fff!important;background:#1873e8!important}.cp-day-recur{font-weight:600;color:#2563eb!important;background:#dbeafe!important}.cp-day-recur.cp-day-today{box-shadow:inset 0 0 0 2px #2563eb}.dt-fields{align-items:center;gap:8px;display:flex}.dt-date-btn,.dt-time-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;padding:7px 11px;font-family:inherit;font-size:13px;transition:border-color .12s,background .12s;display:inline-flex}.dt-date-btn{min-width:140px}.dt-time-btn{min-width:92px}.dt-date-btn:hover,.dt-time-btn:hover{background:#fafbff;border-color:#2563eb66}.dt-date-btn svg,.dt-time-btn svg{color:#9ca3af;flex-shrink:0}.dt-date-btn .property-empty,.dt-time-btn .property-empty{color:#9ca3af}.dt-date-btn.has-value,.dt-time-btn.has-value{border-color:#d1d5db}.property-row.dt-row-disabled{opacity:.5;pointer-events:none}.property-row.dt-row-disabled .dt-date-btn,.property-row.dt-row-disabled .dt-time-btn{cursor:not-allowed;background:#f3f4f6}.rec-picker-popover{min-width:0!important}.rec-cols{display:flex}.rec-left-col{border-right:1px solid #f0f1f3;min-width:200px;padding:12px}.rec-cal-col{padding:12px}.rec-col-head{color:#374151;padding-top:0;font-size:13px;font-weight:600}.rec-col-body{flex-direction:column;gap:8px;margin-top:8px;display:flex}.rec-label{color:#6b7280;font-size:12px}.rec-foot{border-top:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;display:flex}.rec-cal-header{justify-content:space-between;align-items:center;padding:4px 8px 8px;display:flex}.rec-cal-col .cp-weekdays{padding:0 4px 4px}.rec-cal-col .cp-days{padding:0 4px 8px}.cp-footer{border-top:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:10px 16px 12px;display:flex}.cp-footer-btn{cursor:pointer;color:#1873e8;background:0 0;border:none;border-radius:6px;padding:5px 8px;font-family:inherit;font-size:13px;font-weight:600}.cp-footer-btn:hover{background:#eff6ff}.cp-footer-btn.danger{color:#ef4444}.cp-footer-btn.danger:hover{background:#fee2e2}.st-range-pop{flex-direction:column;gap:10px;min-width:280px;padding:14px;display:flex}.cp-popover.has-inline-calendar{padding:0;overflow:visible}.cu-datepop{min-width:280px;padding:0;overflow:hidden}.cu-chips{border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:10px 12px;display:flex}.cu-chip{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;transition:all .12s;display:flex}.cu-chip:hover{border-color:var(--brand-blue)}.cu-chip.active{border-color:var(--brand-blue);color:var(--brand-blue);background:#f5f9ff;font-weight:600}.cu-chip-cal{flex-shrink:0}.cu-chip-date{white-space:nowrap}.cu-arrow{color:var(--text-tertiary);flex-shrink:0;font-size:14px}.cu-datepop-cal{padding:4px 12px 0}.cu-datepop-cal .cp-header{padding:8px 0}.cu-datepop-cal .cp-footer{padding:8px 12px 12px}.st-range-title{color:var(--text-primary);font-size:14px;font-weight:700}.st-range-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.st-range-lbl{color:var(--text-tertiary);font-size:13px;font-weight:500}.st-range-btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;text-align:center;background:#fff;border-radius:7px;min-width:110px;padding:5px 12px;font-family:inherit;font-size:13px;transition:all .12s}.st-range-btn:hover{border-color:var(--brand-blue);color:var(--brand-blue)}.st-range-foot{border-top:1px solid var(--border-color);justify-content:flex-end;margin-top:4px;padding-top:4px;display:flex}.task-cell-date{color:var(--text-secondary);align-items:center;gap:5px;font-size:14px;display:flex}.task-cell-date.overdue{color:#d14545}.task-cell-priority{align-items:center;display:flex}.task-priority-pill{border-radius:10px;align-items:center;gap:4px;width:fit-content;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.task-priority-pill:before{content:"";background:currentColor;flex-shrink:0;width:10px;height:10px;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 1.5v13M4 2.5h7.5a.5.5 0 01.4.8L10 6l1.9 2.7a.5.5 0 01-.4.8H4' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 1.5v13M4 2.5h7.5a.5.5 0 01.4.8L10 6l1.9 2.7a.5.5 0 01-.4.8H4' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'/></svg>") 50%/contain no-repeat}.task-priority-pill.low{color:#4a5260;background:#6b72801f}.task-priority-pill.medium{color:#0d5bc9;background:#1873e81f}.task-priority-pill.high{color:#b84e0c;background:#f9731626}.task-priority-pill.urgent{color:#9c2626;background:#ef444426}.task-tags-cell{flex-wrap:wrap;gap:4px;display:flex;overflow:hidden}.task-row-delete-btn{color:#9ca3af;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .12s;display:flex}.task-row:hover .task-row-delete-btn{opacity:1}.task-row-delete-btn:hover{color:#ef4444;background:#fee2e2}.task-tag{white-space:nowrap;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:8px;padding:2px 7px;font-size:12px;font-weight:500;display:inline-flex}.row-add-icon{color:var(--text-tertiary);opacity:.5;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:3px;display:inline-flex}.task-row:hover .row-add-icon{opacity:.8}.empty-tasks{text-align:center;color:var(--text-tertiary);padding:48px 24px;font-size:15px}.empty-tasks-title{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:500}.quick-add-row{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:4px 16px}.quick-add-btn{width:100%;color:var(--text-tertiary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-family:inherit;font-size:15px;transition:color .15s;display:flex}.quick-add-btn:hover{color:var(--brand-blue)}.quick-add-input-wrap{align-items:center;gap:8px;padding:4px 2px;display:flex}.quick-add-input-wrap.qa-grid{grid-template-columns:36px minmax(0,1fr) 150px 140px 90px 180px 28px;align-items:center;gap:12px;display:grid}.qa-col{align-items:center;display:flex}.qa-mini-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:inline-flex}.qa-actions{flex-shrink:0;justify-self:end;align-items:center;gap:4px;display:flex}.quick-add-plus{color:var(--brand-blue);flex-shrink:0;display:flex}.quick-add-input{color:var(--text-primary);flex:1;padding:4px 0;font-family:inherit;font-size:15px;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important}.quick-add-input::placeholder{color:var(--text-tertiary)}.quick-add-controls{flex-shrink:0;align-items:center;gap:4px;display:flex}.qa-icon-btn{border:1px solid var(--border-color);color:#6b7280;cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;justify-content:flex-start;align-items:center;min-width:30px;max-width:100%;height:30px;padding:0 8px;transition:all .12s;display:inline-flex;overflow:hidden}.qa-icon-btn:hover{border-color:var(--brand-blue);color:var(--brand-blue);background:#f5f9ff}.qa-icon-btn.set{color:#1873e8;background:#f5f9ff;border-color:#bfd7f5}.qa-divider{background:var(--border-color);width:1px;height:20px;margin:0 4px}.qa-cancel-btn{border:1px solid var(--border-color);color:#9ca3af;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:all .12s;display:inline-flex}.qa-cancel-btn:hover{color:#d14545;background:#feecec;border-color:#f5b5b5}.qa-save-btn{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:8px;align-items:center;gap:6px;margin-left:4px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s;display:inline-flex}.qa-save-btn:hover{background:#000}.qa-enter{opacity:.7;font-size:12px}.tree-node{position:relative}.tree-item{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);align-items:center;gap:4px;min-height:30px;padding:5px 8px;display:flex;position:relative}.tree-item:hover{background:var(--bg-hover)}.tree-item.selected{background:var(--bg-selected)}.tree-item.selected .tree-label{font-weight:600;color:var(--brand-blue)!important}.tree-item.selected .tree-icon.list{color:var(--brand-blue)!important}.tree-chevron-btn{width:18px;height:18px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.tree-chevron-btn:hover{background:#00000014}.tree-chevron{transition:transform .15s}.tree-chevron.expanded{transform:rotate(90deg)}.tree-chevron-placeholder{flex-shrink:0;width:18px}.tree-icon{color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:600;display:flex}.tree-icon.folder,.tree-icon.list{color:var(--text-tertiary);background:0 0}.tree-label{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:500;overflow:hidden}.tree-item:hover .tree-label{color:var(--text-primary)}.tree-count{color:var(--text-tertiary);flex-shrink:0;padding:0 4px;font-size:13px}.tree-actions{opacity:0;flex-shrink:0;gap:1px;transition:opacity .15s;display:flex}.tree-item:hover .tree-actions{opacity:1}.tree-item:hover .tree-count{display:none}.tree-action-btn{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.tree-action-btn:hover{color:var(--text-primary);background:#00000014}.tree-children{padding-left:14px;display:none;position:relative}.tree-children.expanded{display:block}.tree-children:before{content:"";background:var(--border-color);opacity:.6;width:1px;position:absolute;top:0;bottom:4px;left:18px}.space-header{align-items:flex-start;gap:14px;margin-bottom:6px;display:flex}.space-icon-large{border-radius:var(--radius-md);color:#fff;width:40px;height:40px;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.page-title-group{flex:1;min-width:0}.page-title{letter-spacing:-.4px;color:var(--text-primary);margin-bottom:4px;font-size:22px;font-weight:700}.page-subtitle{color:var(--text-tertiary);flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.page-subtitle-item{align-items:center;gap:4px;display:flex}.page-subtitle-sep{color:var(--border-color-strong)}.page-actions{gap:8px;margin-top:18px;margin-bottom:24px;display:flex}.folders-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:14px;font-weight:600}.folders-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.folder-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;transition:all .15s;display:flex;overflow:hidden}.folder-card:hover{border-color:var(--border-color-strong);transform:translateY(-2px);box-shadow:0 8px 24px #0000000a}.folder-cover{width:100%;height:4px}.folder-body{flex-direction:column;flex:1;padding:18px;display:flex}.folder-header{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.folder-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.folder-name-group{flex:1;min-width:0}.folder-name{margin-bottom:2px;font-size:17px;font-weight:500;line-height:1.35}.folder-meta{color:var(--text-tertiary);font-size:13px}.folder-menu-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-tertiary);opacity:0;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:flex}.folder-card:hover .folder-menu-btn{opacity:1}.folder-menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.folder-description{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin-bottom:16px;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.folder-lists{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.folder-list-item{color:var(--text-secondary);background:var(--bg-secondary);border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:14px;display:flex}.folder-list-item svg{flex-shrink:0}.folder-list-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.folder-list-count{color:var(--text-tertiary);font-size:13px}.folder-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.avatar-stack{display:flex}.avatar-stack-item{color:#fff;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:-6px;font-size:10px;font-weight:700;display:flex}.avatar-stack-item:first-child{margin-left:0}.avatar-more{background:var(--bg-tertiary)!important;color:var(--text-secondary)!important}.folder-stats{color:var(--text-tertiary);font-size:12px}.folder-empty{text-align:center;color:var(--text-tertiary);grid-column:1/-1;padding:48px 24px;font-size:15px}.list-card-task{color:var(--text-primary);background:var(--bg-secondary);border-radius:4px;align-items:center;gap:7px;padding:5px 8px;font-size:14px;display:flex}.list-card-task.completed{opacity:.55}.list-card-task.completed .list-card-task-name{text-decoration:line-through}.list-card-task-check{border:1.5px solid var(--border-color-strong);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;display:flex}.list-card-task-check.checked{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.list-card-task-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.list-card-task-priority{border-radius:50%;flex-shrink:0;width:8px;height:8px}.list-card-task-more{text-align:center;color:var(--text-tertiary);background:0 0;padding:4px 8px;font-size:13px}.td-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.td-modal{background:#fff;border-radius:16px;grid-template-rows:52px 1fr;width:100%;max-width:1100px;height:90vh;max-height:920px;padding:0;display:grid;overflow:hidden;box-shadow:0 32px 80px #00000029,0 0 0 1px #0000000d}.task-detail-topbar{background:#fff;border-bottom:1px solid #eaecf0;border-radius:16px 16px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;min-width:0;height:52px;padding:0 20px;display:flex}.task-topbar-left{align-items:center;gap:2px;min-width:0;display:flex;overflow:hidden}.topbar-nav-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .12s;display:flex}.topbar-nav-btn:hover{color:#374151;background:#f3f4f6}.topbar-delete-btn:hover{color:#ef4444;background:#fee2e2}.task-breadcrumb-tag{color:#6b7280;cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:5px;max-width:180px;padding:4px 8px;font-size:13px;font-weight:500;transition:background .12s;display:inline-flex;overflow:hidden}.task-breadcrumb-tag:hover{color:#111827;background:#f3f4f6}.task-breadcrumb-tag span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.breadcrumb-space-dot{color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex}.breadcrumb-list-icon{color:#9ca3af;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.task-topbar-sep{color:#d1d5db;-webkit-user-select:none;user-select:none;flex-shrink:0;margin:0 2px;font-size:14px}.task-topbar-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.task-created{color:#9ca3af;white-space:nowrap;margin-right:8px;font-size:12px}.autosave-indicator{color:#9ca3af;align-items:center;gap:4px;margin-right:8px;font-size:12px;display:inline-flex}.share-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;margin-right:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s;display:flex;box-shadow:0 1px 2px #0000000d}.share-btn:hover{background:#f9fafb;border-color:#d1d5db}.task-detail-body{grid-template-columns:1fr 340px;min-height:0;display:grid;overflow:hidden}.task-detail-main{background:#f9fafb;min-width:0;padding:36px 48px 56px;overflow-y:auto}.task-detail-content{width:100%;max-width:640px;margin:0 auto}.task-type-row{align-items:center;gap:8px;margin-bottom:20px;display:flex}.task-type-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-family:inherit;font-size:12.5px;font-weight:500;transition:all .12s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.task-type-btn:hover{color:#1873e8;background:#eff6ff;border-color:#1873e8}.task-type-circle{border:1.5px solid;border-radius:50%;flex-shrink:0;width:8px;height:8px}.task-id-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.task-id-btn:hover{color:#374151;background:#f3f4f6}.task-detail-title{letter-spacing:-.4px;color:#111827;word-wrap:break-word;outline:none;margin-bottom:28px;padding:4px 0;font-size:26px;font-weight:700;line-height:1.3}.task-detail-title:focus{box-shadow:none;background:0 0;outline:none}.task-properties{background:#fff;border:1px solid #f3f4f6;border-radius:12px;margin-bottom:28px;overflow:hidden;box-shadow:0 1px 4px #0000000a}.property-row{cursor:default;border-bottom:1px solid #f9fafb;grid-template-columns:140px 1fr;align-items:center;gap:12px;min-height:46px;padding:8px 18px;transition:background .1s;display:grid}.property-row:last-child{border-bottom:none}.property-row.editable{cursor:pointer}.property-row.editable:hover{background:#fafbff}.property-row.editable:hover .property-empty{color:#6b7280}.property-label{color:#9ca3af;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.property-value{color:#111827;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.property-empty{color:#d1d5db;font-size:13.5px}.property-add-link{color:#9ca3af;margin-left:4px;font-size:12.5px}.mark-complete-btn{color:#6b7280;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:20px;align-items:center;gap:7px;padding:6px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.mark-complete-btn:hover{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.mark-complete-btn.completed{color:#16a34a;background:#f0fdf4;border-color:#86efac}.property-assignee-avatar{color:#fff;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-left:-7px;font-size:11px;font-weight:700;display:flex;box-shadow:0 0 0 1px #0000000f}.property-assignee-avatar:first-child{margin-left:0}.track-time-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:7px;padding:5px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.track-time-btn:hover{background:#f3f4f6}.cp-date-btn,.cp-time-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;padding:4px 10px;font-family:inherit;font-size:13px;transition:all .12s}.cp-date-btn:hover,.cp-time-btn:hover{border-color:#d1d5db}.cp-date-btn.has-value,.cp-time-btn.has-value{color:#111827;font-weight:500}.rec-daybar{gap:4px;display:flex}.rec-dayseg{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;flex:1;min-width:0;height:32px;padding:0;font-family:inherit;font-size:12px;font-weight:500;transition:all .12s}.rec-dayseg:hover{background:#f9fafb;border-color:#d1d5db}.rec-dayseg.sel{color:#fff;background:#1873e8;border-color:#1873e8;font-weight:600}.rec-action-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:13px}.rec-done-btn{color:#1873e8;font-weight:600}.rec-done-btn:hover{background:#eff6ff}.rec-clear-btn{color:#ef4444}.rec-clear-btn:hover{background:#fef2f2}.task-description-row{margin-bottom:28px}.task-description-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:7px;margin-bottom:10px;font-size:11.5px;font-weight:700;display:flex}.task-description-input{resize:vertical;color:#111827;box-sizing:border-box;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;outline:none;width:100%;padding:14px 16px;font-family:inherit;font-size:14.5px;line-height:1.7;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 3px #00000008}.task-description-input:hover{border-color:#d1d5db}.task-description-input:focus{border-color:#1873e8;box-shadow:0 0 0 3px #1873e814}.task-description-input::placeholder{color:#9ca3af}.task-description-display{color:#111827;cursor:text;box-sizing:border-box;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;width:100%;min-height:56px;padding:14px 16px;font-family:inherit;font-size:14.5px;line-height:1.7;transition:border-color .15s}.task-description-display:hover{border-color:#d1d5db}.task-description-text{white-space:pre-wrap;word-break:break-word;margin:0}.task-description-text a{color:#1873e8;text-decoration:underline}.task-description-text a:hover{color:#0367c7}.task-description-placeholder{color:#9ca3af}.subtasks-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:28px;overflow:hidden;box-shadow:0 1px 4px #0000000a}.subtasks-header{color:#6b7280;text-transform:uppercase;letter-spacing:.6px;background:#f9fafb;border-bottom:1px solid #f3f4f6;align-items:center;gap:8px;padding:12px 18px;font-size:11.5px;font-weight:700;display:flex}.subtasks-progress{color:#9ca3af;text-transform:none;letter-spacing:0;background:#f3f4f6;border-radius:10px;margin-left:auto;padding:2px 8px;font-size:11.5px;font-weight:600}.subtasks-list{padding:8px 10px 4px}.subtask-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;transition:background .12s;display:flex}.subtask-item:hover{background:#f9fafb}.subtask-check{cursor:pointer;color:#fff;background:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:17px;height:17px;padding:0;transition:all .12s;display:flex}.subtask-check:hover{border-color:#1873e8}.subtask-check.checked{background:#1873e8;border-color:#1873e8}.subtask-name{color:#111827;outline:none;flex:1;font-size:14px;line-height:1.5}.subtask-item.completed .subtask-name{color:#9ca3af;text-decoration:line-through}.subtask-delete{color:#9ca3af;opacity:0;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .12s;display:flex}.subtask-item:hover .subtask-delete{opacity:1}.subtask-delete:hover{color:#dc2626;background:#fee2e2}.subtask-input-row{border-top:1px solid #f3f4f6;align-items:center;gap:10px;padding:10px 18px;display:flex}.subtask-input-check{border:1.5px dashed #d1d5db;border-radius:50%;flex-shrink:0;width:17px;height:17px}.subtask-input{color:#111827;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}.subtask-input::placeholder{color:#9ca3af;font-size:14px}.attachments-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:28px;overflow:hidden;box-shadow:0 1px 4px #0000000a}.attachments-header{background:#f9fafb;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:11px 18px;display:flex}.attachments-title{color:#6b7280;text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:7px;font-size:11.5px;font-weight:700;display:flex}.attachments-count{color:#6b7280;background:#f3f4f6;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:600}.attach-browse-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;display:flex;box-shadow:0 1px 2px #0000000a}.attach-browse-btn:hover{background:#f3f4f6}.attachment-dropzone{text-align:center;color:#9ca3af;cursor:pointer;background:#fafbfc;border:2px dashed #e5e7eb;border-radius:0 0 14px 14px;margin:0;padding:28px 20px;font-size:14px;transition:all .15s}.attachment-dropzone:hover{border-color:var(--brand-blue,#2563eb);color:#6b7280;background:#f0f7ff}.attachment-dropzone.drag-over{color:#2563eb;background:#ebf5ff;border-color:#2563eb}.attachment-list{padding:4px 0}.attachment-list.drag-over{outline-offset:-4px;background:#ebf5ff;outline:2px dashed #2563eb}.attachment-drop-hint{color:#2563eb;border-top:1px solid #bfdbfe;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:13px;font-weight:600;display:flex}.attachment-item{border-bottom:1px solid #f3f4f6;align-items:center;gap:10px;padding:8px 18px;transition:background .12s;display:flex}.attachment-item:last-child{border-bottom:none}.attachment-item:hover{background:#f9fafb}.attachment-icon{color:#6b7280;background:#f3f4f6;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.attachment-info{flex:1;min-width:0}.attachment-name{color:#2563eb;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;text-decoration:none;display:block;overflow:hidden}.attachment-name:hover{text-decoration:underline}.attachment-meta{color:#9ca3af;margin-top:2px;font-size:11px}.attachment-delete{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .12s;display:flex}.attachment-delete:hover{color:#dc2626;background:#fee2e2}.attach-browse-btn:disabled{opacity:.6;cursor:not-allowed}.task-activity-panel{background:#fff;border-left:1px solid #f0f1f3;flex-direction:column;min-height:0;display:flex;overflow:hidden}.activity-header{background:#fff;border-bottom:1px solid #f0f1f3;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px 14px;display:flex}.activity-header h3{color:#111827;margin:0;font-size:14px;font-weight:700}.activity-header-actions{align-items:center;gap:2px;display:flex}.activity-bell-badge{color:#fff;pointer-events:none;background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 3px;font-size:9px;font-weight:700;display:flex;position:absolute;top:-3px;right:-3px}.activity-date-label{color:#9ca3af;text-align:center;align-items:center;gap:8px;padding:10px 0 6px;font-size:11px;font-weight:600;display:flex}.activity-date-label:before,.activity-date-label:after{content:"";background:#f0f1f3;flex:1;height:1px}.activity-feed{background:#f9fafb;flex:1;padding:8px 16px;overflow-y:auto}.activity-item{gap:10px;padding:5px 0;display:flex;position:relative}.activity-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:flex;box-shadow:0 0 0 2px #f9fafb}.activity-content{flex:1;min-width:0}.activity-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.activity-text{color:#6b7280;flex:1;font-size:12.5px;line-height:1.55}.activity-text strong{color:#374151;font-weight:600}.activity-time{color:#9ca3af;white-space:nowrap;flex-shrink:0;padding-top:1px;font-size:11px}.activity-hide-read{text-align:center;color:#1873e8;cursor:pointer;justify-content:center;align-items:center;gap:4px;padding:8px 0 12px;font-size:12px;display:flex}.activity-hide-read:hover{color:#1565cc}.activity-detail{color:#9ca3af;margin-top:2px;padding-left:0;font-size:11.5px}.activity-author-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.activity-author-name{color:#374151;font-size:12.5px;font-weight:600}.activity-comment-bubble{color:#374151;word-wrap:break-word;white-space:pre-wrap;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.5}.comment-attachments{flex-direction:column;gap:4px;margin-top:8px;display:flex}.comment-attachment-link{color:#1873e8;background:#f3f4f6;border-radius:8px;align-items:center;gap:5px;width:fit-content;padding:5px 10px;font-size:12.5px;text-decoration:none;transition:background .12s;display:inline-flex}.comment-attachment-link:hover{background:#e5e7eb}.comment-pending-attachments{flex-direction:column;gap:4px;padding:6px 14px;display:flex}.comment-pending-att{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;display:flex}.comment-pending-att-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.comment-pending-att-remove{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:flex}.comment-pending-att-remove:hover{color:#ef4444;background:#fee2e2}.activity-item.comment-type .activity-content{flex:1;min-width:0}.comment-input-area{background:#fff;border-top:1px solid #f0f1f3;flex-shrink:0;padding:12px 14px 14px}.comment-input-box{background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:14px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.comment-input-box:focus-within{background:#fff;border-color:#1873e8;box-shadow:0 0 0 3px #1873e814}.comment-textarea{color:#111827;resize:none;box-sizing:border-box;background:0 0;border:none;outline:none;width:100%;min-height:56px;max-height:120px;padding:11px 14px 6px;font-family:inherit;font-size:13.5px;line-height:1.6}.comment-textarea::placeholder{color:#9ca3af}.comment-toolbar{border-top:1px solid #f0f1f3;justify-content:space-between;align-items:center;padding:4px 6px 6px;display:flex}.comment-tools{align-items:center;gap:1px;display:flex}.comment-tool-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .12s;display:flex;position:relative}.comment-tool-btn:hover{color:#374151;background:#f3f4f6}.comment-tool-badge{color:#fff;background:#ef4444;border-radius:7px;justify-content:center;align-items:center;min-width:13px;height:13px;padding:0 2px;font-size:8px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.comment-send-btn{color:#fff;cursor:pointer;background:#1873e8;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:all .12s;display:flex}.comment-send-btn:hover{background:#1565cc}.comment-send-btn:disabled{color:#9ca3af;cursor:not-allowed;background:#e5e7eb}.task-section-icon-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .12s;display:flex;position:relative}.task-section-icon-btn:hover{color:#374151;background:#e5e7eb}.pri-flag-low{color:#6b7280}.pri-flag-medium{color:#1873e8}.pri-flag-high{color:#ffc53d}.pri-flag-urgent{color:#ef4444}.task-tag{border-radius:12px;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.td-tag-popover{border:1px solid var(--border-color-strong);border-radius:var(--radius-md);z-index:10005;background:#fff;min-width:220px;max-width:320px;max-height:340px;padding:4px;animation:.12s ease-out tdTagFadeIn;position:fixed;overflow-y:auto;box-shadow:0 10px 30px #0000001f}@keyframes tdTagFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.td-tag-popover-section{color:var(--text-tertiary);padding:8px 10px 6px;font-size:13px;font-weight:500}.td-tag-popover-item{cursor:pointer;color:var(--text-primary);border-radius:4px;align-items:center;gap:10px;padding:7px 10px;font-size:15px;transition:background .12s;display:flex}.td-tag-popover-item:hover{background:var(--bg-secondary)}.td-tag-popover-item.selected{background:var(--brand-blue-light);color:var(--brand-blue-dark)}.td-tag-popover-item.selected:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%230D5BC9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6l2.5 2.5L10 3'/%3E%3C/svg%3E") 50%/contain no-repeat;width:12px;height:12px;margin-left:auto}.td-tag-popover-empty{text-align:center;color:var(--text-tertiary);padding:16px 12px;font-size:13px}@media (max-width:860px){.task-detail-body{grid-template-columns:1fr}.task-activity-panel{display:none}.task-detail-main{padding:24px 20px 40px}}.asg-picker-dropdown{z-index:200;border:1px solid var(--border-color-strong);background:#fff;border-radius:12px;flex-direction:column;width:240px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 10px 32px #00000021}.asg-picker-search-wrap{border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:10px 12px;display:flex}.asg-picker-search{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13px}.asg-picker-search::placeholder{color:#9ca3af}.asg-picker-label{color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;padding:8px 12px 4px;font-size:11px;font-weight:600}.asg-picker-list{max-height:240px;padding:4px;overflow-y:auto}.asg-picker-option{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:9px;padding:7px 10px;transition:background .12s;display:flex}.asg-picker-option:hover{background:var(--bg-hover)}.asg-picker-option.selected{background:#eff6ff}.asg-picker-avatar{color:#fff;letter-spacing:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.asg-picker-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13.5px;font-weight:450;overflow:hidden}.property-assignee-stack{align-items:center;display:flex}.property-assignee-avatar{color:#fff;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:-6px;font-size:11px;font-weight:700;display:flex}.property-assignee-stack .property-assignee-avatar:first-child{margin-left:0}.pf-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pf-modal{background:#fff;border-radius:16px;flex-direction:column;width:90%;max-width:720px;max-height:85vh;display:flex;box-shadow:0 20px 60px #00000026}.pf-modal-header{border-bottom:1px solid #f0f1f3;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.pf-modal-title{color:#111827;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:700;display:flex}.pf-count-inline{color:#6b7280;background:#f3f4f6;border-radius:12px;justify-content:center;align-items:center;min-width:28px;height:24px;padding:0 8px;font-size:14px;font-weight:600;display:inline-flex}.pf-modal-subtitle{color:#9ca3af;margin-top:4px;font-size:14px}.pf-close-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .12s;display:flex}.pf-close-btn:hover{color:#111827;background:#f3f4f6}.pf-search-wrap{border-bottom:1px solid #f0f1f3;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 24px;display:flex}.pf-search-input-wrap{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:200px;padding:8px 12px;display:flex}.pf-search-input-wrap:focus-within{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.pf-search-input-wrap input{color:#111827;background:0 0;flex:1;font-family:inherit;font-size:14px;border:none!important;outline:none!important}.pf-filter-select{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:130px;padding:8px 10px;font-family:inherit;font-size:14px}.pf-filter-select:hover{border-color:#2563eb}.pf-stats{background:#f9fafb;border-bottom:1px solid #f0f1f3;flex-wrap:wrap;gap:28px;padding:14px 24px;display:flex}.pf-stat{flex-direction:column;gap:3px;min-width:70px;display:flex}.pf-stat-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.pf-stat-value{color:#111827;font-size:20px;font-weight:600}.pf-list{flex:1;padding:8px;overflow-y:auto}.pf-item{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:background .12s;display:flex}.pf-item:hover{background:#f9fafb;border-color:#e5e7eb}.pf-item-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.pf-icon-image{color:#2563eb;background:#dbeafe}.pf-icon-pdf{color:#dc2626;background:#fee2e2}.pf-icon-doc{color:#2563eb;background:#dbeafe}.pf-icon-sheet{color:#059669;background:#d1fae5}.pf-icon-archive{color:#d97706;background:#fef3c7}.pf-icon-other{color:#6b7280;background:#f3f4f6}.pf-item-info{flex:1;min-width:0}.pf-item-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.pf-item-task{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;margin-top:2px;font-size:12px;display:flex;overflow:hidden}.pf-item-task-link{color:#2563eb}.pf-item-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.pf-item-download{color:#6b7280;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:2px;transition:all .12s;display:flex}.pf-item-download:hover{color:#2563eb;background:#dbeafe}.pf-item-size{color:#6b7280;font-size:12px;font-weight:500}.pf-item-date{color:#9ca3af;font-size:11px}.pf-empty{text-align:center;color:#9ca3af;padding:60px 24px;font-size:15px}.pf-empty svg{opacity:.4;margin-bottom:12px}.pf-modal-footer{border-top:1px solid #f0f1f3;justify-content:flex-end;padding:12px 24px;display:flex}.pf-footer-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:all .12s}.pf-footer-btn:hover{color:#2563eb;background:#f9fafb;border-color:#2563eb}
