@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--font-display: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--sidebar-width: 260px;--content-max-width: 820px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--bg-page: #f2eeeb;--bg-mesh-1: rgba(167, 139, 250, .05);--bg-mesh-2: rgba(251, 146, 60, .03);--bg-mesh-3: rgba(52, 211, 153, .03);--bg-mesh-4: rgba(244, 114, 182, .02);--glass-bg: rgba(255, 255, 255, .58);--glass-bg-hover: rgba(255, 255, 255, .74);--glass-bg-strong: rgba(255, 255, 255, .82);--glass-border: rgba(255, 255, 255, .55);--glass-border-subtle: rgba(0, 0, 0, .06);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .06);--glass-shadow-lg: 0 16px 48px rgba(0, 0, 0, .08);--glass-blur: 20px;--bg-primary: #ffffff;--bg-secondary: rgba(255, 255, 255, .5);--bg-tertiary: rgba(0, 0, 0, .025);--text-primary: #1a1a1e;--text-secondary: #6b6b76;--text-tertiary: #9e9ea7;--border-color: rgba(0, 0, 0, .08);--border-light: rgba(0, 0, 0, .04);--accent: #667eea;--accent-hover: #5568d3;--accent-light: rgba(102, 126, 234, .12);--accent-glow: rgba(102, 126, 234, .2);--success: #34c759;--success-light: rgba(52, 199, 89, .12);--danger: #ff3b30;--danger-light: rgba(255, 59, 48, .1);--danger-hover: #e6342a;--warning: #ffcc00;--warning-light: rgba(255, 204, 0, .12);--info: #007AFF;--card-shadow: var(--glass-shadow);--modal-shadow: 0 24px 80px rgba(0, 0, 0, .12);--input-bg: rgba(0, 0, 0, .03);--input-bg-hover: rgba(0, 0, 0, .06);--overlay-bg: rgba(0, 0, 0, .24);--sidebar-bg: rgba(255, 255, 255, .65);--sidebar-border: rgba(0, 0, 0, .06);--nav-item-hover: rgba(0, 0, 0, .04);--nav-item-active: rgba(102, 126, 234, .1);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--bg-page: #0c0c0e;--bg-mesh-1: rgba(102, 126, 234, .14);--bg-mesh-2: rgba(167, 139, 250, .1);--bg-mesh-3: rgba(52, 211, 153, .06);--bg-mesh-4: rgba(244, 114, 182, .05);--glass-bg: rgba(255, 255, 255, .045);--glass-bg-hover: rgba(255, 255, 255, .075);--glass-bg-strong: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .08);--glass-border-subtle: rgba(255, 255, 255, .04);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--glass-shadow-lg: 0 16px 48px rgba(0, 0, 0, .4);--bg-primary: rgba(20, 20, 22, .9);--bg-secondary: rgba(255, 255, 255, .05);--bg-tertiary: rgba(255, 255, 255, .025);--text-primary: #ededf0;--text-secondary: #8e8e93;--text-tertiary: #636366;--border-color: rgba(255, 255, 255, .08);--border-light: rgba(255, 255, 255, .04);--accent: #8090f0;--accent-hover: #6b7ce3;--accent-light: rgba(128, 144, 240, .15);--accent-glow: rgba(128, 144, 240, .25);--success: #30d158;--success-light: rgba(48, 209, 88, .15);--danger: #ff453a;--danger-light: rgba(255, 69, 58, .12);--danger-hover: #ff5e55;--warning: #ffd60a;--warning-light: rgba(255, 214, 10, .12);--info: #0a84ff;--card-shadow: var(--glass-shadow);--modal-shadow: 0 24px 80px rgba(0, 0, 0, .5);--input-bg: rgba(255, 255, 255, .05);--input-bg-hover: rgba(255, 255, 255, .08);--overlay-bg: rgba(0, 0, 0, .55);--sidebar-bg: rgba(20, 20, 22, .75);--sidebar-border: rgba(255, 255, 255, .06);--nav-item-hover: rgba(255, 255, 255, .05);--nav-item-active: rgba(128, 144, 240, .14)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);line-height:1.5;font-weight:400;color:var(--text-primary);min-width:320px;min-height:100vh;background-color:var(--bg-page);background-image:radial-gradient(ellipse 80% 60% at 15% 40%,var(--bg-mesh-1) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 85% 20%,var(--bg-mesh-2) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 35% 85%,var(--bg-mesh-3) 0%,transparent 50%),radial-gradient(ellipse 40% 50% at 90% 75%,var(--bg-mesh-4) 0%,transparent 45%);background-attachment:fixed}a{color:var(--accent);text-decoration:none}a:hover{opacity:.85}button{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#8080802e;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#80808052}*{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.18) transparent}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--bg-page);padding:2rem}.login-box{background:var(--bg-primary);padding:3rem 2.5rem;border-radius:24px;width:100%;max-width:420px;border:1px solid var(--border-light)}.login-box h1{margin-bottom:2rem;color:var(--text-primary);text-align:center;font-size:2rem;font-weight:700;letter-spacing:-.03em;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.625rem;color:var(--text-primary);font-weight:600;font-size:.875rem;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}.form-group input{width:100%;padding:1rem 1.25rem;border:1px solid var(--border-light);border-radius:12px;font-size:.9375rem;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;transition:all .2s cubic-bezier(.4,0,.2,1);background:var(--bg-secondary);color:var(--text-primary)}.form-group input::placeholder{color:var(--text-secondary)}.form-group input:focus{outline:none;background:var(--bg-primary);border-color:var(--text-primary)}.btn-primary{width:100%;padding:1rem;background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;margin-top:1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}.btn-primary:hover{opacity:.9}.btn-primary:active{transform:scale(.98)}.btn-link{width:100%;padding:.75rem;background:none;color:var(--text-primary);border:none;cursor:pointer;margin-top:1rem;font-size:.875rem;font-weight:500;transition:opacity .2s;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;opacity:.6}.btn-link:hover{opacity:1}.error{background:#ff3b301a;color:var(--danger);padding:.875rem;border-radius:12px;margin-bottom:1rem;font-size:.875rem;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}.message{background:#34c7591a;color:var(--success);padding:.875rem;border-radius:12px;margin-bottom:1rem;font-size:.875rem;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}@media(max-width:640px){.login-box{padding:2rem 1.5rem}.login-box h1{font-size:1.75rem}}.user-avatar{border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid #fff;box-shadow:0 2px 4px #0000001a}.user-avatar-small{width:24px;height:24px}.user-avatar-medium{width:32px;height:32px}.user-avatar-large{width:48px;height:48px}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#e0e0e0;color:#666;font-weight:600}.user-avatar-small .avatar-placeholder{font-size:11px}.user-avatar-medium .avatar-placeholder{font-size:14px}.user-avatar-large .avatar-placeholder{font-size:20px}.task-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:.875rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.375rem;position:relative;box-shadow:var(--glass-shadow)}.task-card:hover{background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-lg);transform:translateY(-1px)}.task-card.selected{outline:2px solid var(--accent);outline-offset:-2px}.task-card.focused{box-shadow:0 0 0 2px var(--accent-light),var(--glass-shadow)}.task-card.completed{opacity:.5}.task-card.completed .task-title{text-decoration:line-through;color:var(--text-tertiary)}.task-card.processing{animation:shimmer 1.8s infinite linear;background-size:200% 100%;background-image:linear-gradient(-45deg,var(--glass-bg) 0%,var(--glass-bg-hover) 50%,var(--glass-bg) 100%)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.task-card-header{display:flex;justify-content:space-between;align-items:flex-start}.task-header-left{display:flex;align-items:center;gap:.625rem}.task-checkbox{width:20px;height:20px;border:2px solid var(--border-color);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;background:var(--glass-bg)}.task-checkbox:hover{border-color:var(--accent);transform:scale(1.08)}.task-checkbox.checked{background:var(--success);border-color:var(--success);color:#fff}.task-checkbox svg{animation:checkmark .3s cubic-bezier(.4,0,.2,1)}@keyframes checkmark{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.2) rotate(0)}to{transform:scale(1) rotate(0);opacity:1}}.task-icon{width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.task-actions{display:flex;gap:.125rem;opacity:0;transition:opacity .15s ease}.task-card:hover .task-actions{opacity:1}.btn-action{width:30px;height:30px;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);transition:all .15s ease;color:var(--text-primary);text-decoration:none;opacity:.45}.btn-action:hover{background:var(--input-bg-hover);opacity:1}.btn-action:active{background:var(--border-light);transform:scale(.92)}.btn-delete:hover{background:var(--danger-light);color:var(--danger);opacity:1}.task-content{flex:1;display:flex;flex-direction:column;gap:.375rem}.task-title{margin:0;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;line-height:1.35;word-break:break-word;cursor:text}.inline-edit-input{width:100%;margin:0;padding:.125rem .375rem;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;line-height:1.35;border:1px solid var(--accent);border-radius:4px;background:var(--glass-bg-strong);outline:none;box-shadow:0 0 0 2px var(--accent-light)}.task-date-area{position:relative}.task-date-trigger{display:inline-flex;align-items:center;padding:.125rem .375rem;border-radius:6px;cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--text-tertiary);transition:all .15s}.task-date-trigger:hover{background:var(--input-bg);color:var(--text-primary)}.task-date-trigger.has-date{color:var(--text-secondary)}.task-date-trigger:not(.has-date){opacity:0}.task-card:hover .task-date-trigger:not(.has-date){opacity:.6}.task-card:has(.quick-date-picker){z-index:100}.quick-date-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:999;background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--modal-shadow);padding:.375rem;min-width:200px;animation:menuSlideDown .15s ease-out}.quick-date-picker button{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.4rem .625rem;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--text-primary);transition:background .15s;font-family:var(--font-body)}.quick-date-picker button:hover{background:var(--nav-item-hover)}.quick-date-picker input[type=date]{width:100%;padding:.4rem .625rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;outline:none}.quick-date-picker input[type=date]:focus{border-color:var(--accent)}.quick-date-divider{height:1px;background:var(--border-light);margin:.25rem .5rem}.quick-date-remove{color:var(--danger)!important}.task-date,.task-time{color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;opacity:.8}.task-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45;margin:0;opacity:.75}.task-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.375rem}.task-tag{display:inline-block;padding:.2rem .5rem;background:var(--input-bg);border-radius:6px;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary)}.task-recurring-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:var(--accent-light);color:var(--info);border-radius:6px;font-size:var(--text-xs);font-weight:500}.meeting-link-section{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.btn-join-meeting{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--input-bg);color:var(--text-primary);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;text-decoration:none;transition:all .15s}.btn-join-meeting:hover{background:var(--input-bg-hover)}.task-meta{padding-top:.5rem;border-top:1px solid var(--glass-border-subtle);position:relative;display:flex;gap:.5rem;align-items:center}.task-space-badge{display:flex;align-items:center;gap:4px;font-size:11px;padding:2px 6px;border-radius:4px;background:var(--input-bg);margin-right:6px;color:var(--text-secondary)}.task-space-badge .space-badge-name{font-weight:500}.task-type{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.task-type.clickable{cursor:pointer;transition:all .15s}.task-type.clickable:hover{color:var(--text-primary)}.task-priority{cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;padding:.25rem}.task-priority:hover{transform:scale(1.15)}.priority-circle{width:10px;height:10px;border-radius:50%;border:2px solid currentColor;display:inline-block;transition:all .15s}.priority-0 .priority-circle,.priority-circle.priority-0{border-color:#d1d1d6;background:transparent}.priority-1 .priority-circle,.priority-circle.priority-1{border-color:#34c759;background:#34c759}.priority-2 .priority-circle,.priority-circle.priority-2{border-color:#fc0;background:#fc0}.priority-3 .priority-circle,.priority-circle.priority-3{border-color:#ff3b30;background:#ff3b30}.category-menu,.priority-menu{position:absolute;bottom:100%;left:0;margin-bottom:.5rem;background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-md);box-shadow:var(--modal-shadow);border:1px solid var(--glass-border);padding:.375rem;z-index:100;animation:menuSlideUp .2s ease-out}.category-menu{min-width:200px}.priority-menu{min-width:160px}@keyframes menuSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.category-menu-section{margin-bottom:.375rem}.category-menu-section:last-child{margin-bottom:0}.category-menu-title{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding:.375rem .625rem .25rem}.category-menu-item,.priority-menu-item{display:flex;align-items:center;gap:.625rem;width:100%;text-align:left;padding:.4rem .625rem;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--text-primary);transition:background .15s}.category-menu-item:hover,.priority-menu-item:hover{background:var(--nav-item-hover)}.task-assignment{position:relative}.task-card:has(.assign-menu){z-index:100}.task-assignee{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background:var(--input-bg);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all .15s ease;cursor:pointer;border:1px solid var(--border-light)}.task-assignee:hover{background:var(--input-bg-hover);border-color:var(--border-color)}.task-assignee.has-assignees{background:transparent;border:none;padding:0;gap:0}.task-assignee.has-assignees:hover{background:transparent;border:none;box-shadow:none;transform:scale(1.05)}.task-assignee.has-assignees .assignee-info{display:flex;align-items:center}.task-assignee.has-assignees .user-avatar{border:2px solid var(--glass-bg-strong);margin-left:-10px;transition:transform .15s ease;width:26px!important;height:26px!important}.task-assignee.has-assignees .user-avatar .avatar-placeholder{font-size:11px!important}.task-assignee.has-assignees .user-avatar:first-child{margin-left:0}.task-assignee.has-assignees:hover .user-avatar{margin-left:2px}.task-assignee.has-assignees:hover .user-avatar:first-child{margin-left:0}.assignee-info{display:flex;align-items:center;gap:.5rem}.assignee-name,.member-name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.no-assignee{color:var(--text-tertiary);font-weight:500}.assign-menu{position:absolute;top:calc(100% + .375rem);right:0;background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-lg);box-shadow:var(--modal-shadow);border:1px solid var(--glass-border);min-width:220px;max-width:300px;z-index:1000;overflow:hidden;animation:menuSlideDown .2s cubic-bezier(.16,1,.3,1)}@keyframes menuSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.assign-menu-item{width:100%;padding:.625rem .875rem;border:none;background:transparent;text-align:left;display:flex;align-items:center;gap:.625rem;cursor:pointer;transition:all .15s ease;font-size:var(--text-sm);position:relative}.assign-menu-item:hover{background:var(--nav-item-hover)}.assign-menu-item.selected{background:var(--accent-light);font-weight:600}.assign-menu-item.selected:after{content:"✓";position:absolute;right:.875rem;color:var(--accent);font-weight:600}.assign-menu-item input[type=checkbox]{accent-color:var(--accent)}.assign-menu-backdrop{position:fixed;inset:0;z-index:999;background:transparent}.subtasks-section{margin-top:.125rem}.subtasks-header{display:flex;align-items:center;gap:.25rem;padding:.25rem .375rem;cursor:pointer;border-radius:6px;transition:all .15s;-webkit-user-select:none;user-select:none}.subtasks-header:hover{background:var(--input-bg)}.subtasks-chevron{transition:transform .2s ease;color:var(--text-tertiary);flex-shrink:0}.subtasks-chevron.expanded{transform:rotate(0)}.subtasks-chevron:not(.expanded){transform:rotate(-90deg)}.subtasks-count{font-size:var(--text-xs);font-weight:500;color:var(--text-tertiary)}.subtasks-list{display:flex;flex-direction:column;gap:.25rem;margin-top:.375rem}.subtask-card{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background:var(--input-bg);border-radius:6px;transition:all .15s ease;border:1px solid transparent}.subtask-card:hover{background:var(--input-bg-hover);border-color:var(--border-light)}.subtask-card.completed{opacity:.5}.subtask-card.completed .subtask-title{text-decoration:line-through;color:var(--text-tertiary)}.subtask-checkbox{width:15px;height:15px;border:1.5px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0;background:var(--glass-bg)}.subtask-checkbox:hover{border-color:var(--accent);transform:scale(1.08)}.subtask-checkbox.checked{border-color:var(--accent);background:var(--accent);color:#fff}.subtask-checkbox svg{width:10px;height:10px}.subtask-title{flex:1;font-size:var(--text-sm);color:var(--text-primary);font-weight:400;line-height:1.4}.subtask-delete{width:22px;height:22px;border:none;background:transparent;color:var(--text-tertiary);font-size:1.125rem;line-height:1;cursor:pointer;transition:all .15s;opacity:0;flex-shrink:0;display:flex;align-items:center;justify-content:center}.subtask-card:hover .subtask-delete{opacity:1}.subtask-delete:hover{color:var(--danger);transform:scale(1.1)}.subtask-input-card{display:flex;align-items:center;padding:.375rem .625rem;background:var(--input-bg);border-radius:6px;border:1px dashed var(--border-color);transition:all .15s ease}.subtask-input-card:hover,.subtask-input-card:focus-within{background:var(--input-bg-hover);border-color:var(--accent);border-style:solid}.subtask-input-card input{width:100%;border:none;background:transparent;font-size:var(--text-sm);font-family:var(--font-body);color:var(--text-primary);outline:none}.subtask-input-card input::placeholder{color:var(--text-tertiary)}.edit-modal-overlay{position:fixed!important;inset:0!important;background:var(--overlay-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999}.edit-modal{background:var(--glass-bg-strong);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);width:90%;max-width:480px;max-height:85vh;overflow:hidden;box-shadow:var(--modal-shadow)}.edit-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--glass-border-subtle)}.edit-modal-header h3{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.btn-close{width:30px;height:30px;border-radius:50%;border:none;background:var(--input-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text-secondary);transition:all .15s}.edit-modal-content{padding:1.25rem 1.5rem;overflow-y:auto;max-height:calc(85vh - 140px)}.edit-field{margin-bottom:1rem}.edit-field:last-child{margin-bottom:0}.edit-field label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:.375rem}.edit-field input,.edit-field textarea,.edit-field select{width:100%;padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-body);transition:all .15s;background:var(--glass-bg);color:var(--text-primary)}.edit-field input:focus,.edit-field textarea:focus,.edit-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.edit-field textarea{resize:vertical;min-height:72px}.edit-field input[type=color]{height:44px;cursor:pointer;padding:4px}.edit-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.edit-modal-footer{display:flex;gap:.625rem;padding:1.25rem 1.5rem;border-top:1px solid var(--glass-border-subtle)}.btn-cancel,.btn-save{flex:1;padding:.625rem 1.25rem;border:none;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font-body)}.btn-cancel{background:var(--input-bg);color:var(--text-primary)}.btn-cancel:hover{background:var(--input-bg-hover)}.btn-save{background:var(--accent);color:#fff}.btn-save:hover{background:var(--accent-hover)}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.weekdays-selector{display:flex;gap:.375rem;flex-wrap:wrap}.weekday-checkbox{display:flex;align-items:center;gap:.25rem;padding:.3rem .5rem;background:var(--input-bg);border-radius:6px;cursor:pointer;font-size:var(--text-sm);font-weight:500;transition:all .15s;color:var(--text-primary)}.weekday-checkbox:hover{background:var(--input-bg-hover)}.weekday-checkbox input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--accent)}.weekday-checkbox input[type=checkbox]:checked+span{color:var(--info);font-weight:600}@media(max-width:640px){.task-card{min-height:auto;padding:1rem}.task-title{font-size:var(--text-base)}.task-icon{width:38px;height:38px}.edit-modal{width:95%;border-radius:var(--radius-lg)}.edit-modal-header,.edit-modal-content,.edit-modal-footer{padding-left:1.25rem;padding-right:1.25rem}}.task-input-container{position:fixed;bottom:0;left:calc(var(--sidebar-width) + 1.5rem);right:0;z-index:100;display:flex;flex-direction:column;align-items:center;padding:0 1.5rem 1.5rem;pointer-events:none}.task-input-form{display:flex;align-items:center;gap:.5rem;width:100%;max-width:640px;background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:.375rem .375rem .375rem 1rem;border-radius:var(--radius-xl);box-shadow:var(--glass-shadow-lg);border:1px solid var(--glass-border);transition:border-color .2s ease,box-shadow .2s ease;pointer-events:auto}.task-input-form.focused{border-color:var(--accent);box-shadow:var(--glass-shadow-lg),0 0 0 3px var(--accent-light)}.input-left-icon{color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.5;transition:all .15s ease}.task-input-form.focused .input-left-icon{opacity:1;color:var(--accent)}.task-input{flex:1;min-width:0;padding:.625rem .5rem;font-size:var(--text-base);border:none;background:transparent;font-family:var(--font-body);color:var(--text-primary);font-weight:400;letter-spacing:-.01em;outline:none}.task-input::placeholder{color:var(--text-tertiary);font-weight:400}.btn-add{width:40px;height:40px;min-width:40px;border-radius:var(--radius-md);border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0;padding:0}.btn-add:hover{background:var(--accent-hover);transform:scale(1.04)}.btn-add:active{transform:scale(.94)}.input-hints{display:flex;gap:.375rem;justify-content:center;margin-bottom:.5rem;pointer-events:none}.input-hint-chip{padding:.25rem .625rem;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:8px;font-size:var(--text-xs);font-weight:600;color:var(--accent);pointer-events:auto}.input-error{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.5rem;padding:.5rem .875rem;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--danger);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center;font-weight:500;box-shadow:var(--glass-shadow);border:1px solid var(--danger-light);white-space:nowrap;pointer-events:auto}@media(max-width:768px){.task-input-container{left:0;padding:0 1rem 1rem}}@media(max-width:640px){.task-input-form{padding:.25rem .25rem .25rem .75rem;gap:.375rem;border-radius:var(--radius-lg)}.task-input{padding:.5rem .375rem;font-size:var(--text-sm)}.btn-add{width:36px;height:36px;min-width:36px;border-radius:var(--radius-sm)}}.cp-overlay{position:fixed;inset:0;z-index:9999;background:var(--overlay-bg);display:flex;justify-content:center;padding-top:min(20vh,160px)}.cp-container{width:90%;max-width:580px;max-height:min(70vh,480px);background:var(--bg-primary);border-radius:16px;box-shadow:var(--modal-shadow);border:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;height:fit-content}.cp-input-wrapper{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light)}.cp-search-icon{color:var(--text-secondary);flex-shrink:0}.cp-input{flex:1;border:none;background:none;font-size:1.0625rem;color:var(--text-primary);outline:none;font-family:inherit;font-weight:400;letter-spacing:-.01em}.cp-input::placeholder{color:var(--text-secondary)}.cp-kbd{font-size:.6875rem;font-family:inherit;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);padding:.2rem .5rem;border-radius:6px;border:1px solid var(--border-light);line-height:1.4;flex-shrink:0}.cp-list{overflow-y:auto;padding:.5rem;overscroll-behavior:contain}.cp-section-header{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);padding:.75rem .75rem .375rem}.cp-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border:none;border-radius:10px;background:none;cursor:pointer;font-family:inherit;font-size:.9375rem;color:var(--text-primary);text-align:left;transition:background .1s ease}.cp-item:hover,.cp-item.selected{background:var(--bg-secondary)}.cp-item.active{color:var(--accent)}.cp-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1rem;flex-shrink:0;background:var(--bg-secondary)}.cp-item-label{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-item-hint{font-size:.75rem;color:var(--text-secondary);font-weight:400;white-space:nowrap}.cp-item-enter{color:var(--text-secondary);display:flex;align-items:center;flex-shrink:0}.cp-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.9375rem}@media(max-width:640px){.cp-overlay{padding-top:0}.cp-container{width:100%;max-width:100%;max-height:100vh;border-radius:0;border:none}.cp-kbd{display:none}}.toast-container{position:fixed;bottom:6rem;left:0;right:0;z-index:10000;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none}.toast-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--text-primary);color:var(--bg-primary);border-radius:12px;box-shadow:0 8px 32px #0003;font-size:.875rem;font-weight:500;font-family:inherit;pointer-events:auto;max-width:420px}.toast-message{flex:1}.toast-action{padding:.25rem .75rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s;white-space:nowrap}.toast-action:hover{opacity:.85}.toast-dismiss{display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--bg-primary);opacity:.5;cursor:pointer;padding:.125rem;transition:opacity .15s}.toast-dismiss:hover{opacity:1}@media(max-width:640px){.toast-container{bottom:5rem;padding:0 1rem}.toast-item{width:100%;max-width:100%}}.create-workspace-modal{max-width:500px;width:90%}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#333}.form-group input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#007aff}.form-hint{margin-top:6px;font-size:12px;color:#666}.error-message{padding:12px;background:#fee;border-left:3px solid #f44;border-radius:4px;color:#c00;font-size:14px;margin-bottom:16px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:#007aff;color:#fff}.btn-primary:hover:not(:disabled){background:#06d}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.invite-member-modal{max-width:500px;width:90%}.success-message{text-align:center;padding:40px 20px}.success-icon{width:60px;height:60px;margin:0 auto 20px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;animation:scaleIn .3s ease}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-message h3{margin:0 0 8px;font-size:20px;color:#333}.success-message p{margin:0;color:#666;font-size:14px}.team-settings-modal{max-width:700px;width:90%;max-height:90vh;overflow-y:auto}.workspace-name{color:#666;font-size:14px;margin-top:4px}.settings-section{margin-bottom:32px}.settings-section:last-child{margin-bottom:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{font-size:16px;font-weight:600;color:#333;margin:0}.btn-invite{padding:8px 16px;background:#007aff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.btn-invite:hover{background:#06d}.members-list{display:flex;flex-direction:column;gap:12px}.member-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f8f8;border-radius:8px}.member-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0}.member-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:18px;font-weight:600}.member-info{flex:1;min-width:0}.member-name{font-size:14px;font-weight:600;color:#333;display:flex;align-items:center;gap:8px}.member-email{font-size:13px;color:#666;margin-top:2px}.badge-you{display:inline-block;padding:2px 8px;background:#e3f2fd;color:#1976d2;font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase}.member-actions{display:flex;align-items:center;gap:8px}.role-select{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;cursor:pointer;background:#fff}.role-badge{padding:4px 12px;background:#e0e0e0;color:#666;font-size:12px;font-weight:500;border-radius:6px;text-transform:capitalize}.role-badge.role-owner{background:gold;color:#856404}.role-badge.role-admin{background:#e3f2fd;color:#1976d2}.btn-remove{padding:6px 10px;background:none;border:1px solid #ddd;border-radius:6px;font-size:16px;cursor:pointer;transition:all .2s ease}.btn-remove:hover{background:#fee;border-color:#fbb}.invitations-list{display:flex;flex-direction:column;gap:12px}.invitation-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#fff9e6;border-radius:8px;border-left:3px solid #ffc107}.invitation-info{flex:1}.invitation-email{font-size:14px;font-weight:600;color:#333}.invitation-meta{font-size:12px;color:#666;margin-top:2px}.btn-cancel{padding:6px 12px;background:none;border:1px solid #ddd;border-radius:6px;font-size:13px;color:#666;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#f0f0f0;border-color:#bbb}.workspace-info{padding:16px;background:#f8f8f8;border-radius:8px}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e0e0e0}.info-row:last-child{border-bottom:none}.info-label{font-size:14px;color:#666;font-weight:500}.info-value{font-size:14px;color:#333}.workspace-icon-display{font-size:24px}.btn-edit-workspace{padding:6px 16px;background:#007aff;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease;display:flex;align-items:center;gap:4px}.btn-edit-workspace:hover{background:#06d}.workspace-edit-form{padding:16px;background:#f8f8f8;border-radius:8px;display:flex;flex-direction:column;gap:16px}.edit-field{display:flex;flex-direction:column;gap:6px}.edit-field label{font-size:13px;font-weight:600;color:#555}.workspace-icon-input,.workspace-name-input{padding:10px 12px;border:2px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.workspace-icon-input{font-size:24px;text-align:center;width:80px}.workspace-icon-input:focus,.workspace-name-input:focus{outline:none;border-color:#007aff}.edit-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.btn-cancel-edit,.btn-save-edit{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel-edit{background:#e0e0e0;color:#666}.btn-cancel-edit:hover{background:#d0d0d0}.btn-save-edit{background:#007aff;color:#fff}.btn-save-edit:hover{background:#06d}.danger-zone{border:2px solid #ff4444;border-radius:8px;padding:16px;background:#fff5f5}.danger-zone .section-header h3{color:#d32f2f}.danger-zone-content{display:flex;flex-direction:column;gap:12px}.danger-warning{font-size:14px;color:#666;margin:0;line-height:1.5}.btn-delete-workspace{padding:10px 20px;background:#f44;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease;align-self:flex-start}.btn-delete-workspace:hover{background:#d32f2f}@media(max-width:768px){.team-settings-modal{max-width:95%}.member-item{flex-wrap:wrap}.member-actions{width:100%;justify-content:flex-end;margin-top:8px}}.workspace-switcher{position:relative;display:inline-block}.workspace-button{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 8px;background:transparent;border:none;border-radius:10px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.workspace-button:hover{background:var(--input-bg)}.workspace-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);border-radius:8px;font-size:16px;line-height:1}.workspace-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.workspace-arrow{opacity:.4;transition:transform .2s ease,opacity .2s ease;flex-shrink:0}.workspace-button:hover .workspace-arrow{opacity:.7}.workspace-arrow.open{transform:rotate(180deg);opacity:.7}.workspace-backdrop{position:fixed;inset:0;z-index:998}.workspace-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:260px;background:var(--bg-primary);border-radius:14px;box-shadow:var(--modal-shadow);border:1px solid var(--border-color);z-index:999;overflow:hidden;animation:workspaceSlideDown .2s cubic-bezier(.2,.8,.2,1)}@keyframes workspaceSlideDown{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.workspace-section{padding:6px}.workspace-section:not(:last-child){border-bottom:1px solid var(--border-light)}.workspace-section-title{padding:8px 12px 6px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.workspace-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 12px;background:none;border:none;border-radius:8px;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:all .15s ease}.workspace-item:hover{background:var(--input-bg)}.workspace-item.active{background:var(--accent-light);color:var(--info)}.workspace-item-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--input-bg);border-radius:6px;font-size:14px;line-height:1}.workspace-item.active .workspace-item-icon{background:var(--accent);color:#fff}.workspace-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.workspace-item-check{font-size:14px;color:var(--info);font-weight:600}.workspace-create{color:var(--info);font-weight:500}.workspace-create .workspace-item-icon{background:var(--accent-light);color:var(--info)}.workspace-create:hover{background:var(--accent-light)}@media(max-width:768px){.workspace-name{max-width:80px}.workspace-dropdown{min-width:240px}}.space-switcher{position:relative;margin-left:16px;z-index:100}.space-switcher-button{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--bg-primary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);border-radius:12px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000000a}.space-switcher-button:hover{background:var(--bg-secondary);transform:translateY(-1px);box-shadow:var(--card-shadow);border-color:var(--border-color)}.space-switcher-button:active{transform:translateY(0)}.space-icon{font-size:18px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.space-name{font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}.dropdown-arrow{font-size:10px;opacity:.5;transition:transform .3s ease}.space-switcher-button[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.space-dropdown{position:absolute;top:calc(100% + 12px);left:0;min-width:320px;background:var(--bg-primary);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;box-shadow:var(--modal-shadow);border:1px solid var(--border-color);z-index:1000;overflow:hidden;animation:menuSlideDown .3s cubic-bezier(.2,.8,.2,1);transform-origin:top left}@keyframes menuSlideDown{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.space-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.space-dropdown-header span{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.btn-create-space{width:28px;height:28px;border-radius:8px;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #00000005}.btn-create-space:hover{background:var(--info);border-color:var(--info);color:#fff;transform:scale(1.05);box-shadow:0 4px 8px #007aff33}.space-list{max-height:400px;overflow-y:auto;padding:8px}.space-list::-webkit-scrollbar{width:6px}.space-list::-webkit-scrollbar-track{background:transparent}.space-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.space-item-wrapper{position:relative;margin-bottom:4px;border-radius:10px;transition:background .2s ease}.space-item-wrapper:hover{background:var(--input-bg)}.space-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left;color:var(--text-primary);position:relative}.space-item.active{background:var(--accent-light);color:var(--info)}.space-item.active .space-name{font-weight:700}.space-color-indicator{width:8px;height:8px;border-radius:50%;margin-left:auto;box-shadow:0 0 0 2px var(--bg-primary)}.space-item-actions{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;gap:6px;opacity:0;transition:opacity .2s ease;background:linear-gradient(90deg,transparent 0%,var(--bg-primary) 20%);padding-left:20px}.space-item-wrapper:hover .space-item-actions{opacity:1}.btn-edit-space,.btn-delete-space{width:28px;height:28px;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-edit-space{background:var(--accent-light);color:var(--info)}.btn-edit-space:hover{background:var(--info);color:#fff}.btn-delete-space{background:#ff3b301a;color:var(--danger)}.btn-delete-space:hover{background:var(--danger);color:#fff}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.space-modal{background:var(--bg-primary);border-radius:24px;box-shadow:var(--modal-shadow);width:100%;max-width:480px;padding:32px;animation:modalSlideUp .4s cubic-bezier(.2,.8,.2,1);border:1px solid var(--border-color)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font-size:24px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em}.btn-close{background:var(--input-bg);border:none;width:32px;height:32px;border-radius:50%;font-size:20px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-close:hover{background:var(--input-bg-hover);color:var(--text-primary)}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:10px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.space-modal input[type=text],.space-modal textarea{width:100%;padding:14px 16px;background:var(--bg-secondary);border:1px solid transparent;border-radius:12px;font-size:16px;color:var(--text-primary);transition:all .2s ease;font-family:inherit}.space-modal input[type=text]:focus,.space-modal textarea:focus{background:var(--bg-primary);border-color:var(--info);box-shadow:0 0 0 4px var(--accent-light);outline:none}.icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:10px;padding:16px;background:var(--bg-secondary);border-radius:16px}.icon-option{width:44px;height:44px;border-radius:12px;background:var(--bg-primary);border:2px solid transparent;font-size:22px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #00000005}.icon-option:hover{transform:translateY(-2px);box-shadow:var(--card-shadow)}.icon-option.selected{border-color:var(--info);background:var(--accent-light);transform:scale(1.05)}.custom-icon-input{width:100%!important;text-align:center;font-size:20px!important;background:var(--bg-primary)!important;padding:0!important;height:44px}.color-picker{display:flex;flex-wrap:wrap;gap:12px;padding:16px;background:var(--bg-secondary);border-radius:16px}.color-option{width:32px;height:32px;border-radius:50%;border:2px solid var(--bg-primary);box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.color-option:hover{transform:scale(1.2)}.color-option.selected{transform:scale(1.2);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--info)}.color-picker input[type=color]{width:32px;height:32px;border-radius:50%;border:none;padding:0;cursor:pointer;overflow:hidden}.modal-actions{display:flex;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-light)}.btn-secondary{flex:1;padding:14px;background:var(--bg-secondary);color:var(--text-primary);border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--border-color)}.btn-primary{flex:2;padding:14px;background:var(--info);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #007aff4d}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 6px 16px #007aff66}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.invitation-banner{background:linear-gradient(135deg,#667eea,#764ba2);padding:16px;margin:-20px -20px 20px}.invitation-card{display:flex;align-items:center;gap:16px;background:#fff;padding:16px;border-radius:12px;box-shadow:0 4px 12px #0000001a;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.invitation-icon{font-size:32px;line-height:1}.invitation-content{flex:1}.invitation-title{font-size:14px;font-weight:600;color:#666;margin-bottom:4px}.invitation-message{font-size:15px;color:#333}.invitation-message strong{color:#667eea;font-weight:600}.invitation-actions{display:flex;gap:8px}.btn-accept,.btn-decline{padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-accept{background:#4caf50;color:#fff}.btn-accept:hover:not(:disabled){background:#45a049}.btn-decline{background:#f0f0f0;color:#666}.btn-decline:hover:not(:disabled){background:#e0e0e0}.btn-accept:disabled,.btn-decline:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.invitation-card{flex-direction:column;text-align:center}.invitation-actions{width:100%}.btn-accept,.btn-decline{flex:1}}.profile-overlay{position:fixed;inset:0;z-index:600;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.profile-panel{width:420px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);background:var(--glass-bg-strong);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--modal-shadow);display:flex;flex-direction:column;overflow:hidden}.profile-loading{padding:4rem;display:flex;align-items:center;justify-content:center}.profile-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--glass-border-subtle)}.profile-header h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0}.profile-close{width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.profile-close:hover{background:var(--input-bg-hover);color:var(--text-primary)}.profile-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.profile-avatar-area{display:flex;align-items:center;gap:1rem}.profile-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--glass-border)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-fallback{width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.5rem}.profile-avatar-actions{display:flex;flex-direction:column;gap:.375rem}.profile-upload-btn{padding:.375rem .875rem;background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s;text-align:center}.profile-upload-btn:hover{background:var(--accent-hover)}.profile-remove-btn{padding:.25rem .625rem;background:none;border:none;color:var(--text-tertiary);font-size:var(--text-xs);font-weight:500;font-family:var(--font-body);cursor:pointer}.profile-remove-btn:hover{color:var(--danger)}.profile-fields{display:flex;flex-direction:column;gap:1rem}.profile-field label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.profile-field input{width:100%;padding:.625rem .75rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-body);outline:none;transition:all .15s}.profile-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.profile-field input:disabled{opacity:.5;cursor:default}.profile-error{padding:.625rem .875rem;background:var(--danger-light);color:var(--danger);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500}.profile-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--glass-border-subtle)}.profile-signout{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:none;border-radius:var(--radius-sm);background:var(--danger-light);color:var(--danger);font-size:var(--text-sm);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s}.profile-signout:hover{background:var(--danger);color:#fff}.profile-footer-right{display:flex;gap:.5rem}.profile-cancel{padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s}.profile-cancel:hover{background:var(--input-bg-hover)}.profile-save{padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:var(--text-sm);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s}.profile-save:hover{background:var(--accent-hover)}.profile-save:disabled,.profile-cancel:disabled{opacity:.5;cursor:default}@media(max-width:480px){.profile-panel{border-radius:var(--radius-lg)}.profile-avatar-area{flex-direction:column;align-items:center}.profile-footer{flex-direction:column;gap:.75rem}.profile-signout{width:100%;justify-content:center}.profile-footer-right{width:100%}.profile-cancel,.profile-save{flex:1}}.document-editor-page{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg-page);z-index:100;font-family:var(--font-body);color:var(--text-primary)}.document-navbar-minimal{height:52px;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--glass-border-subtle);position:sticky;top:0;z-index:50}.navbar-left,.navbar-right{display:flex;align-items:center;gap:.5rem}.back-btn{width:32px;height:32px;border:none;background:var(--input-bg);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);display:flex;align-items:center;justify-content:center;transition:all .15s}.back-btn:hover{background:var(--input-bg-hover)}.breadcrumb{display:flex;align-items:center;gap:.375rem;font-size:var(--text-sm);color:var(--text-secondary);min-width:0}.breadcrumb-separator{color:var(--text-tertiary)}.breadcrumb-current{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-status{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:500}.icon-btn{width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .15s}.icon-btn:hover{background:var(--input-bg);color:var(--text-primary)}.collaborators-indicator{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--accent-light);border-radius:6px;font-size:var(--text-xs);font-weight:600;color:var(--accent)}.document-scroller{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center}.document-container{width:100%;max-width:780px;display:flex;flex-direction:column;padding-bottom:30vh}.document-content-area{padding:3rem 2rem 0;width:100%;display:flex;flex-direction:column}.document-title-input-large{width:100%;font-family:var(--font-display);font-size:2.5rem;font-weight:800;border:none;outline:none;padding:0;margin-bottom:1rem;color:var(--text-primary);background:transparent;line-height:1.15;letter-spacing:-.03em}.document-title-input-large::placeholder{color:var(--text-tertiary)}.document-metadata{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;font-size:var(--text-sm)}.metadata-row{display:flex;align-items:center;gap:.75rem}.metadata-label{width:80px;color:var(--text-tertiary);font-weight:500;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.metadata-value{font-size:var(--text-sm);color:var(--text-secondary)}.tags-list{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}.tag-pill{background:var(--input-bg);color:var(--text-primary);padding:.125rem .5rem;border-radius:6px;font-size:var(--text-xs);font-weight:500;display:flex;align-items:center;gap:.25rem}.tag-pill button{border:none;background:none;padding:0;cursor:pointer;display:flex;color:var(--text-tertiary);transition:color .15s}.tag-pill button:hover{color:var(--danger)}.tag-input-ghost{border:none;outline:none;font-size:var(--text-xs);background:transparent;color:var(--text-primary);min-width:50px;font-family:var(--font-body)}.tag-input-ghost::placeholder{color:var(--text-tertiary)}.divider-horizontal{height:1px;background:var(--glass-border-subtle);margin:.5rem 0 1.5rem}.editor-wrapper{position:relative;width:100%}.bubble-menu,.floating-menu{display:flex;background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:.25rem;border-radius:var(--radius-md);box-shadow:var(--modal-shadow);border:1px solid var(--glass-border);gap:2px}.bubble-menu button,.floating-menu button{border:none;background:none;color:var(--text-primary);font-size:var(--text-xs);font-weight:500;padding:.375rem .5rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.bubble-menu button:hover,.floating-menu button:hover{background:var(--input-bg)}.bubble-menu button.is-active,.floating-menu button.is-active{color:var(--accent);background:var(--accent-light)}.bubble-divider{width:1px;background:var(--glass-border-subtle);margin:0 .125rem}.color-picker-group{display:flex;align-items:center;gap:2px}.ProseMirror{outline:none;min-height:200px;font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--text-primary)}.ProseMirror>*+*{margin-top:.5em}.ProseMirror p.is-editor-empty:first-child:before{color:var(--text-tertiary);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.ProseMirror h1{font-family:var(--font-display);font-size:1.875rem;font-weight:700;margin-top:2rem;margin-bottom:.25rem;letter-spacing:-.02em}.ProseMirror h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-top:1.5rem;margin-bottom:.25rem;letter-spacing:-.01em}.ProseMirror h3{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin-top:1.25rem;margin-bottom:.25rem}.ProseMirror ul,.ProseMirror ol{padding-left:1.5rem;margin:.25rem 0}.ProseMirror li{margin-bottom:.125rem}.ProseMirror code{background:var(--input-bg);color:var(--danger);padding:.125rem .3125rem;border-radius:4px;font-size:.875em;font-family:var(--font-mono)}.ProseMirror pre{background:var(--glass-bg);padding:1rem;border-radius:var(--radius-md);font-family:var(--font-mono);overflow-x:auto;margin:.5rem 0;border:1px solid var(--glass-border-subtle)}.ProseMirror pre code{background:none;color:var(--text-primary);padding:0;font-size:.875rem}.ProseMirror blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin-left:0;color:var(--text-secondary)}ul[data-type=taskList]{list-style:none;padding:0}li[data-type=taskItem]{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.25rem}li[data-type=taskItem] label{margin-top:.25rem;cursor:pointer}li[data-type=taskItem] div{flex:1;min-width:0;margin-left:.25rem}li[data-type=taskItem] p{margin:0}li[data-type=taskItem] input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--accent)}.collaboration-cursor__caret{border-left:1px solid;border-right:1px solid;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal}.collaboration-cursor__label{border-radius:3px 3px 3px 0;color:#fff;font-size:.6875rem;font-weight:600;left:-1px;line-height:normal;padding:.1rem .3rem;position:absolute;top:-1.4em;-webkit-user-select:none;user-select:none;white-space:nowrap}@media(max-width:768px){.document-navbar-minimal{height:48px;padding:0 .875rem}.document-content-area{padding:2rem 1.25rem 0}.document-title-input-large{font-size:1.75rem}.breadcrumb-item,.breadcrumb-separator,.save-status{display:none}}@media(max-width:480px){.document-content-area{padding:1.5rem 1rem 0}.document-title-input-large{font-size:1.5rem}.ProseMirror{font-size:.9375rem}.bubble-menu,.floating-menu{flex-wrap:wrap;max-width:280px}}.docs-toolbar{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.docs-search{flex:1;display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all .15s}.docs-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.docs-search svg{color:var(--text-tertiary);flex-shrink:0}.docs-search input{border:none;background:none;outline:none;flex:1;font-size:var(--text-sm);font-family:var(--font-body);color:var(--text-primary)}.docs-search input::placeholder{color:var(--text-tertiary)}.docs-toggle{width:36px;height:36px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.docs-toggle:hover{color:var(--text-primary);background:var(--glass-bg-hover)}.docs-toggle.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent-light)}.docs-create-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s;white-space:nowrap}.docs-create-btn:hover{background:var(--accent-hover)}.docs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-tertiary);text-align:center;gap:.5rem}.docs-empty-icon{font-size:2.5rem;opacity:.5;margin-bottom:.5rem}.docs-empty p{font-size:var(--text-base);font-weight:600;color:var(--text-secondary)}.docs-empty span{font-size:var(--text-sm)}.docs-list{display:flex;flex-direction:column;gap:.375rem}.doc-row{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s;position:relative}.doc-row:hover{background:var(--glass-bg-hover);transform:translateY(-1px);box-shadow:var(--glass-shadow)}.doc-icon-col{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.doc-content-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.doc-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-excerpt{font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-time{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:500;white-space:nowrap;flex-shrink:0}.doc-actions{position:relative}.doc-menu-btn{width:28px;height:28px;border:none;background:transparent;border-radius:6px;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s}.doc-row:hover .doc-menu-btn{opacity:1}.doc-menu-btn:hover{background:var(--input-bg-hover);color:var(--text-primary)}.doc-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--modal-shadow);padding:.25rem;min-width:160px;z-index:50}.doc-menu button{display:block;width:100%;text-align:left;padding:.5rem .75rem;border:none;background:transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--text-primary);cursor:pointer;transition:background .15s;font-family:var(--font-body)}.doc-menu button:hover{background:var(--nav-item-hover)}.doc-menu-danger{color:var(--danger)!important}.doc-menu-danger:hover{background:var(--danger-light)!important}@media(max-width:768px){.docs-toolbar{flex-wrap:wrap}.docs-search{min-width:100%;order:2}.doc-excerpt{display:none}.doc-menu-btn{opacity:1}}.saved-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.saved-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:500}.btn-add-saved{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s ease;font-family:var(--font-body)}.btn-add-saved:hover{background:var(--glass-bg-hover);color:var(--text-primary)}.btn-add-saved.active{background:var(--danger-light);color:var(--danger);border-color:transparent}.saved-add-form{overflow:hidden}.saved-form-inner{display:flex;flex-direction:column;gap:.625rem;padding:1.25rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.saved-input,.saved-textarea{width:100%;padding:.625rem .875rem;background:var(--input-bg);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);transition:all .15s;outline:none}.saved-input:focus,.saved-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.saved-input::placeholder,.saved-textarea::placeholder{color:var(--text-tertiary)}.saved-textarea{resize:vertical;min-height:56px}.btn-save-item{align-self:flex-end;padding:.5rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s}.btn-save-item:hover{background:var(--accent-hover)}.saved-empty{text-align:center;padding:4rem 2rem;color:var(--text-tertiary)}.saved-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.saved-empty p{font-size:var(--text-base);font-weight:600;color:var(--text-secondary);margin-bottom:.25rem}.saved-empty span{font-size:var(--text-sm)}.saved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.875rem}.saved-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1rem;transition:all .2s ease;display:flex;flex-direction:column;gap:.5rem}.saved-card:hover{background:var(--glass-bg-hover);box-shadow:var(--glass-shadow);transform:translateY(-1px)}.saved-card-link{display:flex;align-items:flex-start;gap:.75rem;text-decoration:none;color:inherit}.saved-card-icon{font-size:1.25rem;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--input-bg);border-radius:var(--radius-sm)}.saved-card-content{flex:1;min-width:0}.saved-card-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);line-height:1.3;word-break:break-word}.saved-card-domain{font-size:var(--text-xs);color:var(--accent);font-weight:500;margin-top:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-card-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.4;padding-left:2.75rem}.saved-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.375rem;border-top:1px solid var(--glass-border-subtle)}.saved-card-time{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:500}.saved-card-delete{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:6px;transition:all .15s;opacity:0}.saved-card:hover .saved-card-delete{opacity:1}.saved-card-delete:hover{background:var(--danger-light);color:var(--danger)}@media(max-width:1024px){.saved-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.saved-grid{grid-template-columns:1fr}}.detail-overlay{position:fixed;inset:0;z-index:500;background:#00000026;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.detail-panel{position:fixed;top:.75rem;right:.75rem;bottom:.75rem;width:420px;max-width:calc(100vw - 1.5rem);background:var(--glass-bg-strong);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow-lg);display:flex;flex-direction:column;overflow:hidden}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--glass-border-subtle)}.detail-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.detail-close{width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.detail-close:hover{background:var(--input-bg-hover);color:var(--text-primary)}.detail-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.detail-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);border:none;background:transparent;outline:none;width:100%;padding:.25rem 0;letter-spacing:-.02em}.detail-title::placeholder{color:var(--text-tertiary)}.detail-desc{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);border:none;background:var(--input-bg);border-radius:var(--radius-sm);padding:.625rem .75rem;outline:none;resize:vertical;min-height:56px;line-height:1.5;transition:background .15s}.detail-desc:focus{background:var(--input-bg-hover);box-shadow:0 0 0 2px var(--accent-light)}.detail-desc::placeholder{color:var(--text-tertiary)}.detail-fields{display:flex;flex-direction:column;gap:.125rem}.detail-field{padding:.625rem 0;border-bottom:1px solid var(--glass-border-subtle)}.detail-field:last-child{border-bottom:none}.detail-field-label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.05em}.detail-field-value{display:flex;flex-direction:column;gap:.375rem}.detail-date-current,.detail-recur-current{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.detail-date-current.muted,.detail-recur-current.muted{color:var(--text-tertiary)}.detail-quick-options{display:flex;gap:.375rem;flex-wrap:wrap;align-items:center}.detail-quick-options button{padding:.25rem .625rem;border:1px solid var(--border-light);border-radius:6px;background:var(--input-bg);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font-body);white-space:nowrap}.detail-quick-options button:hover{background:var(--input-bg-hover);color:var(--text-primary)}.detail-quick-options button.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent-light)}.detail-quick-options button.remove{color:var(--text-tertiary);border:none;background:transparent;font-size:var(--text-sm);padding:.25rem}.detail-quick-options button.remove:hover{color:var(--danger)}.detail-quick-options input[type=date]{padding:.2rem .5rem;border:1px solid var(--border-light);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:var(--text-xs);font-family:var(--font-body);cursor:pointer;outline:none}.detail-time-row{display:flex;align-items:center;gap:.5rem}.detail-time-row input[type=time]{padding:.375rem .5rem;border:1px solid var(--border-light);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-body);outline:none;flex:1}.detail-time-row input:focus{border-color:var(--accent)}.detail-time-sep{color:var(--text-tertiary);font-size:var(--text-sm)}.detail-priority-row{display:flex;gap:.375rem}.detail-priority-btn{display:flex;align-items:center;gap:.375rem;padding:.3rem .625rem;border:1px solid var(--border-light);border-radius:6px;background:var(--input-bg);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font-body)}.detail-priority-btn:hover{background:var(--input-bg-hover)}.detail-priority-btn.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent-light)}.detail-priority-btn .priority-circle{width:8px;height:8px}.detail-select{width:100%;padding:.375rem .625rem;border:1px solid var(--border-light);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-body);outline:none;cursor:pointer}.detail-select:focus{border-color:var(--accent)}.detail-input{width:100%;padding:.375rem .625rem;border:1px solid var(--border-light);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-body);outline:none}.detail-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.detail-input::placeholder{color:var(--text-tertiary)}.detail-subtasks{margin-top:.5rem}.detail-section-title{font-size:var(--text-xs);font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;display:block}.detail-subtask-list{display:flex;flex-direction:column;gap:.25rem}.detail-subtask{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:6px;transition:background .15s}.detail-subtask:hover{background:var(--input-bg)}.detail-subtask.done .detail-sub-title{text-decoration:line-through;color:var(--text-tertiary)}.detail-sub-check{width:16px;height:16px;border:1.5px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;background:var(--glass-bg);transition:all .15s}.detail-sub-check:hover{border-color:var(--accent)}.detail-sub-check.checked{background:var(--accent);border-color:var(--accent);color:#fff}.detail-sub-title{flex:1;font-size:var(--text-sm);color:var(--text-primary)}.detail-sub-del{opacity:0;border:none;background:none;color:var(--text-tertiary);cursor:pointer;font-size:1rem;padding:0 .25rem;transition:all .15s}.detail-subtask:hover .detail-sub-del{opacity:1}.detail-sub-del:hover{color:var(--danger)}.detail-sub-add input{width:100%;padding:.375rem .5rem;border:1px dashed var(--border-color);border-radius:6px;background:transparent;font-size:var(--text-sm);font-family:var(--font-body);color:var(--text-primary);outline:none}.detail-sub-add input:focus{border-color:var(--accent);border-style:solid;background:var(--input-bg)}.detail-sub-add input::placeholder{color:var(--text-tertiary)}.detail-footer{padding:1rem 1.5rem;border-top:1px solid var(--glass-border-subtle)}.detail-archive-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);background:var(--danger-light);color:var(--danger);font-size:var(--text-sm);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s;width:100%;justify-content:center}.detail-archive-btn:hover{background:var(--danger);color:#fff}@media(max-width:640px){.detail-panel{width:calc(100vw - 1.5rem);top:0;right:0;bottom:0;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}}.habits-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.habits-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:500}.btn-add-habit{padding:.5rem .875rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font-body)}.btn-add-habit:hover{background:var(--glass-bg-hover);color:var(--text-primary)}.btn-add-habit.active{background:var(--danger-light);color:var(--danger);border-color:transparent}.habit-add-form{overflow:hidden;margin-bottom:1rem}.habit-form-inner{display:flex;flex-direction:column;gap:.625rem;padding:1rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.habit-form-row{display:flex;gap:.5rem;align-items:center}.habit-icon-wrapper{position:relative}.habit-icon-btn{width:44px;height:44px;border:2px dashed var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.habit-icon-btn:hover{border-style:solid;transform:scale(1.05)}.habit-emoji-picker{position:absolute;top:calc(100% + 6px);left:0;width:280px;max-height:200px;overflow-y:auto;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:.5rem;background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--modal-shadow);z-index:200}.emoji-option{width:32px;height:32px;border:none;border-radius:6px;background:transparent;font-size:1.125rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.emoji-option:hover{background:var(--input-bg-hover)}.emoji-option.active{background:var(--accent-light)}.habit-title-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--input-bg);font-size:var(--text-base);font-family:var(--font-body);color:var(--text-primary);outline:none;min-width:0}.habit-title-input:focus{border-color:var(--accent)}.btn-ai-suggest{width:40px;height:40px;flex-shrink:0;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:linear-gradient(135deg,#8b5cf614,#6366f114);color:#8b5cf6;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-ai-suggest:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf626,#6366f126);border-color:#8b5cf6;transform:scale(1.05)}.btn-ai-suggest:disabled{opacity:.4;cursor:default}.ai-spinner{width:14px;height:14px;border:2px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-radius:50%;animation:spin .7s linear infinite}.habit-color-row{gap:.625rem}.habit-form-label{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);white-space:nowrap}.habit-color-presets{display:flex;gap:.25rem;flex-wrap:wrap}.color-preset{width:24px;height:24px;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:all .15s;padding:0}.color-preset:hover{transform:scale(1.15)}.color-preset.active{border-color:var(--text-primary);transform:scale(1.15)}.habit-target-group{display:flex;align-items:center;gap:.25rem}.habit-target-label{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary)}.habit-target-input{width:44px;padding:.375rem .25rem;text-align:center;border:1px solid var(--border-light);border-radius:6px;background:var(--input-bg);font-size:var(--text-sm);font-family:var(--font-body);color:var(--text-primary);outline:none}.habit-target-input:focus{border-color:var(--accent)}.habit-target-suffix{font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap}.habit-freq-select{flex:1;padding:.5rem .75rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--input-bg);font-size:var(--text-sm);font-family:var(--font-body);color:var(--text-primary);cursor:pointer;outline:none}.btn-save-habit{padding:.5rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s}.btn-save-habit:hover{background:var(--accent-hover)}.habits-loading{padding:3rem;text-align:center;color:var(--text-tertiary)}.habits-empty{text-align:center;padding:4rem 2rem;color:var(--text-tertiary)}.habits-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.habits-empty p{font-size:var(--text-base);font-weight:600;color:var(--text-secondary);margin-bottom:.25rem}.habits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}.habit-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1rem;transition:all .2s;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--glass-shadow)}.habit-card:hover{background:var(--glass-bg-hover);transform:translateY(-1px)}.habit-card.done{border-color:#34c75933}.habit-card-top{display:flex;align-items:center;gap:.625rem}.habit-icon{font-size:1.125rem;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.habit-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.0625rem}.habit-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.habit-streak{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:500}.habit-delete{border:none;background:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;transition:all .15s;flex-shrink:0;opacity:.5}.habit-delete:hover{color:var(--danger);background:var(--danger-light);opacity:1}.habit-edit-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;background:var(--glass-bg);padding:.125rem .375rem;outline:none;width:100%;font-family:var(--font-body);box-shadow:0 0 0 2px var(--accent-light)}.habit-progress{display:flex;align-items:center;gap:.5rem}.habit-progress-bar{flex:1;height:6px;background:var(--border-light);border-radius:3px;overflow:hidden}.habit-progress-fill{height:100%;border-radius:3px;transition:width .3s cubic-bezier(.4,0,.2,1);min-width:0}.habit-progress-label{font-size:var(--text-xs);font-weight:700;color:var(--text-tertiary);min-width:2rem;text-align:right}.habit-actions-row{display:flex;align-items:center;gap:.5rem}.habit-check-btn{flex:1;height:36px;border:2px solid;border-radius:var(--radius-sm);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:var(--font-body)}.habit-check-btn:hover{transform:scale(1.02);opacity:.9}.habit-check-btn.done{color:#fff}.habit-check-btn.done:hover{opacity:.7}.habit-date-wrapper{width:32px;height:32px;border:1px solid var(--border-light);border-radius:6px;background:var(--input-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;transition:all .15s;overflow:hidden}.habit-date-wrapper:hover{border-color:var(--border-color);background:var(--input-bg-hover)}.habit-date-icon{font-size:.875rem;pointer-events:none}.habit-date-input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:none;padding:0;margin:0}.streak-badge{margin-right:.25rem}.habit-detail-emoji-btn{width:48px;height:48px;border:2px dashed var(--border-color);border-radius:var(--radius-md);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.habit-detail-emoji-btn:hover{border-style:solid;transform:scale(1.05)}.habit-detail-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;margin-top:.5rem;max-height:180px;overflow-y:auto}.habit-detail-colors{display:flex;gap:.375rem;flex-wrap:wrap}.habit-detail-target{display:flex;align-items:center;gap:.75rem}.habit-detail-target-btn{width:32px;height:32px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-size:1.125rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:var(--font-body)}.habit-detail-target-btn:hover:not(:disabled){background:var(--input-bg-hover);border-color:var(--border-color)}.habit-detail-target-btn:disabled{opacity:.3;cursor:default}.habit-detail-undo-btn{width:100%;padding:.5rem 1rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;font-family:var(--font-body);cursor:pointer;transition:all .15s;margin-bottom:.5rem}.habit-detail-undo-btn:hover{background:var(--input-bg-hover);color:var(--text-primary)}.habit-detail-target-val{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);min-width:2.5rem;text-align:center}@media(max-width:1024px){.habits-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.habits-grid{grid-template-columns:1fr}}.countdowns-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.countdowns-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:500}.countdowns-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}.countdown-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.25rem;cursor:pointer;transition:all .2s;box-shadow:var(--glass-shadow)}.countdown-card:hover{background:var(--glass-bg-hover);transform:translateY(-2px);box-shadow:var(--glass-shadow-lg)}.countdown-card.past{opacity:.5}.cd-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.cd-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.cd-meta{flex:1;min-width:0}.cd-title{font-size:var(--text-base);font-weight:700;color:var(--text-primary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd-date{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:500}.cd-timer{display:flex;gap:.375rem;justify-content:center}.cd-unit{flex:1;display:flex;flex-direction:column;align-items:center;padding:.5rem .25rem;background:var(--input-bg);border-radius:var(--radius-sm);min-width:0}.cd-num{font-family:var(--font-display);font-weight:800;line-height:1;letter-spacing:-.03em;font-size:clamp(1.25rem,4cqi,2.25rem)}.cd-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-top:.25rem}.countdown-card{container-type:inline-size}.cd-past-label{text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--text-tertiary);padding:.75rem 0}.cd-date-input,.cd-time-input{padding:.5rem .75rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--input-bg);font-size:var(--text-sm);font-family:var(--font-body);color:var(--text-primary);outline:none}.cd-date-input{flex:1}.cd-time-input{width:110px}.cd-date-input:focus,.cd-time-input:focus{border-color:var(--accent)}.cd-seconds-toggle{display:flex;align-items:center;gap:.25rem;font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);cursor:pointer;white-space:nowrap}.cd-seconds-toggle input{accent-color:var(--accent)}.cd-toggles{display:flex;flex-wrap:wrap;gap:.5rem}.cd-toggle-label{display:flex;align-items:center;gap:.375rem;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);cursor:pointer}.cd-toggle-label input{accent-color:var(--accent)}.cd-preview-grid{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.25rem}.cd-preview-card{display:flex;align-items:center;gap:.625rem;padding:.625rem 1rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-shrink:0;transition:all .15s}.cd-preview-card:hover{background:var(--glass-bg-hover)}.cd-preview-icon{font-size:1.125rem}.cd-preview-info{display:flex;flex-direction:column}.cd-preview-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.cd-preview-time{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;letter-spacing:-.01em}@media(max-width:1024px){.countdowns-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.countdowns-grid{grid-template-columns:1fr}.cd-timer{gap:.375rem}.cd-unit{min-width:40px}.cd-num{font-size:var(--text-xl)}}#root{margin:0;padding:0;width:100%}.app-layout{display:flex;min-height:100vh}.sidebar{position:fixed;top:.75rem;left:.75rem;bottom:.75rem;width:var(--sidebar-width);display:flex;flex-direction:column;padding:1.5rem .875rem;background:var(--sidebar-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);z-index:50;overflow:visible;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-header{display:flex;align-items:center;gap:.625rem;padding:0 .5rem 1.25rem}.sidebar-logo{font-size:1.25rem;color:var(--accent);line-height:1}.sidebar-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.sidebar-workspace{display:flex;flex-direction:column;gap:.375rem;padding:0 .25rem 1rem}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:.125rem;overflow-y:auto}.nav-section{display:flex;flex-direction:column;gap:.125rem}.nav-section-title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:.75rem .875rem .375rem}.nav-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .75rem;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left;position:relative}.nav-item:hover{background:var(--nav-item-hover);color:var(--text-primary)}.nav-item.active{background:var(--nav-item-active);color:var(--accent);font-weight:600}.nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;font-size:1rem}.nav-icon svg{width:18px;height:18px}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);min-width:1.25rem;text-align:right}.nav-item.active .nav-count{color:var(--accent);opacity:.7}.nav-separator{height:1px;background:var(--border-light);margin:.5rem .75rem}.nav-item .category-delete-btn{display:none;background:none;border:none;color:var(--text-tertiary);font-size:1rem;line-height:1;cursor:pointer;padding:0;opacity:.5;transition:all .15s}.nav-item:hover .category-delete-btn{display:flex}.nav-item .category-delete-btn:hover{opacity:1;color:var(--danger)}.shared-badge{font-size:.75rem;opacity:.6}.sidebar-footer{display:flex;align-items:center;gap:.375rem;padding:.75rem .25rem 0;border-top:1px solid var(--border-light);margin-top:.75rem}.btn-footer-nav{padding:.5rem;background:var(--input-bg);color:var(--text-secondary);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;transition:all .15s ease}.btn-footer-nav:hover{background:var(--input-bg-hover);color:var(--text-primary)}.btn-footer-nav.active{background:var(--accent-light);color:var(--accent)}.btn-footer-nav.paused{opacity:.4}.btn-theme{padding:.5rem;background:var(--input-bg);color:var(--text-secondary);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;transition:all .15s ease}.btn-theme:hover{background:var(--input-bg-hover);color:var(--text-primary)}.btn-cmdk{display:flex;align-items:center;gap:.375rem;padding:.5rem .625rem;background:var(--input-bg);color:var(--text-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);font-weight:500;height:36px;transition:all .15s ease;font-family:inherit}.btn-cmdk:hover{background:var(--input-bg-hover);color:var(--text-primary);border-color:var(--border-color)}.cmdk-badge{font-size:.625rem;font-weight:600;color:var(--text-tertiary);background:var(--glass-bg);padding:.0625rem .3125rem;border-radius:4px;border:1px solid var(--border-light);line-height:1.4}.btn-profile{margin-left:auto;padding:.125rem;background:transparent;border:2px solid var(--border-light);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;transition:all .15s ease;overflow:hidden}.btn-profile:hover{border-color:var(--accent-light);transform:scale(1.04)}.btn-profile img{width:100%;height:100%;border-radius:50%;object-fit:cover}.sidebar-overlay{display:none}.btn-menu{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-primary);cursor:pointer;font-size:1.25rem;transition:all .15s ease;flex-shrink:0}.btn-menu:hover{background:var(--glass-bg-hover)}.main-content{flex:1;margin-left:calc(var(--sidebar-width) + 1.5rem);min-height:100vh;display:flex;flex-direction:column}.view-header{display:flex;align-items:center;gap:1rem;padding:2rem 2.5rem 0}.view-header-text{flex:1;min-width:0}.view-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1.2}.view-date{font-size:var(--text-sm);font-weight:500;color:var(--text-tertiary);margin-top:.125rem}.view-actions{display:flex;align-items:center;gap:.5rem}.btn-toggle-future{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit;white-space:nowrap}.btn-toggle-future:hover{background:var(--glass-bg-hover);color:var(--text-primary)}.btn-toggle-future.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent-light)}.view-body{flex:1;padding:1.5rem 2.5rem 140px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.875rem;margin-bottom:2rem}.stat-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.125rem 1.25rem;position:relative;overflow:hidden;transition:all .2s ease}.stat-card:hover{background:var(--glass-bg-hover);transform:translateY(-1px)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2.5px;background:var(--stat-color, var(--accent))}.stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,var(--stat-glow, transparent),transparent);pointer-events:none}.stat-card--today{--stat-color: var(--accent);--stat-glow: rgba(102, 126, 234, .04)}.stat-card--overdue{--stat-color: var(--danger);--stat-glow: rgba(255, 59, 48, .03)}.stat-card--completed{--stat-color: var(--success);--stat-glow: rgba(52, 199, 89, .03)}.stat-icon{font-size:1rem;margin-bottom:.375rem;position:relative;z-index:1}.stat-number{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1;position:relative;z-index:1}.stat-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-top:.25rem;position:relative;z-index:1}.stat-number-total{font-size:var(--text-lg);font-weight:500;color:var(--text-tertiary)}.stat-progress-bar{width:100%;height:4px;background:var(--border-light);border-radius:2px;overflow:hidden;margin-bottom:.75rem;position:relative;z-index:1}.stat-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#a78bfa);border-radius:2px;transition:width .6s cubic-bezier(.4,0,.2,1);min-width:2px}.stat-card--progress{--stat-color: var(--accent);--stat-glow: rgba(102, 126, 234, .04)}.stat-card--upcoming-stat{--stat-color: #a78bfa;--stat-glow: rgba(167, 139, 250, .04)}.habits-today-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.habit-today-card{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all .15s}.habit-today-card:hover{background:var(--glass-bg-hover)}.habit-today-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.habit-today-btn{width:36px;height:36px;flex-shrink:0;border:2px solid;border-radius:var(--radius-sm);background:transparent;font-weight:700;font-size:var(--text-sm);font-family:var(--font-body);cursor:pointer;transition:all .15s}.habit-today-btn:hover{transform:scale(1.08);opacity:.8}@media(max-width:1024px){.habits-today-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.habits-today-grid{grid-template-columns:1fr}}.saved-preview{margin-bottom:2rem}.saved-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.625rem}.saved-preview-title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary)}.saved-preview-link{font-size:var(--text-xs);font-weight:600;color:var(--accent);background:none;border:none;cursor:pointer;font-family:var(--font-body);transition:opacity .15s}.saved-preview-link:hover{opacity:.7}.saved-preview-items{display:flex;gap:.625rem;overflow-x:auto;padding-bottom:.25rem}.saved-preview-card{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary);white-space:nowrap;transition:all .15s ease;flex-shrink:0}.saved-preview-card:hover{background:var(--glass-bg-hover);transform:translateY(-1px);box-shadow:var(--glass-shadow)}.saved-preview-icon{font-size:.875rem}.saved-preview-name{font-size:var(--text-sm);font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis}.tasks-section{margin-bottom:2rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.section-title{font-family:var(--font-display);color:var(--text-tertiary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.section-title--overdue{color:var(--danger)!important}.btn-delete-all{padding:.375rem .75rem;background:var(--danger-light);color:var(--danger);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:600;transition:all .15s ease;font-family:inherit}.btn-delete-all:hover{background:var(--danger);color:#fff}.task-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}.task-grid>*{height:auto!important;align-self:start;overflow:visible}.task-list>*{overflow:visible}.task-list{display:flex;flex-direction:column;gap:.5rem;max-width:var(--content-max-width)}.task-list .task-card{min-height:auto}.skeleton-card{border-radius:var(--radius-lg);padding:1rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);display:flex;flex-direction:column;gap:.75rem;min-height:120px;animation:skeleton-pulse 1.8s ease-in-out infinite}.skeleton-header{display:flex;justify-content:space-between;align-items:center}.skeleton-circle{width:32px;height:32px;border-radius:50%;background:var(--border-light)}.skeleton-line{height:12px;border-radius:6px;background:var(--border-light)}.skeleton-line.wide{width:75%}.skeleton-line.medium{width:50%}.skeleton-footer{display:flex;gap:.5rem;margin-top:auto}.skeleton-pill{height:20px;width:60px;border-radius:10px;background:var(--border-light)}.skeleton-pill.short{width:40px}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}.empty-state{text-align:center;padding:5rem 2rem;color:var(--text-secondary)}.empty-state h2{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:.5rem;color:var(--text-primary);font-weight:700}.empty-state p{font-size:var(--text-base);color:var(--text-tertiary)}.batch-action-bar{position:fixed;bottom:6rem;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);color:var(--text-primary);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow-lg);font-size:var(--text-sm);font-weight:500;margin-left:calc((var(--sidebar-width) + 1.5rem) / 2)}.batch-count{font-weight:600;white-space:nowrap;padding-right:.5rem;border-right:1px solid var(--border-color)}.batch-actions{display:flex;align-items:center;gap:.25rem}.batch-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:var(--text-xs);font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s;white-space:nowrap}.batch-btn:hover{background:var(--input-bg-hover)}.batch-btn .priority-circle{width:8px;height:8px}.batch-cancel{padding-left:.5rem;border-left:1px solid var(--border-color);opacity:.7}.batch-cancel:hover{opacity:1}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;color:var(--text-primary);gap:1rem}.spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.task-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}}@media(max-width:768px){.sidebar{transform:translate(-100%);z-index:110;box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:var(--glass-shadow-lg)}.sidebar-overlay{display:block;position:fixed;inset:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.btn-menu{display:flex}.main-content{margin-left:0}.view-header{padding:1.25rem 1.25rem 0}.view-body{padding:1rem 1.25rem 200px}.batch-action-bar{margin-left:0;bottom:5rem;left:1rem;right:1rem;transform:none;flex-wrap:wrap;justify-content:center}}@media(max-width:640px){.view-header{padding:1rem 1rem 0}.view-body{padding:.75rem 1rem 220px}.stats-grid{grid-template-columns:1fr 1fr 1fr;gap:.5rem}.stat-card{padding:.875rem}.stat-number{font-size:var(--text-xl)}.task-grid{grid-template-columns:1fr;gap:.75rem}.task-list{gap:.375rem}.view-title{font-size:var(--text-xl)}}
