@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.header{padding:0 var(--space-5);height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);z-index:var(--z-sticky);grid-area:header;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header__left{align-items:center;gap:var(--space-3);flex:1;display:flex}.header__menu-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.header__menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.header__menu-btn--mobile{display:none}.header__search{flex:1;max-width:400px;position:relative}.header__search-icon{left:var(--space-3);color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.header__search-input{background:var(--bg-tertiary);border-radius:var(--radius-lg);height:38px;font-size:var(--fs-sm);border:1px solid #0000;padding-left:38px}.header__search-input:focus{background:var(--input-bg);border-color:var(--accent)}.header__right{align-items:center;gap:var(--space-2);display:flex}.header__theme-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.header__theme-btn:hover{background:var(--bg-hover);color:var(--warning)}.header__user{position:relative}.header__avatar-btn{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent), #a78bfa);width:36px;height:36px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;display:flex;overflow:hidden}.header__avatar-btn:hover{box-shadow:0 0 0 3px var(--accent-muted);transform:scale(1.05)}.header__avatar-img{object-fit:cover;width:100%;height:100%}.header__avatar-initial{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:#fff}.header__dropdown{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.header__dropdown-header{padding:var(--space-4);flex-direction:column;gap:2px;display:flex}.header__dropdown-name{font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--text-primary)}.header__dropdown-email{font-size:var(--fs-xs);color:var(--text-tertiary)}.header__dropdown-divider{background:var(--border);height:1px}.header__dropdown-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);color:var(--text-secondary);transition:all var(--transition-fast);display:flex}.header__dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.header__dropdown-item--danger:hover{color:var(--danger);background:var(--danger-bg)}@media (width<=1199px){.header__menu-btn--desktop{display:none}.header__menu-btn--mobile{display:flex}}@media (width<=576px){.header__search{display:none}}.category-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.category-modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-xl);overflow:hidden}.category-modal__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.category-modal__header h3{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-primary)}.category-modal__close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-tertiary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.category-modal__close:hover{background:var(--bg-hover);color:var(--text-primary)}.category-modal__error{margin:var(--space-4) var(--space-5) 0;padding:var(--space-3);background:var(--danger-bg);border-radius:var(--radius-md);color:var(--danger);font-size:var(--fs-sm);border:1px solid #ef444433}.category-modal__body{padding:var(--space-4) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.category-modal__field{gap:var(--space-2);flex-direction:column;display:flex}.category-modal__field label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.category-modal__field input[type=text]{padding:var(--space-2) var(--space-3);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md)}.category-modal__colors{gap:var(--space-2);flex-wrap:wrap;display:flex}.color-btn{border-radius:var(--radius-full);cursor:pointer;width:36px;height:36px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:2px solid #0000;justify-content:center;align-items:center;display:flex}.color-btn:hover{transform:scale(1.1)}.color-btn--active{box-shadow:0 0 0 2px var(--bg-elevated), 0 0 0 4px var(--accent)}.color-btn-custom-wrapper{border-radius:var(--radius-full);cursor:pointer;border:1px solid var(--border);width:36px;height:36px;position:relative;overflow:hidden}.color-btn-custom{cursor:pointer;border:none;width:60px;height:60px;position:absolute;top:-10px;left:-10px}.category-modal__footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);background:var(--bg-tertiary);justify-content:space-between;align-items:center;display:flex}.category-modal__footer-actions{gap:var(--space-3);margin-left:auto;display:flex}.btn-delete{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--danger);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition-fast);background:0 0}.btn-delete:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.btn-delete:disabled{opacity:.7}.btn-cancel{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition-fast);background:0 0}.btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-submit{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent), #7c3aed);color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition-fast)}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-submit:disabled{opacity:.7}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);height:100vh;transition:width var(--transition-slow);z-index:var(--z-overlay);flex-direction:column;grid-area:sidebar;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar--collapsed{width:var(--sidebar-collapsed-width)}.sidebar__logo{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);height:var(--header-height);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.sidebar__logo-icon{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent), #a78bfa);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.sidebar__logo-text{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text-primary);white-space:nowrap}.sidebar__nav{padding:var(--space-3);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.sidebar__section{gap:var(--space-1);flex-direction:column;display:flex}.sidebar__section+.sidebar__section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.sidebar__section-header{padding:0 var(--space-3);justify-content:space-between;align-items:center;display:flex}.sidebar__section-title{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-3)}.sidebar__add-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-tertiary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.sidebar__add-btn:hover{background:var(--accent-muted);color:var(--accent)}.sidebar__list{flex-direction:column;gap:2px;display:flex}.sidebar__link{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition-fast);white-space:nowrap;text-decoration:none;display:flex;position:relative}.sidebar__link:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__link--active{background:var(--accent-muted);color:var(--accent)}.sidebar__link--active:before{content:"";background:var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;width:3px;height:50%;position:absolute;top:25%;left:0}.sidebar__link-icon{flex-shrink:0}.sidebar__link-text{text-overflow:ellipsis;overflow:hidden}.sidebar__link--category{padding-left:var(--space-4);flex:1}.sidebar__category-item{align-items:center;display:flex;position:relative}.sidebar__category-edit{right:var(--space-2);border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-tertiary);opacity:0;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.sidebar__category-item:hover .sidebar__category-edit{opacity:1}.sidebar__category-edit:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__category-dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px}.sidebar__empty{padding:var(--space-2) var(--space-4);font-size:var(--fs-xs);color:var(--text-tertiary);font-style:italic}.sidebar__bottom{padding:var(--space-3);border-top:1px solid var(--border);flex-shrink:0}.sidebar__quick-note{margin:var(--space-4) var(--space-3) 0;gap:var(--space-2);flex-direction:column;flex-shrink:0;display:flex}.quick-note__header{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:0 var(--space-1);justify-content:space-between;align-items:center;display:flex}.quick-note__status{text-transform:none;align-items:center;gap:4px;font-size:10px;display:flex}.quick-note__status.success{color:var(--success)}.quick-note__status.error{color:var(--danger)}.quick-note__textarea{resize:vertical;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;height:240px;min-height:120px;padding:var(--space-3);color:var(--text-primary);font-family:var(--font-primary);font-size:var(--fs-sm);transition:all var(--transition-fast);line-height:1.5}.quick-note__textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-muted);outline:none}.sidebar--collapsed .sidebar__quick-note,.sidebar--collapsed .sidebar__link-text,.sidebar--collapsed .sidebar__logo-text,.sidebar--collapsed .sidebar__section-title,.sidebar--collapsed .sidebar__section-header,.sidebar--collapsed .sidebar__empty{display:none}.sidebar--collapsed .sidebar__link{padding:var(--space-2);justify-content:center}.sidebar--collapsed .sidebar__link--active:before{display:none}.sidebar--collapsed .sidebar__logo{padding:var(--space-4) var(--space-2);justify-content:center}.sidebar--collapsed .sidebar__category-dot{width:12px;height:12px}@media (width<=1199px){.sidebar{transition:transform var(--transition-slow);box-shadow:var(--shadow-xl);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar--mobile-open{transform:translate(0)}.sidebar--collapsed{width:var(--sidebar-width)}}.layout{grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--header-height) 1fr;min-height:100vh;transition:grid-template-columns var(--transition-slow);grid-template-areas:"sidebar header""sidebar main";display:grid}.layout--sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) 1fr}.layout__main{height:calc(100vh - var(--header-height));grid-area:main;overflow-y:auto}.layout__content{padding:var(--space-6);width:100%;max-width:1400px;animation:fadeIn var(--transition-base) ease;margin:0 auto}.layout__overlay{display:none}@media (width<=1199px){.layout{grid-template-columns:1fr;grid-template-areas:"header""main"}.layout--sidebar-collapsed{grid-template-columns:1fr}}@media (width<=768px){.layout__content{padding:var(--space-4)}.layout__overlay{z-index:calc(var(--z-overlay) - 1);animation:fadeIn var(--transition-fast) ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:block;position:fixed;inset:0}}.auth-page{min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-page__bg{z-index:0;position:absolute;inset:0}.auth-page__bg-gradient{background:radial-gradient(at 20%,#6366f126 0%,#0000 50%),radial-gradient(at 80% 20%,#a78bfa1a 0%,#0000 50%),radial-gradient(at 50% 80%,#818cf814 0%,#0000 50%);position:absolute;inset:0}.auth-page__bg-pattern{opacity:.03;background-image:radial-gradient(circle at 1px 1px,currentColor 1px,#0000 0);background-size:40px 40px;position:absolute;inset:0}.auth-card{z-index:1;width:100%;max-width:420px;padding:var(--space-8);background:var(--surface-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius-2xl);position:relative;box-shadow:0 25px 50px -12px #00000040,inset 0 0 0 1px #ffffff0d}.auth-card__header{text-align:center;margin-bottom:var(--space-6)}.auth-card__logo{border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--accent), #a78bfa);color:#fff;width:56px;height:56px;margin-bottom:var(--space-4);justify-content:center;align-items:center;display:inline-flex;box-shadow:0 8px 20px #6366f14d}.auth-card__title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.auth-card__subtitle{font-size:var(--fs-sm);color:var(--text-tertiary)}.auth-card__error{padding:var(--space-3) var(--space-4);background:var(--danger-bg);border-radius:var(--radius-md);color:var(--danger);font-size:var(--fs-sm);margin-bottom:var(--space-4);border:1px solid #ef444433}.auth-card__form{gap:var(--space-4);flex-direction:column;display:flex}.auth-card__field{gap:var(--space-1);flex-direction:column;display:flex}.auth-card__label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.auth-card__field input{height:44px;padding:0 var(--space-4);font-size:var(--fs-base);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-lg)}.auth-card__password-wrapper{position:relative}.auth-card__password-wrapper input{padding-right:44px}.auth-card__password-toggle{right:var(--space-3);color:var(--text-tertiary);padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.auth-card__password-toggle:hover{color:var(--text-primary)}.auth-card__submit{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--accent), #7c3aed);color:#fff;height:46px;font-size:var(--fs-base);font-weight:var(--fw-semibold);transition:all var(--transition-fast);margin-top:var(--space-2);display:flex;box-shadow:0 4px 12px #6366f14d}.auth-card__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #6366f166}.auth-card__submit:active:not(:disabled){transform:translateY(0)}.auth-card__submit:disabled{opacity:.7}.auth-card__spinner{border-radius:var(--radius-full);border:2px solid #ffffff4d;border-top-color:#fff;width:20px;height:20px;animation:.6s linear infinite spin}.auth-card__footer{text-align:center;margin-top:var(--space-6);font-size:var(--fs-sm);color:var(--text-tertiary);gap:var(--space-1);justify-content:center;display:flex}.auth-card__footer a{color:var(--accent);font-weight:var(--fw-medium)}.auth-card__footer a:hover{color:var(--accent-hover);text-decoration:underline}@media (width<=480px){.auth-card{padding:var(--space-6);border-radius:var(--radius-xl)}}.task-card{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-fast);display:flex;position:relative}.task-card:hover{border-color:var(--border-strong);background:var(--surface-hover);box-shadow:var(--shadow-sm)}.task-card--done{opacity:.65}.task-card--done:hover{opacity:.85}.task-card--dragging{opacity:.5;box-shadow:var(--shadow-lg);border-color:var(--accent)}.task-card__drag-handle{color:var(--text-tertiary);cursor:grab;border-radius:var(--radius-sm);transition:all var(--transition-fast);justify-content:center;align-items:center;margin-left:-8px;padding:4px;display:flex}.task-card__drag-handle:hover{background:var(--bg-hover);color:var(--text-secondary)}.task-card__drag-handle:active{cursor:grabbing}.task-card__priority-bar{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg);width:3px;position:absolute;top:0;bottom:0;left:0}.priority--low{background:var(--priority-low)}.priority--medium{background:var(--priority-medium)}.priority--high{background:var(--priority-high)}.priority--urgent{background:var(--priority-urgent)}.task-card__checkbox{border-radius:var(--radius-full);border:2px solid var(--text-tertiary);color:#0000;width:24px;height:24px;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.task-card__checkbox:hover{border-color:var(--accent);background:var(--accent-muted);color:var(--accent)}.task-card__checkbox--checked{background:var(--success);border-color:var(--success);color:#fff;animation:.4s bounceCheck}.task-card__checkbox--checked:hover{background:var(--success);border-color:var(--success);color:#fff;opacity:.8}.task-card__content{cursor:pointer;flex:1;min-width:0}.task-card__header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.task-card__title{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-card__title--done{color:var(--text-tertiary);text-decoration:line-through}.task-card__recurring-icon{color:var(--accent);flex-shrink:0;align-items:center;display:inline-flex}.task-card__description{font-size:var(--fs-xs);color:var(--text-tertiary);word-break:break-word;margin-top:4px;margin-bottom:4px;line-height:1.5}.task-card__description p{margin:2px 0}.task-card__description ul,.task-card__description ol{margin:2px 0;padding-left:1.2em}.task-card__description strong{color:var(--text-secondary)}.task-card__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.task-card__badge{border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;padding:2px 8px;display:inline-flex}.priority-badge--low{background:var(--priority-low-bg);color:var(--priority-low)}.priority-badge--medium{background:var(--priority-medium-bg);color:var(--priority-medium)}.priority-badge--high{background:var(--priority-high-bg);color:var(--priority-high)}.priority-badge--urgent{background:var(--priority-urgent-bg);color:var(--priority-urgent)}.status-badge--todo{color:var(--status-todo);background:#94a3b81f}.status-badge--in_progress{color:var(--status-in-progress);background:#6366f11f}.status-badge--done{background:var(--success-bg);color:var(--success)}.task-card__time{font-size:var(--fs-xs);color:var(--text-tertiary);align-items:center;gap:4px;display:flex}.task-card__tags{flex-wrap:wrap;gap:4px;display:flex}.task-card__tag{border-radius:var(--radius-sm);font-size:11px;font-weight:var(--fw-medium);background:color-mix(in srgb, var(--tag-color) 15%, transparent);color:var(--tag-color);border:1px solid color-mix(in srgb, var(--tag-color) 25%, transparent);align-items:center;padding:1px 6px;display:inline-flex}.task-card__actions{flex-shrink:0;position:relative}.task-card__action-btn{border-radius:var(--radius-md);width:30px;height:30px;color:var(--text-tertiary);opacity:0;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.task-card:hover .task-card__action-btn{opacity:1}.task-card__action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.task-card__menu{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);position:absolute;top:100%;right:0;overflow:hidden}.task-card__menu-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--text-secondary);transition:all var(--transition-fast);display:flex}.task-card__menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.task-card__menu-item--danger{color:var(--danger)}.task-card__menu-item--danger:hover{background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger)}.task-card__menu-group{padding:8px 12px}.task-card__menu-label{text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:var(--fw-bold);letter-spacing:.5px;margin-bottom:8px}.task-card__menu-priorities{justify-content:space-between;gap:8px;display:flex}.task-card__priority-btn{border-radius:var(--radius-full);cursor:pointer;width:24px;height:24px;transition:all var(--transition-fast);background:0 0;border:2px solid #0000;justify-content:center;align-items:center;display:flex}.task-card__priority-btn:hover{background:var(--bg-hover)}.task-card__priority-btn.active{border-color:var(--border);background:var(--bg-tertiary)}.priority-dot{border-radius:50%;width:10px;height:10px}.priority-dot--low{background-color:var(--text-secondary)}.priority-dot--medium{background-color:var(--success)}.priority-dot--high{background-color:var(--warning)}.priority-dot--urgent{background-color:var(--danger)}.task-card__menu-divider{background:var(--border);height:1px;margin:4px 0}.rte-container{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;display:flex;overflow:hidden}.rte-menu{border-bottom:1px solid var(--border);background:var(--bg-tertiary);flex-wrap:wrap;align-items:center;gap:4px;padding:8px;display:flex}.rte-divider{background:var(--border);width:1px;height:20px;margin:0 4px}.rte-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.rte-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.rte-btn--active{background:var(--accent-hover);color:#fff}.rte-btn:disabled{opacity:.5;cursor:not-allowed}.rte-content{cursor:text;min-height:150px;max-height:300px;padding:12px;overflow-y:auto}.rte-content .ProseMirror{outline:none}.rte-content .ProseMirror>*+*{margin-top:.75em}.rte-content .ProseMirror p{color:var(--text-primary);font-size:var(--fs-md);line-height:var(--lh-relaxed)}.rte-content .ProseMirror h2{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-top:1em;margin-bottom:.5em}.rte-content .ProseMirror ul,.rte-content .ProseMirror ol{color:var(--text-primary);margin:1.25rem 0;padding:0 1rem}.rte-content .ProseMirror ul{list-style-type:disc}.rte-content .ProseMirror ol{list-style-type:decimal}.rte-content .ProseMirror blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);background:var(--bg-tertiary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:.5em 1em;font-style:italic}.rte-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-secondary);pointer-events:none;opacity:.7;height:0}.task-form-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);background:#00000080;position:fixed;inset:0}.task-form{background:var(--bg-elevated);border-left:1px solid var(--border);flex-direction:column;width:100%;max-width:480px;animation:.3s ease-out slideInRight;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 32px #00000026}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.task-form__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.task-form__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-primary)}.task-form__close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-tertiary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.task-form__close:hover{background:var(--bg-hover);color:var(--text-primary)}.task-form__error{margin:var(--space-4) var(--space-6) 0;padding:var(--space-3);background:var(--danger-bg);border-radius:var(--radius-md);color:var(--danger);font-size:var(--fs-sm);border:1px solid #ef444433}.task-form__body{padding:var(--space-5) var(--space-6);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.task-form__field{gap:var(--space-1);flex-direction:column;display:flex}.task-form__field label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.task-form__field input,.task-form__field textarea,.task-form__field select{padding:var(--space-2) var(--space-3);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md)}.task-form__field textarea{resize:vertical;min-height:120px}.task-form__tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.task-form__tag-btn{border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-medium);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);transition:all var(--transition-fast);cursor:pointer;padding:4px 10px}.task-form__tag-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.task-form__tag-btn--active{background:color-mix(in srgb, var(--tag-color) 15%, transparent);color:var(--tag-color);border-color:color-mix(in srgb, var(--tag-color) 40%, transparent)}.task-form__tag-input-row{gap:var(--space-2);margin-top:var(--space-2);display:flex}.task-form__tag-input-row input{flex:1}.btn-add-tag{padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition-fast)}.btn-add-tag:hover{background:var(--bg-hover);color:var(--text-primary)}.task-form__row{gap:var(--space-3);grid-template-columns:1fr 1fr 1fr;display:grid}.task-form__footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);background:var(--bg-tertiary);display:flex}.task-form__btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition-fast);display:flex}.task-form__btn--cancel{color:var(--text-secondary);background:0 0}.task-form__btn--cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.task-form__btn--submit{background:linear-gradient(135deg, var(--accent), #7c3aed);color:#fff;box-shadow:0 2px 8px #6366f14d}.task-form__btn--submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}@media (width<=480px){.task-form__row{grid-template-columns:1fr}.task-form__body{padding:var(--space-4)}.task-form__header,.task-form__footer{padding:var(--space-3) var(--space-4)}}.calendar-view{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.calendar__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.calendar__nav{align-items:center;gap:var(--space-2);display:flex}.calendar__nav-btn{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-tertiary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.calendar__nav-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.calendar__today-btn{border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);border:1px solid var(--border);margin-left:var(--space-2);transition:all var(--transition-fast);background:0 0;padding:4px 12px}.calendar__today-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.calendar__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-primary);text-transform:capitalize}.calendar__grid{border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid}.calendar__weekday{padding:var(--space-3) 0;text-align:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase;border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:var(--bg-tertiary)}.calendar__weekday:last-child{border-right:none}.calendar__cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:120px;padding:var(--space-2);gap:var(--space-2);background:var(--surface);transition:background var(--transition-fast);flex-direction:column;display:flex}.calendar__cell:nth-child(7n){border-right:none}.calendar__cell:hover:not(.calendar__cell--empty){background:var(--surface-hover);cursor:pointer}.calendar__cell--empty{background:var(--bg-secondary);pointer-events:none}.calendar__cell--today{background:#6366f10d}.calendar__cell-header{justify-content:flex-end;display:flex}.calendar__day-num{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);border-radius:var(--radius-full);justify-content:center;align-items:center;width:24px;height:24px;display:flex}.calendar__cell--today .calendar__day-num{background:var(--accent);color:#fff;font-weight:var(--fw-bold)}.calendar__task-list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.calendar__task-list::-webkit-scrollbar{width:4px}.calendar__task-list::-webkit-scrollbar-track{background:0 0}.calendar__task-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.calendar__task-chip{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;transition:all var(--transition-fast);border-left:3px solid #0000;align-items:center;gap:4px;padding:4px 6px;font-size:11px;display:flex;overflow:hidden}.calendar__task-chip:hover{background:var(--border);color:var(--text-primary)}.calendar__task-done-icon{color:var(--success);flex-shrink:0}.calendar__task-chip--done{opacity:.6;text-decoration:line-through}.calendar__task-title{text-overflow:ellipsis;overflow:hidden}@media (width<=768px){.calendar__cell{min-height:80px;padding:var(--space-1)}.calendar__day-num{width:20px;height:20px;font-size:12px}.calendar__task-chip{padding:2px 4px;font-size:10px}}@media (width<=480px){.calendar__header{gap:var(--space-3);flex-direction:column-reverse}.calendar__cell{min-height:60px}.calendar__task-title{display:none}.calendar__task-chip{border-radius:var(--radius-full);border-left:none;width:8px;height:8px;padding:0}}.dashboard{gap:var(--space-6);flex-direction:column;display:flex}.dashboard__stats{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius-xl);transition:all var(--transition-fast);display:flex}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card__icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-card--total .stat-card__icon{background:var(--accent-muted);color:var(--accent)}.stat-card--done .stat-card__icon{background:var(--success-bg);color:var(--success)}.stat-card--pending .stat-card__icon{background:var(--info-bg);color:var(--info)}.stat-card--overdue .stat-card__icon{background:var(--danger-bg);color:var(--danger)}.stat-card__info{flex-direction:column;display:flex}.stat-card__value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary);line-height:var(--lh-tight)}.stat-card__label{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:2px}.dashboard__toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.dashboard__toolbar-left{align-items:center;gap:var(--space-3);display:flex}.dashboard__title{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-primary)}.dashboard__view-toggle{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);margin-left:var(--space-2);padding:2px;display:flex}.view-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-tertiary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.view-btn:hover{color:var(--text-primary)}.view-btn--active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.dashboard__toolbar-right{align-items:center;gap:var(--space-3);display:flex}.dashboard__filter{height:36px;padding:0 var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;width:auto}.dashboard__add-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:linear-gradient(135deg, var(--accent), #7c3aed);color:#fff;border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition-fast);display:flex;box-shadow:0 2px 8px #6366f14d}.dashboard__add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.dashboard__date-group{gap:var(--space-2);flex-direction:column;display:flex}.dashboard__date-group+.dashboard__date-group{margin-top:var(--space-4)}.dashboard__date-header{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;display:flex}.dashboard__date-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:capitalize}.dashboard__date-header--overdue .dashboard__date-label{color:var(--danger)}.dashboard__date-count{background:var(--bg-tertiary);border-radius:var(--radius-full);min-width:22px;height:22px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-tertiary);justify-content:center;align-items:center;padding:0 6px;display:flex}.dashboard__task-list{gap:var(--space-2);flex-direction:column;display:flex}.dashboard__empty{padding:var(--space-16) var(--space-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.dashboard__empty-icon{margin-bottom:var(--space-4);font-size:3rem}.dashboard__empty h3{font-size:var(--fs-lg);color:var(--text-primary);margin-bottom:var(--space-2)}.dashboard__empty p{font-size:var(--fs-sm);color:var(--text-tertiary)}@media (width<=1024px){.dashboard__stats{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dashboard__toolbar{flex-direction:column;align-items:stretch}.dashboard__toolbar-right{flex-wrap:wrap}.dashboard__filter{flex:1;min-width:120px}.dashboard__add-btn{justify-content:center;width:100%}}@media (width<=480px){.dashboard__stats{grid-template-columns:1fr 1fr}.stat-card{padding:var(--space-3);gap:var(--space-3)}.stat-card__icon{width:36px;height:36px}.stat-card__value{font-size:var(--fs-xl)}}.settings-page{max-width:900px;margin:0 auto;padding:1rem}.settings-header{margin-bottom:2rem}.settings-title{font-size:var(--fs-xl);color:var(--text-primary);margin-bottom:.25rem;font-weight:700}.settings-subtitle{color:var(--text-secondary);font-size:var(--fs-sm)}.settings-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.settings-grid{grid-template-columns:1fr 2fr}}.settings-card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px var(--shadow-color);border:1px solid var(--border-color);padding:1.5rem}.settings-card.avatar-card{text-align:center;flex-direction:column;align-items:center;display:flex}.card-title{font-size:var(--fs-md);color:var(--text-primary);border-bottom:1px solid var(--border-color);text-align:left;width:100%;margin-bottom:1.25rem;padding-bottom:.5rem;font-weight:600}.settings-form{flex-direction:column;gap:1rem;display:flex}.form-group label{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:.5rem;font-weight:500;display:block}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon svg{color:var(--text-tertiary);position:absolute;left:.75rem}.input-with-icon input{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:var(--fs-sm);padding:.6rem .75rem .6rem 2.25rem;transition:border-color .2s,box-shadow .2s}.input-with-icon input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #6366f133}.disabled-input{opacity:.7;cursor:not-allowed}.help-text{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:.35rem}.submit-btn{align-self:flex-start;align-items:center;gap:.5rem;margin-top:.5rem;padding:.6rem 1.25rem;display:flex}.avatar-upload-container{flex-direction:column;align-items:center;gap:1rem;display:flex}.avatar-preview{background-color:var(--bg-tertiary);border:2px solid var(--border-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 10px #0000001a}.avatar-image{object-fit:cover;width:100%;height:100%}.avatar-placeholder{color:var(--text-secondary);font-size:2.5rem;font-weight:700}.avatar-overlay{color:#fff;opacity:0;background-color:#00000080;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.avatar-preview:hover .avatar-overlay{opacity:1}.message{border-radius:var(--radius-md);font-size:var(--fs-sm);align-items:center;gap:.5rem;margin-top:.25rem;padding:.75rem 1rem;animation:.3s ease-out fadeIn;display:flex}.alert-success{color:#22c55e;background-color:#22c55e1a;border:1px solid #22c55e33}.alert-error{color:#ef4444;background-color:#ef44441a;border:1px solid #ef444433}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root{--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:1.875rem;--fs-4xl:2.25rem;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.25;--lh-normal:1.5;--lh-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--sidebar-width:260px;--sidebar-collapsed-width:64px;--header-height:60px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--priority-low:#22c55e;--priority-low-bg:#22c55e1f;--priority-medium:#f59e0b;--priority-medium-bg:#f59e0b1f;--priority-high:#f97316;--priority-high-bg:#f973161f;--priority-urgent:#ef4444;--priority-urgent-bg:#ef44441f;--status-todo:#94a3b8;--status-in-progress:#6366f1;--status-done:#10b981}:root[data-theme=dark],:root{--bg-primary:#0b1120;--bg-secondary:#111827;--bg-tertiary:#1e293b;--bg-elevated:#1a2332;--bg-hover:#ffffff0d;--bg-active:#ffffff14;--surface:#1e293bb3;--surface-hover:#1e293be6;--surface-glass:#0f172a99;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-disabled:#475569;--text-inverse:#0f172a;--accent:#818cf8;--accent-hover:#6366f1;--accent-muted:#818cf826;--accent-text:#c7d2fe;--success:#34d399;--success-bg:#34d3991f;--warning:#fbbf24;--warning-bg:#fbbf241f;--danger:#f87171;--danger-bg:#f871711f;--info:#60a5fa;--info-bg:#60a5fa1f;--border:#ffffff14;--border-strong:#ffffff26;--border-accent:#818cf866;--input-bg:#0f172a99;--input-border:#ffffff1a;--input-focus:#818cf880;--input-placeholder:#64748b;--scrollbar-thumb:#ffffff1a;--scrollbar-track:transparent;--shadow-color:#0000004d;--glass-blur:blur(20px)}:root[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-elevated:#fff;--bg-hover:#0000000a;--bg-active:#0000000f;--surface:#fffc;--surface-hover:#fffffff2;--surface-glass:#ffffffb3;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-disabled:#cbd5e1;--text-inverse:#f8fafc;--accent:#6366f1;--accent-hover:#4f46e5;--accent-muted:#6366f11a;--accent-text:#4338ca;--success:#10b981;--success-bg:#10b98114;--warning:#f59e0b;--warning-bg:#f59e0b14;--danger:#ef4444;--danger-bg:#ef444414;--info:#3b82f6;--info-bg:#3b82f614;--border:#00000014;--border-strong:#00000026;--border-accent:#6366f166;--input-bg:#fff;--input-border:#0000001f;--input-focus:#6366f180;--input-placeholder:#94a3b8;--scrollbar-thumb:#00000026;--scrollbar-track:transparent;--shadow-color:#00000014;--glass-blur:blur(20px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes bounceCheck{0%{transform:scale(1)}30%{transform:scale(.8)}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseRing{0%{transform:scale(.95);box-shadow:0 0 #818cf866}70%{transform:scale(1);box-shadow:0 0 0 8px #818cf800}to{transform:scale(.95);box-shadow:0 0 #818cf800}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-hover) 50%, var(--bg-tertiary) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.animate-fade-in{animation:fadeIn var(--transition-base) ease forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease forwards}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) ease forwards}.animate-fade-in-scale{animation:fadeInScale var(--transition-slow) ease forwards}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease forwards}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) ease forwards}.animate-bounce-check{animation:.4s bounceCheck}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.animate-shake{animation:.4s shake}.stagger-children>*{opacity:0;animation:.4s forwards fadeInUp}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}.stagger-children>:nth-child(9){animation-delay:.45s}.stagger-children>:nth-child(10){animation-delay:.5s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-family);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;transition:background-color var(--transition-base), color var(--transition-base)}#root{min-height:100vh}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}ul,ol{list-style:none}img,svg{max-width:100%;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--text-primary);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--input-focus)}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#fff3}::selection{background:var(--accent-muted);color:var(--accent-text)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
