.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#091e428a;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.modal-container{background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;display:flex;flex-direction:column;animation:slideIn .2s ease}.modal-small{width:400px}.modal-medium{width:560px}.modal-large{width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);font-size:18px;transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-lg);overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border)}.confirm-dialog{text-align:center}.confirm-message{margin-bottom:var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-md)}.confirm-actions{display:flex;justify-content:center;gap:var(--spacing-sm)}.search-bar{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--spacing-sm);font-size:var(--font-size-sm);pointer-events:none}.search-input{width:100%;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) 32px;font-size:var(--font-size-md);border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary);transition:border-color var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-border-focus)}.search-clear{position:absolute;right:var(--spacing-sm);background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);font-size:var(--font-size-sm);padding:4px}.search-clear:hover{color:var(--color-text-secondary)}.search-filters{position:relative}.filter-toggle{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-md);color:var(--color-text-secondary);transition:all var(--transition-fast);white-space:nowrap}.filter-toggle:hover,.filter-toggle.active{border-color:var(--color-border-focus);color:var(--color-primary)}.filter-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;min-width:180px}.filter-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.filter-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;cursor:pointer;font-size:var(--font-size-sm)}.filter-option input{cursor:pointer}.status-badge-wrapper{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.status-badge-wrapper.clickable{cursor:pointer}.status-badge-wrapper.clickable:hover .status-badge{filter:brightness(.95)}.status-badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-sm);white-space:nowrap}.status-dropdown-icon{font-size:8px;color:var(--color-text-tertiary)}.project-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.form-group-full{grid-column:1 / -1}.form-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.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(--color-border)}.form-section{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-bg-tertiary);margin-top:var(--spacing-md)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.files-list{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.files-list.pending{border-top:1px dashed var(--color-border);padding-top:var(--spacing-sm);margin-top:var(--spacing-sm)}.pending-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-bottom:var(--spacing-xs)}.file-item{display:grid;grid-template-columns:24px 1fr 1fr auto 24px;gap:var(--spacing-sm);align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.file-icon{font-size:16px}.file-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-original{color:var(--color-text-tertiary);font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-date,.file-size{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.task-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.task-form.compact{gap:var(--spacing-sm)}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.label-hint{font-weight:400;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.form-input,.form-select,.form-textarea{padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary)}.form-input:disabled{background:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:not-allowed}.form-textarea{resize:vertical;min-height:50px}.form-row{display:flex;gap:var(--spacing-md)}.form-row>.form-group{flex:1}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-md)}.form-row-4{display:grid;grid-template-columns:1fr 80px 100px 1fr;gap:var(--spacing-sm)}.form-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm)}.form-checkbox input{width:16px;height:16px}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.project-selector-row{display:flex;gap:var(--spacing-xs)}.project-selector-row .form-select{flex:1}.form-section{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);background:var(--color-bg-tertiary)}.form-section.compact{padding:var(--spacing-xs) var(--spacing-sm)}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header .form-label{margin:0}.repeat-preview{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding:var(--spacing-xs);background:var(--color-bg-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.preview-label{color:var(--color-text-secondary);font-weight:500}.preview-date{background:var(--color-primary);color:#fff;padding:2px 6px;border-radius:10px}.preview-last{color:var(--color-text-tertiary);font-style:italic}.files-list{display:flex;flex-direction:column;gap:4px;margin-top:var(--spacing-xs);max-height:120px;overflow-y:auto}.files-list.compact{gap:2px}.file-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:4px 8px;background:var(--color-bg-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.file-item.compact{padding:2px 6px;font-size:var(--font-size-xs)}.file-item.pending{background:var(--color-bg-selected);border:1px dashed var(--color-primary)}.file-icon{font-size:14px;flex-shrink:0}.file-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:80px}.file-meta{flex:1;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-xs{padding:2px 6px;font-size:11px}.top-menu{display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg);height:56px;background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.top-menu-left{display:flex;align-items:center;gap:var(--spacing-xl)}.logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:600}.logo-icon{font-size:24px}.nav-links{display:flex;gap:var(--spacing-xs)}.nav-link{padding:var(--spacing-sm) var(--spacing-md);color:#fffc;text-decoration:none;font-weight:500;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:#fff3;color:#fff}.top-menu-right{display:flex;align-items:center;gap:var(--spacing-lg)}.create-task-btn{white-space:nowrap}.data-source-switch{display:flex;align-items:center;gap:var(--spacing-sm)}.switch-label{font-size:var(--font-size-sm);color:#fffc}.source-select{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);background:#ffffff1a;color:#fff;cursor:pointer;outline:none}.source-select:hover{background:#fff3}.source-select option{background:var(--color-primary);color:#fff}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:var(--spacing-lg)}.login-container{background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-logo{font-size:48px;display:block;margin-bottom:var(--spacing-sm)}.login-header h1{font-size:var(--font-size-xxl);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.login-header p{color:var(--color-text-secondary);font-size:var(--font-size-md)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.login-error{background:var(--color-danger-light);color:var(--color-danger);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-align:center}.login-btn{width:100%;padding:var(--spacing-md);font-size:var(--font-size-md);margin-top:var(--spacing-sm)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary)}.loading-spinner{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.stat-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:24px}.stat-content{flex:1}.stat-value{font-size:var(--font-size-xxl);font-weight:700;line-height:1}.stat-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.critical-task-list{max-height:400px;overflow-y:auto}.critical-task-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition-fast)}.critical-task-item:hover{background-color:var(--color-bg-hover)}.critical-task-item:last-child{border-bottom:none}.critical-task-item.overdue{border-left:3px solid var(--color-danger)}.critical-task-item.warning{border-left:3px solid var(--color-warning)}.task-main{flex:1;min-width:0}.task-name{font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-project{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.task-meta{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.task-date{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.date-label{color:var(--color-text-tertiary)}.date-value{font-weight:500}.date-value.overdue{color:var(--color-danger)}.date-value.warning{color:var(--color-warning)}.days-indicator{font-size:var(--font-size-xs);font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.days-overdue{background:var(--color-danger-light);color:var(--color-danger)}.days-today{background:var(--color-warning-light);color:#974f0c}.days-left{background:var(--color-info-light);color:var(--color-primary)}.empty-list{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-tertiary);gap:var(--spacing-sm)}.empty-icon{font-size:32px}.dashboard-page{max-width:1400px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.dashboard-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg)}.dashboard-section{background:var(--color-bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden}.section-title{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.section-icon{font-size:var(--font-size-lg)}.loading{display:flex;align-items:center;justify-content:center;height:200px;font-size:var(--font-size-lg);color:var(--color-text-secondary)}.project-card{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast)}.project-card:hover{border-color:var(--color-border-focus);box-shadow:var(--shadow-sm)}.project-card.selected{border-color:var(--color-primary);background:var(--color-bg-selected)}.project-card.compact{padding:var(--spacing-sm) var(--spacing-md);margin-bottom:4px}.project-card-compact-main{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.project-card.compact .project-name{font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-stats-compact{display:flex;gap:var(--spacing-sm);margin-top:4px}.stat-compact{font-size:var(--font-size-xs);padding:1px 6px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.stat-compact.stat-completed{background:var(--color-success-light);color:var(--color-success)}.stat-compact.stat-critical{background:var(--color-warning-light);color:#974f0c}.stat-compact.stat-overdue{background:var(--color-danger-light);color:var(--color-danger)}.btn-xs{width:24px;height:24px;padding:2px;font-size:12px}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.project-name{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);line-height:1.3;flex:1}.project-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--transition-fast)}.project-card:hover .project-actions{opacity:1}.project-actions .btn-icon{width:28px;height:28px;font-size:14px}.project-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-stats{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-sm)}.stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.stat-value.stat-completed{color:var(--color-success)}.stat-value.stat-critical{color:var(--color-warning)}.stat-value.stat-overdue{color:var(--color-danger)}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase}.project-location{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.project-contact{display:flex;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.project-contact-compact{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px}.project-name-row{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.project-ssn{font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:var(--color-bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap}.project-list{display:flex;flex-direction:column;height:100%}.project-list-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-bg-tertiary)}.project-list-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.project-list-search{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border)}.project-filters{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.filter-checkbox{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer}.project-list-content{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.empty-projects{display:flex;align-items:center;justify-content:center;height:100px;color:var(--color-text-tertiary)}.status-selector-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0003}.status-selector{background:var(--color-bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:280px;max-width:360px;animation:slideIn .15s ease}.status-selector-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.close-btn{background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);font-size:14px;padding:4px}.close-btn:hover{color:var(--color-text-primary)}.status-selector-list{padding:var(--spacing-xs);max-height:250px;overflow-y:auto}.status-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);border:2px solid transparent}.status-option:hover{background:var(--color-bg-hover)}.status-option.current{background:var(--color-bg-tertiary)}.status-option.selected{background:var(--color-bg-selected);border-color:var(--color-primary)}.status-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.status-name{flex:1;font-size:var(--font-size-md)}.selected-indicator{color:var(--color-primary);font-weight:600}.status-selector-comment{padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border)}.comment-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.comment-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;resize:vertical;min-height:60px;box-sizing:border-box}.comment-input:focus{outline:none;border-color:var(--color-primary)}.status-selector-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border);background:var(--color-bg-tertiary);border-radius:0 0 var(--radius-md) var(--radius-md)}.status-selector-actions .btn:disabled{opacity:.5;cursor:not-allowed}.final-badge{display:inline-block;margin-left:var(--spacing-xs);padding:1px 6px;font-size:10px;font-weight:600;background:var(--color-success-light);color:var(--color-success);border-radius:8px}.status-selector-date{padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border);background:var(--color-bg-selected)}.final-badge{font-size:10px;background:var(--color-success);color:#fff;padding:1px 6px;border-radius:10px;margin-left:var(--spacing-sm)}.status-selector-date{padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border);background:var(--color-bg-tertiary)}.date-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.date-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;box-sizing:border-box}.date-input:focus{outline:none;border-color:var(--color-primary)}.status-history{max-height:400px;overflow-y:auto}.empty-history{display:flex;align-items:center;justify-content:center;height:100px;color:var(--color-text-tertiary)}.history-timeline{padding-left:var(--spacing-sm)}.history-item{display:flex;gap:var(--spacing-md);padding-bottom:var(--spacing-md)}.history-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.marker-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.marker-line{width:2px;flex:1;background:var(--color-border);margin-top:var(--spacing-xs)}.history-content{flex:1;padding-bottom:var(--spacing-sm)}.history-change{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.status-pill{padding:2px 8px;font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase}.arrow{color:var(--color-text-tertiary)}.history-meta{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.history-user{color:var(--color-text-tertiary)}.history-snapshot{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.comment-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.comment-form{display:flex;gap:var(--spacing-sm)}.comment-input{flex:1;padding:var(--spacing-sm);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary)}.comment-input:focus{outline:none;border-color:var(--color-border-focus)}.comments-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:200px;overflow-y:auto}.no-comments{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center;padding:var(--spacing-md)}.comment-item{padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.comment-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.comment-author{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.comment-date{font-size:var(--font-size-xs);color:var(--color-text-tertiary);flex:1}.comment-delete{background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);font-size:12px;padding:2px;opacity:0;transition:opacity var(--transition-fast)}.comment-item:hover .comment-delete{opacity:1}.comment-delete:hover{color:var(--color-danger)}.comment-body{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.task-card-wrapper{margin-bottom:var(--spacing-sm)}.task-card-wrapper.level-1{margin-left:var(--spacing-lg)}.task-card-wrapper.level-2{margin-left:calc(var(--spacing-lg) * 2)}.task-card-wrapper.level-3{margin-left:calc(var(--spacing-lg) * 3)}.task-card-wrapper.level-4{margin-left:calc(var(--spacing-lg) * 4)}.task-card{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.task-card:hover{border-color:var(--color-border-focus);box-shadow:var(--shadow-sm)}.task-card.selected{border-color:var(--color-primary);background:var(--color-bg-selected)}.task-card.urgency-overdue{border-left:4px solid var(--color-danger)}.task-card.urgency-critical{border-left:4px solid var(--color-warning)}.task-card.urgency-warning{border-left:4px solid #fbbf24}.task-card-main{padding:var(--spacing-md)}.task-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.task-top-left{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.task-top-right{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.expand-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:10px;color:var(--color-text-secondary);flex-shrink:0}.expand-btn:hover{background:var(--color-bg-hover)}.expand-btn.expanded{transform:rotate(90deg)}.task-name{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.type-badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:var(--font-size-xs);font-weight:600;color:#fff;border-radius:12px;white-space:nowrap}.task-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0;line-height:1.4}.task-bottom-row{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.task-bottom-left{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.task-bottom-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.repeat-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--font-size-xs);font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px}.repeat-icon{font-size:10px}.task-indicators{display:flex;gap:var(--spacing-xs)}.indicator{display:flex;align-items:center;gap:2px;padding:2px 6px;font-size:var(--font-size-xs);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.indicator.clickable{cursor:pointer}.indicator.clickable:hover{background:var(--color-bg-hover)}.task-actions{display:flex;gap:2px}.task-actions .btn{opacity:.6}.task-card:hover .task-actions .btn{opacity:1}.assigned-user{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.user-icon{font-size:12px}.due-date{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.due-date .due-label{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-secondary)}.due-date .due-value{font-size:var(--font-size-md);font-weight:600}.due-date.overdue,.due-date.overdue .due-value{color:var(--color-danger)}.due-date.critical,.due-date.critical .due-value{color:#ea580c}.due-date.warning,.due-date.warning .due-value{color:#d97706}.urgency-badge{padding:2px 8px;font-size:var(--font-size-xs);font-weight:600;border-radius:10px;white-space:nowrap}.urgency-badge.overdue{background:var(--color-danger-light);color:var(--color-danger)}.urgency-badge.critical{background:var(--color-warning-light);color:#974f0c}.urgency-badge.warning{background:#fef3c7;color:#92400e}.actual-date{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-md);font-weight:600}.done-icon{font-size:14px}.done-label{color:var(--color-text-secondary);font-weight:500}.done-value{color:var(--color-success)}.last-comment{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);cursor:pointer}.last-comment:hover{background:var(--color-bg-hover)}.comment-icon{flex-shrink:0}.comment-text{flex:1;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comment-more{font-size:var(--font-size-xs);color:var(--color-primary);flex-shrink:0}.comments-expanded{padding:var(--spacing-md);border-top:1px solid var(--color-border);background:var(--color-bg-tertiary)}.collapse-btn{margin-top:var(--spacing-sm)}.subtasks-container{margin-top:var(--spacing-xs);padding-left:var(--spacing-md);border-left:2px solid var(--color-border);margin-left:var(--spacing-md)}.task-panel{display:flex;flex-direction:column;height:100%}.task-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-tertiary);gap:var(--spacing-md)}.task-panel-title h2{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.task-count{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.task-panel-actions{display:flex;align-items:center;gap:var(--spacing-md)}.filter-checkbox{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.filter-checkbox input{cursor:pointer}.task-panel-content{flex:1;overflow-y:auto;padding:var(--spacing-md)}.empty-tasks{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;text-align:center;color:var(--color-text-secondary)}.empty-tasks .empty-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.empty-tasks h3{font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.empty-tasks p{color:var(--color-text-tertiary)}.document-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.document-panel.empty{display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);padding:var(--spacing-lg)}.document-toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);flex-shrink:0}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--spacing-sm)}.selection-count{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:0 var(--spacing-sm)}.view-toggle{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.toggle-btn{padding:4px 8px;border:none;background:var(--color-bg-primary);cursor:pointer;font-size:14px;color:var(--color-text-secondary)}.toggle-btn:hover{background:var(--color-bg-hover)}.toggle-btn.active{background:var(--color-primary);color:#fff}.no-documents{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--color-text-tertiary);padding:var(--spacing-lg)}.no-documents .empty-icon{font-size:32px;margin-bottom:var(--spacing-sm)}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm);padding:var(--spacing-sm);overflow-y:auto;flex:1}.document-card{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;position:relative}.document-card:hover{background:var(--color-bg-hover)}.document-card.selected{background:var(--color-bg-selected);border-color:var(--color-primary)}.doc-icon{font-size:32px;margin-bottom:var(--spacing-xs)}.doc-name{font-size:var(--font-size-sm);font-weight:500;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.doc-date{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px}.doc-actions{position:absolute;top:4px;right:4px;display:none;gap:2px}.document-card:hover .doc-actions{display:flex}.document-list{flex:1;overflow-y:auto}.list-header{display:grid;grid-template-columns:40px 1fr 1fr 80px 100px 80px 80px;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-tertiary);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;border-bottom:1px solid var(--color-border);position:sticky;top:0}.list-row{display:grid;grid-template-columns:40px 1fr 1fr 80px 100px 80px 80px;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);align-items:center;border-bottom:1px solid var(--color-border);cursor:pointer;font-size:var(--font-size-sm)}.list-row:hover{background:var(--color-bg-hover)}.list-row.selected{background:var(--color-bg-selected)}.col-icon{text-align:center;font-size:18px}.col-name,.col-filename{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-size,.col-date,.col-user{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.col-actions{display:flex;gap:4px;justify-content:flex-end}.document-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.file-input-wrapper{display:flex;align-items:center;gap:var(--spacing-sm)}.file-name{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-info{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.file-icon{font-size:24px}.file-details{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.document-preview{display:flex;flex-direction:column;gap:var(--spacing-md)}.preview-image,.preview-pdf,.preview-other{display:flex;align-items:center;justify-content:center;min-height:300px;background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.image-placeholder,.pdf-placeholder,.other-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary)}.placeholder-icon{font-size:64px}.filename{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.preview-info{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.info-row{display:flex;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.info-label{font-weight:600;color:var(--color-text-secondary);min-width:80px}.info-value{color:var(--color-text-primary)}.btn-xs{padding:2px 6px;font-size:12px}.main-page{height:calc(100vh - 50px);overflow:hidden}.main-layout{display:flex;height:100%}.projects-sidebar{width:320px;min-width:280px;max-width:400px;border-right:1px solid var(--color-border);background:var(--color-bg-secondary);overflow-y:auto;flex-shrink:0}.right-panel{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.tasks-main{flex:1;overflow-y:auto;min-height:200px}.documents-panel-container{border-top:1px solid var(--color-border);background:var(--color-bg-secondary);display:flex;flex-direction:column;transition:height .2s ease}.documents-panel-container.expanded{height:280px;min-height:200px;max-height:400px}.documents-panel-container.collapsed{height:auto}.documents-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-bottom:1px solid var(--color-border)}.documents-toggle:hover{background:var(--color-bg-hover)}.toggle-icon{font-size:10px;color:var(--color-text-secondary)}.toggle-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary);text-align:center;padding:var(--spacing-xl)}.no-selection-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.no-selection h2{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-lg);color:var(--color-text-secondary)}.no-selection p{margin:0;font-size:var(--font-size-md)}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:var(--font-size-lg);color:var(--color-text-secondary)}.status-manager{width:100%}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.manager-header h2{font-size:var(--font-size-lg);font-weight:600}.status-list{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.status-list-header{display:grid;grid-template-columns:60px 1fr 60px 100px 100px 80px 100px;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.status-row{display:grid;grid-template-columns:60px 1fr 60px 100px 100px 80px 100px;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);align-items:center;border-bottom:1px solid var(--color-border)}.status-row:last-child{border-bottom:none}.status-row:hover{background:var(--color-bg-hover)}.status-name{font-weight:500}.status-actions{display:flex;gap:var(--spacing-xs)}.status-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.form-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.form-hint{display:block;font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:4px}.checkbox-row{display:flex;align-items:center;gap:var(--spacing-md)}.checkbox-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.type-manager{width:100%}.type-list{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.type-list-header{display:grid;grid-template-columns:60px 150px 1fr 100px;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.type-row{display:grid;grid-template-columns:60px 150px 1fr 100px;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);align-items:center;border-bottom:1px solid var(--color-border)}.type-row:last-child{border-bottom:none}.type-row:hover{background:var(--color-bg-hover)}.color-preview{display:inline-block;width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.type-name{font-weight:500}.type-description{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.type-actions{display:flex;gap:var(--spacing-xs)}.empty-list{padding:var(--spacing-lg);text-align:center;color:var(--color-text-tertiary)}.type-form .form-row{display:grid;grid-template-columns:1fr 100px;gap:var(--spacing-md)}.color-input{height:40px;padding:4px;cursor:pointer}.user-manager{width:100%}.user-list{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.user-list-header{display:grid;grid-template-columns:1fr 120px 1fr 120px 100px;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.user-row{display:grid;grid-template-columns:1fr 120px 1fr 120px 100px;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);align-items:center;border-bottom:1px solid var(--color-border)}.user-row:last-child{border-bottom:none}.user-row:hover{background:var(--color-bg-hover)}.user-row.inactive{opacity:.6}.user-name{font-weight:500}.toggle-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-tertiary);cursor:pointer;transition:all var(--transition-fast)}.toggle-btn.active{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-success)}.user-actions{display:flex;gap:var(--spacing-xs)}.user-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.document-tree{width:100%}.tree-header{margin-bottom:var(--spacing-lg)}.tree-header h2{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-xs)}.tree-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tree-content{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;max-height:500px;overflow-y:auto}.empty-tree{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}.tree-node{border-bottom:1px solid var(--color-border)}.tree-node:last-child{border-bottom:none}.tree-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background-color var(--transition-fast)}.tree-item:hover{background:var(--color-bg-hover)}.project-item{background:var(--color-bg-tertiary);font-weight:500}.task-item{padding-left:var(--spacing-lg)}.expand-icon{width:16px;font-size:10px;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.expand-icon.expanded{transform:rotate(90deg)}.node-icon{font-size:16px}.node-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-count{font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding:2px 8px;background:var(--color-bg-primary);border-radius:var(--radius-sm)}.tree-children{background:var(--color-bg-secondary)}.docs-section{padding:var(--spacing-xs) 0}.document-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);padding-left:calc(var(--spacing-lg) + var(--spacing-xl));font-size:var(--font-size-sm)}.document-item:hover{background:var(--color-bg-hover)}.task-node .document-item{padding-left:calc(var(--spacing-lg) * 2 + var(--spacing-xl))}.doc-icon{font-size:14px}.doc-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-secondary)}.doc-link{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm)}.doc-link:hover{background:var(--color-primary);color:#fff}.settings-page{max-width:1200px;margin:0 auto}.page-title{font-size:var(--font-size-xxl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.settings-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border);padding-bottom:var(--spacing-sm)}.tab-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;font-size:var(--font-size-md);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast)}.tab-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.tab-btn.active{background:var(--color-primary);color:#fff}.settings-content{background:var(--color-bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:var(--spacing-lg);min-height:500px}:root{--color-bg-primary: #f4f5f7;--color-bg-secondary: #ffffff;--color-bg-tertiary: #ebecf0;--color-bg-hover: #e4e6eb;--color-bg-selected: #e9f2ff;--color-text-primary: #172b4d;--color-text-secondary: #5e6c84;--color-text-tertiary: #97a0af;--color-border: #dfe1e6;--color-border-focus: #4c9aff;--color-primary: #0052cc;--color-primary-hover: #0065ff;--color-primary-light: #deebff;--color-success: #00875a;--color-success-light: #e3fcef;--color-warning: #ff991f;--color-warning-light: #fffae6;--color-danger: #de350b;--color-danger-light: #ffebe6;--color-info: #0065ff;--color-info-light: #deebff;--shadow-sm: 0 1px 2px rgba(9, 30, 66, .08);--shadow-md: 0 4px 8px rgba(9, 30, 66, .12);--shadow-lg: 0 8px 16px rgba(9, 30, 66, .16);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 8px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-xxl: 24px;--transition-fast: .15s ease;--transition-normal: .25s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-md);color:var(--color-text-primary);background-color:var(--color-bg-primary);line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:var(--spacing-lg);overflow:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:#bf2600}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-bg-hover)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.btn-icon{padding:var(--spacing-sm);width:32px;height:32px}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm);font-size:var(--font-size-md);border:2px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-secondary);transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-border-focus)}.form-textarea{resize:vertical;min-height:80px}.card{background:var(--color-bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.card-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.card-body{padding:var(--spacing-md)}.status-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;border-radius:var(--radius-sm);letter-spacing:.5px}.urgency-overdue{background-color:var(--color-danger-light);color:var(--color-danger)}.urgency-critical{background-color:var(--color-warning-light);color:#974f0c}.urgency-warning{background-color:#fff3cd;color:#856404}.urgency-completed{background-color:var(--color-success-light);color:var(--color-success)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn var(--transition-normal)}.slide-in{animation:slideIn var(--transition-normal)}
