.sidebar[data-v-4a95dfea]{width:230px;flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 12px;position:sticky;top:0;height:100vh;overflow-y:auto}.logo[data-v-4a95dfea]{display:flex;align-items:center;gap:10px;font-family:var(--font-head);color:var(--text);padding:4px 8px;margin-bottom:28px;text-decoration:none}.logo-icon[data-v-4a95dfea]{width:34px;height:34px;border-radius:9px;background:var(--accent-dim);border:1px solid rgba(79,124,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.logo-image[data-v-4a95dfea]{width:100%;height:100%;object-fit:cover}.logo-text[data-v-4a95dfea]{display:flex;flex-direction:column;line-height:1.1}.logo-title[data-v-4a95dfea]{font-size:17px;font-weight:700}.logo-subtitle[data-v-4a95dfea]{font-size:11px;font-weight:500;color:var(--text3)}.mobile-topbar[data-v-4a95dfea]{display:flex;align-items:center;justify-content:space-between}.mobile-menu-btn[data-v-4a95dfea]{display:none;width:36px;height:36px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text2);align-items:center;justify-content:center;cursor:pointer}.mobile-menu-btn[data-v-4a95dfea]:hover{color:var(--text);border-color:var(--border2)}.nav[data-v-4a95dfea]{flex:1;display:flex;flex-direction:column;gap:2px}.nav-section[data-v-4a95dfea]{font-size:10px;font-weight:600;color:var(--text3);letter-spacing:.8px;text-transform:uppercase;padding:12px 10px 6px}.nav-section-btn[data-v-4a95dfea]{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left}.nav-item[data-v-4a95dfea]{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;font-size:13px;color:var(--text2);cursor:pointer;text-decoration:none;transition:all .15s}.nav-item[data-v-4a95dfea]:hover{background:var(--surface);color:var(--text)}.nav-item.active[data-v-4a95dfea]{background:var(--accent-dim);color:#7fa8ff}.nav-project[data-v-4a95dfea]{justify-content:flex-start}.nav-dot[data-v-4a95dfea]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.nav-project-name[data-v-4a95dfea]{flex:1;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}.nav-pct[data-v-4a95dfea]{font-size:11px;font-family:var(--font-mono);font-weight:500;flex-shrink:0}.nested-wrap[data-v-4a95dfea]{display:flex;flex-direction:column;gap:2px;margin-bottom:2px}.nav-teknisi[data-v-4a95dfea]{padding-left:16px}.nav-teknisi-btn[data-v-4a95dfea]{width:100%;border:0;background:transparent;text-align:left}.nested-teknisi-name[data-v-4a95dfea]{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}.nav-section-link[data-v-4a95dfea]{display:flex;align-items:center;text-decoration:none;color:var(--text3);border-radius:8px}.nav-section-link[data-v-4a95dfea]:hover{background:var(--surface);color:var(--text)}.chev[data-v-4a95dfea]{transition:transform .2s}.chev.open[data-v-4a95dfea]{transform:rotate(180deg)}.sidebar-footer[data-v-4a95dfea]{border-top:1px solid var(--border);padding-top:14px;margin-top:8px}.sync-row[data-v-4a95dfea]{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--text3);margin-bottom:8px;padding:0 4px}.sync-dot[data-v-4a95dfea]{width:6px;height:6px;border-radius:50%;background:var(--text3)}.sync-dot.live[data-v-4a95dfea]{background:var(--green);animation:glow 2s ease infinite}.sync-time[data-v-4a95dfea]{margin-left:auto;font-family:var(--font-mono)}.footer-actions[data-v-4a95dfea]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.refresh-btn[data-v-4a95dfea],.theme-btn[data-v-4a95dfea]{width:100%;padding:8px;border-radius:9px;background:var(--surface);border:1px solid var(--border);color:var(--text2);font-size:12px;font-family:var(--font-body);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s}.refresh-btn[data-v-4a95dfea]:hover:not(:disabled),.theme-btn[data-v-4a95dfea]:hover{color:var(--text);border-color:var(--border2)}.refresh-btn[data-v-4a95dfea]:disabled{opacity:.4;cursor:not-allowed}@media (max-width:1024px){.sidebar[data-v-4a95dfea]{width:210px;padding:16px 10px}.logo[data-v-4a95dfea]{margin-bottom:20px}}@media (max-width:700px){.sidebar[data-v-4a95dfea]{width:100%;height:auto;max-height:none;position:sticky;top:0;z-index:30;border-right:0;border-bottom:1px solid var(--border);padding:10px;overflow:visible}.mobile-menu-btn[data-v-4a95dfea]{display:inline-flex}.logo[data-v-4a95dfea]{margin-bottom:0}.nav[data-v-4a95dfea],.sidebar-footer[data-v-4a95dfea]{display:none}.nav.mobile-open[data-v-4a95dfea]{display:flex;margin-top:10px;max-height:min(52dvh,340px);overflow-y:auto;padding-right:2px}.nav-item[data-v-4a95dfea]{padding:7px 9px}.nav.mobile-open+.sidebar-footer[data-v-4a95dfea]{display:block;margin-top:10px}}.app-shell{display:flex;min-height:100vh;width:100%;background:var(--bg);color:var(--text);transition:background .2s,color .2s}.app-main{flex:1;min-width:0;width:100%;overflow-x:hidden}@media (max-width:1024px){.app-shell{min-height:100dvh}}@media (max-width:700px){.app-shell{flex-direction:column}}.pcard[data-v-fd2d95f9]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 26px;margin-bottom:12px;width:100%;transition:border-color .2s,box-shadow .2s}.pcard[data-v-fd2d95f9]:hover{border-color:var(--border2);box-shadow:0 0 0 1px #4f7cff26}.pcard-header[data-v-fd2d95f9]{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;margin-bottom:14px}.pcard-left[data-v-fd2d95f9]{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.pcard-icon[data-v-fd2d95f9]{width:38px;height:38px;border-radius:10px;border:1px solid;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pcard-name[data-v-fd2d95f9]{font-family:var(--font-head);font-size:15px;font-weight:700;color:var(--text);text-transform:capitalize}.pcard-meta[data-v-fd2d95f9]{font-size:11px;color:var(--text3);margin-top:2px}.pcard-right[data-v-fd2d95f9]{display:flex;align-items:center;gap:10px;flex-shrink:0}.pct-badge[data-v-fd2d95f9]{font-family:var(--font-mono);font-size:22px;font-weight:700}.chevron[data-v-fd2d95f9]{color:var(--text3);transition:transform .2s;flex-shrink:0}.chevron.open[data-v-fd2d95f9]{transform:rotate(180deg)}.progress-track[data-v-fd2d95f9]{background:var(--surface3);border-radius:6px;height:6px;overflow:hidden;margin-bottom:12px}.progress-fill[data-v-fd2d95f9]{height:100%;border-radius:6px;transition:width 1s cubic-bezier(.4,0,.2,1)}.kendala-row[data-v-fd2d95f9]{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--amber);background:var(--amber-dim);border-radius:8px;padding:7px 10px;margin-bottom:12px}.kendala-preview[data-v-fd2d95f9]{color:var(--text2);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teknisi-list[data-v-fd2d95f9]{margin-top:4px;border-top:1px solid var(--border);padding-top:14px;display:flex;flex-direction:column;gap:8px}.teknisi-block[data-v-fd2d95f9]{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;animation:fadeUp .3s cubic-bezier(.16,1,.3,1) both}.teknisi-header[data-v-fd2d95f9]{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;transition:background .15s}.teknisi-header[data-v-fd2d95f9]:hover{background:var(--surface3)}.teknisi-avatar[data-v-fd2d95f9]{width:32px;height:32px;border-radius:50%;background:var(--accent-dim);color:#7fa8ff;font-size:11px;font-weight:700;font-family:var(--font-head);display:flex;align-items:center;justify-content:center;flex-shrink:0}.teknisi-info[data-v-fd2d95f9]{flex:1;min-width:0}.teknisi-name[data-v-fd2d95f9]{font-size:13px;font-weight:600;color:var(--text);text-transform:capitalize}.teknisi-sub[data-v-fd2d95f9]{font-size:11px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.teknisi-right[data-v-fd2d95f9]{display:flex;align-items:center;gap:8px;flex-shrink:0}.teknisi-pct[data-v-fd2d95f9]{font-family:var(--font-mono);font-size:14px;font-weight:700}.teknisi-count[data-v-fd2d95f9]{font-size:10px;color:var(--text3);background:var(--surface3);padding:2px 6px;border-radius:4px}.chevron-sm[data-v-fd2d95f9]{color:var(--text3);transition:transform .2s}.chevron-sm.open[data-v-fd2d95f9]{transform:rotate(180deg)}.laporan-list[data-v-fd2d95f9]{border-top:1px solid var(--border)}.laporan-row[data-v-fd2d95f9]{display:flex;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);transition:background .15s}.laporan-row[data-v-fd2d95f9]:last-of-type{border-bottom:none}.laporan-row[data-v-fd2d95f9]:hover{background:var(--surface3)}.laporan-date[data-v-fd2d95f9]{font-family:var(--font-mono);font-size:10px;color:var(--text3);min-width:76px;padding-top:2px;flex-shrink:0}.laporan-body[data-v-fd2d95f9]{flex:1;min-width:0}.laporan-kegiatan[data-v-fd2d95f9]{font-size:12px;color:var(--text);margin-bottom:5px}.laporan-meta[data-v-fd2d95f9]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.laporan-pct[data-v-fd2d95f9]{font-family:var(--font-mono);font-size:11px;font-weight:600}.laporan-kendala[data-v-fd2d95f9]{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--amber);font-style:italic}.show-more[data-v-fd2d95f9]{width:100%;padding:8px;background:none;border:none;border-top:1px solid var(--border);color:var(--text3);font-size:11px;font-family:var(--font-body);cursor:pointer;transition:color .15s}.show-more[data-v-fd2d95f9]:hover{color:var(--accent)}.expand-btn[data-v-fd2d95f9]{width:100%;margin-top:14px;padding:8px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;color:var(--text3);font-size:12px;font-family:var(--font-body);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s}.expand-btn[data-v-fd2d95f9]:hover{color:var(--text);border-color:var(--border2)}.ch-head[data-v-6fee9571]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.ch-title[data-v-6fee9571]{font-family:var(--font-head);font-size:15px;font-weight:700;text-transform:capitalize}.ch-sub[data-v-6fee9571]{font-size:11px;color:var(--text3)}.ch-wrap[data-v-6fee9571]{height:200px}.dash[data-v-91261aca]{padding:28px 40px;flex:1;width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow-x:hidden}.topbar[data-v-91261aca]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;gap:16px;flex-wrap:wrap}.page-title[data-v-91261aca]{font-family:var(--font-head);font-size:32px;font-weight:900;letter-spacing:-1px}.page-sub[data-v-91261aca]{font-size:12px;color:var(--text3);margin-top:4px}.date-chip[data-v-91261aca]{font-size:12px;color:var(--text3);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 12px}.topbar-right[data-v-91261aca]{display:flex;align-items:center;gap:10px}.err-banner[data-v-91261aca]{display:flex;align-items:center;gap:8px;background:var(--red-dim);border:1px solid var(--red)30;border-radius:10px;padding:12px 16px;color:#ff9494;font-size:12px;margin-bottom:20px}.skeleton-grid[data-v-91261aca]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.skel[data-v-91261aca]{height:100px;border-radius:var(--r-lg);background:var(--surface);animation:pulse 1.5s ease infinite}.stat-grid[data-v-91261aca]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:100%;margin-bottom:20px}.stat-card[data-v-91261aca]{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-lg);padding:18px 20px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;gap:0 14px;align-items:start;transition:border-color .2s}.stat-card[data-v-91261aca]:hover{border-color:var(--border2)}.stat-icon[data-v-91261aca]{grid-row:1/4;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;align-self:center}.stat-label[data-v-91261aca]{font-size:11px;color:var(--text3);font-weight:500;letter-spacing:.2px}.stat-value[data-v-91261aca]{font-family:var(--font-head);font-size:36px;font-weight:800;line-height:1.1}.stat-sub[data-v-91261aca]{font-size:11px}.section-label[data-v-91261aca]{font-size:11px;font-weight:700;color:var(--text3);letter-spacing:.8px;text-transform:uppercase;margin-bottom:12px}.empty-state[data-v-91261aca]{text-align:center;padding:60px 20px;color:var(--text3);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13px}.filter-wrap[data-v-91261aca]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.filter-item[data-v-91261aca]{display:flex;flex-direction:column;gap:6px}.filter-item label[data-v-91261aca]{font-size:11px;color:var(--text3);font-weight:600;letter-spacing:.3px;text-transform:uppercase}.filter-item input[data-v-91261aca]{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 12px;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.filter-item input[data-v-91261aca]:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}@media (max-width:1100px){.dash[data-v-91261aca]{padding:22px 24px}.stat-grid[data-v-91261aca]{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.page-title[data-v-91261aca]{font-size:28px}.stat-value[data-v-91261aca]{font-size:30px}}@media (max-width:768px){.dash[data-v-91261aca]{padding:18px}.filter-wrap[data-v-91261aca]{grid-template-columns:1fr}}@media (max-width:600px){.dash[data-v-91261aca]{padding:14px}.topbar[data-v-91261aca]{margin-bottom:18px}.stat-grid[data-v-91261aca]{grid-template-columns:repeat(2,1fr)}}.detail[data-v-b9161c91]{padding:28px 40px;flex:1;width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden}.not-found[data-v-b9161c91]{color:var(--text3);padding:40px;text-align:center}.det-header[data-v-b9161c91]{margin-bottom:24px}.back-btn[data-v-b9161c91]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text3);text-decoration:none;margin-bottom:12px;transition:color .15s}.back-btn[data-v-b9161c91]:hover{color:var(--text)}.det-title-row[data-v-b9161c91]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.det-title[data-v-b9161c91]{font-family:var(--font-head);font-size:26px;font-weight:800;letter-spacing:-.5px;text-transform:capitalize}.det-meta[data-v-b9161c91]{font-size:12px;color:var(--text3)}.progress-hero[data-v-b9161c91]{display:flex;gap:32px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.ph-left[data-v-b9161c91]{flex:1;min-width:200px}.ph-label[data-v-b9161c91]{font-size:11px;color:var(--text3);margin-bottom:8px;font-weight:500;letter-spacing:.3px;text-transform:capitalize}.ph-pct[data-v-b9161c91]{font-family:var(--font-head);font-size:52px;font-weight:800;line-height:1}.ph-track[data-v-b9161c91]{background:var(--surface3);border-radius:5px;height:7px;margin-top:14px;overflow:hidden}.ph-fill[data-v-b9161c91]{height:100%;border-radius:5px;transition:width 1.2s cubic-bezier(.4,0,.2,1)}.ph-stats[data-v-b9161c91]{display:flex;gap:24px;flex-wrap:wrap}.ph-stat[data-v-b9161c91]{text-align:center}.ph-stat-val[data-v-b9161c91]{font-family:var(--font-head);font-size:22px;font-weight:700}.ph-stat-label[data-v-b9161c91]{font-size:11px;color:var(--text3);margin-top:2px}.section-label[data-v-b9161c91]{font-size:11px;font-weight:700;color:var(--text3);letter-spacing:.8px;text-transform:capitalize;margin-bottom:12px}.teknisi-card[data-v-b9161c91]{margin-bottom:12px}.tc-header[data-v-b9161c91]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tc-avatar[data-v-b9161c91]{width:40px;height:40px;border-radius:50%;background:var(--accent-dim);color:#7fa8ff;font-family:var(--font-head);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tc-info[data-v-b9161c91]{flex:1;min-width:0}.tc-name[data-v-b9161c91]{font-family:var(--font-head);font-size:16px;font-weight:700;text-transform:capitalize}.tc-meta[data-v-b9161c91]{font-size:11px;color:var(--text3);margin-top:2px}.tc-right[data-v-b9161c91]{display:flex;align-items:center;gap:10px;flex-shrink:0}.tc-pct[data-v-b9161c91]{font-family:var(--font-mono);font-size:20px;font-weight:700}.tc-latest[data-v-b9161c91]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text2);background:var(--surface2);border-radius:8px;padding:8px 12px;margin-bottom:10px}.tc-latest-text[data-v-b9161c91]{flex:1}.tc-latest-date[data-v-b9161c91]{font-family:var(--font-mono);font-size:10px;color:var(--text3);flex-shrink:0}.tc-kendala[data-v-b9161c91]{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--amber);background:var(--amber-dim);border-radius:8px;padding:7px 12px;margin-bottom:10px}.tc-kebutuhan[data-v-b9161c91]{color:var(--text2);font-style:italic}.tc-track[data-v-b9161c91]{background:var(--surface3);border-radius:4px;height:4px;overflow:hidden;margin-bottom:14px}.tc-fill[data-v-b9161c91]{height:100%;border-radius:4px;transition:width 1s ease}.tc-timeline-label[data-v-b9161c91]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text3);cursor:pointer;padding:12px 0 4px;border-top:1px solid var(--border);transition:color .15s}.tc-timeline-label[data-v-b9161c91]:hover{color:var(--text)}.chev[data-v-b9161c91]{transition:transform .2s}.chev.open[data-v-b9161c91]{transform:rotate(180deg)}.tc-timeline[data-v-b9161c91]{padding-top:14px;position:relative}.tl-item[data-v-b9161c91]{display:flex;gap:14px;padding-bottom:16px;position:relative}.tl-line[data-v-b9161c91]{position:absolute;left:5px;top:14px;bottom:0;width:1px;background:var(--border)}.tl-dot[data-v-b9161c91]{width:11px;height:11px;border-radius:50%;flex-shrink:0;margin-top:3px;border:2px solid var(--bg2)}.tl-body[data-v-b9161c91]{flex:1;min-width:0}.tl-top[data-v-b9161c91]{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.tl-date[data-v-b9161c91]{font-family:var(--font-mono);font-size:10px;color:var(--text3)}.tl-pct[data-v-b9161c91]{font-family:var(--font-mono);font-size:11px;font-weight:600}.tl-kegiatan[data-v-b9161c91]{font-size:12px;color:var(--text);margin-bottom:4px}.tl-kendala[data-v-b9161c91]{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--amber);margin-bottom:2px}.tl-catatan[data-v-b9161c91]{font-size:11px;color:var(--text3);font-style:italic}.tl-media[data-v-b9161c91]{margin-top:8px}.tl-image[data-v-b9161c91]{display:block;width:100%;max-width:360px;max-height:240px;object-fit:cover;border-radius:10px;border:1px solid var(--border);background:var(--surface2)}.tl-video-media[data-v-b9161c91]{max-width:560px}.tl-video-frame[data-v-b9161c91]{display:block;width:100%;min-height:220px;aspect-ratio:16/9;border-radius:10px;border:1px solid var(--border);background:var(--surface2)}.tl-image-link[data-v-b9161c91]{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--accent);text-decoration:none;border:1px solid var(--border);padding:6px 10px;border-radius:8px;background:var(--surface2)}.tl-image-link[data-v-b9161c91]:hover{border-color:var(--accent)}.tl-image-fallback[data-v-b9161c91]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tl-image-fallback-text[data-v-b9161c91]{font-size:11px;color:var(--text3)}@media (max-width:1024px){.detail[data-v-b9161c91]{padding:22px 24px}.progress-hero[data-v-b9161c91]{gap:20px}}@media (max-width:768px){.detail[data-v-b9161c91]{padding:18px}.det-title[data-v-b9161c91]{font-size:22px}.ph-pct[data-v-b9161c91]{font-size:42px}.ph-stats[data-v-b9161c91]{gap:14px}.teknisi-card[data-v-b9161c91]{padding:16px}}@media (max-width:600px){.detail[data-v-b9161c91]{padding:14px}.det-meta[data-v-b9161c91]{font-size:11px}.tc-header[data-v-b9161c91]{flex-wrap:wrap}.tc-right[data-v-b9161c91]{width:100%;justify-content:space-between}.tc-latest[data-v-b9161c91]{flex-wrap:wrap;gap:6px}.tc-latest-date[data-v-b9161c91]{margin-left:auto}.ph-pct[data-v-b9161c91]{font-size:36px}}.panel[data-v-4d092fd4]{padding:28px 32px;width:100%}.panel-head[data-v-4d092fd4]{margin-bottom:16px}.panel-title[data-v-4d092fd4]{font-family:var(--font-head);font-size:30px;font-weight:800;text-transform:capitalize}.panel-sub[data-v-4d092fd4]{font-size:12px;color:var(--text3);margin-top:4px}.card[data-v-4d092fd4]{margin-bottom:14px}.empty[data-v-4d092fd4]{color:var(--text3);font-size:13px}.tech-hero[data-v-4d092fd4]{display:flex;flex-direction:column;gap:10px}.tech-name[data-v-4d092fd4]{font-size:22px;font-weight:700;font-family:var(--font-head);text-transform:capitalize}.tech-meta[data-v-4d092fd4]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meta-item[data-v-4d092fd4]{color:var(--text2);font-size:12px}.tech-track[data-v-4d092fd4]{width:100%;height:8px;background:var(--surface3);border-radius:999px;overflow:hidden}.tech-fill[data-v-4d092fd4]{height:100%;background:var(--accent)}.section-title[data-v-4d092fd4]{font-size:12px;text-transform:capitalize;letter-spacing:.8px;color:var(--text3);margin-bottom:10px;font-weight:700}.line-wrap[data-v-4d092fd4]{height:240px}.act-list[data-v-4d092fd4]{display:flex;flex-direction:column;gap:8px}.act-item[data-v-4d092fd4]{display:flex;gap:10px;padding:10px;border:1px solid var(--border);border-radius:10px}.act-date[data-v-4d092fd4]{min-width:70px;font-size:11px;color:var(--text3);font-family:var(--font-mono)}.act-kegiatan[data-v-4d092fd4]{font-size:13px;color:var(--text)}.act-sub[data-v-4d092fd4]{font-size:11px;color:var(--text2)}.kendala-tools .tool-row[data-v-4d092fd4]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}.search[data-v-4d092fd4],.select[data-v-4d092fd4]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:9px 11px;font-size:13px}.search[data-v-4d092fd4]{flex:1;min-width:220px}.chip-row[data-v-4d092fd4]{display:flex;gap:8px;flex-wrap:wrap}.chip[data-v-4d092fd4]{font-size:11px;padding:4px 10px;border-radius:20px;background:var(--surface2);color:var(--text2)}.chip.warning[data-v-4d092fd4]{color:var(--amber)}.chip.success[data-v-4d092fd4]{color:var(--green)}.kendala-list[data-v-4d092fd4]{display:flex;flex-direction:column;gap:8px}.kendala-item[data-v-4d092fd4]{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--border);border-radius:10px;padding:10px}.check-wrap[data-v-4d092fd4]{position:relative;margin-top:2px}.check-wrap input[data-v-4d092fd4]{position:absolute;opacity:0}.check-ui[data-v-4d092fd4]{width:16px;height:16px;border:1px solid var(--border2);border-radius:4px;background:var(--surface2);display:inline-block}.check-wrap input:checked+.check-ui[data-v-4d092fd4]{background:var(--green-dim);border-color:var(--green)}.kendala-body[data-v-4d092fd4]{flex:1;min-width:0}.kendala-title[data-v-4d092fd4]{font-size:13px;color:var(--amber);font-weight:600;text-transform:capitalize}.kendala-title.done[data-v-4d092fd4]{text-decoration:line-through;color:var(--text3)}.kendala-sub[data-v-4d092fd4],.kendala-need[data-v-4d092fd4]{font-size:11px;color:var(--text2);margin-top:2px}.status-pill[data-v-4d092fd4]{font-size:10px;font-weight:700;border-radius:999px;padding:3px 8px}.status-pill.open[data-v-4d092fd4]{background:var(--amber-dim);color:var(--amber)}.status-pill.done[data-v-4d092fd4]{background:var(--green-dim);color:var(--green)}.empty-inline[data-v-4d092fd4]{color:var(--text3);font-size:12px;padding:8px 0}@media (max-width: 768px){.panel[data-v-4d092fd4]{padding:16px}.panel-title[data-v-4d092fd4]{font-size:24px}.line-wrap[data-v-4d092fd4]{height:200px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #07090f;--bg2: #0d1117;--surface: #111520;--surface2: #161b2a;--surface3: #1c2235;--border: rgba(255,255,255,.06);--border2: rgba(255,255,255,.1);--text: #f0f2f8;--text2: #8892aa;--text3: #8b9bb4;--accent: #4f7cff;--accent-dim: rgba(79,124,255,.12);--green: #22d3a0;--green-dim: rgba(34,211,160,.1);--amber: #ffb547;--amber-dim: rgba(255,181,71,.1);--red: #ff5f5f;--red-dim: rgba(255,95,95,.1);--cyan: #22d3ee;--font-head: "Cabinet Grotesk", sans-serif;--font-body: "Satoshi", sans-serif;--font-mono: "JetBrains Mono", monospace;--r: 12px;--r-lg: 18px}.theme-dark{--bg: #07090f;--bg2: #0d1117;--surface: #111520;--surface2: #161b2a;--surface3: #1c2235;--border: rgba(255,255,255,.06);--border2: rgba(255,255,255,.1);--text: #f0f2f8;--text2: #8892aa;--text3: #8b9bb4}.theme-light{--bg: #f5f7fc;--bg2: #ffffff;--surface: #ffffff;--surface2: #f1f5ff;--surface3: #e8edf8;--border: rgba(17, 24, 39, .1);--border2: rgba(17, 24, 39, .18);--text: #0f172a;--text2: #334155;--text3: #64748b}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;width:100%}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 26px}.card-sm{padding:16px 18px}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.2px;font-family:var(--font-body)}.pill:before{content:"";width:5px;height:5px;border-radius:50%}.pill.green{background:var(--green-dim);color:var(--green)}.pill.green:before{background:var(--green)}.pill.amber{background:var(--amber-dim);color:var(--amber)}.pill.amber:before{background:var(--amber);box-shadow:0 0 4px var(--amber)}.pill.red{background:var(--red-dim);color:var(--red)}.pill.red:before{background:var(--red)}.pill.blue{background:var(--accent-dim);color:#7fa8ff}.pill.blue:before{background:#7fa8ff}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.2}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes glow{0%,to{opacity:.5}50%{opacity:1}}.fade-up{animation:fadeUp .5s cubic-bezier(.16,1,.3,1) both}@media (max-width: 1024px){.card{padding:18px 20px;border-radius:14px}}@media (max-width: 768px){html,body{font-size:13px}.card{padding:16px;border-radius:12px}.pill{font-size:10px}}
