.Dashboard-module-scss-module__25x6vq__dashboardLayout{color:#1e293b;min-height:100vh;font-family:var(--font-manrope),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f8fafc}.Dashboard-module-scss-module__25x6vq__dashboardLayout header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.Dashboard-module-scss-module__25x6vq__dashboardLayout header .Dashboard-module-scss-module__25x6vq__brand{align-items:center;gap:16px;display:flex}.Dashboard-module-scss-module__25x6vq__dashboardLayout header .Dashboard-module-scss-module__25x6vq__brand img{height:32px}.Dashboard-module-scss-module__25x6vq__dashboardLayout header .Dashboard-module-scss-module__25x6vq__brand h1{color:#0f172a;font-size:1.25rem;font-weight:700}.Dashboard-module-scss-module__25x6vq__dashboardLayout header .Dashboard-module-scss-module__25x6vq__user{align-items:center;gap:16px;display:flex}.Dashboard-module-scss-module__25x6vq__dashboardLayout header .Dashboard-module-scss-module__25x6vq__user span{font-size:.9rem;font-weight:500}.Dashboard-module-scss-module__25x6vq__dashboardLayout header .Dashboard-module-scss-module__25x6vq__user .Dashboard-module-scss-module__25x6vq__avatar{color:#fff;background:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-weight:600;display:flex}.Dashboard-module-scss-module__25x6vq__dashboardLayout .Dashboard-module-scss-module__25x6vq__main{grid-template-columns:2fr 1fr;gap:32px;max-width:1600px;margin:0 auto;padding:32px;display:grid}@media (max-width:640px){.Dashboard-module-scss-module__25x6vq__dashboardLayout .Dashboard-module-scss-module__25x6vq__main{grid-template-columns:1fr}}.Dashboard-module-scss-module__25x6vq__card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:32px;padding:24px;box-shadow:0 1px 3px #0000000d}.Dashboard-module-scss-module__25x6vq__card h2{color:#334155;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:1.1rem;font-weight:600;display:flex}.Dashboard-module-scss-module__25x6vq__projectMap{background:#e2e8f0;border-radius:8px;height:400px;position:relative;overflow:hidden}.Dashboard-module-scss-module__25x6vq__projectMap .Dashboard-module-scss-module__25x6vq__marker{cursor:pointer;position:absolute;transform:translate(-50%,-50%)}.Dashboard-module-scss-module__25x6vq__projectMap .Dashboard-module-scss-module__25x6vq__marker:hover .Dashboard-module-scss-module__25x6vq__tooltip{opacity:1}.Dashboard-module-scss-module__25x6vq__projectMap .Dashboard-module-scss-module__25x6vq__marker .Dashboard-module-scss-module__25x6vq__dot{background:#ef4444;border:3px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 4px #0003}.Dashboard-module-scss-module__25x6vq__projectMap .Dashboard-module-scss-module__25x6vq__marker .Dashboard-module-scss-module__25x6vq__tooltip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#1e293b;border-radius:4px;margin-bottom:8px;padding:4px 8px;font-size:.8rem;transition:opacity .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.Dashboard-module-scss-module__25x6vq__ganttChart{background:#e2e8f0;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:150px repeat(12,1fr);gap:1px;display:grid;overflow-x:auto}.Dashboard-module-scss-module__25x6vq__ganttChart .Dashboard-module-scss-module__25x6vq__header{text-align:center;color:#64748b;background:#f8fafc;padding:8px;font-size:.8rem;font-weight:600}.Dashboard-module-scss-module__25x6vq__ganttChart .Dashboard-module-scss-module__25x6vq__row{background:#fff;display:contents}.Dashboard-module-scss-module__25x6vq__ganttChart .Dashboard-module-scss-module__25x6vq__row .Dashboard-module-scss-module__25x6vq__label{background:#fff;border-right:1px solid #e2e8f0;padding:8px;font-size:.85rem;font-weight:500;position:sticky;left:0}.Dashboard-module-scss-module__25x6vq__ganttChart .Dashboard-module-scss-module__25x6vq__row .Dashboard-module-scss-module__25x6vq__cell{background:#fff;height:40px;position:relative}.Dashboard-module-scss-module__25x6vq__ganttChart .Dashboard-module-scss-module__25x6vq__row .Dashboard-module-scss-module__25x6vq__cell .Dashboard-module-scss-module__25x6vq__bar{opacity:.8;border-radius:4px;position:absolute;inset:8px 0}.Dashboard-module-scss-module__25x6vq__ganttChart .Dashboard-module-scss-module__25x6vq__row .Dashboard-module-scss-module__25x6vq__cell .Dashboard-module-scss-module__25x6vq__bar.Dashboard-module-scss-module__25x6vq__planning{background:#3b82f6}.Dashboard-module-scss-module__25x6vq__ganttChart .Dashboard-module-scss-module__25x6vq__row .Dashboard-module-scss-module__25x6vq__cell .Dashboard-module-scss-module__25x6vq__bar.Dashboard-module-scss-module__25x6vq__construction{background:#f59e0b}.Dashboard-module-scss-module__25x6vq__ganttChart .Dashboard-module-scss-module__25x6vq__row .Dashboard-module-scss-module__25x6vq__cell .Dashboard-module-scss-module__25x6vq__bar.Dashboard-module-scss-module__25x6vq__review{background:#10b981}.Dashboard-module-scss-module__25x6vq__resourceTable{border-collapse:collapse;width:100%}.Dashboard-module-scss-module__25x6vq__resourceTable th{text-align:left;color:#64748b;border-bottom:1px solid #e2e8f0;padding:8px;font-size:.85rem}.Dashboard-module-scss-module__25x6vq__resourceTable td{border-bottom:1px solid #f1f5f9;padding:12px 8px;font-size:.9rem}.Dashboard-module-scss-module__25x6vq__resourceTable td .Dashboard-module-scss-module__25x6vq__status{border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.Dashboard-module-scss-module__25x6vq__resourceTable td .Dashboard-module-scss-module__25x6vq__status.Dashboard-module-scss-module__25x6vq__active{color:#166534;background:#dcfce7}.Dashboard-module-scss-module__25x6vq__resourceTable td .Dashboard-module-scss-module__25x6vq__status.Dashboard-module-scss-module__25x6vq__maintenance{color:#991b1b;background:#fee2e2}.Dashboard-module-scss-module__25x6vq__resourceTable td .Dashboard-module-scss-module__25x6vq__status.Dashboard-module-scss-module__25x6vq__idle{color:#475569;background:#f1f5f9}
