:root{--wo-type-fault: #fca5a5;--wo-type-consult: #a5b4fc;--wo-type-change: #fbbf24;--wo-type-optimize: #4ade80;--wo-border-fault: rgba(239, 68, 68, .25);--wo-border-consult: rgba(94, 106, 210, .25);--wo-border-change: rgba(234, 179, 8, .3);--wo-border-optimize: rgba(39, 166, 68, .25)}[data-theme=light]{--wo-type-fault: #dc2626;--wo-type-consult: #4f46e5;--wo-type-change: #d97706;--wo-type-optimize: #16a34a;--wo-border-fault: rgba(220, 38, 38, .2);--wo-border-consult: rgba(79, 70, 229, .2);--wo-border-change: rgba(217, 119, 6, .25);--wo-border-optimize: rgba(22, 163, 74, .2)}.wo-reminder-banner{background:#eab30826;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:12px 18px;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:13px;color:var(--text-primary);border-left:3px solid var(--priority-medium-color)}.wo-reminder-banner button{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:0 4px;transition:color var(--transition-fast);display:grid;place-items:center}.wo-reminder-banner button:hover{color:var(--text-primary)}.wo-list-panel{width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:20px 22px;box-shadow:var(--shadow-card);min-width:0;overflow:hidden;transition:background var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.wo-list-header{display:flex;flex-direction:column;gap:12px}.wo-list-header h2{margin:0;font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);display:flex;align-items:center;gap:8px}.wo-today-badge{font-size:11px;font-weight:600;background:var(--bg-tag);color:var(--text-secondary);border-radius:var(--radius-pill);padding:2px 10px;border:1px solid var(--border-subtle);letter-spacing:.02em}.wo-export-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.wo-date-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wo-date-filter .wo-input{width:auto}.wo-filter-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:6px 12px;background:var(--bg-tag);color:var(--text-secondary);font-weight:500;font-size:12px;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.wo-filter-btn:hover{background:var(--bg-card-hover);border-color:var(--border-default);color:var(--text-primary)}.wo-export-btn{border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md);padding:8px 16px;background:var(--accent-bg);color:var(--text-on-primary);font-weight:600;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 2px 8px #10b98133}.wo-export-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.wo-export-btn:active{transform:scale(.97)}.wo-import-btn{border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md);padding:8px 16px;background:var(--bg-card);color:var(--accent-primary);font-weight:600;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.wo-import-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-primary)}.wo-import-btn:disabled{opacity:.5;cursor:not-allowed}.wo-template-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:8px 14px;background:var(--bg-card);color:var(--text-secondary);font-weight:600;font-size:12px;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.wo-template-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.wo-import-msg{padding:8px 14px;border-radius:var(--radius-md);font-size:12px;font-weight:600}.wo-import-msg.success{background:var(--bg-success);color:var(--status-completed-color);border:1px solid var(--status-completed-border)}.wo-import-msg.warning{background:#eab30826;color:var(--priority-medium-color);border:1px solid var(--priority-medium-border)}.wo-table-wrapper{overflow-x:auto;margin-top:14px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:border-color var(--transition-normal)}.wo-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--bg-card);min-width:500px}.wo-table thead tr{background:var(--bg-primary);border-radius:var(--radius-md);overflow:hidden}.wo-table thead th{padding:11px 12px;color:var(--text-muted);font-weight:600;font-size:11px;text-align:left;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast),color var(--transition-fast)}.wo-table thead th:hover{background:var(--bg-tag);color:var(--text-primary)}.wo-table thead th:first-child{border-radius:var(--radius-md) 0 0 0}.wo-table thead th:last-child{border-radius:0 var(--radius-md) 0 0}.th-type{width:80px}.th-service{min-width:130px}.th-date{width:96px}.th-desc,.th-solution{min-width:160px}.th-created{width:150px}.th-action{width:80px}.wo-table tbody tr{transition:background var(--transition-fast);border-bottom:1px solid var(--border-subtle)}.wo-table tbody tr:last-child{border-bottom:none}.wo-table tbody tr.row-even{background:var(--bg-card)}.wo-table tbody tr.row-odd{background:var(--bg-primary)}.wo-table tbody tr:hover{background:var(--bg-card-hover)}.wo-table tbody td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--text-secondary)}.wo-table tbody tr:last-child td{border-bottom:none}.td-service{font-weight:600;color:var(--text-primary)}.td-date{color:var(--text-muted);font-size:12px;white-space:nowrap}.td-desc,.td-solution{color:var(--text-secondary);font-size:12px}.td-created{color:var(--text-muted);font-size:11px;white-space:nowrap}.td-action{text-align:center}.wo-type-badge{font-size:11px;font-weight:700;border-radius:var(--radius-sm);padding:2px 8px;white-space:nowrap;border:1px solid;letter-spacing:.02em}.wo-type-故障{background:var(--bg-error);color:var(--wo-type-fault);border-color:#ef444440}.wo-type-咨询{background:var(--bg-info);color:var(--wo-type-consult);border-color:#5e6ad240}.wo-type-变更{background:#eab30826;color:var(--wo-type-change);border-color:var(--wo-border-change)}.wo-type-优化{background:var(--bg-success);color:var(--wo-type-optimize);border-color:#27a64440}.wo-action-btn{border-radius:var(--radius-sm);padding:4px 8px;cursor:pointer;font-size:13px;transition:background var(--transition-fast),opacity var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);border:1px solid transparent;margin:0 2px;display:inline-flex;align-items:center;gap:4px}.wo-action-btn.edit{background:var(--bg-tag);border-color:var(--border-subtle);color:var(--text-secondary)}.wo-action-btn.edit:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-default)}.wo-action-btn.delete{background:var(--bg-error);border-color:#ef444433;color:var(--wo-type-fault)}.wo-action-btn.delete:hover{background:#ef444433}.wo-action-btn.save{background:var(--bg-success);border-color:#10b98140;color:var(--wo-type-optimize)}.wo-action-btn.save:hover{background:#10b98133}.wo-action-btn.cancel{background:var(--bg-tag);border-color:var(--border-subtle);color:var(--text-muted)}.wo-action-btn.cancel:hover{background:var(--bg-card-hover);color:var(--text-secondary)}.wo-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px}.wo-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:var(--radius-md);font-weight:600;font-size:13px;z-index:9999;box-shadow:var(--shadow-modal);animation:wo-slide-up .25s cubic-bezier(.16,1,.3,1);white-space:nowrap;display:inline-flex;align-items:center;gap:8px;border:1px solid}.wo-toast.success{background:var(--bg-success);color:var(--wo-type-optimize);border-color:#27a64440}.wo-toast.error{background:var(--bg-error);color:var(--wo-type-fault);border-color:#ef444440}@keyframes wo-slide-up{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.confirm-row td{background:var(--bg-error)!important;border-bottom-color:#ef444426!important}.confirm-inner{display:flex;align-items:center;gap:12px;padding:4px 0}.confirm-inner span{color:var(--wo-type-fault);font-weight:600;font-size:13px}.edit-row td{background:var(--bg-card-hover)!important}.wo-edit-input,.wo-edit-select,.wo-edit-textarea{width:100%;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:4px 6px;font-size:12px;background:var(--bg-card);color:var(--text-primary);box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.wo-edit-input:focus,.wo-edit-select:focus,.wo-edit-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #10b98126}.wo-edit-textarea{resize:vertical;min-height:36px}.edit-row .td-action{text-align:center}.wo-pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 4px 4px;border-top:1px solid var(--border-subtle);margin-top:4px;gap:12px;flex-wrap:wrap}.wo-page-info{font-size:12px;color:var(--text-muted);white-space:nowrap}.wo-page-btns{display:flex;align-items:center;gap:4px}.wo-page-btn{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tag);color:var(--text-secondary);font-size:13px;padding:5px 10px;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);font-weight:500;line-height:1;min-width:34px;text-align:center}.wo-page-btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-default);color:var(--text-primary)}.wo-page-btn:disabled{opacity:.35;cursor:not-allowed}.wo-page-btn.num{font-size:13px}.wo-page-btn.active{background:var(--accent-bg);color:var(--text-on-primary);border-color:transparent;font-weight:700}.wo-page-btn.active:hover{background:var(--accent-hover)}.wo-page-ellipsis{color:var(--text-muted);font-size:13px;padding:0 4px}.wo-add-btn-row{display:flex;justify-content:flex-end;margin-bottom:14px}.wo-add-btn{background:var(--accent-bg);color:var(--text-on-primary);border:none;border-radius:var(--radius-md);padding:9px 18px;font-weight:600;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 2px 8px #10b98133;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.wo-add-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 14px #10b9814d}.wo-add-btn:active{transform:scale(.97)}.wo-modal-overlay{position:fixed;inset:0;background:var(--bg-modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:9999;animation:wo-fade-in .15s ease-out;padding:16px;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}@keyframes wo-fade-in{0%{opacity:0}to{opacity:1}}.wo-modal{background:var(--bg-card);border-radius:var(--radius-xl);padding:24px;width:min(480px,100%);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-modal);border:1px solid var(--border-subtle);animation:wo-modal-slide .25s cubic-bezier(.16,1,.3,1)}@keyframes wo-modal-slide{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.wo-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.wo-modal-header h2{margin:0;font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);display:flex;align-items:center;gap:8px}.wo-modal-close{border:1px solid var(--border-subtle);background:var(--bg-tag);border-radius:var(--radius-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);flex-shrink:0}.wo-modal-close:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-default)}.wo-form{display:grid;gap:14px}.wo-field{display:flex;flex-direction:column;gap:5px}.wo-field label{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.01em}.wo-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wo-form input,.wo-form select,.wo-form textarea{width:100%;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-input);padding:8px 10px;font-size:13px;color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.wo-form input:focus,.wo-form select:focus,.wo-form textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #10b98126}.wo-submit-btn{background:var(--accent-bg);color:var(--text-on-primary);border:none;border-radius:var(--radius-md);padding:11px;font-weight:700;font-size:14px;cursor:pointer;margin-top:4px;box-shadow:0 2px 8px #10b98133;transition:background var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.wo-submit-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.wo-submit-btn:active:not(:disabled){transform:scale(.98)}.wo-submit-btn:disabled{opacity:.5;cursor:not-allowed}.wo-success{text-align:center;padding:10px;border-radius:var(--radius-md);background:var(--bg-success);color:var(--wo-type-optimize);font-weight:600;font-size:13px;border:1px solid rgba(39,166,68,.2);display:flex;align-items:center;justify-content:center;gap:8px}@media(max-width:900px){.wo-list-panel{padding:14px 12px}.wo-export-row{flex-direction:column;align-items:flex-start}.wo-field-row{grid-template-columns:1fr}}:root{--color-scheme: dark;--bg-body: #08090a;--bg-primary: #0f1011;--bg-card: #191a1b;--bg-card-hover: #28282c;--bg-input: rgba(255, 255, 255, .04);--bg-sidebar: #0f1011;--bg-modal-backdrop: rgba(0, 0, 0, .75);--bg-tooltip: rgba(255, 255, 255, .06);--bg-tag: rgba(255, 255, 255, .05);--bg-success: rgba(39, 166, 68, .12);--bg-error: rgba(239, 68, 68, .12);--bg-warning: rgba(245, 158, 11, .12);--bg-info: rgba(94, 106, 210, .12);--text-primary: #f7f8f8;--text-secondary: #d0d6e0;--text-muted: #8a8f98;--text-on-primary: #ffffff;--text-link: #10b981;--border-default: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .05);--border-focus: rgba(16, 185, 129, .5);--shadow-card: 0 1px 3px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .03);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-btn: 0 1px 3px rgba(0, 0, 0, .4);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .06);--accent-primary: #10b981;--accent-secondary: #059669;--accent-bg: #10b981;--accent-gradient: linear-gradient(135deg, #059669, #10b981);--accent-hover: #34d399;--status-pending-bg: rgba(16, 185, 129, .12);--status-pending-color: #10b981;--status-pending-border: rgba(16, 185, 129, .25);--status-progress-bg: rgba(16, 185, 129, .08);--status-progress-color: #6ee7b7;--status-progress-border: rgba(16, 185, 129, .2);--status-completed-bg: rgba(39, 166, 68, .12);--status-completed-color: #4ade80;--status-completed-border: rgba(39, 166, 68, .25);--status-cancelled-bg: rgba(255, 255, 255, .04);--status-cancelled-color: #8a8f98;--status-cancelled-border: rgba(255, 255, 255, .08);--priority-low-bg: rgba(255, 255, 255, .04);--priority-low-color: #8a8f98;--priority-low-border: rgba(255, 255, 255, .08);--priority-medium-bg: rgba(245, 158, 11, .12);--priority-medium-color: #fbbf24;--priority-medium-border: rgba(245, 158, 11, .25);--priority-high-bg: rgba(239, 68, 68, .12);--priority-high-color: #fca5a5;--priority-high-border: rgba(239, 68, 68, .25);--priority-urgent-bg: rgba(244, 63, 94, .12);--priority-urgent-color: #fda4af;--priority-urgent-border: rgba(244, 63, 94, .25);--highlight-bar-width: 3px;--highlight-high: #f59e0b;--highlight-urgent: #ef4444;--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-normal: .25s cubic-bezier(.16, 1, .3, 1);--transition-smooth: .4s cubic-bezier(.16, 1, .3, 1);--glass-bg: rgba(255, 255, 255, .06);--glass-border: rgba(255, 255, 255, .12);--glass-shadow: 0 8px 40px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .06);--glass-blur: blur(24px);--glass-section-bg: rgba(255, 255, 255, .04);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-pill: 999px;font-family:Geist Variable,Geist,system-ui,-apple-system,sans-serif;font-feature-settings:"cv01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{--color-scheme: light;--bg-body: #ffffff;--bg-primary: #f9fafb;--bg-card: #ffffff;--bg-card-hover: #f3f4f6;--bg-input: rgba(0, 0, 0, .03);--bg-sidebar: #f9fafb;--bg-modal-backdrop: rgba(0, 0, 0, .4);--bg-tooltip: rgba(0, 0, 0, .75);--bg-tag: rgba(0, 0, 0, .04);--bg-success: rgba(39, 166, 68, .08);--bg-error: rgba(239, 68, 68, .08);--bg-warning: rgba(245, 158, 11, .08);--bg-info: rgba(94, 106, 210, .08);--text-primary: #1a1a1a;--text-secondary: #52525b;--text-muted: #a1a1aa;--text-on-primary: #ffffff;--text-link: #10b981;--border-default: rgba(0, 0, 0, .1);--border-subtle: rgba(0, 0, 0, .06);--border-focus: rgba(94, 106, 210, .5);--shadow-card: 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .1), 0 0 0 1px rgba(0, 0, 0, .06);--shadow-btn: 0 1px 3px rgba(0, 0, 0, .1);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .15), 0 0 0 1px rgba(0, 0, 0, .06);--accent-primary: #5e6ad2;--accent-secondary: #7170ff;--accent-bg: #5e6ad2;--accent-gradient: linear-gradient(135deg, #5e6ad2, #7170ff);--accent-hover: #4f5bc4;--status-pending-bg: rgba(94, 106, 210, .1);--status-pending-color: #5e6ad2;--status-pending-border: rgba(94, 106, 210, .2);--status-progress-bg: rgba(139, 92, 246, .1);--status-progress-color: #7c3aed;--status-progress-border: rgba(139, 92, 246, .2);--status-completed-bg: rgba(39, 166, 68, .1);--status-completed-color: #16a34a;--status-completed-border: rgba(39, 166, 68, .2);--status-cancelled-bg: rgba(0, 0, 0, .04);--status-cancelled-color: #a1a1aa;--status-cancelled-border: rgba(0, 0, 0, .1);--priority-low-bg: rgba(0, 0, 0, .04);--priority-low-color: #a1a1aa;--priority-low-border: rgba(0, 0, 0, .1);--priority-medium-bg: rgba(245, 158, 11, .1);--priority-medium-color: #d97706;--priority-medium-border: rgba(245, 158, 11, .2);--priority-high-bg: rgba(239, 68, 68, .1);--priority-high-color: #dc2626;--priority-high-border: rgba(239, 68, 68, .2);--priority-urgent-bg: rgba(244, 63, 94, .1);--priority-urgent-color: #e11d48;--priority-urgent-border: rgba(244, 63, 94, .2);--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(0, 0, 0, .1);--glass-shadow: 0 8px 40px rgba(0, 0, 0, .12), 0 0 0 1px rgba(255, 255, 255, .6);--glass-blur: blur(24px);--glass-section-bg: rgba(255, 255, 255, .5)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;background:var(--bg-body);color:var(--text-primary);color-scheme:var(--color-scheme);transition:background var(--transition-normal),color var(--transition-normal)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.theme-toggle{position:fixed;bottom:20px;right:20px;z-index:50;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-card);display:grid;place-items:center;font-size:16px;transition:background var(--transition-fast),border-color var(--transition-fast)}.theme-toggle:hover{background:var(--bg-card-hover);border-color:var(--border-focus)}.task-shell{min-height:100vh;display:grid;grid-template-columns:220px 1fr;gap:1px;padding:0;background:var(--border-subtle);overflow-x:hidden}.task-sidebar,.task-topbar,.task-content{background:var(--bg-primary);transition:background var(--transition-normal)}.task-sidebar{padding:20px 16px;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle)}.task-sidebar-inner{display:grid;gap:24px}.task-brand{display:flex;align-items:center;gap:10px}.task-brand-mark{width:28px;height:28px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--accent-gradient);font-size:14px}.task-brand strong{display:block;font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.task-brand p,.task-topbar-inner p,.task-sidebar-card p,.task-dashboard-panel-head p,.task-dashboard-item p,.task-state-block{margin:0;color:var(--text-muted);font-size:12px}button,[role=button]{cursor:pointer}.task-nav{display:grid;gap:2px}.task-nav-item,.task-primary-btn{border:none;border-radius:var(--radius-md);padding:7px 10px;color:var(--text-secondary);background:transparent;font-weight:500;font-size:13px;text-align:left;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer}.task-nav-item:hover{background:var(--bg-tag);color:var(--text-primary);transform:translateY(-1px)}.task-nav-item:active,.task-primary-btn:active{transform:translateY(0) scale(.97)}.task-nav-item.active{color:var(--text-primary);background:var(--bg-tag);font-weight:600}.task-primary-btn{color:var(--text-on-primary);background:var(--accent-bg);font-weight:600;text-align:center}.task-primary-btn:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 16px #10b98140}.task-sidebar-user{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card)}.task-sidebar-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-bg);color:var(--text-on-primary);display:grid;place-items:center;font-size:14px;font-weight:700;flex-shrink:0}.task-sidebar-user-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.task-sidebar-user-info strong{font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-sidebar-user-role{font-size:11px;color:var(--text-muted);font-weight:500}.task-sidebar-user-logout{border:none;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.task-sidebar-user-logout:hover{background:var(--bg-tag);color:var(--text-primary)}.task-sidebar-card,.task-summary-card,.task-dashboard-panel,.task-dashboard-item,.task-table-wrap,.task-filter-bar,.task-modal{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card);transition:background var(--transition-normal),border-color var(--transition-normal),transform var(--transition-smooth),box-shadow var(--transition-smooth)}.task-sidebar-card:hover,.task-summary-card:hover,.task-dashboard-panel:hover,.task-dashboard-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover);border-color:var(--border-default)}.task-sidebar-card{display:grid;gap:6px;padding:12px}.task-sidebar-card span,.task-summary-card span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:500}.task-main-frame{display:grid;grid-template-rows:auto 1fr;gap:1px;background:var(--border-subtle);min-width:0}.task-topbar{padding:14px 20px;background:var(--bg-primary)}.task-content{padding:20px;background:var(--bg-body);overflow-x:hidden}.task-topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}.task-topbar-inner h1{margin:0;font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.task-dashboard-page{display:grid;gap:16px;overflow-x:hidden}.task-dashboard-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:16px;align-items:start}.task-dashboard-main,.task-dashboard-side{display:grid;gap:16px;align-content:start;min-width:0}.task-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.task-summary-card{padding:14px 16px;display:grid;gap:6px;border-left:var(--highlight-bar-width) solid transparent;cursor:default}.task-summary-card:hover{border-color:var(--border-default)}.task-summary-card strong{font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.task-summary-card.tone-blue{border-left-color:var(--accent-primary)}.task-summary-card.tone-blue strong{color:var(--accent-primary)}.task-summary-card.tone-purple{border-left-color:var(--accent-secondary)}.task-summary-card.tone-purple strong{color:var(--accent-secondary)}.task-summary-card.tone-green{border-left-color:#27a644}.task-summary-card.tone-green strong{color:#27a644}.task-summary-card.tone-amber{border-left-color:#f59e0b}.task-summary-card.tone-amber strong{color:#f59e0b}.task-dashboard-widgets{gap:16px}.notion-widget-panel{padding:14px;gap:10px}.notion-widget-panel .task-dashboard-panel-head{padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.notion-widget-frame{width:100%;height:100px;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-input)}.notion-widget-frame iframe{display:block}.task-dashboard-panel{padding:16px;display:grid;gap:14px}.task-management-panel{min-height:720px}.task-dashboard-side .task-dashboard-panel{padding:14px;gap:12px}.task-dashboard-side .task-dashboard-panel-head p{font-size:11px}.task-dashboard-panel-head h2,.task-dashboard-item h3{margin:0 0 4px;font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.collapse-btn{border:none;background:transparent;color:var(--text-muted);font-size:14px;padding:2px 4px;border-radius:var(--radius-sm);flex-shrink:0;transition:color .12s ease}.collapse-btn:hover{color:var(--text-primary)}.collapse-btn.collapsed{transform:rotate(-90deg)}.task-dashboard-panel-head.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.task-dashboard-panel-head.collapsible:hover h2{color:var(--accent-primary)}.task-dashboard-list{display:grid;gap:8px}.task-dashboard-item{padding:12px;display:flex;justify-content:space-between;gap:12px}.task-dashboard-meta{display:flex;gap:6px;flex-wrap:wrap;align-content:flex-start}.task-dashboard-meta span,.task-state-block,.task-chip{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:3px 8px;border:1px solid var(--border-subtle);background:var(--bg-tag);font-size:11px;font-weight:500}.task-chip.status-pending{background:var(--status-pending-bg);color:var(--status-pending-color);border-color:var(--status-pending-border)}.task-chip.status-in_progress{background:var(--status-progress-bg);color:var(--status-progress-color);border-color:var(--status-progress-border)}.task-chip.status-completed{background:var(--status-completed-bg);color:var(--status-completed-color);border-color:var(--status-completed-border)}.task-chip.status-cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled-color);border-color:var(--status-cancelled-border)}.task-chip.priority-low{background:var(--priority-low-bg);color:var(--priority-low-color);border-color:var(--priority-low-border)}.task-chip.priority-medium{background:var(--priority-medium-bg);color:var(--priority-medium-color);border-color:var(--priority-medium-border)}.task-chip.priority-high{background:var(--priority-high-bg);color:var(--priority-high-color);border-color:var(--priority-high-border)}.task-chip.priority-urgent{background:var(--priority-urgent-bg);color:var(--priority-urgent-color);border-color:var(--priority-urgent-border)}.task-state-block.error{color:#ef4444;border-color:#ef444440;background:var(--bg-error)}.task-feedback-toast{display:flex;align-items:center;min-height:36px;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);font-weight:500;font-size:13px;animation:taskToastIn .2s var(--transition-smooth)}.task-feedback-toast.success{color:#4ade80;background:var(--bg-success);border-color:#27a64440}.task-feedback-toast.error{color:#fca5a5;background:var(--bg-error);border-color:#ef444440}@keyframes taskToastIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.task-filter-bar{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:10px;padding:12px;align-items:center;min-width:0;overflow-x:auto}.filter-search{flex:1}.filter-more-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tag);color:var(--text-link);padding:7px 10px;font-size:12px;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast)}.filter-more-btn.active{background:var(--accent-bg);color:#fff;border-color:transparent}.filter-more-panel{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap;padding-top:2px}.task-filter-bar input,.task-filter-bar select,.task-modal-form input,.task-modal-form select,.task-modal-form textarea{width:100%;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-input);padding:8px 10px;font-size:13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.task-filter-bar input:focus,.task-filter-bar select:focus,.task-modal-form input:focus,.task-modal-form select:focus,.task-modal-form textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #7170ff33}.task-table-wrap{position:relative;overflow:auto;transition:opacity .18s ease}.task-table-wrap.updating{opacity:.6}.task-table-overlay{position:absolute;top:12px;right:12px;z-index:3;border-radius:var(--radius-pill);padding:4px 8px;background:var(--bg-tooltip);color:var(--text-primary);font-size:11px}.task-empty-state{display:grid;place-items:center;gap:8px;padding:40px 20px;text-align:center}.task-empty-icon{font-size:32px;opacity:.5}.task-empty-state h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.task-empty-state p{margin:0;color:var(--text-muted);font-size:13px}.task-table{width:100%;border-collapse:collapse}.task-table th,.task-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top;font-size:13px}.task-table th{color:var(--text-muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.task-table td p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}.task-table tbody tr{transition:background var(--transition-fast),box-shadow var(--transition-fast)}.task-table tbody tr:hover{background:#ffffff08;box-shadow:inset 3px 0 0 var(--accent-primary)}.task-table tbody tr[data-priority=high] td:first-child{border-left:var(--highlight-bar-width) solid var(--highlight-high);padding-left:11px}.task-table tbody tr[data-priority=urgent] td:first-child{border-left:var(--highlight-bar-width) solid var(--highlight-urgent);padding-left:11px}.task-table-actions{display:flex;flex-wrap:wrap;gap:4px;opacity:0;transition:opacity var(--transition-fast)}.task-table:hover .task-table-actions{opacity:1}.task-table-actions button,.task-pagination button,.task-modal-actions button{border:none;border-radius:var(--radius-md);padding:5px 10px;font-weight:500;font-size:12px;transition:background var(--transition-fast),color var(--transition-fast)}.task-table-actions button:hover,.task-pagination button:hover,.task-modal-actions button:hover{background:var(--bg-tag)}.task-action-btn.view{background:transparent;color:var(--text-link)}.task-action-btn.view:hover{background:var(--bg-tag)}.task-action-btn.edit{background:transparent;color:var(--text-secondary)}.task-action-btn.edit:hover{background:var(--bg-tag);color:var(--text-primary)}.task-action-btn.delete{background:transparent;color:#ef4444}.task-action-btn.delete:hover{background:var(--bg-error)}.task-action-btn.advance{background:transparent;color:#4ade80}.task-action-btn.advance:hover{background:var(--bg-success)}.task-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px}.task-pagination button{background:var(--bg-tag);color:var(--text-secondary);border:1px solid var(--border-subtle)}.task-pagination button:hover{color:var(--text-primary);border-color:var(--border-default)}@keyframes taskFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes taskFadeIn{0%{opacity:0}to{opacity:1}}@keyframes taskModalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes taskDrawerSlideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.stagger-children>*{animation:taskFadeUp .4s cubic-bezier(.16,1,.3,1) both}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:60ms}.stagger-children>*:nth-child(3){animation-delay:.12s}.stagger-children>*:nth-child(4){animation-delay:.18s}.stagger-children>*:nth-child(5){animation-delay:.24s}.stagger-children>*:nth-child(n+6){animation-delay:.3s}.task-modal-backdrop{position:fixed;inset:0;background:var(--bg-modal-backdrop);display:grid;place-items:center;padding:20px;animation:taskFadeIn .15s ease-out}.task-modal{width:min(520px,100%);padding:16px;animation:taskModalSlideUp .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-modal)}.task-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.task-modal-head h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.task-modal-head p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}.task-modal-form{display:grid;gap:10px}.task-modal-actions{display:flex;justify-content:flex-end;gap:8px}.task-modal-actions button{border:1px solid var(--border-default);background:var(--bg-tag);color:var(--text-secondary)}.task-modal-actions button:hover{color:var(--text-primary);border-color:var(--border-focus)}.task-quick-picks{display:flex;flex-wrap:wrap;gap:6px}.task-quick-pick{border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:5px 10px;background:var(--bg-tag);color:var(--text-secondary);font-size:12px;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.task-quick-pick.active{border-color:var(--accent-primary);background:#5e6ad226;color:var(--accent-primary)}.task-confirm-modal{width:min(440px,100%)}.task-confirm-body{display:grid;gap:6px;padding:12px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-subtle)}.task-confirm-body strong{font-size:14px;font-weight:600;color:var(--text-primary)}.task-confirm-body p{margin:0;color:var(--text-secondary);font-size:13px}.task-date-picker,.task-select{position:relative}.task-date-trigger,.task-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);padding:8px 10px;font-size:13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.task-date-trigger.has-value{border-color:var(--accent-primary);box-shadow:0 0 0 2px #7170ff33}.task-date-panel,.task-select-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:300px;border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--bg-card);box-shadow:var(--shadow-modal);padding:12px;display:grid;gap:10px}.task-select-panel{width:100%;padding:6px}.task-select-option{width:100%;text-align:left;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);padding:8px 10px;font-size:13px;transition:background var(--transition-fast),color var(--transition-fast)}.task-select-option.selected{background:var(--accent-bg);color:#fff;border-color:transparent;font-weight:600}.task-select-option:hover{background:var(--bg-tag);color:var(--text-primary)}.task-select-trigger.open{border-color:var(--accent-primary);box-shadow:0 0 0 2px #7170ff33}.task-date-head,.task-date-actions{display:flex;align-items:center;justify-content:space-between;gap:6px}.task-date-head button,.task-date-actions button{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tag);color:var(--text-link);padding:5px 8px;font-size:12px;transition:background var(--transition-fast)}.task-date-head button:hover,.task-date-actions button:hover{background:var(--bg-card-hover)}.task-date-weekdays,.task-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.task-date-weekdays span{text-align:center;font-size:11px;color:var(--text-muted)}.task-date-empty,.task-date-cell{height:32px;border-radius:var(--radius-md)}.task-date-cell{border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:12px;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.task-date-cell.today{border-color:var(--accent-primary);color:var(--text-primary)}.task-date-cell.selected{background:var(--accent-bg);color:#fff;border-color:transparent}.task-date-cell:hover{background:var(--bg-tag);color:var(--text-primary)}.task-action-btn{border:none;border-radius:var(--radius-md);padding:5px 10px;font-weight:500;font-size:12px}.task-drawer-backdrop{position:fixed;inset:0;background:#00000073;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);display:flex;justify-content:flex-end;z-index:40;animation:taskFadeIn .18s ease-out}.task-drawer{position:relative;width:min(440px,100%);height:100%;background:var(--glass-bg);border-left:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:24px 20px;display:grid;animation:taskDrawerSlideIn .28s cubic-bezier(.16,1,.3,1);align-content:start;gap:14px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.task-drawer:before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.08) 0%,transparent 50%);pointer-events:none;border-radius:inherit}.task-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--glass-border)}.task-drawer-head h3{font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.task-drawer-head h3,.task-drawer-head p,.task-drawer-section p,.task-drawer-section strong,.task-drawer-activity-item p,.task-drawer-activity-item time{margin:0}.task-drawer-head button,.task-modal-head button{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--text-secondary);padding:6px 12px;font-size:12px;font-weight:500;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.task-drawer-head button:hover,.task-modal-head button:hover{background:#ffffff1f;color:var(--text-primary);border-color:#fff3}.task-drawer-head-actions{display:flex;gap:6px;flex-shrink:0;align-items:center}.task-drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.task-drawer-section{display:grid;gap:6px;padding:14px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-section-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.task-drawer-section span{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.task-drawer-field{display:grid;gap:4px}.task-drawer-field select,.task-drawer-field textarea{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);padding:8px 10px;width:100%;font-size:13px;color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.task-drawer-field select:focus,.task-drawer-field textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #10b98133}.task-drawer-text{margin:0;color:var(--text-primary);font-size:13px}.task-drawer-activity-list{display:grid;gap:8px}.task-drawer-activity-item{display:flex;justify-content:space-between;gap:10px;padding:10px;border-radius:var(--radius-md);background:var(--glass-section-bg);border:1px solid var(--glass-border);font-size:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.task-tag-picker{display:flex;gap:6px;flex-wrap:wrap}.task-tag-toggle{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-tag);color:var(--text-secondary);padding:5px 10px;font-size:12px;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.task-tag-toggle.active{background:var(--accent-bg);color:#fff;border-color:transparent}.task-subtask-editor{display:grid;gap:8px}.task-subtask-editor-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.task-subtask-editor-head span{font-size:13px;font-weight:600;color:var(--text-primary)}.task-subtask-editor-head button{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tag);color:var(--text-link);padding:4px 8px;font-size:12px}.task-subtask-list{display:grid;gap:6px}.task-subtask-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md);background:var(--glass-section-bg);border:1px solid var(--glass-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background var(--transition-fast)}.task-subtask-row.done{opacity:.55}.task-subtask-row input[type=checkbox]{width:15px;height:15px;flex-shrink:0;accent-color:var(--accent-primary);cursor:pointer}.task-subtask-row span{flex:1;font-size:13px;color:var(--text-primary)}.task-subtask-row.done span{text-decoration:line-through;color:var(--text-muted)}.task-subtask-row-inline{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-md);background:var(--glass-section-bg);border:1px solid var(--glass-border)}.task-subtask-row-inline input[type=checkbox]{width:14px;height:14px;flex-shrink:0;accent-color:var(--accent-primary)}.task-subtask-row-inline input[type=text]{flex:1;border:none;background:transparent;padding:0;font-size:13px;color:var(--text-primary)}.task-subtask-row-inline input[type=text]:focus{outline:none}.task-subtask-row-inline input[type=text].done{text-decoration:line-through;color:var(--text-muted)}.task-subtask-row-inline button{border:none;background:transparent;color:var(--text-muted);font-size:14px;padding:0 2px}.task-due-cell{display:grid;gap:4px}.task-due-badge{display:inline-flex;width:fit-content;border-radius:var(--radius-pill);padding:2px 6px;font-size:11px;border:1px solid var(--border-subtle);background:var(--bg-tag);color:var(--text-muted)}.task-due-badge.today{background:var(--bg-warning);color:#fbbf24;border-color:#f59e0b40}.task-due-badge.overdue{background:var(--bg-error);color:#fca5a5;border-color:#ef444440}.task-due-badge.done{background:var(--bg-success);color:#4ade80;border-color:#27a64440}.task-drawer-subtasks{display:grid;gap:6px}.task-view-toggle{display:flex;gap:6px}.task-view-toggle button{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tag);color:var(--text-secondary);padding:6px 10px;font-size:12px;font-weight:500}.task-view-toggle button.active{background:var(--accent-bg);color:#fff;border-color:transparent}.task-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.task-board-column{display:grid;gap:10px;padding:12px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-subtle)}.task-board-column-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.task-board-column-head h3{font-size:13px}.task-board-column-head h3,.task-board-card p,.task-board-card strong{margin:0}.task-board-column-head span{border-radius:var(--radius-pill);padding:2px 6px;background:var(--bg-tag);color:var(--text-muted);font-size:11px}.task-board-list{display:grid;gap:8px}.task-board-card{text-align:left;display:grid;gap:8px;padding:12px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-input);color:inherit;transition:border-color var(--transition-fast),background var(--transition-fast)}.task-board-card:hover{border-color:var(--border-default);background:var(--bg-card-hover)}.task-board-meta{display:flex;flex-wrap:wrap;gap:6px}.task-board-meta span{border-radius:var(--radius-pill);padding:2px 6px;background:var(--bg-tag);border:1px solid var(--border-subtle);font-size:11px;color:var(--text-muted)}.task-calendar{display:grid;gap:12px}.task-calendar-head h3,.task-calendar-head p{margin:0}.task-calendar-head p{color:var(--text-muted);font-size:12px}.task-calendar-weekdays,.task-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.task-calendar-weekdays span{text-align:center;font-size:11px;color:var(--text-muted)}.task-calendar-cell,.task-calendar-empty{min-height:100px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card);padding:8px}.task-calendar-cell.today{border-color:var(--accent-primary);box-shadow:0 0 0 1px #7170ff4d}.task-calendar-date{font-weight:600;font-size:12px;margin-bottom:6px;color:var(--text-primary)}.task-calendar-items{display:grid;gap:4px}.task-calendar-item{font-size:11px;border-radius:var(--radius-sm);background:var(--bg-tag);color:var(--text-link);padding:3px 6px}.task-calendar-none{color:var(--text-muted);font-size:11px}.ai-planner-panel{gap:12px}.ai-planner-form{display:grid;gap:10px}.ai-planner-form textarea{width:100%;border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);padding:12px;font-size:13px}.ai-planner-actions{display:flex;gap:8px;flex-wrap:wrap}.ai-planner-actions button{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:7px 12px;background:var(--bg-tag);color:var(--text-link);font-weight:500;font-size:13px}.ai-planner-actions button:hover{background:var(--bg-card-hover)}.ai-planner-list{display:grid;gap:10px}.ai-review-panel{gap:12px}.ai-review-card{display:grid;gap:12px;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card)}.ai-review-card h3,.ai-review-card p,.ai-review-card strong,.ai-review-card div{margin:0;white-space:pre-wrap;line-height:1.6;color:var(--text-primary);font-size:13px}.ai-review-card section{display:grid;gap:4px}.reminder-panel{gap:12px}.reminder-draft-list{display:grid;gap:10px}.reminder-draft-card{display:grid;gap:6px;padding:14px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card)}.reminder-draft-card strong,.reminder-draft-card p{margin:0;color:var(--text-primary);font-size:13px}.reminder-draft-card.high{border-color:var(--priority-high-border);background:var(--priority-high-bg)}.reminder-draft-card.medium{border-color:var(--priority-medium-border);background:var(--priority-medium-bg)}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--bg-body);padding:20px}.login-card{width:min(380px,100%);border-radius:var(--radius-xl);border:1px solid var(--border-default);background:var(--bg-card);box-shadow:var(--shadow-modal);padding:32px 28px;display:grid;gap:20px}.login-brand{display:flex;align-items:center;justify-content:center;gap:12px;font-size:20px;font-weight:600;color:var(--text-primary)}.login-brand-mark{width:40px;height:40px;border-radius:var(--radius-lg);background:var(--accent-gradient);display:grid;place-items:center;font-size:18px}.login-tabs{display:flex;gap:4px;background:var(--bg-tag);border-radius:var(--radius-md);padding:3px}.login-tabs button{flex:1;padding:8px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-weight:500;font-size:13px;transition:background var(--transition-fast),color var(--transition-fast)}.login-tabs button.active{background:var(--bg-card);color:var(--text-primary)}.login-form{display:grid;gap:14px}.login-field{display:grid;gap:4px}.login-field label{font-size:12px;font-weight:500;color:var(--text-secondary)}.login-field input{width:100%;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-input);padding:10px 12px;font-size:14px;color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.login-field input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #7170ff33}.login-error{padding:8px 12px;border-radius:var(--radius-md);background:var(--bg-error);border:1px solid rgba(239,68,68,.25);color:#fca5a5;font-size:12px;font-weight:500}.login-submit{width:100%;padding:10px;border:none;border-radius:var(--radius-md);background:var(--accent-bg);color:#fff;font-size:14px;font-weight:600;transition:background var(--transition-fast),transform var(--transition-fast)}.login-submit:hover:not(:disabled){background:var(--accent-hover)}.login-submit:active:not(:disabled){transform:scale(.98)}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-guest{display:grid;place-items:center}.login-guest button{border:none;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;text-decoration:underline;padding:4px}.login-guest button:hover{color:var(--text-link)}.guest-prompt-modal{width:min(380px,100%);background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-default);box-shadow:var(--shadow-modal);animation:taskModalSlideUp .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.guest-prompt-content{padding:32px 28px 28px;display:grid;gap:14px;text-align:center}.guest-prompt-icon{font-size:40px;margin-bottom:4px;opacity:.8}.guest-prompt-content h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.guest-prompt-content p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.6}.guest-prompt-actions{display:grid;gap:8px;margin-top:6px}.guest-btn{width:100%;padding:10px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:background var(--transition-fast),transform var(--transition-fast)}.guest-btn:hover{transform:translateY(-1px)}.guest-btn:active{transform:scale(.98)}.guest-btn.primary{background:var(--accent-bg);color:#fff}.guest-btn.primary:hover{background:var(--accent-hover)}.guest-btn.secondary{background:var(--bg-tag);color:var(--text-link);border:1px solid var(--border-default)}.guest-btn.ghost{background:transparent;color:var(--text-muted);font-weight:500}.guest-btn.full{width:100%}.guest-prompt-form{padding:20px 24px 24px;display:grid;gap:12px}.guest-prompt-form-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.guest-prompt-form-head h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.guest-back-btn{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;padding:4px 0}.guest-back-btn:hover{color:var(--text-link)}@media(max-width:1100px){.task-dashboard-layout{grid-template-columns:1fr}.task-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-filter-bar{grid-template-columns:1fr 1fr}.task-management-panel{min-height:auto}}@media(max-width:980px){.task-shell{grid-template-columns:1fr}.task-sidebar{border-right:none;border-bottom:1px solid var(--border-subtle)}.task-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.task-topbar-inner,.task-dashboard-item,.task-pagination,.task-filter-bar{flex-direction:column;align-items:stretch;display:flex}.task-summary-grid{grid-template-columns:1fr}.task-date-panel{width:100%}.task-board{grid-template-columns:1fr}.task-view-toggle{flex-direction:column}.task-drawer-grid{grid-template-columns:1fr}.task-drawer{width:100%}.task-calendar-weekdays,.task-calendar-grid{grid-template-columns:1fr}.task-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1200px){.task-board{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-page{padding:20px}.admin-header{margin-bottom:24px}.admin-header h2{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--text-primary)}.admin-header p{margin:0;color:var(--text-secondary);font-size:14px}.admin-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--border-default);padding-bottom:12px}.admin-tab{padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s ease}.admin-tab:hover{background:var(--bg-card-hover);color:var(--text-primary)}.admin-tab.active{background:var(--accent-bg);color:var(--text-on-primary)}.admin-content{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-default);overflow:hidden}.admin-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-muted)}.user-management,.role-management{padding:20px}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.management-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.primary-button{background:var(--accent-gradient);color:var(--text-on-primary);border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.primary-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.danger-button{background:var(--bg-error);color:#ef4444;border:1px solid rgba(239,68,68,.25);padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.danger-button:hover{background:#ef444433}.message{padding:12px 16px;border-radius:6px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.message.success{background:var(--bg-success);color:#4ade80;border:1px solid rgba(39,166,68,.25)}.message.error{background:var(--bg-error);color:#ef4444;border:1px solid rgba(239,68,68,.25)}.message button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;padding:0;margin-left:12px}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-default)}.data-table th{background:var(--bg-sidebar);color:var(--text-secondary);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.data-table td{color:var(--text-primary)}.data-table tr:hover{background:var(--bg-card-hover)}.action-buttons{display:flex;gap:8px;align-items:center}.action-buttons button{padding:4px 8px;border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-secondary);border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.action-buttons button:hover{background:var(--bg-card-hover);color:var(--text-primary)}.action-buttons select{padding:4px 8px;border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-secondary);border-radius:4px;font-size:12px;cursor:pointer}.status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:var(--bg-success);color:#4ade80;border:1px solid rgba(39,166,68,.25)}.status-badge.inactive{background:var(--bg-warning);color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.status-badge.locked{background:var(--bg-error);color:#ef4444;border:1px solid rgba(239,68,68,.25)}.modal-overlay{position:fixed;inset:0;background:var(--bg-modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-default);box-shadow:var(--shadow-modal);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal.large-modal{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-default)}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.close-button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:20px;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:var(--text-primary)}form{padding:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:14px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #7170ff1a}.form-group small{display:block;margin-top:6px;font-size:12px;color:var(--text-muted)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-default)}.form-actions button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.form-actions button[type=button]{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-default)}.form-actions button[type=button]:hover{background:var(--bg-card-hover);color:var(--text-primary)}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;max-height:400px;overflow-y:auto;padding:16px;background:var(--bg-sidebar);border-radius:6px;border:1px solid var(--border-default)}.permission-group h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.permission-checkboxes{display:flex;flex-direction:column;gap:8px}.permission-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);cursor:pointer}.permission-checkbox input{width:auto;margin:0}.permission-guide{padding:20px}.permission-guide h3{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--text-primary)}.permission-guide p{margin:0 0 20px;color:var(--text-secondary);font-size:14px}.permission-list{display:flex;flex-direction:column;gap:12px}.permission-item{padding:12px;background:var(--bg-sidebar);border-radius:6px;border:1px solid var(--border-default)}.permission-code{font-family:monospace;font-size:14px;font-weight:600;color:var(--accent-primary);margin-bottom:4px}.permission-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.permission-desc{font-size:12px;color:var(--text-muted)}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-muted)}
