.toast{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);background:var(--color-background);border-left:4px solid;min-width:300px;max-width:400px;cursor:pointer;transition:all .3s ease;animation:slideInRight .3s ease-out}.toast:hover{transform:translate(-4px);box-shadow:var(--shadow-xl)}.toast--success{border-left-color:var(--color-success);background:var(--color-success-light)}.toast--error{border-left-color:var(--color-error);background:var(--color-error-light)}.toast--warning{border-left-color:var(--color-warning);background:var(--color-warning-light)}.toast--info{border-left-color:var(--color-info);background:var(--color-info-light)}.toast__icon{font-size:1.2rem;flex-shrink:0;margin-top:2px}.toast__content{flex:1;min-width:0}.toast__title{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm)}.toast__message{color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:1.4}.toast__close{background:none;border:none;font-size:1.5rem;color:var(--color-text-secondary);cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all .2s ease;flex-shrink:0}.toast__close:hover{background:var(--color-background-hover);color:var(--color-text-primary)}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast.toast--exiting{animation:slideOutRight .3s ease-in forwards}[data-theme=dark] .toast{background:var(--color-background-dark);box-shadow:var(--shadow-lg-dark)}[data-theme=dark] .toast--success{background:var(--color-success-dark)}[data-theme=dark] .toast--error{background:var(--color-error-dark)}[data-theme=dark] .toast--warning{background:var(--color-warning-dark)}[data-theme=dark] .toast--info{background:var(--color-info-dark)}[data-theme=dark] .toast__title{color:var(--color-text-primary-dark)}[data-theme=dark] .toast__message,[data-theme=dark] .toast__close{color:var(--color-text-secondary-dark)}[data-theme=dark] .toast__close:hover{background:var(--color-background-hover-dark);color:var(--color-text-primary-dark)}.toast-container{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:9999;display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none}.toast-container .toast{pointer-events:auto}@media (max-width: 768px){.toast-container{top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md)}.toast{min-width:auto;max-width:none}}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:12px 24px;border:1px solid transparent;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-normal);outline:none;position:relative;overflow:hidden}.button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.button-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-sm)}.button-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.button-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.button-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-sm)}.button-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.button-secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.button-danger{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:var(--shadow-sm)}.button-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-md)}.button-danger:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.button-ghost{background:transparent;color:var(--text-primary);border-color:transparent}.button-ghost:hover:not(:disabled){background:var(--bg-secondary);transform:translateY(-1px)}.button-ghost:active:not(:disabled){transform:translateY(0)}.button-sm{padding:8px 16px;font-size:12px}.button-md{padding:12px 24px;font-size:14px}.button-lg{padding:16px 32px;font-size:16px}.button-loading{position:relative;pointer-events:none}.button-loading .spinner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.button-loading>*:not(.spinner){opacity:0}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.input-required{color:var(--color-error);margin-left:2px}.input-container{position:relative;display:flex;align-items:center}.input{width:100%;border:2px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease;outline:none}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input::placeholder{color:var(--color-text-tertiary)}.input--filled{background:var(--color-background-secondary);border-color:transparent}.input--filled:focus{background:var(--color-background);border-color:var(--color-primary)}.input--outlined{background:transparent;border-color:var(--color-border)}.input--outlined:focus{border-color:var(--color-primary)}.input--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.input--md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.input--lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md)}.input--error{border-color:var(--color-error)}.input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.input--with-left-icon{padding-left:calc(var(--spacing-md) + 20px + var(--spacing-sm))}.input--with-right-icon{padding-right:calc(var(--spacing-md) + 20px + var(--spacing-sm))}.input-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);font-size:1rem;pointer-events:none}.input-icon--left{left:var(--spacing-sm)}.input-icon--right{right:var(--spacing-sm)}.input-helper,.input-error{font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.input-helper{color:var(--color-text-secondary)}.input-error{color:var(--color-error)}[data-theme=dark] .input{background:var(--color-background-dark);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .input::placeholder{color:var(--color-text-tertiary-dark)}[data-theme=dark] .input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-dark)}[data-theme=dark] .input--filled{background:var(--color-background-secondary-dark)}[data-theme=dark] .input--filled:focus{background:var(--color-background-dark)}[data-theme=dark] .input-label{color:var(--color-text-primary-dark)}[data-theme=dark] .input-icon,[data-theme=dark] .input-helper{color:var(--color-text-secondary-dark)}.input:disabled{background:var(--color-background-disabled);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}[data-theme=dark] .input:disabled{background:var(--color-background-disabled-dark);color:var(--color-text-disabled-dark)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .2s ease}.modal-overlay--open{opacity:1}.modal{background:var(--color-background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:90vw;max-height:90vh;display:flex;flex-direction:column;transform:scale(.9) translateY(20px);opacity:0;transition:all .2s ease}.modal--open{transform:scale(1) translateY(0);opacity:1}.modal--sm{width:400px}.modal--md{width:500px}.modal--lg{width:700px}.modal--xl{width:900px}.modal--full{width:95vw;height:95vh;max-width:none;max-height:none}.modal--centered{margin:auto}.modal--sidebar{position:fixed;top:0;right:0;height:100vh;width:400px;max-width:90vw;max-height:none;border-radius:0;transform:translate(100%);transition:transform .3s ease}.modal--sidebar.modal--open{transform:translate(0)}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal__close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal__close:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.modal__body{padding:var(--spacing-lg);flex:1;overflow-y:auto}.modal--sm .modal__body{padding:var(--spacing-md)}.modal--lg .modal__body,.modal--xl .modal__body{padding:var(--spacing-xl)}.modal__footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);justify-content:flex-end;flex-shrink:0}.modal--sm .modal__footer{padding:var(--spacing-md)}.modal--lg .modal__footer,.modal--xl .modal__footer{padding:var(--spacing-xl)}[data-theme=dark] .modal{background:var(--color-background-dark);box-shadow:var(--shadow-xl-dark)}[data-theme=dark] .modal__header,[data-theme=dark] .modal__footer{border-color:var(--color-border-dark)}[data-theme=dark] .modal__title{color:var(--color-text-primary-dark)}[data-theme=dark] .modal__close{color:var(--color-text-secondary-dark)}[data-theme=dark] .modal__close:hover{background:var(--color-background-hover-dark);color:var(--color-text-primary-dark)}@media (max-width: 768px){.modal{width:95vw;max-width:none;margin:var(--spacing-sm)}.modal--sidebar{width:100vw;max-width:none}.modal__header,.modal__body,.modal__footer{padding:var(--spacing-md)}.modal__footer{flex-direction:column}.modal__footer>*{width:100%}}.card{background:var(--color-background);border-radius:var(--border-radius-lg);transition:all .2s ease;overflow:hidden}.card--default{border:1px solid var(--color-border)}.card--elevated{border:none;box-shadow:var(--shadow-md)}.card--outlined{border:2px solid var(--color-border);background:transparent}.card--filled{border:none;background:var(--color-background-secondary)}.card--sm{padding:var(--spacing-sm)}.card--md{padding:var(--spacing-md)}.card--lg{padding:var(--spacing-lg)}.card--hoverable:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card--clickable{cursor:pointer;border:none;background:var(--color-background);text-align:left;width:100%}.card--clickable:hover{background:var(--color-background-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.card--clickable:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card--clickable:focus{outline:2px solid var(--color-primary);outline-offset:2px}.card__header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.card__body{flex:1}.card__footer{padding-top:var(--spacing-md);border-top:1px solid var(--color-border);margin-top:var(--spacing-md)}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.card__content{color:var(--color-text-primary);line-height:1.6}[data-theme=dark] .card{background:var(--color-background-dark)}[data-theme=dark] .card--default{border-color:var(--color-border-dark)}[data-theme=dark] .card--outlined{border-color:var(--color-border-dark);background:transparent}[data-theme=dark] .card--filled{background:var(--color-background-secondary-dark)}[data-theme=dark] .card--clickable{background:var(--color-background-dark)}[data-theme=dark] .card--clickable:hover{background:var(--color-background-hover-dark)}[data-theme=dark] .card__header,[data-theme=dark] .card__footer{border-color:var(--color-border-dark)}[data-theme=dark] .card__title{color:var(--color-text-primary-dark)}[data-theme=dark] .card__subtitle{color:var(--color-text-secondary-dark)}[data-theme=dark] .card__content{color:var(--color-text-primary-dark)}@media (max-width: 768px){.card--sm{padding:var(--spacing-xs)}.card--md{padding:var(--spacing-sm)}.card--lg{padding:var(--spacing-md)}}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-weight:var(--font-weight-medium);transition:all .2s ease}.badge__content{display:flex;align-items:center;gap:var(--spacing-xs)}.badge__remove{background:none;border:none;font-size:1.2rem;color:inherit;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;opacity:.7}.badge__remove:hover{opacity:1;background:#fff3}.badge--default{background:var(--color-background-secondary);color:var(--color-text-primary)}.badge--primary{background:var(--color-primary);color:#fff}.badge--secondary{background:var(--color-secondary);color:#fff}.badge--success{background:var(--color-success);color:#fff}.badge--warning{background:var(--color-warning);color:#fff}.badge--error{background:var(--color-error);color:#fff}.badge--info{background:var(--color-info);color:#fff}.badge--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--border-radius-sm)}.badge--sm .badge__remove{width:12px;height:12px;font-size:1rem}.badge--md{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);border-radius:var(--border-radius-md)}.badge--md .badge__remove{width:16px;height:16px;font-size:1.2rem}.badge--lg{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);border-radius:var(--border-radius-lg)}.badge--lg .badge__remove{width:20px;height:20px;font-size:1.4rem}.badge--pill{border-radius:9999px}.badge--square{border-radius:0}[data-theme=dark] .badge--default{background:var(--color-background-secondary-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .badge__remove:hover{background:#0003}.badge--removable:hover{transform:scale(1.05)}.badge--removable:hover .badge__remove{opacity:1}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm)}.loading--overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999}.loading__spinner{position:relative}.loading__spinner-ring{width:100%;height:100%;border:3px solid transparent;border-top:3px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.loading__dots{display:flex;gap:var(--spacing-xs)}.loading__dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:bounce 1.4s ease-in-out infinite both}.loading__dot:nth-child(1){animation-delay:-.32s}.loading__dot:nth-child(2){animation-delay:-.16s}.loading__pulse{position:relative}.loading__pulse-circle{width:100%;height:100%;border-radius:50%;background:currentColor;animation:pulse 1.5s ease-in-out infinite}.loading__bars{display:flex;gap:2px;align-items:flex-end}.loading__bar{width:4px;background:currentColor;animation:bars 1.2s ease-in-out infinite}.loading__bar:nth-child(1){animation-delay:-1.2s}.loading__bar:nth-child(2){animation-delay:-1.1s}.loading__bar:nth-child(3){animation-delay:-1s}.loading__bar:nth-child(4){animation-delay:-.9s}.loading--sm .loading__spinner-ring,.loading--sm .loading__pulse-circle{width:16px;height:16px}.loading--sm .loading__dot{width:6px;height:6px}.loading--sm .loading__bar{width:3px;height:12px}.loading--md .loading__spinner-ring,.loading--md .loading__pulse-circle{width:24px;height:24px}.loading--md .loading__dot{width:8px;height:8px}.loading--md .loading__bar{width:4px;height:16px}.loading--lg .loading__spinner-ring,.loading--lg .loading__pulse-circle{width:32px;height:32px}.loading--lg .loading__dot{width:10px;height:10px}.loading--lg .loading__bar{width:5px;height:20px}.loading--xl .loading__spinner-ring,.loading--xl .loading__pulse-circle{width:48px;height:48px}.loading--xl .loading__dot{width:12px;height:12px}.loading--xl .loading__bar{width:6px;height:24px}.loading--primary{color:var(--color-primary)}.loading--secondary{color:var(--color-secondary)}.loading--white{color:#fff}.loading--current{color:currentColor}.loading__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes pulse{0%{transform:scale(.95);opacity:.7}70%{transform:scale(1);opacity:1}to{transform:scale(.95);opacity:.7}}@keyframes bars{0%,40%,to{transform:scaleY(.4)}20%{transform:scaleY(1)}}[data-theme=dark] .loading--overlay{background:#000c}[data-theme=dark] .loading__text{color:var(--color-text-secondary-dark)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.empty-state__icon{margin-bottom:var(--spacing-lg);opacity:.6}.empty-state__content{max-width:400px}.empty-state__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.empty-state__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0;line-height:1.5}.empty-state__action{margin-top:var(--spacing-md)}.empty-state--minimal{padding:var(--spacing-md)}.empty-state--minimal .empty-state__icon{margin-bottom:var(--spacing-md)}.empty-state--minimal .empty-state__title{font-size:var(--font-size-md)}.empty-state--illustrated{padding:var(--spacing-xxl)}.empty-state--illustrated .empty-state__icon{margin-bottom:var(--spacing-xl);opacity:.4}.empty-state--illustrated .empty-state__title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}.empty-state--illustrated .empty-state__description{font-size:var(--font-size-md);margin-bottom:var(--spacing-xl)}.empty-state--sm{padding:var(--spacing-md)}.empty-state--sm .empty-state__icon{margin-bottom:var(--spacing-sm)}.empty-state--sm .empty-state__title{font-size:var(--font-size-md)}.empty-state--sm .empty-state__description{font-size:var(--font-size-xs)}.empty-state--md{padding:var(--spacing-xl)}.empty-state--lg{padding:var(--spacing-xxl)}.empty-state--lg .empty-state__icon{margin-bottom:var(--spacing-xl)}.empty-state--lg .empty-state__title{font-size:var(--font-size-xl)}.empty-state--lg .empty-state__description{font-size:var(--font-size-md)}[data-theme=dark] .empty-state{color:var(--color-text-secondary-dark)}[data-theme=dark] .empty-state__title{color:var(--color-text-primary-dark)}[data-theme=dark] .empty-state__description{color:var(--color-text-secondary-dark)}@media (max-width: 768px){.empty-state{padding:var(--spacing-lg)}.empty-state--illustrated{padding:var(--spacing-xl)}.empty-state__content{max-width:100%}.empty-state__title{font-size:var(--font-size-md)}.empty-state__description{font-size:var(--font-size-sm)}}.workspace-sharing{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:600px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.workspace-sharing-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border)}.workspace-sharing-header h3{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.workspace-sharing-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.members-list{margin-bottom:var(--spacing-lg)}.member-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);background:var(--bg-secondary);transition:all var(--transition-normal)}.member-item:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.member-info{display:flex;align-items:center;gap:var(--spacing-md)}.member-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.member-details{display:flex;flex-direction:column}.member-name{font-weight:500;color:var(--text-primary);font-size:14px}.member-email{color:var(--text-secondary);font-size:12px}.member-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.member-role{padding:4px 8px;border-radius:var(--radius-sm);color:#fff;font-size:11px;font-weight:500;text-transform:uppercase}.add-member-section{text-align:center;padding-top:var(--spacing-md);border-top:1px solid var(--border)}.add-member-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group label{font-weight:500;color:var(--text-primary);font-size:14px}.form-input,.form-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:border-color var(--transition-normal)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md)}@media (max-width: 768px){.workspace-sharing{max-width:100%;margin:var(--spacing-md)}.member-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.member-actions{width:100%;justify-content:space-between}}.workspace-management{max-width:1200px;margin:0 auto;padding:24px}.workspace-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.workspace-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.workspace-card{display:flex;justify-content:space-between;align-items:start;padding:20px;border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);background:var(--bg-secondary)}.workspace-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.workspace-card.selected{border-color:var(--primary);background:var(--bg-primary);box-shadow:var(--shadow-lg)}.workspace-info{flex:1}.workspace-info h3{margin:0 0 8px;font-size:18px;font-weight:600}.workspace-description{margin:8px 0;color:var(--text-secondary);font-size:14px}.workspace-meta{display:flex;gap:8px;align-items:center;margin-top:12px}.badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.badge.public{background:var(--success);color:#fff}.badge.private{background:var(--bg-tertiary);color:var(--text-secondary)}.workspace-date{font-size:12px;color:var(--text-tertiary)}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state p{font-size:16px}.badge.active{background:var(--primary);color:#fff}.workspace-details{margin-top:32px;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.form-grid label{display:flex;flex-direction:column;gap:8px}.form-grid label span{font-weight:600;color:var(--text-primary)}.form-grid input,.form-grid textarea{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary)}.form-grid textarea{resize:vertical;min-height:80px}.form-grid .checkbox{flex-direction:row;align-items:center;grid-column:1 / -1}.form-grid .checkbox input{margin-right:8px}.members{margin-top:24px}.invite{display:flex;gap:12px;margin-bottom:16px;padding:16px;background:var(--bg-primary);border-radius:var(--radius)}.invite input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius)}.invite select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary)}.member-list{display:flex;flex-direction:column;gap:8px}.member-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius)}.member-info{flex:1}.member-name{font-weight:600;margin-bottom:4px}.member-meta{font-size:12px;color:var(--text-secondary)}.workspace-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:24px}.tab-button{padding:12px 24px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast)}.tab-button:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tab-button.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--bg-primary)}.notes-list{display:flex;flex-direction:column;gap:12px}.note-item{padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast)}.note-item:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.note-info{flex:1}.note-title{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.note-preview{margin:8px 0;color:var(--text-secondary);font-size:14px;line-height:1.4}.note-meta{display:flex;gap:16px;margin-top:8px}.note-date{font-size:12px;color:var(--text-tertiary)}.skeleton{background:linear-gradient(90deg,var(--color-skeleton-base) 25%,var(--color-skeleton-highlight) 50%,var(--color-skeleton-base) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton--pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton--wave{animation:skeleton-wave 1.5s ease-in-out infinite}.skeleton--none{animation:none}.skeleton--text{height:1rem;border-radius:4px}.skeleton--rectangular{border-radius:4px}.skeleton--circular{border-radius:50%}.skeleton-text{display:flex;flex-direction:column;gap:8px}.skeleton-text__line{margin-bottom:4px}.skeleton-text__line:last-child{width:60%!important}.skeleton-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.skeleton-card__image{width:100%;margin-bottom:var(--spacing-md)}.skeleton-card__content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-card__title{margin-bottom:var(--spacing-sm)}.skeleton-card__text{margin-bottom:var(--spacing-md)}.skeleton-card__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes skeleton-wave{0%{background-position:-200% 0}to{background-position:200% 0}}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--color-skeleton-base-dark) 25%,var(--color-skeleton-highlight-dark) 50%,var(--color-skeleton-base-dark) 75%)}[data-theme=dark] .skeleton-card{background:var(--color-background-dark);border-color:var(--color-border-dark)}@media (max-width: 768px){.skeleton-card{padding:var(--spacing-sm)}.skeleton-card__actions{flex-direction:column}}.dashboard{min-height:100vh;background:var(--color-background)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-background);flex-shrink:0}.dashboard-title h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.dashboard-subtitle{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0}.dashboard-actions{display:flex;gap:var(--spacing-sm);align-items:center}.dashboard-action-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.dashboard-action-btn:hover{background:var(--color-background-hover);border-color:var(--color-primary)}.dashboard-action-btn.logout{background:var(--color-error);color:#fff;border-color:var(--color-error)}.dashboard-action-btn.logout:hover{background:var(--color-error-dark);border-color:var(--color-error-dark)}.dashboard-main{padding:var(--spacing-md);width:100%;max-width:100%}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.stat-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md)}.stat-icon{width:48px;height:48px;border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);color:#fff}.stat-content h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.stat-content p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.dashboard-quick-actions{margin-bottom:var(--spacing-md)}.dashboard-quick-actions h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-sm)}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-background);color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;text-decoration:none}.quick-action-btn:hover{border-color:var(--color-primary);background:var(--color-primary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-action-icon{font-size:var(--font-size-2xl)}.quick-action-btn span:last-child{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.dashboard-recent{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.recent-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.recent-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.recent-item{padding:var(--spacing-md)}.recent-item-content h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.recent-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.recent-item-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.dashboard-modules h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0}.modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.module-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);position:relative}.module-icon{width:56px;height:56px;border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);color:#fff;flex-shrink:0}.module-content{flex:1;min-width:0}.module-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.module-content h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.module-content p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.module-arrow{font-size:var(--font-size-lg);color:var(--color-text-tertiary);flex-shrink:0}[data-theme=dark] .dashboard{background:var(--color-background-dark)}[data-theme=dark] .dashboard-header{background:var(--color-background-dark);border-color:var(--color-border-dark)}[data-theme=dark] .dashboard-title h1{color:var(--color-text-primary-dark)}[data-theme=dark] .dashboard-subtitle{color:var(--color-text-secondary-dark)}[data-theme=dark] .dashboard-action-btn{background:var(--color-background-dark);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .dashboard-action-btn:hover{background:var(--color-background-hover-dark);border-color:var(--color-primary)}[data-theme=dark] .stat-content h3{color:var(--color-text-primary-dark)}[data-theme=dark] .stat-content p{color:var(--color-text-secondary-dark)}[data-theme=dark] .dashboard-quick-actions h2{color:var(--color-text-primary-dark)}[data-theme=dark] .quick-action-btn{background:var(--color-background-dark);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .quick-action-btn:hover{background:var(--color-primary-dark)}[data-theme=dark] .recent-section h3,[data-theme=dark] .recent-item-content h4{color:var(--color-text-primary-dark)}[data-theme=dark] .recent-item-meta{color:var(--color-text-secondary-dark)}[data-theme=dark] .dashboard-modules h2,[data-theme=dark] .module-content h3{color:var(--color-text-primary-dark)}[data-theme=dark] .module-content p{color:var(--color-text-secondary-dark)}[data-theme=dark] .module-arrow{color:var(--color-text-tertiary-dark)}@media (max-width: 768px){.dashboard-header{flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.dashboard-main{padding:var(--spacing-lg)}.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.dashboard-recent{grid-template-columns:1fr;gap:var(--spacing-lg)}.modules-grid{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.dashboard-stats,.quick-actions-grid{grid-template-columns:1fr}}.notes-page{min-height:100vh;background:var(--color-background);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.notes-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-background);flex-shrink:0}.notes-title h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.notes-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.notes-actions{display:flex;gap:var(--spacing-sm)}.notes-content{padding:var(--spacing-md);width:100%;max-width:100%}.notes-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.search-section{flex:1;max-width:400px}.sort-section{display:flex;align-items:center;gap:var(--spacing-sm)}.sort-select{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.sort-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.sort-order-btn{padding:var(--spacing-sm);border:2px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-md);cursor:pointer;transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.sort-order-btn:hover{background:var(--color-background-hover);border-color:var(--color-primary)}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.note-card{padding:var(--spacing-md);transition:all .3s ease;animation:slideInUp .4s ease-out}.note-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.note-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.note-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;flex:1;margin-right:var(--spacing-sm);line-height:1.3}.note-actions{display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity .3s ease}.note-action-btn{padding:var(--spacing-xs);border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease}.note-action-btn:hover{background:var(--color-background-hover);color:var(--color-text-primary);transform:scale(1.1)}.note-card:hover .note-actions{opacity:1}.note-delete-btn{background:none;border:none;color:var(--color-error);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);transition:all .2s ease;font-size:var(--font-size-sm)}.note-delete-btn:hover{background:var(--color-error-light);transform:scale(1.1)}.note-meta{display:flex;flex-direction:column;gap:var(--spacing-sm)}.note-dates{display:flex;flex-direction:column;gap:var(--spacing-xs)}.note-date{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.note-date strong{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.create-note-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}[data-theme=dark] .notes-page{background:var(--color-background-dark)}[data-theme=dark] .notes-header{background:var(--color-background-dark);border-color:var(--color-border-dark)}[data-theme=dark] .notes-title h1{color:var(--color-text-primary-dark)}[data-theme=dark] .notes-subtitle{color:var(--color-text-secondary-dark)}[data-theme=dark] .sort-select{background:var(--color-background-dark);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .sort-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-dark)}[data-theme=dark] .sort-order-btn{background:var(--color-background-dark);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .sort-order-btn:hover{background:var(--color-background-hover-dark);border-color:var(--color-primary)}[data-theme=dark] .note-title{color:var(--color-text-primary-dark)}[data-theme=dark] .note-date{color:var(--color-text-secondary-dark)}[data-theme=dark] .note-date strong{color:var(--color-text-primary-dark)}[data-theme=dark] .note-delete-btn:hover{background:var(--color-error-dark)}@media (max-width: 768px){.notes-header{flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.notes-content{padding:var(--spacing-lg)}.notes-filters{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.search-section{max-width:none}.sort-section{justify-content:space-between}.notes-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.modal-actions{flex-direction:column}}@media (max-width: 480px){.notes-header,.notes-content,.note-card{padding:var(--spacing-md)}.note-card-header{flex-direction:column;gap:var(--spacing-sm)}.note-actions{opacity:1;align-self:flex-end}}.text-formatting-toolbar{display:flex;gap:4px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:4px;box-shadow:0 4px 12px #00000026;z-index:1000}.format-button{width:32px;height:32px;border:none;background:transparent;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .15s}.format-button:hover{background:#f5f5f5}.format-button:active{background:#e0e0e0}[data-theme=dark] .text-formatting-toolbar{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .format-button:hover{background:var(--bg-tertiary)}[data-theme=dark] .format-button:active{background:var(--bg-primary)}.mention-menu{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:250px;max-width:350px;max-height:300px;overflow-y:auto;z-index:1000}.mention-menu-header{padding:8px 12px;font-size:12px;color:var(--text-secondary);border-bottom:1px solid #e0e0e0;font-weight:500}.mention-menu-list{padding:4px}.mention-menu-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:4px;cursor:pointer;transition:background .15s}.mention-menu-item:hover,.mention-menu-item.selected{background:#f5f5f5}.mention-menu-item-icon{font-size:20px;width:24px;text-align:center}.mention-menu-item-name{flex:1;font-size:14px;font-weight:500;color:var(--text-primary)}.mention-menu-item-type{font-size:12px;color:var(--text-tertiary)}[data-theme=dark] .mention-menu{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .mention-menu-header{color:var(--text-secondary);border-bottom-color:var(--border)}[data-theme=dark] .mention-menu-item:hover,[data-theme=dark] .mention-menu-item.selected{background:var(--bg-tertiary)}[data-theme=dark] .mention-menu-item-name{color:var(--text-primary)}[data-theme=dark] .mention-menu-item-type{color:var(--text-tertiary)}.block-menu{position:absolute;left:-52px;top:4px;display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.6;transition:opacity .2s;z-index:10;width:32px}.block-container:hover .block-menu,.block-container.selected .block-menu{opacity:1}left: -52px; top: 4px; display: flex; flex-direction: column; align-items: center; gap: 4px; opacity: .6; transition: opacity .2s; z-index: 10; width: 32px; } .block-container:hover .block-menu,.block-container.selected .block-menu{opacity:1}.block-menu-drag-handle{cursor:grab;color:#999;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;-webkit-user-select:none;user-select:none}.block-menu-drag-handle:hover{background:#f0f0f0;color:#666}.block-menu-drag-handle:active{cursor:grabbing}.block-menu-button{width:24px;height:24px;border:none;background:transparent;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;font-size:14px;padding:0}.block-menu-button:hover{background:#f0f0f0;color:#333}.block-menu-button-delete:hover{background:#fee;color:#e74c3c}.block-menu-item-wrapper{position:relative}.block-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;background:transparent}.block-menu-type-menu{position:absolute;left:32px;top:0;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:4px;min-width:200px;z-index:101;max-height:300px;overflow-y:auto}.block-menu-type-option{width:100%;display:flex;align-items:center;gap:12px;padding:8px 12px;border:none;background:transparent;cursor:pointer;border-radius:4px;text-align:left;transition:background .15s}.block-menu-type-option:hover{background:#f5f5f5}.block-menu-type-option.active{background:#e8f4fd;color:#4a90e2;font-weight:500}.block-menu-type-option.active:before{content:"✓";display:inline-block;width:16px;margin-right:8px;color:#4a90e2;font-weight:700;text-align:center}.block-menu-type-icon{font-size:16px;width:20px;text-align:center}.block-menu-type-label{font-size:14px;color:#333}.block-menu-type-option.active .block-menu-type-label{color:#4a90e2;font-weight:500}.slash-menu{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:300px;max-height:400px;z-index:1000;overflow:hidden}.slash-menu-header{border-bottom:1px solid #eee;padding:4px}.slash-menu-list{max-height:320px;overflow-y:auto}.slash-menu-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;transition:background .15s}.slash-menu-item:hover,.slash-menu-item.selected{background:#f0f8ff}.slash-menu-item:not(:last-child){border-bottom:1px solid #f0f0f0}.block-editor{position:relative;width:100%;min-height:200px}.block-container{position:relative;padding:4px 0;margin:2px 0;transition:background-color .15s ease,opacity .2s ease;border-radius:4px}.block-container:hover{background-color:#00000005}[data-theme=dark] .block-container:hover{background-color:#ffffff05}.block-container.selected{background-color:#4a90e20d}[data-theme=dark] .block-container.selected{background-color:#4a90e21a}.block-container.dragging{opacity:.5}.block-content{position:relative;padding-left:48px;min-height:24px}.empty-state{padding:40px 20px;text-align:center;color:var(--text-tertiary);cursor:text;transition:color .2s}.empty-state:hover{color:var(--text-secondary)}.empty-state p{margin:0;font-size:16px}.drop-indicator{height:2px;background:var(--color-info, #3b82f6);margin:4px 0;border-radius:1px;animation:dropIndicatorPulse .3s ease}@keyframes dropIndicatorPulse{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.add-block-prompt{opacity:.5;transition:opacity .2s}.add-block-prompt:hover{opacity:1}.block-saving-indicator{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--color-info, #3b82f6);opacity:0;transition:opacity .2s;animation:savingPulse 1.5s ease-in-out infinite}.block-saving-indicator.active{opacity:1}@keyframes savingPulse{0%,to{opacity:.3}50%{opacity:1}}.text-block{width:100%;min-height:24px;border:none;outline:none;resize:none;font-family:inherit;font-size:16px;line-height:1.6;padding:8px;background:transparent;color:var(--text-primary);transition:color var(--transition-normal)}.text-block::placeholder{color:var(--text-tertiary)}[data-theme=dark] .text-block{color:var(--text-primary)}[data-theme=dark] .text-block::placeholder{color:var(--text-tertiary)}.heading-block{width:100%;border:none;outline:none;padding:8px;background:transparent;color:var(--text-primary);transition:color var(--transition-normal)}.heading-block::placeholder{color:var(--text-tertiary)}[data-theme=dark] .heading-block{color:var(--text-primary)}[data-theme=dark] .heading-block::placeholder{color:var(--text-tertiary)}.note-title-input{font-size:32px;font-weight:700;border:none;outline:none;width:100%;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--border);background:transparent;color:var(--text-primary);transition:color var(--transition-normal),border-color var(--transition-normal)}.note-title-input::placeholder{color:var(--text-tertiary)}[data-theme=dark] .note-title-input{color:var(--text-primary);border-bottom-color:var(--border)}[data-theme=dark] .note-title-input::placeholder{color:var(--text-tertiary)}.note-status-text{font-size:12px;color:var(--text-secondary);margin-bottom:12px}[data-theme=dark] .note-status-text{color:var(--text-secondary)}.quote-block{color:var(--text-secondary);background:var(--bg-secondary);transition:color var(--transition-normal),background var(--transition-normal)}.quote-block-textarea{color:var(--text-primary);background:transparent}.quote-block-textarea::placeholder{color:var(--text-tertiary)}[data-theme=dark] .quote-block{color:var(--text-secondary);background:var(--bg-secondary)}[data-theme=dark] .quote-block-textarea{color:var(--text-primary)}[data-theme=dark] .quote-block-textarea::placeholder{color:var(--text-tertiary)}.list-block-input{color:var(--text-primary);transition:color var(--transition-normal)}.list-block-input::placeholder{color:var(--text-tertiary)}[data-theme=dark] .list-block-input{color:var(--text-primary)}[data-theme=dark] .list-block-input::placeholder{color:var(--text-tertiary)}.textarea-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.textarea-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.textarea-required{color:var(--color-error);margin-left:2px}.textarea{width:100%;border:2px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease;outline:none;font-family:inherit;line-height:1.5}.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.textarea::placeholder{color:var(--color-text-tertiary)}.textarea--filled{background:var(--color-background-secondary);border-color:transparent}.textarea--filled:focus{background:var(--color-background);border-color:var(--color-primary)}.textarea--outlined{background:transparent;border-color:var(--color-border)}.textarea--outlined:focus{border-color:var(--color-primary)}.textarea--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);min-height:60px}.textarea--md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);min-height:80px}.textarea--lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md);min-height:120px}.textarea--resize-none{resize:none}.textarea--resize-vertical{resize:vertical}.textarea--resize-horizontal{resize:horizontal}.textarea--resize-both{resize:both}.textarea--error{border-color:var(--color-error)}.textarea--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.textarea-helper,.textarea-error{font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.textarea-helper{color:var(--color-text-secondary)}.textarea-error{color:var(--color-error)}[data-theme=dark] .textarea{background:var(--color-background-dark);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .textarea::placeholder{color:var(--color-text-tertiary-dark)}[data-theme=dark] .textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-dark)}[data-theme=dark] .textarea--filled{background:var(--color-background-secondary-dark)}[data-theme=dark] .textarea--filled:focus{background:var(--color-background-dark)}[data-theme=dark] .textarea-label{color:var(--color-text-primary-dark)}[data-theme=dark] .textarea-helper{color:var(--color-text-secondary-dark)}.textarea:disabled{background:var(--color-background-disabled);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}[data-theme=dark] .textarea:disabled{background:var(--color-background-disabled-dark);color:var(--color-text-disabled-dark)}.module-selector{margin:var(--spacing-md) 0}.module-selector-label{display:block;font-size:14px;font-weight:500;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.module-checkboxes{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.module-checkbox-label{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;background:var(--bg-secondary);-webkit-user-select:none;user-select:none}.module-checkbox-label:hover:not(.current-module){border-color:var(--primary-color);background:var(--bg-hover);transform:translateY(-1px)}.module-checkbox-label.checked{border-color:var(--primary-color);background:var(--primary-bg)}.module-checkbox-label.current-module{border-color:var(--primary-color);background:var(--primary-color);color:#fff;cursor:default}.module-checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin:0}.module-checkbox-label.current-module input[type=checkbox]{cursor:default}.module-icon{font-size:20px;line-height:1}.module-label{font-size:14px;font-weight:500}.current-badge{font-size:11px;padding:2px 6px;border-radius:4px;background:#fff3;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.module-selector-hint{font-size:12px;color:var(--text-secondary);margin-top:var(--spacing-sm);margin-bottom:0;font-style:italic}:root[data-theme=dark] .module-checkbox-label{border-color:var(--border-dark)}:root[data-theme=dark] .module-checkbox-label:hover:not(.current-module){background:var(--bg-dark-hover)}:root[data-theme=dark] .module-checkbox-label.checked{background:#3b82f61a}:root[data-theme=dark] .module-checkbox-label.current-module{background:var(--primary-color)}.select-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.select-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.select-required{color:var(--color-error);margin-left:2px}.select-container{position:relative;display:flex;align-items:center}.select{width:100%;border:2px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);padding-right:calc(var(--spacing-md) + 24px);transition:all .2s ease;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.select:focus,.select--focused{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.select option{background:var(--color-background);color:var(--color-text-primary);padding:var(--spacing-sm)}.select--filled{background:var(--color-background-secondary);border-color:transparent}.select--filled:focus,.select--filled.select--focused{background:var(--color-background);border-color:var(--color-primary)}.select--outlined{background:transparent;border-color:var(--color-border)}.select--outlined:focus,.select--outlined.select--focused{border-color:var(--color-primary)}.select--sm{padding:var(--spacing-xs) var(--spacing-sm);padding-right:calc(var(--spacing-sm) + 20px);font-size:var(--font-size-xs)}.select--md{padding:var(--spacing-sm) var(--spacing-md);padding-right:calc(var(--spacing-md) + 24px);font-size:var(--font-size-sm)}.select--lg{padding:var(--spacing-md) var(--spacing-lg);padding-right:calc(var(--spacing-lg) + 28px);font-size:var(--font-size-md)}.select--error{border-color:var(--color-error)}.select--error:focus,.select--error.select--focused{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.select--with-left-icon{padding-left:calc(var(--spacing-md) + 20px + var(--spacing-sm))}.select--with-right-icon{padding-right:calc(var(--spacing-md) + 44px + var(--spacing-sm))}.select-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);font-size:1rem;pointer-events:none;z-index:1}.select-icon--left{left:var(--spacing-sm)}.select-icon--right{right:calc(var(--spacing-sm) + 24px)}.select-arrow{position:absolute;top:50%;right:var(--spacing-sm);transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none;z-index:1}.select--sm+.select-arrow{right:var(--spacing-xs)}.select--lg+.select-arrow{right:var(--spacing-md)}.select-helper,.select-error{font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.select-helper{color:var(--color-text-secondary)}.select-error{color:var(--color-error)}[data-theme=dark] .select{background:var(--color-background-dark);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .select option{background:var(--color-background-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .select:focus,[data-theme=dark] .select--focused{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-dark)}[data-theme=dark] .select--filled{background:var(--color-background-secondary-dark)}[data-theme=dark] .select--filled:focus,[data-theme=dark] .select--filled.select--focused{background:var(--color-background-dark)}[data-theme=dark] .select-label{color:var(--color-text-primary-dark)}[data-theme=dark] .select-icon,[data-theme=dark] .select-arrow,[data-theme=dark] .select-helper{color:var(--color-text-secondary-dark)}.select:disabled{background:var(--color-background-disabled);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}[data-theme=dark] .select:disabled{background:var(--color-background-disabled-dark);color:var(--color-text-disabled-dark)}.bulk-actions-menu{position:fixed;right:var(--spacing-lg);bottom:var(--spacing-lg);width:400px;max-height:80vh;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #00000026;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.bulk-actions-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--primary-color);color:#fff;border-bottom:1px solid var(--border-color)}.bulk-actions-header h3{margin:0;font-size:16px;font-weight:600}.selected-count{padding:4px 12px;background:#fff3;border-radius:12px;font-size:13px;font-weight:500}.close-btn{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.close-btn:hover{background:#ffffff1a}.bulk-actions-body{padding:var(--spacing-md);overflow-y:auto;flex:1}.bulk-action-section{margin-bottom:var(--spacing-md)}.bulk-action-section label{display:block;font-size:13px;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.bulk-action-section label.danger-label{color:var(--error-color)}.action-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.action-buttons-vertical{display:flex;flex-direction:column;gap:var(--spacing-sm)}.bulk-action-section-divider{height:1px;background:var(--border-color);margin:var(--spacing-lg) 0}.full-width{width:100%}.move-modal-content,.tags-modal-content{padding:var(--spacing-md)}.move-modal-content p,.tags-modal-content p{margin-bottom:var(--spacing-md);color:var(--text-secondary)}.module-checkboxes-vertical{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.module-checkbox,.tag-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.module-checkbox:hover,.tag-checkbox:hover{border-color:var(--primary-color);background:var(--bg-hover)}.module-checkbox input,.tag-checkbox input{cursor:pointer;width:18px;height:18px}.module-checkbox span,.tag-checkbox span{font-size:14px;font-weight:500}.tags-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}:root[data-theme=dark] .bulk-actions-menu{background:var(--bg-dark);border-color:var(--border-dark)}:root[data-theme=dark] .bulk-actions-header{border-color:var(--border-dark)}:root[data-theme=dark] .module-checkbox,:root[data-theme=dark] .tag-checkbox{border-color:var(--border-dark)}:root[data-theme=dark] .module-checkbox:hover,:root[data-theme=dark] .tag-checkbox:hover{background:var(--bg-dark-hover)}@media (max-width: 768px){.bulk-actions-menu{right:var(--spacing-sm);bottom:var(--spacing-sm);width:calc(100% - 32px);max-width:400px}.tags-checkboxes{grid-template-columns:1fr}}.task-views-manager{display:inline-block}.views-modal{display:flex;flex-direction:column;gap:var(--spacing-lg)}.views-header{display:flex;justify-content:flex-end}.views-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:60vh;overflow-y:auto}.empty-views{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-views p{margin-bottom:var(--spacing-lg);font-size:1.1rem}.view-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s ease}.view-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.view-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.view-title{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.view-title h4{margin:0;font-size:1.1rem;color:var(--text-primary)}.view-description{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.view-filters,.view-sort{margin:0;color:var(--text-tertiary);font-size:.85rem}.view-actions{display:flex;gap:var(--spacing-xs);align-items:center}.icon-btn{background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:6px 8px;cursor:pointer;font-size:1rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--bg-primary);border-color:var(--primary-color)}.view-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.view-form .form-section{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.view-form .form-section h4{margin:0 0 var(--spacing-md);font-size:1rem;color:var(--text-primary)}.view-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);transition:all .2s ease}.checkbox-label:hover{background:var(--bg-tertiary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-size:.95rem;color:var(--text-primary)}@media (max-width: 768px){.view-item{flex-direction:column;gap:var(--spacing-md)}.view-actions{width:100%;justify-content:flex-end}.view-form .form-row{grid-template-columns:1fr}}.task-history{width:100%;max-height:600px;overflow-y:auto}.task-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-color)}.task-history-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.history-count{font-size:13px;color:var(--text-secondary);background:var(--bg-secondary);padding:4px 12px;border-radius:12px}.task-history-timeline{position:relative}.history-entry{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);position:relative}.history-entry-line{position:absolute;left:20px;top:40px;bottom:-16px;width:2px;z-index:0}.timeline-line{width:100%;height:100%;background:var(--border-color)}.history-entry-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;z-index:1;position:relative;box-shadow:0 2px 8px #0000001a}.history-entry-content{flex:1;background:var(--bg-secondary);padding:var(--spacing-md);border-radius:8px;border:1px solid var(--border-color)}.history-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.history-entry-user{display:flex;align-items:center;gap:var(--spacing-sm)}.user-avatar,.user-avatar-placeholder{width:24px;height:24px;border-radius:50%;object-fit:cover}.user-avatar-placeholder{background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.user-name{font-size:14px;font-weight:500;color:var(--text-primary)}.history-entry-meta{display:flex;align-items:center;gap:var(--spacing-sm)}.module-badge{font-size:16px}.entry-time{font-size:12px;color:var(--text-secondary)}.history-entry-description{font-size:14px;color:var(--text-primary);line-height:1.5}.history-entry-changes{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-xs)}.change-value{display:flex;gap:var(--spacing-sm);font-size:13px}.change-label{font-weight:600;color:var(--text-secondary);min-width:60px}.change-text{color:var(--text-primary);font-family:Courier New,monospace;background:var(--bg-primary);padding:2px 8px;border-radius:4px}.old-value .change-label{color:var(--error-color)}.new-value .change-label{color:var(--success-color)}.task-history-loading,.task-history-error{padding:var(--spacing-xl);text-align:center}.task-history-error p{color:var(--error-color);margin:0}:root[data-theme=dark] .history-entry-content{background:var(--bg-dark);border-color:var(--border-dark)}:root[data-theme=dark] .timeline-line{background:var(--border-dark)}:root[data-theme=dark] .change-text{background:var(--bg-dark-secondary)}.task-history::-webkit-scrollbar{width:8px}.task-history::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.task-history::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.task-history::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width: 768px){.history-entry-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.history-entry-meta{margin-left:32px}.change-value{flex-direction:column;gap:4px}.change-label{min-width:auto}}.kanban-page{padding:var(--spacing-md);width:100%;max-width:100%}.kanban-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.kanban-header h1{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin:0}.create-board-btn{padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.create-board-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.create-board-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.kanban-board{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);min-height:500px}.kanban-column{flex:1;background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-md);transition:all var(--transition-normal);min-height:400px}.kanban-column.drag-over{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px #2563eb1a;transform:scale(1.02)}.column-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.column-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.card-count{background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);min-width:20px;text-align:center}.column-content{display:flex;flex-direction:column;gap:var(--spacing-sm);min-height:300px}.kanban-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);cursor:grab;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.kanban-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.kanban-card.dragging{opacity:.5;transform:rotate(5deg);box-shadow:var(--shadow-lg);cursor:grabbing}.kanban-card:active{cursor:grabbing}.card-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0;line-height:1.4}.card-description{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.4}.drop-indicator{background:var(--primary);color:#fff;padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center;font-size:14px;font-weight:500;animation:pulse 1s ease-in-out infinite;border:2px dashed rgba(255,255,255,.3)}@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}to{opacity:.7;transform:scale(1)}}.empty-board{grid-column:1 / -1;text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.empty-board p{font-size:16px;margin:0}.add-card-btn{margin-top:var(--spacing-sm);padding:10px 16px;background:transparent;color:var(--text-secondary);border:1px dashed var(--border);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:center}.add-card-btn:hover{background:var(--bg-tertiary);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.add-card-btn:active{transform:translateY(0)}.kanban-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg)}.action-btn{padding:8px 16px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.action-btn:hover{background:var(--bg-tertiary);border-color:var(--primary);transform:translateY(-1px)}.action-btn:active{transform:translateY(0)}.no-boards{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.no-boards p{font-size:16px;margin:0}.kanban-card{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.kanban-board{flex-direction:column;gap:var(--spacing-md)}.kanban-column{min-height:200px}}@media (max-width: 768px){.kanban-page{padding:var(--spacing-lg)}.kanban-header{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.kanban-actions{flex-direction:column;align-items:stretch}.action-btn{width:100%}}.datepicker-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.datepicker-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.datepicker-required{color:var(--color-error);margin-left:2px}.datepicker-container{position:relative;display:flex;align-items:center}.datepicker{width:100%;border:2px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease;outline:none}.datepicker:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.datepicker::-webkit-calendar-picker-indicator{background:transparent;bottom:0;color:transparent;cursor:pointer;height:auto;left:0;position:absolute;right:0;top:0;width:auto}.datepicker::-webkit-datetime-edit{padding:0}.datepicker::-webkit-datetime-edit-fields-wrapper{padding:0}.datepicker::-webkit-datetime-edit-text{color:var(--color-text-secondary);padding:0 2px}.datepicker::-webkit-datetime-edit-month-field,.datepicker::-webkit-datetime-edit-day-field,.datepicker::-webkit-datetime-edit-year-field{color:var(--color-text-primary)}.datepicker--filled{background:var(--color-background-secondary);border-color:transparent}.datepicker--filled:focus{background:var(--color-background);border-color:var(--color-primary)}.datepicker--outlined{background:transparent;border-color:var(--color-border)}.datepicker--outlined:focus{border-color:var(--color-primary)}.datepicker--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.datepicker--md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.datepicker--lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md)}.datepicker--error{border-color:var(--color-error)}.datepicker--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.datepicker--with-left-icon{padding-left:calc(var(--spacing-md) + 20px + var(--spacing-sm))}.datepicker--with-right-icon{padding-right:calc(var(--spacing-md) + 20px + var(--spacing-sm))}.datepicker-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);font-size:1rem;pointer-events:none;z-index:1}.datepicker-icon--left{left:var(--spacing-sm)}.datepicker-icon--right{right:var(--spacing-sm)}.datepicker-helper,.datepicker-error{font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.datepicker-helper{color:var(--color-text-secondary)}.datepicker-error{color:var(--color-error)}[data-theme=dark] .datepicker{background:var(--color-background-dark);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .datepicker::-webkit-datetime-edit-text{color:var(--color-text-secondary-dark)}[data-theme=dark] .datepicker::-webkit-datetime-edit-month-field,[data-theme=dark] .datepicker::-webkit-datetime-edit-day-field,[data-theme=dark] .datepicker::-webkit-datetime-edit-year-field{color:var(--color-text-primary-dark)}[data-theme=dark] .datepicker:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-dark)}[data-theme=dark] .datepicker--filled{background:var(--color-background-secondary-dark)}[data-theme=dark] .datepicker--filled:focus{background:var(--color-background-dark)}[data-theme=dark] .datepicker-label{color:var(--color-text-primary-dark)}[data-theme=dark] .datepicker-icon,[data-theme=dark] .datepicker-helper{color:var(--color-text-secondary-dark)}.datepicker:disabled{background:var(--color-background-disabled);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}[data-theme=dark] .datepicker:disabled{background:var(--color-background-disabled-dark);color:var(--color-text-disabled-dark)}.calendar-page{min-height:100vh;background:var(--color-background)}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-background);flex-shrink:0}.calendar-title h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.calendar-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.calendar-controls{display:flex;align-items:center;gap:var(--spacing-md)}.week-view,.day-view{padding:var(--spacing-md)}.view-mode-buttons{display:flex;gap:var(--spacing-xs)}.view-button{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);background:var(--color-background);color:var(--color-text-primary);cursor:pointer;border-radius:var(--border-radius-md);transition:all .2s ease;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.view-button:hover{background:var(--color-background-hover);border-color:var(--color-primary)}.view-button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.navigation-controls{display:flex;gap:var(--spacing-sm);align-items:center}.nav-button,.today-button{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);background:var(--color-background);color:var(--color-text-primary);cursor:pointer;border-radius:var(--border-radius-md);transition:all .2s ease;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.nav-button:hover,.today-button:hover{background:var(--color-background-hover);border-color:var(--color-primary)}.today-button{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.today-button:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.month-year{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);min-width:200px;text-align:center}.calendar-grid{background:var(--color-background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden;border:1px solid var(--color-border);margin:var(--spacing-md)}.weekdays-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-background-secondary)}.weekday{padding:var(--spacing-md);text-align:center;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-right:1px solid var(--color-border);font-size:var(--font-size-sm)}.weekday:last-child{border-right:none}.days-grid{display:grid;grid-template-columns:repeat(7,1fr)}.day-cell{min-height:120px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm);position:relative;cursor:pointer;transition:all .2s ease}.day-cell:hover{background:var(--color-background-hover)}.day-cell.empty{background:var(--color-background-secondary);cursor:default}.day-cell.today{background:var(--color-primary-light)}.day-cell.today .day-number{background:var(--color-primary);color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.day-number{font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs);color:var(--color-text-primary);font-size:var(--font-size-sm)}.day-events{display:flex;flex-direction:column;gap:var(--spacing-xs)}.event-indicator{background:var(--color-primary);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .2s ease;font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-xs)}.event-indicator:hover{opacity:.8;transform:scale(1.02)}.event-indicator.recurring{border-left:3px solid rgba(255,255,255,.8)}.event-indicator .recurrence-icon{font-size:var(--font-size-xs);flex-shrink:0}.event-indicator.recurring{border-left:3px solid rgba(255,255,255,.5)}.recurrence-icon{margin-right:4px;font-size:.9em}.more-events{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic;padding:var(--spacing-xs)}.event-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}[data-theme=dark] .calendar-page{background:var(--color-background-dark)}[data-theme=dark] .calendar-header{background:var(--color-background-dark);border-color:var(--color-border-dark)}[data-theme=dark] .calendar-title h1{color:var(--color-text-primary-dark)}[data-theme=dark] .calendar-subtitle{color:var(--color-text-secondary-dark)}[data-theme=dark] .view-button{background:var(--color-background-dark);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .view-button:hover{background:var(--color-background-hover-dark);border-color:var(--color-primary)}[data-theme=dark] .nav-button,[data-theme=dark] .today-button{background:var(--color-background-dark);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .nav-button:hover,[data-theme=dark] .today-button:hover{background:var(--color-background-hover-dark);border-color:var(--color-primary)}[data-theme=dark] .month-year{color:var(--color-text-primary-dark)}[data-theme=dark] .calendar-grid{background:var(--color-background-dark);border-color:var(--color-border-dark)}[data-theme=dark] .weekdays-header{background:var(--color-background-secondary-dark)}[data-theme=dark] .weekday{color:var(--color-text-secondary-dark);border-color:var(--color-border-dark)}[data-theme=dark] .day-cell{border-color:var(--color-border-dark)}[data-theme=dark] .day-cell:hover{background:var(--color-background-hover-dark)}[data-theme=dark] .day-cell.empty{background:var(--color-background-secondary-dark)}[data-theme=dark] .day-cell.today{background:var(--color-primary-dark)}[data-theme=dark] .day-number{color:var(--color-text-primary-dark)}[data-theme=dark] .more-events{color:var(--color-text-secondary-dark)}@media (max-width: 768px){.calendar-header{flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.calendar-controls{flex-direction:column;gap:var(--spacing-md)}.view-mode-buttons,.navigation-controls{justify-content:center}.month-year{text-align:center}.calendar-grid{margin:var(--spacing-lg)}.day-cell{min-height:80px;padding:var(--spacing-xs)}.event-indicator{font-size:var(--font-size-xs);padding:var(--spacing-xs)}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}}@media (max-width: 480px){.calendar-header{padding:var(--spacing-md)}.calendar-grid{margin:var(--spacing-md)}.day-cell{min-height:60px}.weekday{padding:var(--spacing-sm);font-size:var(--font-size-xs)}}.week-view{padding:var(--spacing-md);background:var(--color-background)}.week-header{display:grid;grid-template-columns:80px repeat(7,1fr);background:var(--color-background-secondary);border-bottom:2px solid var(--color-border)}.week-day-header{padding:var(--spacing-md);text-align:center;border-right:1px solid var(--color-border)}.week-day-header.today{background:var(--color-primary-light)}.week-day-header:last-child{border-right:none}.week-day-name{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.week-day-number{font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-size:var(--font-size-lg)}.week-day-header.today .week-day-number{background:var(--color-primary);color:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;margin:0 auto}.week-body{display:grid;grid-template-columns:80px repeat(7,1fr);overflow-x:auto}.time-column{background:var(--color-background-secondary);border-right:2px solid var(--color-border);position:sticky;left:0;z-index:10}.time-slot{min-height:60px;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:var(--spacing-xs);position:relative;cursor:pointer;transition:background .2s ease}.time-slot:hover{background:var(--color-background-hover)}.time-column .time-slot{padding:var(--spacing-sm);text-align:right;font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:default;border-right:2px solid var(--color-border)}.time-column .time-slot:hover{background:var(--color-background-secondary)}.week-day-column{display:flex;flex-direction:column}.week-day-column.today{background:var(--color-primary-light)}.week-event{background:var(--color-primary);color:#fff;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);margin-bottom:var(--spacing-xs);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .2s ease}.week-event:hover{opacity:.9;transform:scale(1.02)}.day-view{padding:var(--spacing-md);background:var(--color-background)}.day-header{display:grid;grid-template-columns:80px 1fr;background:var(--color-background-secondary);border-bottom:2px solid var(--color-border)}.day-column{padding:var(--spacing-md);text-align:center}.day-column.today{background:var(--color-primary-light)}.day-name{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs)}.day-number{font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-size:var(--font-size-2xl)}.day-column.today .day-number{background:var(--color-primary);color:#fff;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin:0 auto}.day-body{display:grid;grid-template-columns:80px 1fr;overflow-y:auto;max-height:calc(100vh - 300px)}.day-column{display:flex;flex-direction:column}.day-event{background:var(--color-primary);color:#fff;padding:var(--spacing-sm);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-xs);cursor:pointer;position:absolute;left:var(--spacing-xs);right:var(--spacing-xs);transition:all .2s ease;min-height:30px;display:flex;flex-direction:column;justify-content:flex-start}.day-event:hover{opacity:.9;transform:scale(1.02)}.event-time{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);opacity:.9;margin-bottom:var(--spacing-xs)}.event-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}[data-theme=dark] .week-header,[data-theme=dark] .day-header{background:var(--color-background-secondary-dark);border-color:var(--color-border-dark)}[data-theme=dark] .week-day-header,[data-theme=dark] .day-column{border-color:var(--color-border-dark)}[data-theme=dark] .week-day-header.today,[data-theme=dark] .day-column.today{background:var(--color-primary-dark)}[data-theme=dark] .time-column{background:var(--color-background-secondary-dark);border-color:var(--color-border-dark)}[data-theme=dark] .time-slot{border-color:var(--color-border-dark)}[data-theme=dark] .week-day-column.today{background:var(--color-primary-dark)}@media (max-width: 768px){.week-header,.week-body{grid-template-columns:60px repeat(7,minmax(80px,1fr))}.day-header,.day-body{grid-template-columns:60px 1fr}.time-column{width:60px}.time-slot{min-height:50px}.week-event,.day-event{font-size:var(--font-size-xs);padding:var(--spacing-xs)}}.more-menu-wrapper{position:relative;display:inline-flex;align-items:center;margin:0}.dropdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;background:transparent}.dropdown-divider{height:1px;background:var(--border);margin:var(--spacing-md) 0;opacity:.6}.dropdown-divider:first-child{margin-top:0}.dropdown-divider:last-child{margin-bottom:0}.selected-tag-badge{border:none;border-radius:var(--border-radius-sm);padding:4px 8px;font-size:var(--font-size-sm);cursor:pointer;transition:transform .1s ease,opacity .1s ease}.selected-tag-badge:hover{opacity:.9;transform:translateY(-1px)}.tag-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.tag-color-picker{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tag-color-picker label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.color-options{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.color-option{width:32px;height:32px;border:2px solid transparent;border-radius:var(--border-radius-sm);cursor:pointer;transition:all .15s ease;padding:0}.color-option:hover{transform:scale(1.1);box-shadow:0 2px 8px #0003}.color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px currentColor}.tag-form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border)}.gantt-stats{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.stats-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}background: var(--bg-primary); border: 1px solid var(--border); border-radius: var(--border-radius-md); padding: var(--spacing-lg); margin-bottom: var(--spacing-md); } .stats-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}.stats-header h3{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius-md);transition:all .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 1px 3px #0000000d}.stat-card:hover{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-color:var(--color-primary);transform:translateY(-3px);box-shadow:0 6px 16px #3b82f626,0 3px 8px #0000001a,0 0 0 1px #3b82f61a}.stat-card.stat-warning{border-color:var(--color-error);background:linear-gradient(135deg,var(--color-error-light),rgba(239,68,68,.05));box-shadow:0 2px 8px #ef444426}.stat-card.stat-warning:hover{background:linear-gradient(135deg,#ef444426,#ef44441a);box-shadow:0 6px 16px #ef444440,0 3px 8px #ef444426}.stat-icon{font-size:var(--font-size-2xl);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));border-radius:var(--border-radius-md);box-shadow:inset 0 1px 2px #0000000d;transition:all .2s ease}.stat-card:hover .stat-icon{background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));color:#fff;transform:scale(1.1);box-shadow:0 4px 8px #3b82f64d}.stat-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-weight-medium)}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.stat-percentage{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.stat-unit{font-size:var(--font-size-xs);color:var(--text-secondary)}.stats-progress-section{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--border-radius-md)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.progress-header span{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.progress-percentage{color:var(--color-primary);font-size:var(--font-size-lg)}.progress-bar-container{width:100%;height:24px;background:var(--bg-tertiary);border-radius:var(--border-radius-md);overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-primary) 100%);border-radius:var(--border-radius-md);transition:width .35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 6px #3b82f666,inset 0 1px 2px #fff3;position:relative;overflow:hidden}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:progress-shine-stats 2s ease-in-out infinite}@keyframes progress-shine-stats{0%{transform:translate(-100%)}to{transform:translate(100%)}}.stats-breakdown{margin-bottom:var(--spacing-lg)}.stats-breakdown h4{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.breakdown-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--border-radius-sm);transition:background-color .15s ease}.breakdown-item:hover{background:var(--bg-tertiary)}.breakdown-count{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.stats-warning{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg)}.warning-icon{font-size:var(--font-size-xl);flex-shrink:0}.warning-content{flex:1}.warning-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-error-dark);margin-bottom:var(--spacing-xs)}.warning-message{font-size:var(--font-size-sm);color:var(--color-error-dark)}.stats-chart{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border)}.stats-chart h4{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.chart-container{position:relative;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--border-radius-md)}.chart-bars{display:flex;align-items:flex-end;gap:2px;height:120px;margin-bottom:var(--spacing-sm)}.chart-bar{flex:1;background:linear-gradient(to top,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-primary) 100%);border-radius:2px 2px 0 0;min-width:4px;transition:all .25s cubic-bezier(.34,1.56,.64,1);cursor:pointer;box-shadow:0 2px 4px #3b82f633;position:relative;overflow:hidden}.chart-bar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);opacity:0;transition:opacity .2s ease}.chart-bar:hover{opacity:1;transform:scaleY(1.08);box-shadow:0 4px 8px #3b82f666}.chart-bar:hover:before{opacity:1}.chart-labels{display:flex;justify-content:space-between;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-secondary)}.chart-label{text-align:center;flex:1}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{flex-direction:column;text-align:center}.breakdown-list{gap:var(--spacing-xs)}.chart-bars{height:80px}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}}.task-templates-manager{display:flex;flex-direction:column;gap:var(--spacing-xl)}.templates-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}display: flex; flex-direction: column; gap: var(--spacing-xl); } .templates-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}.templates-header p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.templates-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.templates-section h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.template-card{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border);border-left:4px solid;border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;position:relative}.template-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.template-card.custom{border-left-width:4px}.template-icon{font-size:var(--font-size-2xl);flex-shrink:0}.template-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.template-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.template-description{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.template-meta{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:var(--spacing-xs)}.template-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.template-action-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all .15s ease;padding:0;font-size:var(--font-size-xs)}.template-action-button:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.1)}.empty-templates{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.template-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.color-input{width:100%;height:40px;border:1px solid var(--border);border-radius:var(--border-radius-sm);cursor:pointer;padding:0}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:var(--border-radius-sm)}@media (max-width: 768px){.templates-grid{grid-template-columns:1fr}.templates-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}.task-comments{display:flex;flex-direction:column;gap:var(--spacing-lg);max-height:600px}.comments-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:400px;overflow-y:auto;padding:var(--spacing-sm);border:1px solid var(--border);border-radius:var(--border-radius-md);background:var(--bg-secondary)}display: flex; flex-direction: column; gap: var(--spacing-lg); max-height: 600px; } .comments-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:400px;overflow-y:auto;padding:var(--spacing-sm);border:1px solid var(--border);border-radius:var(--border-radius-md);background:var(--bg-secondary)}.empty-comments{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-comments-hint{font-size:var(--font-size-sm);margin-top:var(--spacing-xs);color:var(--text-tertiary)}.comment-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--bg-primary);border-radius:var(--border-radius-md);border:1px solid var(--border);transition:all .15s ease}.comment-item:hover{border-color:var(--color-primary);box-shadow:0 2px 4px #0000000d}.comment-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.comment-author{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.comment-avatar,.comment-avatar-placeholder{width:32px;height:32px;border-radius:50%;flex-shrink:0}.comment-avatar{object-fit:cover}.comment-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.comment-author-info{display:flex;flex-direction:column;gap:2px}.comment-author-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-primary)}.comment-date{font-size:var(--font-size-xs);color:var(--text-secondary)}.comment-delete-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all .15s ease;padding:0;font-size:var(--font-size-xs);opacity:.6}.comment-delete-button:hover{opacity:1;background:var(--bg-tertiary);color:var(--color-error)}.comment-content{font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.5;white-space:pre-wrap;word-wrap:break-word;margin-left:44px}.comment-input-section{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--border)}.comment-input-actions{display:flex;justify-content:space-between;align-items:center}.comment-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}@media (max-width: 768px){.task-comments{max-height:500px}.comments-list{max-height:300px}.comment-content{margin-left:0}}.task-sync-manager{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--border-radius-md);border:1px solid var(--border)}.task-sync-header{display:flex;justify-content:space-between;align-items:center}.task-sync-header h4{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.task-sync-add-form{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-primary);border-radius:var(--border-radius-sm);border:1px solid var(--border)}.task-sync-add-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.task-sync-add-form label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.sync-select,.sync-input{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);background:var(--bg-primary);color:var(--color-text-primary)}.sync-select:focus,.sync-input:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.sync-fields{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sync-field-checkbox{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);cursor:pointer}.sync-field-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.task-sync-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.task-sync-empty{padding:var(--spacing-md);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.task-sync-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);background:var(--bg-primary);border-radius:var(--border-radius-sm);border:1px solid var(--border);transition:all .2s ease}.task-sync-item:hover{background:var(--bg-tertiary);border-color:var(--color-primary)}.task-sync-info{display:flex;align-items:center;gap:var(--spacing-sm)}.task-sync-icon{font-size:var(--font-size-lg)}.task-sync-type{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.task-sync-actions{display:flex;gap:var(--spacing-xs)}.task-sync-toggle,.task-sync-delete{width:32px;height:32px;border:none;background:transparent;cursor:pointer;border-radius:var(--border-radius-sm);font-size:var(--font-size-md);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.task-sync-toggle:hover{background:var(--bg-secondary)}.task-sync-delete:hover{background:var(--color-error-light);color:var(--color-error)}.task-sync-loading{padding:var(--spacing-md);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.sync-loading{padding:var(--spacing-sm);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic}.sync-no-tasks{padding:var(--spacing-sm);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic;background:var(--bg-secondary);border-radius:var(--border-radius-sm)}.gantt-overview{position:fixed;top:var(--spacing-md);right:var(--spacing-md);width:320px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);z-index:50;padding:var(--spacing-md);transition:all var(--transition-normal)}.gantt-overview:hover{box-shadow:var(--shadow-xl)}.overview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light)}.overview-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.overview-close-button{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);font-size:var(--font-size-md);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);width:24px;height:24px;line-height:1}.overview-close-button:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.1)}.overview-close-button:active{transform:scale(.95)}.overview-timeline{position:relative;height:80px;background:var(--bg-secondary);border-radius:var(--border-radius-md);overflow:hidden;border:1px solid var(--border-light)}.overview-task-bar{position:absolute;top:12px;height:12px;border-radius:var(--border-radius-sm);opacity:.75;transition:all var(--transition-normal);cursor:pointer;box-shadow:0 1px 2px #0000001a}.overview-task-bar:hover{opacity:1;z-index:2;transform:translateY(-1px);box-shadow:0 2px 4px #00000026;height:14px}.overview-viewport{position:absolute;top:0;bottom:0;border:2px solid var(--primary);background:#2563eb1f;cursor:move;z-index:3;transition:all var(--transition-normal);border-radius:var(--border-radius-sm)}.overview-viewport:hover{background:#2563eb33;border-color:var(--primary-hover);box-shadow:0 0 0 2px #2563eb1a}.overview-viewport:active{cursor:grabbing}@media (max-width: 1024px){.gantt-overview{position:relative;top:auto;right:auto;width:100%;margin:var(--spacing-md) 0}}.task-tooltip{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--border-radius-md);box-shadow:0 12px 24px #00000026,0 6px 12px #0000001a,0 2px 4px #0000000f;padding:var(--spacing-md);min-width:250px;max-width:400px;pointer-events:none;z-index:1000;animation:tooltip-fade-in .2s cubic-bezier(.34,1.56,.64,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(-4px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tooltip-header{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border)}background: var(--bg-primary); border: 1px solid var(--border); border-radius: var(--border-radius-md); box-shadow: var(--shadow-lg); padding: var(--spacing-md); min-width: 250px; max-width: 400px; pointer-events: none; z-index: 1000; } .tooltip-header{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border)}.tooltip-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;word-wrap:break-word}.tooltip-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tooltip-row{display:flex;justify-content:space-between;gap:var(--spacing-md);font-size:var(--font-size-sm)}.tooltip-label{color:var(--text-secondary);font-weight:var(--font-weight-medium);white-space:nowrap}.tooltip-value{color:var(--text-primary);text-align:right;word-wrap:break-word}.tooltip-description{flex-direction:column;align-items:flex-start;margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--border)}.tooltip-description .tooltip-label{margin-bottom:var(--spacing-xs)}.tooltip-description .tooltip-value{text-align:left;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.5}[data-theme=dark] .task-tooltip{background:var(--bg-primary);border-color:var(--border)}[data-theme=dark] .tooltip-title{color:var(--text-primary)}[data-theme=dark] .tooltip-label{color:var(--text-secondary)}[data-theme=dark] .tooltip-value{color:var(--text-primary)}.gantt-page{min-height:100vh;background:var(--bg-secondary);color:var(--text-primary);display:flex;flex-direction:column}.gantt-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-xl);background:var(--bg-primary);border-bottom:1px solid var(--border)}.gantt-title h1{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.2}.gantt-subtitle{margin:0;margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-secondary)}.gantt-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}.gantt-header .button{min-height:32px;padding:6px var(--spacing-sm);font-size:var(--font-size-sm)}.bulk-actions{display:flex;align-items:center;gap:var(--spacing-xs);padding:4px var(--spacing-xs);border-radius:var(--border-radius-md);border:1px solid var(--border);background:var(--bg-secondary)}.gantt-controls{display:flex;flex-wrap:nowrap;gap:var(--spacing-xs);align-items:center;justify-content:flex-start;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border-bottom:1px solid var(--border);overflow-x:auto}.gantt-controls>*{margin:0;flex-shrink:0}.control-group{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:var(--spacing-xs);align-items:center;padding:0;margin:0;border-radius:var(--border-radius-md);background:transparent;transition:background var(--transition-fast);white-space:nowrap}.control-group>*{margin:0}.control-group:hover{background:transparent}.control-group.left-controls{justify-content:flex-start;flex-shrink:0}.control-group.right-controls{justify-content:flex-start;flex-shrink:0;margin-left:0}.view-controls,.navigation-controls,.zoom-controls{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--spacing-xs);padding:0;border-radius:var(--border-radius-sm);background:transparent;white-space:nowrap}.zoom-level{font-size:var(--font-size-xs);color:var(--text-secondary)}.current-date{padding:0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.control-divider{width:1px;height:28px;background:var(--border);margin:0 var(--spacing-xs);flex-shrink:0;opacity:.6;transition:opacity var(--transition-fast)}.control-group:hover .control-divider{opacity:1}.search-input-wrapper{min-width:180px;max-width:200px;width:180px;position:relative;flex-shrink:0;margin:0}.search-input-container{display:flex;align-items:center;gap:var(--spacing-xs);position:relative}.search-input-container.focused{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--border-radius-sm)}.search-loading-indicator{position:absolute;right:60px;font-size:var(--font-size-sm);color:var(--text-secondary);pointer-events:none;animation:pulse 1.5s ease-in-out infinite}.search-clear-button,.search-close-button{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);font-size:var(--font-size-md);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all .15s ease;width:24px;height:24px}.search-clear-button:hover,.search-close-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.control-divider{width:1px;height:24px;background:var(--border);margin:0 var(--spacing-xs);flex-shrink:0}.more-menu-wrapper{position:relative}.more-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:320px;max-width:400px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--border-radius-md);box-shadow:0 12px 24px #0000001f,0 6px 12px #00000014,0 2px 4px #0000000a;z-index:101;padding:var(--spacing-md);max-height:80vh;overflow-y:auto}.more-menu-section{margin-bottom:var(--spacing-md)}.more-menu-section:last-child{margin-bottom:0}.more-menu-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.more-menu-section-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.selected-tags-preview{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.dropdown-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all .15s ease;padding:0;font-size:var(--font-size-md)}.dropdown-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.gantt-controls .button{min-height:32px;padding:6px var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-md);transition:all var(--transition-normal)}.gantt-controls .button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.gantt-controls .button:active:not(:disabled){transform:translateY(0)}.gantt-controls .button.button-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.gantt-controls .button.button-primary:hover:not(:disabled){background:var(--primary-hover)}.gantt-controls .button.button-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.gantt-controls .button.button-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-hover)}@media (max-width: 1024px){.control-group.right-controls{justify-content:flex-start}.gantt-controls{gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);flex-wrap:wrap}.control-group{flex:1 1 100%;min-width:auto;flex-wrap:wrap}.view-controls,.navigation-controls,.zoom-controls{flex-wrap:wrap}}@media (max-width: 768px){.gantt-header{padding:var(--spacing-lg)}.gantt-controls{gap:var(--spacing-md);padding:var(--spacing-md)}.control-group{flex:1 1 100%;min-width:auto;justify-content:flex-start}.view-controls,.navigation-controls,.zoom-controls{width:100%}}.gantt-container{display:flex;flex-direction:column;margin:var(--spacing-xl);margin-top:var(--spacing-lg);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--border-radius-lg);min-height:600px;box-shadow:0 18px 40px #0f172a14;overflow:hidden}@media (max-width: 768px){.gantt-container{margin:var(--spacing-md);border-radius:var(--border-radius-md)}}.gantt-chart{flex:1;display:flex;flex-direction:column;min-height:0}.gantt-timeline{flex:1;position:relative;overflow:auto;min-height:0}.timeline-header-top,.timeline-header{position:sticky;top:0;display:grid;grid-template-columns:200px repeat(auto-fit,minmax(40px,1fr));background:var(--bg-primary);border-bottom:1px solid var(--border);z-index:2}.timeline-header{top:var(--spacing-md)}.task-column{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;color:var(--text-secondary);border-right:1px solid var(--border);background:var(--bg-secondary)}.day-column{min-width:40px;padding:var(--spacing-xs);display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;font-size:var(--font-size-xs);color:var(--text-secondary);border-right:1px solid var(--border);background:var(--bg-primary)}.day-column.weekend-cell{background:var(--bg-secondary)}.day-column.today-cell{background:#3b82f61f;color:var(--color-primary);font-weight:var(--font-weight-semibold)}.day-number{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.day-weekday{text-transform:uppercase}.timeline-body{position:relative;min-height:0}.gantt-row{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid var(--border);min-height:56px;background:var(--bg-primary);position:relative}.gantt-bar-progress{position:absolute;top:0;left:0;height:100%;background-color:#ffffff4d;pointer-events:none;transition:width .2s ease}.task-info{min-width:200px;padding:var(--spacing-sm) var(--spacing-md);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:var(--spacing-xs);justify-content:center;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.task-info:hover{background:var(--bg-secondary)}.task-info.selected{background:#3b82f61f;border-left:3px solid var(--color-primary)}.task-info.critical-path{border-left-color:var(--color-error);background:#dc262614}.task-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-tags{display:flex;flex-wrap:wrap;gap:4px}.task-tag-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);line-height:1}.task-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center;font-size:var(--font-size-xs);color:var(--text-secondary)}.task-timeline{position:relative;min-width:max-content}.gantt-task-bar{position:absolute;overflow:hidden;top:10px;min-height:32px;border-radius:var(--border-radius-md);padding:0 var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-sm);color:#fff;background-color:currentColor;box-shadow:0 8px 18px #0f172a2e;border:1px solid rgba(15,23,42,.12);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.gantt-task-bar:hover{transform:translateY(-2px);box-shadow:0 16px 24px #0f172a2e}.gantt-task-bar.selected{outline:2px solid var(--color-primary);outline-offset:2px}.gantt-task-bar.critical-path{outline-color:var(--color-error)}.gantt-task-bar.saving{opacity:.7;pointer-events:none}.task-saving-indicator{display:inline-flex;align-items:center;font-size:var(--font-size-xs);animation:pulse 1.5s ease-in-out infinite}.gantt-bar-progress{position:absolute;top:0;left:0;bottom:0;border-radius:var(--border-radius-md) 0 0 var(--border-radius-md);background:#ffffff40;transition:width .2s ease}.task-bar-content{display:flex;align-items:center;gap:var(--spacing-sm);position:relative;z-index:1}.task-bar-content .task-name{color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.task-bar-content .task-progress{font-size:var(--font-size-xs);padding:2px 6px;border-radius:var(--border-radius-sm);background:#00000047}.task-bar-comment-count{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:var(--border-radius-sm);background:#00000040;font-size:var(--font-size-xs)}.resize-handle{position:absolute;top:0;bottom:0;width:6px;background:#ffffff80;border-radius:var(--border-radius-sm);cursor:ew-resize;opacity:0;transition:opacity .2s ease}.resize-handle-start{left:0}.resize-handle-end{right:0}.gantt-task-bar:hover .resize-handle{opacity:1}.today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--color-primary);opacity:.7;pointer-events:none}.comment-button,.comment-button-empty,.dependency-button,.copy-task-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color .2s ease,color .2s ease;padding:0}.comment-button:hover,.comment-button-empty:hover,.dependency-button:hover,.copy-task-button:hover{background:var(--bg-secondary);color:var(--color-primary)}.comment-button-empty{opacity:.5}.comment-button-empty:hover{opacity:1}.assignee-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#ffffff40;color:#fff;font-size:10px;font-weight:var(--font-weight-semibold);overflow:hidden;border:1px solid rgba(255,255,255,.4)}.assignee-avatar img{width:100%;height:100%;object-fit:cover}.critical-path-info{margin:0 var(--spacing-xl);margin-top:var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--border-radius-md);border:1px solid var(--border);background:var(--bg-primary)}.critical-path-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.critical-path-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.critical-path-warning{margin-left:auto;font-size:var(--font-size-sm);color:var(--color-error)}.bulk-context-menu{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--border-radius-md);box-shadow:0 18px 40px #0f172a29;padding:var(--spacing-md);min-width:260px}.context-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.context-menu-close{border:none;background:transparent;color:var(--text-secondary);cursor:pointer}.context-menu-section{margin-top:var(--spacing-md)}.context-menu-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.context-menu-divider{height:1px;background:var(--border);margin:var(--spacing-md) 0}.full-width-button{width:100%}.context-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:5}.task-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tags-selector{width:100%}.tags-input-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.selected-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-xs);min-height:36px;border:1px solid var(--border);border-radius:var(--border-radius-sm);background:var(--bg-secondary)}.removable-tag{cursor:pointer;transition:opacity .2s ease}.removable-tag:hover{opacity:.75}.tags-dropdown{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);border:1px solid var(--border);background:var(--bg-primary);font-size:var(--font-size-sm)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column;align-items:stretch}}[data-theme=dark] .gantt-page{background:var(--color-background-dark)}[data-theme=dark] .gantt-header,[data-theme=dark] .gantt-controls,[data-theme=dark] .gantt-container,[data-theme=dark] .critical-path-info,[data-theme=dark] .bulk-context-menu{background:var(--color-background-dark);border-color:var(--color-border-dark)}[data-theme=dark] .task-info:hover{background:var(--color-background-hover-dark)}[data-theme=dark] .day-column.weekend-cell{background:var(--color-background-secondary-dark)}[data-theme=dark] .task-name,[data-theme=dark] .gantt-title h1{color:var(--color-text-primary-dark)}[data-theme=dark] .gantt-subtitle,[data-theme=dark] .task-meta,[data-theme=dark] .current-date,[data-theme=dark] .day-column{color:var(--color-text-secondary-dark)}.colorpicker-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.colorpicker-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.colorpicker-required{color:var(--color-error);margin-left:2px}.colorpicker-container{display:flex;align-items:center;gap:var(--spacing-sm)}.colorpicker-preview{position:relative;width:40px;height:40px;border-radius:var(--border-radius-md);border:2px solid var(--color-border);overflow:hidden;cursor:pointer;transition:all .2s ease}.colorpicker-preview:hover{border-color:var(--color-primary);transform:scale(1.05)}.colorpicker{position:absolute;top:0;left:0;width:100%;height:100%;border:none;background:transparent;cursor:pointer;opacity:0}.colorpicker-input-container{flex:1}.colorpicker-text-input{width:100%;border:2px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease;outline:none;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.colorpicker-text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.colorpicker-text-input::placeholder{color:var(--color-text-tertiary)}.colorpicker--filled .colorpicker-text-input{background:var(--color-background-secondary);border-color:transparent}.colorpicker--filled .colorpicker-text-input:focus{background:var(--color-background);border-color:var(--color-primary)}.colorpicker--outlined .colorpicker-text-input{background:transparent;border-color:var(--color-border)}.colorpicker--outlined .colorpicker-text-input:focus{border-color:var(--color-primary)}.colorpicker--sm .colorpicker-preview{width:32px;height:32px}.colorpicker--sm .colorpicker-text-input{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.colorpicker--md .colorpicker-preview{width:40px;height:40px}.colorpicker--md .colorpicker-text-input{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.colorpicker--lg .colorpicker-preview{width:48px;height:48px}.colorpicker--lg .colorpicker-text-input{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md)}.colorpicker--error .colorpicker-preview,.colorpicker--error .colorpicker-text-input{border-color:var(--color-error)}.colorpicker--error .colorpicker-text-input:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.colorpicker-presets{display:flex;flex-direction:column;gap:var(--spacing-xs)}.colorpicker-presets-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.colorpicker-presets-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:var(--spacing-xs)}.colorpicker-preset{width:24px;height:24px;border:2px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s ease;position:relative}.colorpicker-preset:hover{transform:scale(1.1);border-color:var(--color-primary)}.colorpicker-preset--active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.colorpicker-preset--active:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700;text-shadow:0 0 2px rgba(0,0,0,.8)}.colorpicker-helper,.colorpicker-error{font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.colorpicker-helper{color:var(--color-text-secondary)}.colorpicker-error{color:var(--color-error)}[data-theme=dark] .colorpicker-text-input{background:var(--color-background-dark);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .colorpicker-text-input::placeholder{color:var(--color-text-tertiary-dark)}[data-theme=dark] .colorpicker-text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-dark)}[data-theme=dark] .colorpicker--filled .colorpicker-text-input{background:var(--color-background-secondary-dark)}[data-theme=dark] .colorpicker--filled .colorpicker-text-input:focus{background:var(--color-background-dark)}[data-theme=dark] .colorpicker-label{color:var(--color-text-primary-dark)}[data-theme=dark] .colorpicker-presets-label{color:var(--color-text-secondary-dark)}[data-theme=dark] .colorpicker-preset{border-color:var(--color-border-dark)}[data-theme=dark] .colorpicker-preset:hover{border-color:var(--color-primary)}[data-theme=dark] .colorpicker-preset--active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-dark)}[data-theme=dark] .colorpicker-helper{color:var(--color-text-secondary-dark)}.colorpicker:disabled{cursor:not-allowed;opacity:.6}.colorpicker-text-input:disabled{background:var(--color-background-disabled);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}[data-theme=dark] .colorpicker-text-input:disabled{background:var(--color-background-disabled-dark);color:var(--color-text-disabled-dark)}.whiteboard-page{display:flex;height:100vh;background:var(--bg-primary)}.whiteboard-toolbar{width:220px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.whiteboard-toolbar h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.tool-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tool-button{padding:12px 16px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left}.tool-button:hover{background:var(--bg-tertiary);border-color:var(--primary);transform:translateY(-1px)}.tool-button.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-sm)}.tool-button:active{transform:translateY(0)}.action-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.canvas-info{margin-top:auto;padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.canvas-info p{font-size:14px;color:var(--text-secondary);margin:0 0 var(--spacing-xs) 0}.whiteboard-canvas{flex:1;position:relative;background:var(--bg-primary);cursor:crosshair;overflow:hidden}.whiteboard-element{transition:all var(--transition-fast);animation:elementAppear .3s ease-out}.whiteboard-element:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}.whiteboard-element.rectangle{border-radius:var(--radius-sm)}.whiteboard-element.circle{border-radius:50%}.whiteboard-element.text{font-size:14px;font-weight:500;color:var(--text-primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.whiteboard-element.line{border:none;border-bottom:2px solid #dc2626;height:2px}@keyframes elementAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.empty-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-secondary);pointer-events:none}.empty-canvas p{font-size:16px;margin:0 0 var(--spacing-sm) 0}.empty-canvas p:last-child{font-size:14px;color:var(--text-tertiary)}@media (max-width: 768px){.whiteboard-page{flex-direction:column}.whiteboard-toolbar{width:100%;height:auto;flex-direction:row;flex-wrap:wrap;padding:var(--spacing-md)}.tool-buttons{flex-direction:row;flex-wrap:wrap}.action-buttons{flex-direction:row;border-top:none;padding-top:0}.canvas-info{margin-top:0;padding-top:0;border-top:none}}.search-page{width:100%;max-width:100%;padding:var(--spacing-md)}.search-header{text-align:center;margin-bottom:var(--spacing-md)}.search-header h1{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.search-header p{font-size:16px;color:var(--text-secondary);margin:0}.search-form{margin-bottom:var(--spacing-2xl)}.search-input-form{margin-bottom:var(--spacing-lg)}.search-input-container{display:flex;gap:var(--spacing-md);max-width:600px;margin:0 auto}.search-input{flex:1;padding:16px 20px;border:2px solid var(--border);border-radius:var(--radius-lg);font-size:16px;background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-normal)}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.search-button{padding:16px 24px;font-size:16px;font-weight:600}.search-filters{display:flex;justify-content:center}.filter-buttons{display:flex;gap:var(--spacing-sm);background:var(--bg-secondary);padding:var(--spacing-sm);border-radius:var(--radius-lg);border:1px solid var(--border)}.filter-button{padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.filter-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.filter-button.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.search-results{min-height:400px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.empty-state p{font-size:16px;margin:0 0 var(--spacing-sm) 0}.empty-hint{font-size:14px;color:var(--text-tertiary)}.results-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.results-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.results-header h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.search-result-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal)}.search-result-item:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.result-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-md);flex-shrink:0}.result-content{flex:1;min-width:0}.result-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.result-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-type{font-size:12px;font-weight:500;color:var(--text-tertiary);background:var(--bg-tertiary);padding:4px 8px;border-radius:var(--radius-sm);flex-shrink:0}.result-preview{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0 0 var(--spacing-sm) 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.result-meta{display:flex;align-items:center;gap:var(--spacing-md);font-size:12px;color:var(--text-tertiary)}.result-workspace{display:flex;align-items:center;gap:4px}.result-date{flex-shrink:0}.result-actions{flex-shrink:0;display:flex;align-items:center}@media (max-width: 768px){.search-page{padding:var(--spacing-lg)}.search-input-container{flex-direction:column}.filter-buttons{flex-wrap:wrap;justify-content:center}.search-result-item{flex-direction:column;align-items:stretch}.result-header{flex-direction:column;align-items:flex-start}.result-meta{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.result-actions{align-self:flex-end}}.automation-rules-page{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.rules-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.rules-header h1{margin:0;font-size:2rem;color:var(--text-primary)}.rules-subtitle{margin:var(--spacing-xs) 0 0;color:var(--text-secondary);font-size:.95rem}.rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--spacing-lg)}.rule-card{padding:var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-primary);transition:all .2s ease}.rule-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.rule-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.rule-title-section{flex:1}.rule-title-section h3{margin:0 0 var(--spacing-xs);font-size:1.25rem;color:var(--text-primary)}.rule-actions{display:flex;gap:var(--spacing-xs)}.icon-button{background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-xs);cursor:pointer;font-size:1.1rem;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.icon-button:hover{background:var(--bg-secondary);border-color:var(--primary-color)}.rule-description{margin:0 0 var(--spacing-md);color:var(--text-secondary);font-size:.9rem;line-height:1.5}.rule-logic{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.rule-section{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.rule-section:last-child{margin-bottom:0}.rule-section-label{font-weight:600;color:var(--text-secondary);min-width:80px;font-size:.85rem}.rule-section-value{flex:1;color:var(--text-primary);font-size:.9rem;display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.rule-actions-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.rule-action-item{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-xs);background:var(--bg-primary);border-radius:var(--radius-sm);font-size:.9rem}.action-params{font-size:.8rem;color:var(--text-secondary)}.action-params span{display:inline-block;margin-right:var(--spacing-sm)}.rule-footer{display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.rule-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-section{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.form-section h4{margin:0 0 var(--spacing-md);font-size:1rem;color:var(--text-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.executions-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:500px;overflow-y:auto}.execution-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.execution-status{display:flex;align-items:center}.execution-details{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:.9rem}.execution-time{color:var(--text-secondary);font-size:.85rem}.execution-error{color:var(--danger-color);font-size:.85rem;margin-top:var(--spacing-xs);padding:var(--spacing-xs);background:#ef44441a;border-radius:var(--radius-sm)}@media (max-width: 768px){.automation-rules-page{padding:var(--spacing-md)}.rules-grid{grid-template-columns:1fr}.rules-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.form-row{grid-template-columns:1fr}.rule-footer{flex-direction:column}}.theme-toggle{position:relative;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .3s ease;background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.theme-toggle:hover{transform:scale(1.1);box-shadow:var(--shadow-md);background:var(--bg-tertiary)}.theme-toggle:active{transform:scale(.95)}.theme-toggle{animation:themeTogglePulse .3s ease-out}@keyframes themeTogglePulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}[data-theme=dark] .theme-toggle{background:var(--bg-secondary);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .theme-toggle:hover{background:var(--bg-tertiary)}@media (max-width: 768px){.theme-toggle{width:36px;height:36px;font-size:16px}}.user-profile-modal{display:flex;flex-direction:column;gap:var(--spacing-lg)}.user-profile-modal__tabs{display:flex;gap:var(--spacing-xs);border-bottom:2px solid var(--color-border);padding-bottom:var(--spacing-xs)}.user-profile-modal__tab{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--border-radius-md) var(--border-radius-md) 0 0;transition:all .2s ease;position:relative}.user-profile-modal__tab:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.user-profile-modal__tab.active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.user-profile-modal__tab.active:after{content:"";position:absolute;bottom:calc(-1 * var(--spacing-xs) - 2px);left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.user-profile-modal__content{min-height:200px}.user-profile-modal__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.user-profile-modal__info{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--border-radius-md);border:1px solid var(--color-border)}.user-profile-modal__info p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.user-profile-modal__info strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.user-profile-modal__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.user-menu{position:relative}.dropdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999;background:transparent}.user-menu__trigger{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border:none;background:transparent;cursor:pointer;border-radius:var(--border-radius-md);transition:all .2s ease;width:100%;text-align:left}.user-menu__trigger:hover{background:var(--color-background-hover)}.user-menu__avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);flex-shrink:0;box-shadow:0 2px 4px #0000001a;overflow:hidden}.user-menu__avatar img{width:100%;height:100%;object-fit:cover}.user-menu__info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.user-menu__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.user-menu__email{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.user-menu__arrow{color:var(--color-text-secondary);transition:transform .2s ease;flex-shrink:0}.user-menu__arrow--open{transform:rotate(180deg)}.user-menu__dropdown{position:absolute;bottom:calc(100% + 8px);left:0;right:0;min-width:240px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:0 12px 24px #0000001f,0 6px 12px #00000014,0 2px 4px #0000000a;z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.user-menu__dropdown-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-bottom:1px solid var(--color-border)}.user-menu__dropdown-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);flex-shrink:0;box-shadow:0 2px 8px #3b82f64d;overflow:hidden}.user-menu__dropdown-avatar img{width:100%;height:100%;object-fit:cover}.user-menu__dropdown-info{flex:1;min-width:0}.user-menu__dropdown-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu__dropdown-email{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu__dropdown-divider{height:1px;background:var(--color-border);margin:var(--spacing-xs) 0}.user-menu__dropdown-items{padding:var(--spacing-xs) 0}.user-menu__dropdown-item{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease;text-align:left}.user-menu__dropdown-item:hover{background:var(--color-background-hover)}.user-menu__dropdown-item--danger{color:var(--color-error)}.user-menu__dropdown-item--danger:hover{background:var(--color-error-light);color:var(--color-error)}.user-menu__dropdown-icon{font-size:var(--font-size-lg);width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.layout__sidebar--collapsed .user-menu__info,.layout__sidebar--collapsed .user-menu__arrow{display:none}.layout__sidebar--collapsed .user-menu__dropdown{left:auto;right:0;min-width:200px}.notification-center{position:relative;display:inline-block}.notification-toggle{position:relative;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;cursor:pointer;font-size:18px;transition:all var(--transition-fast);display:flex;align-items:center;gap:8px}.notification-toggle:hover{background:var(--bg-tertiary);border-color:var(--primary)}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--error);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);min-width:16px;text-align:center;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.notification-dropdown{position:absolute;top:100%;right:0;width:400px;max-height:500px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border)}.notification-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.notification-list{max-height:400px;overflow-y:auto}.notification-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--border-light);cursor:pointer;transition:all var(--transition-fast);position:relative}.notification-item:hover{background:var(--bg-tertiary)}.notification-item.unread{background:var(--primary-light);border-left:3px solid var(--primary)}.notification-item.unread:hover{background:var(--primary-light)}.notification-icon{font-size:20px;flex-shrink:0;margin-top:2px}.notification-content{flex:1;min-width:0}.notification-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-message{font-size:13px;color:var(--text-secondary);line-height:1.4;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-time{font-size:11px;color:var(--text-tertiary)}.unread-indicator{position:absolute;top:50%;right:var(--spacing-sm);transform:translateY(-50%);width:8px;height:8px;background:var(--primary);border-radius:50%}.empty-notifications{padding:var(--spacing-xl);text-align:center;color:var(--text-secondary)}.empty-notifications p{font-size:14px;margin:0}.notification-item.success{border-left-color:var(--success)}.notification-item.success.unread{background:var(--success-light)}.notification-item.warning{border-left-color:var(--warning)}.notification-item.warning.unread{background:var(--warning-light)}.notification-item.error{border-left-color:var(--error)}.notification-item.error.unread{background:var(--error-light)}.notification-item.info{border-left-color:var(--info)}.notification-item.info.unread{background:var(--info-light)}@media (max-width: 768px){.notification-dropdown{width:320px;right:-50px}.notification-item{padding:var(--spacing-sm)}.notification-title{font-size:13px}.notification-message{font-size:12px}}@media (max-width: 480px){.notification-dropdown{width:280px;right:-80px}}.layout{display:flex;height:100vh;background:var(--color-background)}.layout__sidebar{width:240px;min-width:240px;background:var(--color-background-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;transition:all .3s ease;z-index:100;flex-shrink:0}.layout__sidebar--collapsed{width:64px;min-width:64px}.layout__sidebar--collapsed .layout__sidebar-header{padding:var(--spacing-sm);justify-content:center}.layout__sidebar--collapsed .layout__logo{justify-content:center}.layout__sidebar--collapsed .layout__sidebar-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%)}.layout__sidebar-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;position:relative}.layout__logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-decoration:none}.layout__logo-icon{width:32px;height:32px;background:var(--color-primary);border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-size-md)}.layout__sidebar-toggle{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);transition:all .2s ease}.layout__sidebar-toggle:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.layout__nav{flex:1;padding:var(--spacing-sm) var(--spacing-md);overflow-y:auto}.layout__nav-section{margin-bottom:var(--spacing-lg)}.layout__nav-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm);padding:0 var(--spacing-sm)}.layout__nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.layout__nav-item{margin:0}.layout__nav-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-md);text-decoration:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all .2s ease;position:relative}.layout__nav-link:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.layout__nav-link--active{background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-semibold);box-shadow:0 2px 8px #3b82f626}.layout__nav-link--active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:60%;background:var(--color-primary);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;box-shadow:0 0 8px #3b82f680}.layout__nav-link--active .layout__nav-icon{transform:scale(1.1);filter:drop-shadow(0 2px 4px rgba(59,130,246,.3))}.layout__nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-md);flex-shrink:0;transition:transform .2s ease,filter .2s ease}.layout__nav-text{flex:1;white-space:nowrap;overflow:hidden}.layout__sidebar--collapsed .layout__nav-link{justify-content:center;padding:var(--spacing-xs)}.layout__sidebar--collapsed .layout__nav-icon{margin:0}.layout__sidebar--collapsed .layout__nav-text,.layout__sidebar--collapsed .layout__nav-section-title{display:none}.layout__sidebar--collapsed .layout__user{padding:var(--spacing-sm);display:flex;justify-content:center}.layout__sidebar--collapsed .layout__user>*{width:100%;display:flex;justify-content:center}.layout__main{flex:1;display:flex;flex-direction:column;overflow:hidden}.layout__topbar{height:56px;background:var(--color-background);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-md);flex-shrink:0}.layout__breadcrumbs{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.layout__breadcrumb-item{display:flex;align-items:center;gap:var(--spacing-xs)}.layout__breadcrumb-link{color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease}.layout__breadcrumb-link:hover{color:var(--color-text-primary)}.layout__breadcrumb-separator{color:var(--color-text-tertiary)}.layout__topbar-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.layout__content{flex:1;overflow-y:auto;padding:var(--spacing-md);max-width:100%}@media (max-width: 1024px){.layout__sidebar{position:fixed;top:0;left:0;height:100vh;transform:translate(-100%);z-index:200}.layout__sidebar--open{transform:translate(0)}.layout__main{width:100%}.layout__topbar{padding-left:var(--spacing-md)}.layout__content{padding:var(--spacing-md)}}@media (max-width: 768px){.layout__topbar{padding:0 var(--spacing-md)}.layout__content{padding:var(--spacing-sm)}.layout__breadcrumbs{font-size:var(--font-size-xs)}}[data-theme=dark] .layout{background:var(--color-background-dark)}[data-theme=dark] .layout__sidebar{background:var(--color-background-secondary-dark);border-color:var(--color-border-dark)}[data-theme=dark] .layout__sidebar-header{border-color:var(--color-border-dark)}[data-theme=dark] .layout__logo{color:var(--color-text-primary-dark)}[data-theme=dark] .layout__sidebar-toggle{color:var(--color-text-secondary-dark)}[data-theme=dark] .layout__sidebar-toggle:hover{background:var(--color-background-hover-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .layout__nav-section-title{color:var(--color-text-tertiary-dark)}[data-theme=dark] .layout__nav-link{color:var(--color-text-secondary-dark)}[data-theme=dark] .layout__nav-link:hover{background:var(--color-background-hover-dark);color:var(--color-text-primary-dark)}[data-theme=dark] .layout__nav-link--active{background:#3b82f633;color:var(--color-primary);font-weight:var(--font-weight-semibold);box-shadow:0 2px 8px #3b82f640}[data-theme=dark] .layout__nav-link--active:before{background:var(--color-primary);box-shadow:0 0 12px #3b82f6b3}[data-theme=dark] .layout__nav-link--active .layout__nav-icon{filter:drop-shadow(0 2px 6px rgba(59,130,246,.5))}[data-theme=dark] .layout__user{border-color:var(--color-border-dark)}[data-theme=dark] .layout__user-info:hover{background:var(--color-background-hover-dark)}[data-theme=dark] .layout__user-name{color:var(--color-text-primary-dark)}[data-theme=dark] .layout__user-email{color:var(--color-text-secondary-dark)}[data-theme=dark] .layout__topbar{background:var(--color-background-dark);border-color:var(--color-border-dark)}[data-theme=dark] .layout__breadcrumbs,[data-theme=dark] .layout__breadcrumb-link{color:var(--color-text-secondary-dark)}[data-theme=dark] .layout__breadcrumb-link:hover{color:var(--color-text-primary-dark)}[data-theme=dark] .layout__breadcrumb-separator{color:var(--color-text-tertiary-dark)}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #3b82f6;--secondary: #64748b;--secondary-hover: #475569;--accent: #0ea5e9;--danger: #ef4444;--success: #10b981;--warning: #f59e0b;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #3b82f6;--color-primary-dark: #1e40af;--color-success: #10b981;--color-error: #ef4444;--color-error-dark: #dc2626;--color-warning: #f59e0b;--color-info: #3b82f6;--color-success-light: #d1fae5;--color-error-light: #fee2e2;--color-warning-light: #fef3c7;--color-info-light: #dbeafe;--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f5f5f5;--bg-quaternary: #f0f0f0;--color-background: #ffffff;--color-background-hover: #f8fafc;--color-border: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-quaternary: #cbd5e1;--color-text-primary: #0f172a;--color-text-secondary: #475569;--border: #e2e8f0;--border-hover: #cbd5e1;--border-light: #f1f5f9;--color-skeleton-base: #f1f5f9;--color-skeleton-highlight: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--border-radius-sm: 6px;--border-radius-md: 8px;--border-radius-lg: 12px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-quaternary: #475569;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-quaternary: #64748b;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-light: #60a5fa;--color-primary-dark: #1d4ed8;--color-background-dark: #0f172a;--color-background-hover-dark: #1e293b;--color-border: #334155;--color-text-primary-dark: #f8fafc;--color-text-secondary-dark: #cbd5e1;--border: #334155;--border-hover: #475569;--border-light: #1e293b;--color-success-dark: #064e3b;--color-error-dark: #7f1d1d;--color-warning-dark: #78350f;--color-info-dark: #1e3a8a;--color-skeleton-base-dark: #334155;--color-skeleton-highlight-dark: #475569;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3);--shadow-lg-dark: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3)}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);transition:background var(--transition-normal),color var(--transition-normal)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:1rem}p{margin:0;line-height:1.6}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover)}.theme-toggle{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-fast);z-index:1000}.theme-toggle:hover{transform:scale(1.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fade-in{animation:fadeIn var(--transition-normal)}.fade-out{animation:fadeOut var(--transition-normal)}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.slide-in-left{animation:slideInLeft var(--transition-normal)}.slide-in-right{animation:slideInRight var(--transition-normal)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.scale-in{animation:scaleIn var(--transition-normal)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce .6s ease-in-out}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{animation:shimmer 2s infinite linear;background:linear-gradient(to right,var(--bg-secondary) 4%,var(--bg-tertiary) 25%,var(--bg-secondary) 36%);background-size:1000px 100%}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.block-enter{animation:slideUp var(--transition-fast)}.hover-lift{transition:transform var(--transition-fast)}.hover-lift:hover{transform:translateY(-2px)}.hover-glow{transition:box-shadow var(--transition-fast)}.hover-glow:hover{box-shadow:0 0 15px #4a90e24d}@keyframes focus-ring{0%{box-shadow:0 0 #4a90e200}to{box-shadow:0 0 0 3px #4a90e233}}.focus-ring:focus{animation:focus-ring .3s ease;outline:none}button,input,textarea,select,a{transition:all var(--transition-fast)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}@keyframes progress{0%{width:0%}}.progress-bar{animation:progress 2s ease-out}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;font-family:inherit}button:disabled{opacity:.6;cursor:not-allowed}input,textarea{font-family:inherit}input:focus,textarea:focus{outline:none}
