@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--font:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-base:#090a0f;--bg-surface:#0e1017;--bg-card:#12141d;--bg-card-hover:#171a26;--bg-card-sub:#151722;--bg-input:#171924;--bg-glass:#0e1017d9;--border:#ffffff14;--border-strong:#ffffff26;--border-focus:#6366f1;--accent-primary:#4f46e5;--accent-hover:#4338ca;--accent-light:#6366f1;--accent-soft:#6366f11f;--accent-border:#6366f14d;--pri-high:#ef4444;--pri-medium:#f59e0b;--pri-low:#10b981;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#818cf8;--r-xs:5px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--t-fast:.15s ease;--t-mid:.25s ease;--t-spring:.35s cubic-bezier(.16, 1, .3, 1);--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 10px 30px #00000080;--shadow-xl:0 20px 50px #000000a6;--scrollbar-thumb:#ffffff26;--scrollbar-thumb-hover:#ffffff47}:root[data-theme=light],html[data-theme=light],body[data-theme=light],[data-theme=light]{--bg-base:#f1f5f9;--bg-surface:#fff;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-card-sub:#f8fafc;--bg-input:#f1f5f9;--bg-glass:#ffffffe6;--border:#0000001a;--border-strong:#0000002e;--border-focus:#4f46e5;--accent-primary:#4f46e5;--accent-hover:#3730a3;--accent-light:#6366f1;--accent-soft:#6366f11a;--accent-border:#6366f14d;--pri-high:#dc2626;--pri-medium:#d97706;--pri-low:#059669;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-accent:#4f46e5;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 25px #0000001f;--shadow-xl:0 20px 40px #00000026;--scrollbar-thumb:#0003;--scrollbar-thumb-hover:#0006}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;transition:background-color .2s,color .2s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}button{font-family:var(--font);cursor:pointer;color:inherit;background:0 0;border:none}input,textarea,select{font-family:var(--font);color:inherit}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes checkPop{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes toastSlide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{background-color:var(--bg-base);width:100vw;height:100vh;color:var(--text-primary);display:flex;position:relative;overflow:hidden}.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:auto;background:var(--bg-card);border:1px solid var(--border-strong);border-left:4px solid var(--accent-light);border-radius:var(--r-sm);color:var(--text-primary);box-shadow:var(--shadow-lg);animation:toastSlide .25s var(--t-spring) both;align-items:center;gap:10px;padding:12px 18px;font-size:.85rem;font-weight:500;display:flex}.left-panel{background:var(--bg-surface);border-right:1px solid var(--border);z-index:2;flex-direction:column;flex-shrink:0;width:320px;height:100vh;display:flex;position:relative;overflow:hidden}.left-panel-inner{flex-direction:column;flex:1;gap:20px;padding:24px 20px 28px;display:flex;overflow-y:auto}.brand-row{justify-content:space-between;align-items:center;width:100%;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-icon{background:var(--bg-card);border:1px solid var(--border-strong);width:42px;height:42px;transition:transform var(--t-fast), box-shadow var(--t-fast);cursor:pointer;border-radius:11px;flex-shrink:0;place-items:center;display:grid;overflow:hidden;box-shadow:0 4px 14px #4f46e538}.brand-icon:hover{transform:scale(1.06);box-shadow:0 6px 20px #4f46e561}.brand-icon-img{object-fit:cover;width:100%;height:100%;display:block}.brand-title{flex-direction:column;line-height:1.15;display:flex}.brand-title-lead{letter-spacing:-.02em;color:var(--text-primary);background:linear-gradient(135deg, var(--text-primary) 30%, var(--accent-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.18rem;font-weight:800}.brand-title-sub{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-light);margin-top:2px;font-size:.74rem;font-weight:700}.brand-sub{color:var(--text-secondary);margin-top:2px;font-size:.7rem;font-weight:500}.theme-toggle-btn{border-radius:var(--r-sm);background:var(--bg-card);border:1px solid var(--border);width:34px;height:34px;color:var(--text-primary);cursor:pointer;transition:all var(--t-fast);flex-shrink:0;place-items:center;font-size:1rem;display:grid}.theme-toggle-btn:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.today-highlight{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;gap:12px;padding:12px 16px;display:flex}.today-dot{background:var(--accent-light);border-radius:50%;flex-shrink:0;width:8px;height:8px}.today-date{color:var(--text-primary);font-size:.82rem;font-weight:600}.today-weekday{color:var(--text-muted);margin-top:1px;font-size:.7rem}.google-auth-section{flex-direction:column;gap:8px;display:flex}.btn-google-auth{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-sm);width:100%;color:var(--text-primary);cursor:pointer;transition:all var(--t-fast);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:.84rem;font-weight:600;display:flex}.btn-google-auth:hover{background:var(--bg-card-hover);border-color:var(--accent-light);transform:translateY(-1px)}.google-icon{flex-shrink:0}.google-user-card{background:var(--bg-card);border:1px solid var(--accent-border);border-radius:var(--r-md);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.google-user-left{align-items:center;gap:10px;min-width:0;display:flex}.google-user-img{object-fit:cover;border:1.5px solid var(--accent-light);border-radius:50%;flex-shrink:0;width:32px;height:32px}.google-user-avatar{background:var(--accent-soft);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:.9rem;display:grid}.google-user-info{flex-direction:column;min-width:0;display:flex}.google-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:700;overflow:hidden}.google-user-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.btn-google-signout{color:var(--pri-high);border-radius:var(--r-xs);cursor:pointer;white-space:nowrap;transition:all var(--t-fast);background:#ef44441f;border:1px solid #ef444440;flex-shrink:0;padding:4px 8px;font-size:.72rem;font-weight:600}.btn-google-signout:hover{border-color:var(--pri-high);background:#ef444438}.divider{background:var(--border);width:100%;height:1px}.users-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:16px;padding:16px;display:flex}.users-card-header{flex-direction:column;gap:4px;display:flex}.users-card-title{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:.92rem;font-weight:700;display:flex}.user-count-badge{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--r-xs);padding:2px 8px;font-size:.7rem;font-weight:600}.users-card-sub{color:var(--text-secondary);font-size:.74rem;line-height:1.4}.add-user-form{flex-direction:column;gap:10px;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700}.form-input,.form-select,.form-textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text-primary);transition:border-color var(--t-fast), background var(--t-fast);outline:none;padding:9px 12px;font-size:.85rem}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-light);background:var(--bg-card-hover)}.picker-row{flex-direction:column;gap:8px;display:flex}.avatar-picker{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.avatar-opt{border-radius:var(--r-xs);background:var(--bg-input);border:1px solid var(--border);cursor:pointer;width:30px;height:30px;transition:all var(--t-fast);place-items:center;font-size:.9rem;display:grid}.avatar-opt:hover{border-color:var(--border-strong)}.avatar-opt.active{border-color:var(--accent-light);background:var(--accent-soft)}.color-picker{align-items:center;gap:8px;display:flex}.color-dot{cursor:pointer;width:20px;height:20px;transition:transform var(--t-fast), border-color var(--t-fast);border:2px solid #0000;border-radius:50%}.color-dot:hover{transform:scale(1.1)}.color-dot.active{border-color:var(--text-primary);transform:scale(1.15)}.btn-add-user{background:var(--accent-primary);color:#fff;border-radius:var(--r-sm);width:100%;transition:background var(--t-fast), transform var(--t-fast);justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:10px 14px;font-size:.84rem;font-weight:600;display:flex}.btn-add-user:hover:not(:disabled){background:var(--accent-hover)}.btn-add-user:disabled{opacity:.4;cursor:not-allowed}.users-list-section{flex-direction:column;display:flex}.users-list{flex-direction:column;gap:6px;margin-top:6px;display:flex}.user-item-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-sm);transition:all var(--t-fast);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.user-item-card.clickable{cursor:pointer}.user-item-card.clickable:hover{border-color:var(--accent-border);background:var(--bg-card-hover)}.user-item-left{align-items:center;gap:10px;min-width:0;display:flex}.user-avatar-badge{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.82rem;display:grid}.user-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:600;overflow:hidden}.user-pending-count{color:var(--text-secondary);margin-top:1px;font-size:.7rem}.user-item-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.btn-view-pending{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xs);transition:all var(--t-fast);padding:3px 8px;font-size:.72rem;font-weight:600}.user-item-card:hover .btn-view-pending{border-color:var(--accent-border);color:var(--accent-light);background:var(--accent-soft)}.user-del-btn{border-radius:var(--r-xs);width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:all var(--t-fast);background:0 0;border:none;place-items:center;font-size:.75rem;display:grid}.user-del-btn:hover{color:var(--pri-high);background:#ef444426}.btn-jump-today{background:var(--bg-card);width:100%;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--r-sm);transition:all var(--t-fast);justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.82rem;font-weight:600;display:flex}.btn-jump-today:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-card-hover)}.right-panel{z-index:1;flex-direction:column;flex:1;height:100vh;display:flex;position:relative;overflow:hidden}.scroller-header{border-bottom:1px solid var(--border);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.scroller-title{color:var(--text-primary);align-items:center;gap:12px;font-size:1.1rem;font-weight:700;display:flex}.scroller-title-pill{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--r-xs);padding:3px 10px;font-size:.72rem;font-weight:600}.jump-today-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--r-sm);transition:all var(--t-fast);align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;display:flex}.jump-today-btn:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-card-hover)}.timelines-grid-wrapper{flex:1;gap:20px;height:calc(100vh - 65px);padding:24px;display:flex;overflow-x:auto}.user-timeline-column{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);min-width:360px;max-width:500px;height:100%;box-shadow:var(--shadow-sm);transition:border-color var(--t-mid);flex-direction:column;flex:1;display:flex;overflow:hidden}.user-timeline-column:hover{border-color:var(--border-strong)}.timeline-col-header{background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.timeline-user-info{align-items:center;gap:10px;min-width:0;display:flex}.timeline-user-info.clickable{cursor:pointer;border-radius:var(--r-xs);transition:background var(--t-fast);padding:4px 8px}.timeline-user-info.clickable:hover{background:var(--bg-card-hover)}.timeline-user-name{color:var(--text-primary);font-size:.92rem;font-weight:700;line-height:1.2}.timeline-user-sub{color:var(--text-secondary);font-size:.7rem;font-weight:500}.col-pending-pill{color:var(--accent-light);background:var(--accent-soft);border-radius:var(--r-xs);margin-left:4px;padding:2px 6px;font-size:.68rem;font-weight:600}.col-jump-today-btn{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--r-xs);transition:all var(--t-fast);flex-shrink:0;align-items:center;gap:4px;padding:5px 10px;font-size:.74rem;font-weight:600;display:flex}.col-jump-today-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.scroll-viewport{flex:1;overflow:hidden auto}.cards-container{flex-direction:column;gap:0;padding:20px;display:flex}.date-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--t-mid), box-shadow var(--t-mid);margin-bottom:16px;animation:.3s both fadeSlideUp;overflow:hidden}.date-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.date-card.is-today{border-color:var(--accent-border);box-shadow:0 0 0 1px var(--accent-border), var(--shadow-md)}.card-header{border-bottom:1px solid var(--border);background:var(--bg-card-sub);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.card-date-block{align-items:center;gap:10px;display:flex}.card-day-num{color:var(--text-primary);min-width:28px;font-size:1.4rem;font-weight:800;line-height:1}.card-day-num.is-today-num{color:var(--accent-light)}.card-date-info{flex-direction:column;gap:1px;display:flex}.card-month-year{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.card-weekday{color:var(--text-primary);font-size:.85rem;font-weight:700}.card-badges{align-items:center;gap:6px;display:flex}.badge{border-radius:var(--r-xs);letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;font-size:.65rem;font-weight:700}.badge-today{background:var(--accent-primary);color:#fff}.badge-weekend{color:#f472b6;background:#ec48991f;border:1px solid #ec489933}.badge-count{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border)}.card-body{padding:14px 16px}.task-list{flex-direction:column;gap:8px;margin-bottom:10px;list-style:none;display:flex}.task-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-sm);transition:all var(--t-fast);animation:popIn .2s var(--t-spring) both;align-items:flex-start;gap:10px;padding:9px 12px;display:flex;position:relative}.task-item:before{content:"";border-radius:3px 0 0 3px;width:3px;position:absolute;top:0;bottom:0;left:0}.task-item[data-priority=high]:before{background:var(--pri-high)}.task-item[data-priority=medium]:before{background:var(--pri-medium)}.task-item[data-priority=low]:before{background:var(--pri-low)}.task-item:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.task-item.done{opacity:.5}.task-item.done .task-text{color:var(--text-muted);text-decoration:line-through}.task-check{border:1.5px solid var(--text-muted);cursor:pointer;width:17px;height:17px;transition:all var(--t-fast);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;margin-top:2px;display:grid}.task-check:hover{border-color:var(--accent-light);background:var(--accent-soft)}.task-check.checked{background:var(--accent-primary);border-color:var(--accent-primary)}.task-check.checked:after{content:"✓";color:#fff;animation:checkPop .2s var(--t-spring) both;font-size:.62rem;font-weight:800}.task-body{flex:1;min-width:0}.task-text{word-break:break-word;color:var(--text-primary);font-size:.85rem;font-weight:500;line-height:1.4}.task-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.task-tag{border-radius:var(--r-xs);padding:1px 6px;font-size:.65rem;font-weight:600}.task-tag-work{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f633}.task-tag-personal{color:#f472b6;background:#ec48991f;border:1px solid #ec489933}.task-tag-health{color:#34d399;background:#10b9811f;border:1px solid #10b98133}.task-tag-learning{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b33}.task-tag-other{color:#94a3b8;background:#64748b1f;border:1px solid #64748b33}.task-pri-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.task-actions{opacity:0;transition:opacity var(--t-fast);align-items:center;gap:4px;display:flex}.task-item:hover .task-actions{opacity:1}.task-action-btn{border-radius:var(--r-xs);width:24px;height:24px;color:var(--text-muted);cursor:pointer;transition:all var(--t-fast);background:0 0;border:1px solid #0000;place-items:center;font-size:.75rem;display:grid}.task-action-btn.edit-btn:hover{background:var(--bg-card);border-color:var(--border-strong);color:var(--text-primary)}.task-action-btn.del-btn:hover{color:var(--pri-high);background:#ef444426;border-color:#ef44444d}.task-item.is-editing-card{background:var(--bg-card-sub);border-color:var(--accent-border);padding:12px}.task-full-edit-form{flex-direction:column;gap:8px;width:100%;display:flex}.task-full-edit-form .form-input,.task-full-edit-form .form-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--r-xs);padding:7px 10px;font-size:.82rem}.task-full-edit-form .form-input:focus,.task-full-edit-form .form-select:focus{border-color:var(--accent-light)}.card-add-area{margin-top:8px}.card-add-toggle{background:var(--bg-surface);border:1px dashed var(--border);border-radius:var(--r-sm);width:100%;color:var(--text-secondary);transition:all var(--t-fast);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;font-weight:600;display:flex}.card-add-toggle:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-card-hover)}.card-add-toggle .plus{color:var(--accent-light);font-size:.9rem;font-weight:700}.card-inline-form{background:var(--bg-card-sub);border:1px solid var(--border-strong);border-radius:var(--r-sm);flex-direction:column;gap:10px;padding:12px;animation:.2s both fadeSlideUp;display:flex}.card-inline-form .form-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--r-xs);padding:8px 10px;font-size:.84rem}.card-inline-form .form-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--r-xs);padding:8px 10px;font-size:.8rem}.inline-form-row{align-items:center;gap:8px;display:flex}.inline-form-row .form-select{flex:1}.btn-inline-add{background:var(--accent-primary);color:#fff;border-radius:var(--r-xs);transition:background var(--t-fast);padding:8px 14px;font-size:.8rem;font-weight:600}.btn-inline-add:hover:not(:disabled){background:var(--accent-hover)}.btn-inline-add:disabled{opacity:.4;cursor:not-allowed}.btn-inline-cancel{border:1px solid var(--border);border-radius:var(--r-xs);color:var(--text-secondary);transition:all var(--t-fast);background:0 0;padding:8px 12px;font-size:.8rem}.btn-inline-cancel:hover{border-color:var(--border-strong);color:var(--text-primary)}.form-tab-header{background:var(--bg-surface);border-radius:var(--r-xs);border:1px solid var(--border);gap:4px;margin-bottom:2px;padding:3px;display:flex}.form-tab-btn{color:var(--text-muted);cursor:pointer;transition:all var(--t-fast);background:0 0;border:none;border-radius:4px;flex:1;padding:6px 8px;font-size:.74rem;font-weight:600}.form-tab-btn:hover{color:var(--text-primary)}.form-tab-btn.active{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.existing-tasks-container{flex-direction:column;gap:8px;display:flex}.existing-tasks-list{flex-direction:column;gap:6px;max-height:180px;display:flex;overflow-y:auto}.existing-task-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;transition:all var(--t-fast);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.existing-task-item:hover{border-color:var(--accent-border);background:var(--accent-soft)}.existing-task-title{color:var(--text-primary);font-size:.82rem;font-weight:600}.btn-add-existing-pick{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--r-xs);padding:3px 8px;font-size:.72rem;font-weight:600}.existing-task-item:hover .btn-add-existing-pick{background:var(--accent-primary);color:#fff;border-color:#0000}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:999;background:#000000bf;place-items:center;padding:20px;animation:.2s ease-out fadeIn;display:grid;position:fixed;inset:0}.modal-container.pending-modal{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-lg);width:100%;max-width:600px;max-height:85vh;box-shadow:var(--shadow-xl);animation:popIn .25s var(--t-spring);flex-direction:column;display:flex;overflow:hidden}.modal-header{background:var(--bg-card-sub);border-bottom:1px solid var(--border);flex-shrink:0;padding:16px 20px}.modal-title-row{justify-content:space-between;align-items:center;display:flex}.modal-user-info{align-items:center;gap:12px;display:flex}.modal-user-name{color:var(--text-primary);font-size:1.1rem;font-weight:700}.modal-sub{color:var(--text-secondary);margin-top:2px;font-size:.74rem}.modal-close-btn{background:var(--bg-surface);border:1px solid var(--border);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);border-radius:50%;place-items:center;font-size:.85rem;display:grid}.modal-close-btn:hover{color:var(--pri-high);background:#ef444426;border-color:#ef44444d}.modal-body{flex:1;padding:20px;overflow-y:auto}.empty-pending-state{text-align:center;flex-direction:column;align-items:center;padding:40px 20px;display:flex}.empty-pending-icon{margin-bottom:12px;font-size:2.5rem}.empty-pending-title{color:var(--text-primary);font-size:1.1rem;font-weight:700}.empty-pending-sub{color:var(--text-secondary);margin-top:4px;font-size:.82rem}.pending-tasks-list{flex-direction:column;gap:10px;display:flex}.pending-task-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-sm);transition:all var(--t-fast);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.pending-task-card:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.pending-task-left{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.pending-task-details{flex-direction:column;gap:4px;min-width:0;display:flex}.pending-task-date-pill{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xs);width:fit-content;padding:2px 7px;font-size:.7rem;font-weight:600;display:inline-flex}.pending-task-title{color:var(--text-primary);word-break:break-word;font-size:.88rem;font-weight:600}.pending-task-note{color:var(--text-muted);font-size:.74rem;font-style:italic}.btn-jump-date-card{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--r-xs);cursor:pointer;white-space:nowrap;transition:all var(--t-fast);flex-shrink:0;padding:6px 12px;font-size:.76rem;font-weight:600}.btn-jump-date-card:hover{background:var(--accent-primary);color:#fff;border-color:#0000}.graph-page-shell{background:var(--bg-base);height:100vh;color:var(--text-primary);z-index:10;flex-direction:column;display:flex;position:relative;overflow:hidden}.graph-nav-header{background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:20;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.graph-nav-left{align-items:center;gap:16px;display:flex}.btn-back{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--r-sm);cursor:pointer;transition:all var(--t-fast);padding:7px 14px;font-size:.82rem;font-weight:600}.btn-back:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.user-graph-profile{align-items:center;gap:10px;display:flex}.graph-user-name{color:var(--text-primary);font-size:1.05rem;font-weight:700}.graph-user-sub{color:var(--text-secondary);font-size:.72rem}.graph-nav-controls{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.graph-filter-group{background:var(--bg-card);border-radius:var(--r-xs);border:1px solid var(--border);gap:3px;padding:3px;display:flex}.graph-filter-btn{color:var(--text-muted);cursor:pointer;transition:all var(--t-fast);background:0 0;border:none;border-radius:4px;padding:5px 10px;font-size:.74rem;font-weight:600}.graph-filter-btn:hover{color:var(--text-primary)}.graph-filter-btn.active{background:var(--accent-primary);color:#fff}.graph-select{background:var(--bg-card);border-color:var(--border);border-radius:var(--r-xs);width:auto;padding:5px 10px;font-size:.78rem}.zoom-controls-group{background:var(--bg-card);border-radius:var(--r-xs);border:1px solid var(--border);align-items:center;gap:8px;padding:4px 8px;display:flex}.zoom-label{color:var(--text-muted);font-size:.74rem;font-weight:600}.zoom-btn{background:var(--bg-surface);border:1px solid var(--border);width:24px;height:24px;color:var(--text-primary);cursor:pointer;transition:all var(--t-fast);border-radius:4px;place-items:center;font-size:.8rem;font-weight:700;display:grid}.zoom-btn:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.zoom-slider{width:80px;accent-color:var(--accent-primary);cursor:pointer}.tape-graph-layout{background:var(--bg-base);flex:1;display:flex;position:relative;overflow:hidden}.tape-graph-viewport{background:var(--bg-base);flex:1;position:relative;overflow:auto}.tape-graph-viewport.full-width{width:100%}.tape-graph-canvas{min-height:100%;padding-bottom:70px;position:relative}.tape-grid-lines{pointer-events:none;position:absolute;inset:0}.grid-col-line{border-right:1px solid #ffffff08;position:absolute;top:0;bottom:0}.grid-col-line.weekend-line{background:#ffffff04}.grid-col-line.month-line{border-right:1px dashed #ffffff1f}.grid-col-line.today-line{border-right:2px solid var(--accent-light);background:var(--accent-soft)}.tape-bars-rows-container{z-index:5;flex-direction:column;padding:20px 0;display:flex;position:relative}.tape-bars-rows-container.full-width{width:100%}.tape-bar-row{border-bottom:1px solid #ffffff08;align-items:center;height:52px;display:flex;position:relative}.tape-ribbon-bar{border-radius:var(--r-xs);border:1px solid var(--border-strong);height:32px;box-shadow:var(--shadow-sm);transition:transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);cursor:pointer;align-items:center;display:flex;position:absolute;overflow:hidden}.tape-ribbon-bar:hover{box-shadow:var(--shadow-md);z-index:10;transform:translateY(-2px);border-color:#fff!important}.tape-ribbon-bar.is-completed{opacity:.5}.tape-ribbon-bg{pointer-events:none;opacity:.9;position:absolute;inset:0}.tape-ribbon-content.clean-title-only{z-index:2;white-space:nowrap;justify-content:flex-start;align-items:center;width:100%;padding:0 12px;display:flex;position:relative}.tape-title-text-only{color:#fff;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;font-size:.84rem;font-weight:700;overflow:hidden}.graph-hover-tooltip{z-index:9999;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);pointer-events:none;flex-direction:column;gap:6px;min-width:220px;max-width:320px;padding:12px 14px;animation:.12s ease-out fadeIn;display:flex;position:fixed}.tooltip-title{color:var(--text-primary);border-bottom:1px solid var(--border);margin-bottom:2px;padding-bottom:6px;font-size:.88rem;font-weight:700}.tooltip-row{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.76rem;display:flex}.tooltip-status.completed{color:var(--pri-low);font-weight:600}.tooltip-status.pending{color:var(--pri-medium);font-weight:600}.tooltip-note{color:var(--text-primary);background:var(--bg-surface);border-radius:var(--r-xs);border-left:2px solid var(--accent-light);padding:6px 8px;font-size:.74rem;font-style:italic}.tooltip-hint{color:var(--text-muted);text-align:center;margin-top:4px;font-size:.68rem;font-weight:500}.modal-detail-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:14px}.btn-task-status-toggle{border-radius:var(--r-xs);cursor:pointer;transition:all var(--t-fast);border:1px solid #0000;padding:5px 12px;font-size:.76rem;font-weight:600}.btn-task-status-toggle.completed{color:#34d399;background:#10b98126;border-color:#10b9814d}.btn-task-status-toggle.pending{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b4d}.carried-dates-chips{flex-wrap:wrap;gap:6px;display:flex}.date-chip{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--r-xs);padding:2px 7px;font-size:.7rem;font-weight:600}.fixed-bottom-screen-axis{background:var(--bg-surface);border-top:1px solid var(--border-strong);z-index:100;pointer-events:all;height:60px;position:fixed;bottom:0;left:0;right:0;overflow-x:hidden;box-shadow:0 -4px 20px #00000080}.fixed-bottom-axis-inner{height:100%;position:relative}.timeline-axis-tick{color:var(--text-muted);border-right:1px solid #ffffff0d;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0}.timeline-axis-tick.is-today-tick{background:var(--accent-soft);color:var(--accent-light);border-right-color:var(--accent-light);font-weight:700}.timeline-axis-tick.is-weekend-tick{background:#ffffff04}.axis-month-banner{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:.65rem;font-weight:700;position:absolute;top:4px}.axis-day-num{margin-top:12px;font-size:.88rem;font-weight:700;line-height:1}.axis-month-name{text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:.6rem;font-weight:600}.no-timelines-card{text-align:center;background:var(--bg-card);border:1px dashed var(--border-strong);border-radius:var(--r-md);width:100%;max-width:500px;min-height:380px;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;margin:60px auto;padding:40px 24px;animation:.3s ease-out fadeIn;display:flex}
