.tenaga-proyek-page{--tp-line:var(--line,#ddd);--tp-muted:var(--muted,#666);display:flex;flex-direction:column;gap:18px;min-width:0}
.tp-tools,.tp-modes{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tp-modes{margin-left:auto}.tp-tools input[type=search]{min-width:180px;flex:1}.tp-tools input[type=date]{width:auto}
.tp-modes button[aria-pressed=true],.tp-tools button[aria-pressed=true]{background:var(--text,#222);color:var(--panel,#fff)}
.tp-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.tp-tile{border:1px solid var(--tp-line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px}.tp-tile strong{font-size:26px;font-variant-numeric:tabular-nums}.tp-tile small,.tp-placeholder{color:var(--tp-muted)}.tp-placeholder{font-style:italic}
.tp-signs{padding:14px;border:1px solid var(--tp-line);border-radius:10px}.tp-signs button{margin:4px}.tp-board{min-width:0}.tp-board>.tp-tools{margin:14px 0}.tp-board-content{overflow-x:auto}
.tp-table,.tp-detail-table{width:100%;border-collapse:collapse;font-size:13px}.tp-table th,.tp-table td,.tp-detail-table th,.tp-detail-table td{padding:9px 8px;border-bottom:1px solid var(--tp-line);text-align:left;vertical-align:top}.tp-table thead th{white-space:nowrap}.tp-group th{background:var(--bg,#f4f4f4);font-size:12px}.tp-project-row{cursor:pointer}.tp-project-row:focus,.tp-project-row:hover{background:var(--bg,#f4f4f4)}.tp-project-row[aria-expanded=true]{background:var(--bg,#f4f4f4)}
.tp-table .tp-project-toggle{background:none;color:inherit;border:0;text-align:left;padding:0;font-weight:700;font-size:inherit;white-space:normal;min-width:170px}.tp-table .tp-project-toggle:hover{text-decoration:underline;background:none;color:inherit}.tp-days{display:grid;grid-template-columns:repeat(6,25px);gap:3px;text-align:center}.tp-days span{display:flex;flex-direction:column;gap:4px;font-variant-numeric:tabular-nums}.tp-days small{font-size:10px;color:var(--tp-muted)}
.tp-spark{width:140px;height:30px}.tp-spark polyline{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}.tp-detail-row>td{padding:12px;background:var(--bg,#f4f4f4)}.tp-detail{background:var(--panel,#fff);border:1px solid var(--tp-line);border-radius:10px;padding:14px;min-width:0}.tp-detail h3{margin:0;margin-right:auto}.tp-detail-wrap{overflow-x:auto}.tp-detail-table td{min-width:70px}.tp-detail-table td:nth-child(2){min-width:140px}
@media(max-width:800px){.tp-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-tile{padding:10px}.tp-tile strong{font-size:22px}.tp-modes{margin-left:0;width:100%}.tp-board-content{overflow:visible}.tp-table,.tp-table>tbody{display:block}.tp-table>thead{display:none}.tp-table>tbody>.tp-group{display:block;margin:16px 0 8px}.tp-group>th{display:block;border:0}.tp-table>tbody>.tp-project-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--tp-line);border-radius:10px;margin:10px 0;padding:10px;gap:8px}.tp-project-row>td{display:flex;flex-direction:column;gap:4px;border:0;padding:0;min-width:0;overflow-wrap:anywhere}.tp-project-row>td::before{content:attr(data-label);font-size:11px;color:var(--tp-muted)}.tp-project-row>td:nth-child(2){grid-column:1/-1;grid-row:1}.tp-table .tp-project-toggle{min-width:0}.tp-days{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.tp-detail-row,.tp-detail-row>td{display:block;padding:0;background:none}.tp-detail{padding:10px;white-space:normal}.tp-detail-wrap{overflow:visible}.tp-detail-table,.tp-detail-table tbody,.tp-detail-table tr,.tp-detail-table td{display:block;min-width:0}.tp-detail-table thead{display:none}.tp-detail-table tr{border-bottom:1px solid var(--tp-line);padding:8px 0}.tp-detail-table td{border:0;padding:3px 0;overflow-wrap:anywhere}.tp-detail-table td::before{content:attr(data-label) ': ';color:var(--tp-muted);font-size:12px}}
@media print{.tp-tools,.tp-modes{display:none}.tp-board-content,.tp-detail-wrap{overflow:visible}.tp-table{font-size:10px}}
.tp-badge{display:inline-block;border-radius:7px;padding:5px 8px;font-size:12px;font-weight:600;background:#eef2f6;color:#344054}.tp-badge-tanya_pic,.tp-badge-tambah{background:#fde8e7;color:#9c2520}.tp-badge-kurangi,.tp-badge-siapkan_pindah{background:#fff0ce;color:#805400}.tp-badge-tetap{background:#e4f4e8;color:#276238}.tp-badge-isian_belum{background:#edf0f4;color:#596579}
.tp-isian{border:1px solid var(--tp-line);border-radius:8px;padding:12px;margin:14px 0}.tp-isian h4{margin:0;margin-right:auto}.tp-isian-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tp-field{display:flex;flex-direction:column;gap:5px;min-width:0}.tp-field textarea{min-height:65px;resize:vertical}.tp-field input,.tp-field textarea,.tp-need select,.tp-need input{box-sizing:border-box;width:100%;min-width:0}.tp-isian-form>fieldset,.tp-isian-form>[role=status],.tp-isian-form>.tp-tools,.tp-isian-form>.tp-field:first-child{grid-column:1/-1}.tp-isian-form fieldset{border:1px solid var(--tp-line);border-radius:6px;min-width:0}.tp-need{display:grid;grid-template-columns:minmax(0,1fr) 80px auto;gap:8px;margin-bottom:8px;align-items:center}.tp-isian-form [aria-invalid=true]{border:2px solid #b42318}.tp-isian-read{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;overflow-wrap:anywhere}.tp-isian-read dd{margin:0;white-space:pre-wrap}
@media(max-width:800px){.tp-isian-form{grid-template-columns:minmax(0,1fr)}.tp-need{grid-template-columns:minmax(0,1fr) 65px}.tp-need button{grid-column:1/-1}.tp-isian-read{grid-template-columns:minmax(0,1fr);gap:4px}.tp-isian-read dt{font-weight:600}.tp-isian-read dd{margin-bottom:8px}}
.tp-plan{min-width:0;border-top:1px solid var(--tp-line);padding-top:14px}.tp-plan>.tp-tools{margin:12px 0}.tp-plan-scroll{max-width:100%;overflow-x:auto}.tp-plan-table,.tp-plan-needs{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tp-plan-table th,.tp-plan-table td,.tp-plan-needs th,.tp-plan-needs td{padding:9px;border-bottom:1px solid var(--tp-line);text-align:left;vertical-align:top}.tp-plan-table thead th{white-space:nowrap;background:var(--panel,#fff)}.tp-plan-table tbody th{position:sticky;left:0;z-index:1;min-width:190px;max-width:240px;background:var(--panel,#fff);box-shadow:2px 0 3px #0001}.tp-plan-table td[data-tanggal]{min-width:115px}.tp-plan-cell{display:block;background:transparent;color:inherit;border:0;padding:8px;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}.tp-plan-cell:hover{background:#0001;color:inherit}.tp-plan-empty{background:#fdebf0;color:#92344c}.tp-plan-libur{background:#e6e8eb;color:#535b65}.tp-plan-table td.tp-plan-dirty{background:#fff1a6;color:#645000;box-shadow:inset 0 0 0 2px #d3ab28}.tp-plan-table td.tp-plan-invalid{box-shadow:inset 0 0 0 3px #b42318}.tp-plan-error th{border-left:4px solid #b42318}.tp-needs-less{background:#fde8e7;color:#9c2520}.tp-needs-more{background:#fff0ce;color:#805400}.tp-plan-legend{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.tp-plan-legend span{padding:5px 8px;border-radius:5px;font-size:12px}.tp-plan-dialog{border:1px solid var(--tp-line);border-radius:10px;padding:20px;width:min(420px,90vw);max-height:85vh;overflow:auto}.tp-plan-dialog form{display:flex;flex-direction:column;gap:14px}.tp-plan-dialog h3{margin:0}.tp-detail-marked{background:#fff4d7}.tp-plan-status{white-space:pre-wrap}.tp-plan-needs td{font-variant-numeric:tabular-nums;white-space:nowrap}
.tp-project-color-0{background:#e0efff;color:#254c75}.tp-project-color-1{background:#e5f2df;color:#3d602e}.tp-project-color-2{background:#efe6ff;color:#584275}.tp-project-color-3{background:#ffe8d9;color:#78472c}.tp-project-color-4{background:#d9f2ed;color:#255e53}.tp-project-color-5{background:#fbe0ef;color:#743c5b}.tp-project-color-6{background:#e4e9ff;color:#384c7c}.tp-project-color-7{background:#f4efd5;color:#695f29}.tp-project-color-8{background:#daf0f5;color:#2d6070}.tp-project-color-9{background:#f6e0dd;color:#79423a}.tp-project-color-10{background:#e6eddc;color:#536534}.tp-project-color-11{background:#ece2ed;color:#674b6b}
@media(max-width:800px){.tp-plan-table{min-width:1000px}.tp-plan-table tbody th{min-width:160px;max-width:180px}.tp-plan-needs{min-width:700px}.tp-plan-dialog{box-sizing:border-box}}

.tp-plan-table thead th:nth-child(2){position:sticky;left:0;z-index:2;background:var(--panel,#fff)}

.tp-plan-table{white-space:normal}.tp-plan-table tbody th,.tp-plan-table td[data-tanggal]{overflow-wrap:anywhere}.tp-plan-table thead th:nth-child(2){white-space:normal}
