.auth-required.svelte-7s5089{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center;padding:2rem}.auth-required.svelte-7s5089 .auth-icon:where(.svelte-7s5089){width:100%;max-width:600px;margin-bottom:2rem}.auth-required.svelte-7s5089 .auth-icon:where(.svelte-7s5089) .construction-svg:where(.svelte-7s5089){width:100%;height:auto}.auth-required.svelte-7s5089 .auth-icon:where(.svelte-7s5089) .construction-svg:where(.svelte-7s5089) .lock:where(.svelte-7s5089){animation:svelte-7s5089-pulse 2s ease-in-out infinite}.auth-required.svelte-7s5089 .auth-icon:where(.svelte-7s5089) .construction-svg:where(.svelte-7s5089) .building:where(.svelte-7s5089){animation:svelte-7s5089-build 10s ease-in-out infinite}.auth-required.svelte-7s5089 .auth-message:where(.svelte-7s5089){max-width:500px}.auth-required.svelte-7s5089 .auth-message:where(.svelte-7s5089) h1:where(.svelte-7s5089){font-size:2rem;color:#5d5cde;margin-bottom:1rem}.auth-required.svelte-7s5089 .auth-message:where(.svelte-7s5089) p:where(.svelte-7s5089){font-size:1.2rem;color:#4b5563;margin-bottom:2rem}.auth-required.svelte-7s5089 .auth-message:where(.svelte-7s5089) .auth-buttons:where(.svelte-7s5089){display:flex;gap:1rem;justify-content:center}.auth-required.svelte-7s5089 .auth-message:where(.svelte-7s5089) .auth-buttons:where(.svelte-7s5089) a:where(.svelte-7s5089){padding:.75rem 2rem;border-radius:.5rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s}.auth-required.svelte-7s5089 .auth-message:where(.svelte-7s5089) .auth-buttons:where(.svelte-7s5089) a:where(.svelte-7s5089):hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.auth-required.svelte-7s5089 .auth-message:where(.svelte-7s5089) .auth-buttons:where(.svelte-7s5089) a.login-button:where(.svelte-7s5089){background-color:#5d5cde;color:#fff}.auth-required.svelte-7s5089 .auth-message:where(.svelte-7s5089) .auth-buttons:where(.svelte-7s5089) a.register-button:where(.svelte-7s5089){background-color:transparent;color:#5d5cde;border:2px solid #5D5CDE}@keyframes svelte-7s5089-sway{0%,to{transform:rotate(0)}50%{transform:rotate(5deg)}}@keyframes svelte-7s5089-pulse{0%,to{transform:translate(400px,100px) scale(2)}50%{transform:translate(400px,100px) scale(2.1)}}@keyframes svelte-7s5089-build{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (prefers-color-scheme: dark){.auth-required.svelte-7s5089 .auth-message:where(.svelte-7s5089) h1:where(.svelte-7s5089){color:#8b5cf6}.auth-required.svelte-7s5089 .auth-message:where(.svelte-7s5089) p:where(.svelte-7s5089){color:#d1d5db}}.dashboard-header.svelte-1ojuogm{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header.svelte-1ojuogm h1:where(.svelte-1ojuogm){margin:0;font-size:1.8rem;font-weight:600}.dashboard-header.svelte-1ojuogm .date-filter:where(.svelte-1ojuogm){display:flex;align-items:center;gap:.5rem}.dashboard-header.svelte-1ojuogm .date-filter:where(.svelte-1ojuogm) label:where(.svelte-1ojuogm){font-weight:500;white-space:nowrap}.dashboard-header.svelte-1ojuogm .date-filter:where(.svelte-1ojuogm) input[type=date]:where(.svelte-1ojuogm){padding:.5rem;border:1px solid #d1d5db;border-radius:.25rem}.metric-card.svelte-e7khzx{display:flex;background-color:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.metric-card.svelte-e7khzx .metric-icon:where(.svelte-e7khzx){display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:.75rem;margin-right:1rem}.metric-card.svelte-e7khzx .metric-icon:where(.svelte-e7khzx) svg{width:24px;height:24px;color:#fff}.metric-card.svelte-e7khzx .metric-icon.project-icon:where(.svelte-e7khzx){background-color:#8b5cf6}.metric-card.svelte-e7khzx .metric-icon.budget-icon:where(.svelte-e7khzx){background-color:#10b981}.metric-card.svelte-e7khzx .metric-icon.worker-icon:where(.svelte-e7khzx){background-color:#f59e0b}.metric-card.svelte-e7khzx .metric-icon.deadline-icon:where(.svelte-e7khzx){background-color:#ef4444}.metric-card.svelte-e7khzx .metric-content:where(.svelte-e7khzx){flex:1}.metric-card.svelte-e7khzx .metric-content:where(.svelte-e7khzx) h3:where(.svelte-e7khzx){margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:#6b7280}.metric-card.svelte-e7khzx .metric-content:where(.svelte-e7khzx) .metric-value:where(.svelte-e7khzx){font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.metric-card.svelte-e7khzx .metric-content:where(.svelte-e7khzx) .metric-details:where(.svelte-e7khzx){display:flex;justify-content:space-between;font-size:.875rem;color:#6b7280}@media (prefers-color-scheme: dark){.metric-card.svelte-e7khzx{background-color:#1f2937;box-shadow:0 1px 3px #0000004d}}.heatmap-container.svelte-7a6ujt{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#333;max-width:1100px;margin:0 auto;padding:1rem;position:relative}.heatmap-title.svelte-7a6ujt{font-size:1.2rem;margin-bottom:1rem;font-weight:500}.loading.svelte-7a6ujt,.error.svelte-7a6ujt{padding:2rem;text-align:center;background-color:#f8f9fa;border-radius:.5rem}.error.svelte-7a6ujt{color:#dc3545}.heatmap.svelte-7a6ujt{position:relative}.month-labels.svelte-7a6ujt{display:flex;margin-bottom:0}.day-labels-spacer.svelte-7a6ujt{width:30px;flex-shrink:0}.months.svelte-7a6ujt{display:flex;flex-grow:1;text-align:left;font-size:.8rem;color:#666}.month.svelte-7a6ujt{flex:1;padding:0 2px}.heatmap-grid.svelte-7a6ujt{display:flex}.day-labels.svelte-7a6ujt{display:flex;flex-direction:column;margin-right:4px;width:30px}.day-label.svelte-7a6ujt{height:11px;margin:2px 0;font-size:.7rem;color:#666;display:flex;align-items:center}.cells-container.svelte-7a6ujt{display:flex;flex-direction:column;flex-grow:1;width:calc(100% - 30px)}.day-row.svelte-7a6ujt{display:flex;height:11px;margin:2px 0;width:100%}.cell.svelte-7a6ujt{flex:1 0 auto;height:11px;margin:0 1px;border-radius:2px;cursor:pointer;box-sizing:border-box;max-width:calc((100% - 52px) / 52)}.today-cell.svelte-7a6ujt{border:1px solid #ff5252}.outside-range.svelte-7a6ujt{opacity:.5;cursor:default}.empty.svelte-7a6ujt{visibility:hidden}.legend.svelte-7a6ujt{display:flex;align-items:center;justify-content:flex-end;margin-top:8px;font-size:.75rem;color:#666}.legend-label.svelte-7a6ujt{margin:0 4px}.legend-color.svelte-7a6ujt{width:12px;height:12px;margin:0 1px;border-radius:2px}.tooltip.svelte-7a6ujt{position:fixed;z-index:10;padding:8px;background-color:#000;color:#fff;border-radius:4px;font-size:.75rem;pointer-events:none;box-shadow:0 2px 10px #0003;left:0;top:0;transform:translate(var(--tooltip-x),calc(var(--tooltip-y) - 40px)) translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;white-space:nowrap;min-width:120px}.tooltip.svelte-7a6ujt:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#000 transparent transparent transparent}@media (prefers-color-scheme: dark){.heatmap-container.svelte-7a6ujt{color:#e4e4e4}.loading.svelte-7a6ujt,.error.svelte-7a6ujt{background-color:#2c2c2c}.error.svelte-7a6ujt{color:#f77}.month.svelte-7a6ujt,.day-label.svelte-7a6ujt,.legend-label.svelte-7a6ujt{color:#aaa}.outside-range.svelte-7a6ujt{opacity:.3}.tooltip.svelte-7a6ujt{background-color:#333}.tooltip.svelte-7a6ujt:after{border-color:#333 transparent transparent transparent}}@media (max-width: 768px){.heatmap-container.svelte-7a6ujt{padding:.5rem}.day-label.svelte-7a6ujt{font-size:.6rem}.cell.svelte-7a6ujt{margin:0}.day-row.svelte-7a6ujt{height:8px}.month.svelte-7a6ujt{font-size:.7rem}}.dashboard-card.svelte-o9ayi2{background-color:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.dashboard-card.svelte-o9ayi2 h2:where(.svelte-o9ayi2){margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.dashboard-card.svelte-o9ayi2 h3:where(.svelte-o9ayi2){margin:0 0 1rem;font-size:1rem;font-weight:600}.chart-container.svelte-o9ayi2{height:200px;margin-bottom:1.5rem;position:relative}.table-container.svelte-o9ayi2{overflow-x:auto}.table-container.svelte-o9ayi2 table:where(.svelte-o9ayi2){width:100%;border-collapse:collapse;font-size:.9rem}.table-container.svelte-o9ayi2 table:where(.svelte-o9ayi2) th:where(.svelte-o9ayi2),.table-container.svelte-o9ayi2 table:where(.svelte-o9ayi2) td:where(.svelte-o9ayi2){padding:.75rem;text-align:left;border-bottom:1px solid #e5e7eb}.table-container.svelte-o9ayi2 table:where(.svelte-o9ayi2) th:where(.svelte-o9ayi2){font-weight:600;color:#6b7280}.table-container.svelte-o9ayi2 table:where(.svelte-o9ayi2) tr:where(.svelte-o9ayi2):last-child td:where(.svelte-o9ayi2){border-bottom:none}.no-data-message.svelte-o9ayi2{display:flex;align-items:center;justify-content:center;background-color:#f9fafb;color:#6b7280;padding:2rem;border-radius:.5rem;text-align:center;border:1px dashed #d1d5db;margin:1rem 0;font-style:italic}.status-badge.svelte-o9ayi2{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge.active.svelte-o9ayi2{background-color:#d1fae5;color:#065f46}.status-badge.planning.svelte-o9ayi2{background-color:#dbeafe;color:#1e40af}.status-badge.completed.svelte-o9ayi2{background-color:#e0e7ff;color:#4338ca}.status-badge.delayed.svelte-o9ayi2{background-color:#fee2e2;color:#b91c1c}.progress-bar.svelte-o9ayi2{width:100px;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden;display:inline-block;margin-right:.75rem}.progress-bar.svelte-o9ayi2 .progress:where(.svelte-o9ayi2){height:100%;background-color:#5d5cde;border-radius:4px}.progress-text.svelte-o9ayi2{font-size:.8rem;color:#6b7280}@media (prefers-color-scheme: dark){.dashboard-card.svelte-o9ayi2{background-color:#1f2937;box-shadow:0 1px 3px #0000004d}.table-container.svelte-o9ayi2 table:where(.svelte-o9ayi2) th:where(.svelte-o9ayi2),.table-container.svelte-o9ayi2 table:where(.svelte-o9ayi2) td:where(.svelte-o9ayi2){border-color:#374151}.table-container.svelte-o9ayi2 table:where(.svelte-o9ayi2) th:where(.svelte-o9ayi2){color:#d1d5db}.progress-bar.svelte-o9ayi2{background-color:#374151}.no-data-message.svelte-o9ayi2{background-color:#111827;color:#9ca3af;border-color:#374151}.status-badge.active.svelte-o9ayi2{background-color:#065f46;color:#d1fae5}.status-badge.planning.svelte-o9ayi2{background-color:#1e40af;color:#dbeafe}.status-badge.completed.svelte-o9ayi2{background-color:#4338ca;color:#e0e7ff}.status-badge.delayed.svelte-o9ayi2{background-color:#b91c1c;color:#fee2e2}}.dashboard-card.svelte-19xvm7s{background-color:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.dashboard-card.svelte-19xvm7s h2:where(.svelte-19xvm7s){margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.dashboard-card.svelte-19xvm7s h3:where(.svelte-19xvm7s){margin:0 0 1rem;font-size:1rem;font-weight:600}.chart-container.svelte-19xvm7s{height:200px;margin-bottom:1.5rem;position:relative}.financial-metrics.svelte-19xvm7s{display:flex;justify-content:space-around;margin-bottom:2rem}.financial-metrics.svelte-19xvm7s .finance-metric:where(.svelte-19xvm7s){text-align:center}.financial-metrics.svelte-19xvm7s .finance-metric:where(.svelte-19xvm7s) .finance-metric-value:where(.svelte-19xvm7s){font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.financial-metrics.svelte-19xvm7s .finance-metric:where(.svelte-19xvm7s) .finance-metric-label:where(.svelte-19xvm7s){font-size:.9rem;color:#6b7280}.financial-tables.svelte-19xvm7s{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 768px){.financial-tables.svelte-19xvm7s{grid-template-columns:1fr}}.no-data-message.svelte-19xvm7s{display:flex;align-items:center;justify-content:center;background-color:#f9fafb;color:#6b7280;padding:2rem;border-radius:.5rem;text-align:center;border:1px dashed #d1d5db;margin:1rem 0;font-style:italic}.table-container.svelte-19xvm7s{overflow-x:auto}.table-container.svelte-19xvm7s table:where(.svelte-19xvm7s){width:100%;border-collapse:collapse;font-size:.9rem}.table-container.svelte-19xvm7s table:where(.svelte-19xvm7s) th:where(.svelte-19xvm7s),.table-container.svelte-19xvm7s table:where(.svelte-19xvm7s) td:where(.svelte-19xvm7s){padding:.75rem;text-align:left;border-bottom:1px solid #e5e7eb}.table-container.svelte-19xvm7s table:where(.svelte-19xvm7s) th:where(.svelte-19xvm7s){font-weight:600;color:#6b7280}.table-container.svelte-19xvm7s table:where(.svelte-19xvm7s) tr:where(.svelte-19xvm7s):last-child td:where(.svelte-19xvm7s){border-bottom:none}.status-badge.svelte-19xvm7s{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge.approved.svelte-19xvm7s{background-color:#d1fae5;color:#065f46}.status-badge.pending.svelte-19xvm7s{background-color:#dbeafe;color:#1e40af}.status-badge.rejected.svelte-19xvm7s{background-color:#fee2e2;color:#b91c1c}@media (prefers-color-scheme: dark){.dashboard-card.svelte-19xvm7s{background-color:#1f2937;box-shadow:0 1px 3px #0000004d}.table-container.svelte-19xvm7s table:where(.svelte-19xvm7s) th:where(.svelte-19xvm7s),.table-container.svelte-19xvm7s table:where(.svelte-19xvm7s) td:where(.svelte-19xvm7s){border-color:#374151}.table-container.svelte-19xvm7s table:where(.svelte-19xvm7s) th:where(.svelte-19xvm7s){color:#d1d5db}.no-data-message.svelte-19xvm7s{background-color:#111827;color:#9ca3af;border-color:#374151}.status-badge.approved.svelte-19xvm7s{background-color:#065f46;color:#d1fae5}.status-badge.pending.svelte-19xvm7s{background-color:#1e40af;color:#dbeafe}.status-badge.rejected.svelte-19xvm7s{background-color:#b91c1c;color:#fee2e2}}.dashboard-container.svelte-1wa00so{max-width:1400px;margin:0 auto;padding:1rem}.loading-container.svelte-1wa00so{display:flex;justify-content:center;align-items:center;min-height:400px}.metrics-grid.svelte-1wa00so{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-grid.svelte-1wa00so{display:grid;grid-template-columns:repeat(auto-fit,minmax(600px,1fr));gap:1.5rem}@media (max-width: 1200px){.dashboard-grid.svelte-1wa00so{grid-template-columns:1fr}}
