.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.close-btn:hover:not(:disabled){color:#111827}form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-group input,.form-group textarea{width:100%;padding:.625rem;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;font-family:inherit}.error-message{color:#dc2626;font-size:.875rem;margin-bottom:1rem;padding:.5rem;background-color:#fee2e2;border-radius:4px}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn{padding:.625rem 1.25rem;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:background-color .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1em;box-sizing:border-box;cursor:pointer}a.page-link{display:inline-block;padding:.2em;margin:0 1.25rem;border:1px solid #ddd;border-radius:4px;text-decoration:none;color:#374151;transition:background-color .2s,border-color .2s}a.page-link:hover{background-color:#f3f4f6;border-color:#bbb}a.page-link.active{background-color:#3b82f6;color:#fff;border-color:#3b82f6;font-weight:600}.form-columns.svelte-xfd9kr{display:flex;gap:1rem}.form-columns.svelte-xfd9kr .form-group:where(.svelte-xfd9kr){flex:1}.developer-select.svelte-3pih{padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.status-select.svelte-3pih{padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-weight:500}.status-waiting.svelte-3pih{background-color:#f0f0f0;color:#666}.status-in_progress.svelte-3pih{background-color:#fff3cd;color:#856404}.status-done.svelte-3pih{background-color:#d4edda;color:#155724}.worksheet.svelte-14p8e0z{padding:0;width:100%;height:100%}.header.svelte-14p8e0z{display:flex;justify-content:space-between;align-items:center;padding:1rem}.summary-bar.svelte-14p8e0z{display:flex;gap:1.5rem;font-size:.9rem;color:#2c3e50}.add-btn.svelte-14p8e0z{background:#27ae60;color:#fff;border:none;padding:.2em .8em;border-radius:2px;cursor:pointer;font-weight:500;transition:background .2s}.add-btn.svelte-14p8e0z:hover{background:#229954}.loading.svelte-14p8e0z{text-align:center;padding:3rem;font-size:1.2rem;color:#7f8c8d}.table-container.svelte-14p8e0z{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto;padding-left:0;padding-right:0}table.svelte-14p8e0z{width:100%;border-collapse:collapse}thead.svelte-14p8e0z{background:#34495e;color:#fff}th.svelte-14p8e0z{padding:1rem;text-align:left;font-weight:600;white-space:nowrap}td.svelte-14p8e0z{padding:1rem;border-bottom:1px solid #ecf0f1}td.edit-cell.svelte-14p8e0z{width:1em}.project-row.svelte-14p8e0z{background:#ecf0f1}.project-row.svelte-14p8e0z:hover{background:#dfe6e9}.project-name.svelte-14p8e0z{cursor:pointer;font-size:1.1rem;font-weight:600;color:#2c3e50}.module-row.svelte-14p8e0z{background:#f8f9fa}.module-row.svelte-14p8e0z:hover{background:#e9ecef}.module-name.svelte-14p8e0z{cursor:pointer;padding-left:2rem;font-weight:500;color:#34495e}.task-row.svelte-14p8e0z:hover{background:#f8f9fa}.indent-cell.svelte-14p8e0z{width:2rem}.task-name.svelte-14p8e0z{padding-left:3rem;font-weight:500;color:#2c3e50}.expand-icon.svelte-14p8e0z{display:inline-block;margin-right:.5rem;font-size:.8rem;color:#7f8c8d}.level-1.svelte-14p8e0z{margin-left:0}.level-2.svelte-14p8e0z{margin-left:1rem}.summary-cell.svelte-14p8e0z{text-align:center}.summary-stats.svelte-14p8e0z{display:flex;justify-content:center;gap:.5rem}.stat-done.svelte-14p8e0z{color:#27ae60;font-weight:500}.stat-progress.svelte-14p8e0z{color:#f39c12;font-weight:500}.stat-error.svelte-14p8e0z{color:#e74c3c;font-weight:500}.status-cell.svelte-14p8e0z,.error-cell.svelte-14p8e0z{text-align:center}.error-badge.svelte-14p8e0z{color:#e74c3c;font-size:1.2rem}.ok-badge.svelte-14p8e0z{color:#27ae60;font-size:1.2rem}.add-task-cell.svelte-14p8e0z{text-align:center}.add-task-btn.svelte-14p8e0z{background:#3498db;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background .2s}.add-task-btn.svelte-14p8e0z:hover{background:#2980b9}.add-module-btn.svelte-14p8e0z{background:#8e44ad;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background .2s}.bulk-import-btn.svelte-14p8e0z{background:#9b59b6;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.bulk-import-btn.svelte-14p8e0z:hover{background:#8e44ad}tbody.svelte-14p8e0z tr:where(.svelte-14p8e0z):last-child td:where(.svelte-14p8e0z){border-bottom:none}.error-status-btn.svelte-14p8e0z{background:none;border:none;cursor:pointer;font-size:1rem}
