.breakdown-workspace-tabs{display:inline-flex;gap:4px;padding:4px;margin:0 0 14px;background:#e8eef5;border:1px solid #d5dfeb;border-radius:12px}
.breakdown-workspace-tabs button,.periodic-view-tabs button{border:0;background:transparent;color:#526176;font-weight:800;padding:9px 16px;border-radius:9px;cursor:pointer}
.breakdown-workspace-tabs button.is-active,.periodic-view-tabs button.is-active{background:#fff;color:#087f5b;box-shadow:0 2px 8px rgba(15,23,42,.09)}
.periodic-service-workspace{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:14px}
.periodic-service-header{position:sticky;top:0;z-index:70;display:grid;gap:8px;margin:0 -8px;padding:10px 8px 12px;border:0;border-bottom:1px solid #dbe4ee;border-radius:0;background:rgba(250,249,247,.97);box-shadow:0 7px 14px rgba(15,23,42,.06);backdrop-filter:blur(8px)}
.periodic-service-header-main{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.periodic-service-heading>span{font:700 9px/1.4 'IBM Plex Mono',monospace;letter-spacing:.12em;color:#07845f}.periodic-service-heading h2{margin:2px 0;color:#142238;font-size:21px;letter-spacing:-.015em}.periodic-service-heading p{margin:3px 0 0;color:#65758b;font-size:12px}.periodic-service-header-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.periodic-service-header-actions label{display:grid;gap:3px;color:#64748b;font-size:9px;font-weight:800;text-transform:uppercase}.periodic-service-header-actions input{min-height:38px;box-sizing:border-box;border:1px solid #cbd7e5;border-radius:8px;padding:0 9px;background:#fff;color:#172033}.periodic-period-note{margin:0;color:#64748b;font-size:10px}
.periodic-forecast-button{color:#fff!important;border-color:#2563eb!important;background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;box-shadow:0 5px 12px rgba(37,99,235,.2)}
.periodic-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:8px}.periodic-kpi-grid article{position:relative;overflow:hidden;background:#fff;border:1px solid #dbe4ee;border-top:4px solid #168b69;border-radius:11px;padding:9px 12px}.periodic-kpi-grid article.is-warning{border-top-color:#f59e0b}.periodic-kpi-grid article.is-danger{border-top-color:#ef4444}.periodic-kpi-grid article.is-progress{border-top-color:#2563eb}.periodic-kpi-grid small,.periodic-kpi-grid span{display:block;color:#64748b;font-size:10px}.periodic-kpi-grid strong{display:block;margin:4px 0;font:700 22px/1 'Space Grotesk',sans-serif;color:#172033}
.periodic-kpi-link{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.periodic-kpi-link i{display:block;margin-top:5px;color:#2563eb;font-size:9px;font-style:normal;font-weight:800;opacity:.75}.periodic-kpi-link:hover i,.periodic-kpi-link:focus-visible i{opacity:1;text-decoration:underline}.periodic-kpi-link:focus-visible{outline:2px solid #2563eb;outline-offset:4px;border-radius:5px}.periodic-kpi-link.is-active:after{content:'FILTER AKTIF';position:absolute;right:8px;top:7px;padding:2px 5px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:7px;font-weight:900;letter-spacing:.06em}.periodic-kpi-grid article:has(.periodic-kpi-link.is-active){border-color:#60a5fa;box-shadow:0 0 0 2px rgba(37,99,235,.13)}
.periodic-toolbar{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #dbe4ee;border-radius:12px;background:#fff}.periodic-toolbar .breakdown-filter-search{flex:1;min-width:210px}.periodic-toolbar select{min-height:38px;border:1px solid #cbd7e5;border-radius:8px;padding:0 10px;background:#fff}.periodic-toolbar>span{margin-left:auto;color:#718096;font-size:11px}
.periodic-view-tabs{display:flex;gap:4px;border-bottom:1px solid #dbe4ee;padding:0 3px}.periodic-view-tabs button{border-radius:9px 9px 0 0}.periodic-view-tabs button.is-active{color:#1d4ed8;border-bottom:2px solid #2563eb}
.periodic-view-panel{min-width:0;scroll-margin-top:235px;background:#fff;border:1px solid #dbe4ee;border-radius:12px;overflow:hidden}.periodic-table th{white-space:nowrap}.periodic-table td{vertical-align:middle}.periodic-unit-cell strong{display:block}.periodic-unit-cell small{color:#75849a}.ps-progress{width:110px;height:5px;margin-top:5px;background:#e7edf4;border-radius:10px;overflow:hidden}.ps-progress i{display:block;height:100%;background:#16a079;border-radius:10px}.ps-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.ps-status.normal{color:#067647;background:#dcfae6}.ps-status.upcoming,.ps-status.due{color:#a15c00;background:#fff1cb}.ps-status.overdue{color:#b42318;background:#fee4e2}.ps-status.in_progress{color:#174ea6;background:#dbeafe}.ps-status.not_configured,.ps-status.missing_hm{color:#475467;background:#eef2f6}.ps-actions{display:flex;gap:5px;flex-wrap:wrap}.ps-actions button{font-size:10px;padding:5px 8px}
.periodic-package-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:14px}.periodic-package-card{border:1px solid #dbe4ee;border-radius:12px;padding:14px}.periodic-package-card header{display:flex;justify-content:space-between;gap:10px}.periodic-package-card h4{margin:0;color:#15233a}.periodic-package-card header span{font:700 11px 'IBM Plex Mono',monospace;color:#0b7b5d;background:#e8faf4;padding:5px 7px;border-radius:7px}.periodic-package-card>p{color:#69798e;font-size:12px}.periodic-package-card ul{margin:10px 0 0;padding:0;list-style:none}.periodic-package-card li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #edf1f5;font-size:12px}
.periodic-package-grid{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:14px;padding:14px}.ps-package-type-group{min-width:0;overflow:hidden;border:1px solid #cbd8e7;border-radius:12px;background:#f8fafc}.ps-package-type-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;color:#fff;background:linear-gradient(100deg,#0f766e,#149472)}.ps-package-type-group>header span{display:block;font:800 8px/1.4 'IBM Plex Mono',monospace;letter-spacing:.11em;color:#ccfbf1}.ps-package-type-group>header h4{margin:2px 0 0;color:#fff;font-size:15px}.ps-package-type-group>header b{padding:5px 9px;color:#115e59;background:#f0fdfa;border-radius:999px;font-size:10px}.ps-package-model-group{min-width:0;margin:10px;overflow:hidden;border:1px solid #dbe4ee;border-radius:10px;background:#fff}.ps-package-model-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#eff6ff;border-bottom:1px solid #bfdbfe}.ps-package-model-group>header small{display:block;color:#64748b;font-size:8px;font-weight:900;letter-spacing:.08em}.ps-package-model-group>header h5{margin:2px 0 0;color:#1e3a8a;font-size:13px}.ps-package-model-group .tabel-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto}.ps-package-list{min-width:680px}.ps-package-list th{color:#475569;background:#f8fafc;font-size:9px;text-transform:uppercase}.ps-package-list td{vertical-align:middle}.ps-package-list td:first-child{width:180px}.ps-package-list td:nth-child(2){width:150px}.ps-period-list{display:flex;gap:7px;flex-wrap:wrap}.ps-period-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;color:#0f5132;background:#ecfdf3;border:1px solid #86efac;border-radius:8px;cursor:pointer}.ps-period-chip:hover{background:#dcfce7;border-color:#22c55e}.ps-period-chip b{font-size:10px}.ps-period-chip span{padding-left:7px;border-left:1px solid #86efac;font-size:9px}.ps-package-detail>header>div>span{font:800 9px/1.4 'IBM Plex Mono',monospace;letter-spacing:.08em;color:#0f766e}.ps-package-detail .tabel{min-width:560px}
.periodic-finding-list{display:grid;gap:8px;padding:14px}.periodic-finding-card{display:grid;grid-template-columns:110px 130px 1fr auto;align-items:center;gap:12px;border:1px solid #dbe4ee;border-left:4px solid #f59e0b;border-radius:9px;padding:11px 13px}.periodic-finding-card.severity-critical,.periodic-finding-card.severity-high{border-left-color:#ef4444}.periodic-finding-card h4{margin:0 0 3px}.periodic-finding-card p{margin:0;color:#65758b;font-size:12px}.periodic-lineage-note{margin:0;padding:11px 13px;border-radius:10px;background:#eff7ff;color:#40536a;font-size:12px}.periodic-lineage-note code{font-weight:800;color:#1d4ed8}
#modalKonten:has(.ps-modal){width:min(1060px,96vw);max-width:min(1060px,96vw);padding:22px;box-sizing:border-box;overflow-x:hidden}#modalKonten:has(.ps-forecast-modal){width:96vw;max-width:1600px}.ps-modal{width:100%;min-width:0}.ps-modal>header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.ps-modal h3{margin:0}.ps-modal header p{margin:4px 0;color:#64748b;font-size:12px}.ps-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ps-form-grid label{display:grid;gap:5px;min-width:0;font-size:12px;font-weight:700;color:#475467}.ps-form-grid label small{color:#718096;font-size:10px;font-weight:500}.ps-form-grid input,.ps-form-grid select,.ps-form-grid textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #c9d5e3;border-radius:8px;padding:9px;background:#fff}.ps-form-grid .is-wide{grid-column:1/-1}.ps-modal footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.ps-help{padding:9px 11px;background:#f6f8fb;border-radius:8px;color:#64748b;font-size:11px}.ps-warning{padding:9px 11px;background:#fff7e6;border:1px solid #f9d48b;border-radius:8px;color:#8a4b00;font-size:11px}
.ps-package-items-section{display:grid;gap:9px}.ps-package-items-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.ps-package-items-title strong,.ps-package-items-title small{display:block}.ps-package-items-title strong{font-size:12px;color:#475467}.ps-package-items-title small{margin-top:3px;font-size:11px;color:#718096}.ps-package-items{display:grid;gap:8px;max-height:250px;overflow:auto;padding-right:3px}.ps-package-item-row{display:grid;grid-template-columns:1.05fr 1.7fr .7fr .8fr auto;align-items:end;gap:7px;padding:9px;border:1px solid #dbe4ee;border-radius:10px;background:#f8fafc}.ps-package-item-row label{font-size:10px}.ps-package-item-remove{min-height:36px;color:#b42318;border-color:#f3b5b0}
.ps-service-schedule>header>div>span{font:800 9px/1.4 'IBM Plex Mono',monospace;letter-spacing:.09em;color:#0f766e}.ps-service-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-bottom:14px}.ps-service-summary article{padding:11px 12px;border:1px solid #dbe4ee;border-radius:10px;background:#f8fafc}.ps-service-summary small,.ps-service-summary span{display:block;color:#64748b;font-size:10px}.ps-service-summary strong{display:block;margin:4px 0;color:#172033;font-size:14px}.ps-service-requirements{display:grid;gap:8px;min-width:0}.ps-service-requirements>div:first-child strong,.ps-service-requirements>div:first-child small{display:block}.ps-service-requirements>div:first-child small{margin-top:3px;color:#718096;font-size:11px}.ps-service-requirements .tabel-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid #dbe4ee;border-radius:10px}.ps-service-requirements .tabel{min-width:560px}.ps-service-requirements .tabel th{background:#f8fafc}
.ps-forecast-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 16px}.ps-forecast-steps>*{padding:8px 10px;text-align:center;color:#64748b;background:#f1f5f9;border-radius:8px;font-size:10px}.ps-forecast-steps .is-active{color:#1d4ed8;background:#dbeafe}.ps-forecast-definition{display:grid;gap:5px;padding:12px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#475569}.ps-forecast-definition b{color:#1e3a8a}.ps-forecast-definition span{font-size:11px;font-weight:500}.ps-forecast-definition code{width:max-content;max-width:100%;padding:5px 7px;border-radius:6px;background:#dbeafe;color:#1d4ed8;font-size:11px}.ps-forecast-quick{display:flex;align-items:end;gap:8px;margin-bottom:12px}.ps-forecast-quick label{display:grid;gap:5px;color:#475569;font-size:11px;font-weight:800}.ps-forecast-quick input{min-height:38px;border:1px solid #cbd7e5;border-radius:8px;padding:0 10px}.ps-forecast-manual-table{max-height:55vh;overflow:auto}.ps-forecast-manual-table .tabel{min-width:620px}.ps-forecast-group th{position:static!important;padding:8px 11px!important;color:#0f5132!important;background:#ecfdf3!important;text-align:left!important}.ps-forecast-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-bottom:12px}.ps-forecast-kpis article{padding:10px 12px;border:1px solid #dbe4ee;border-top:3px solid #2563eb;border-radius:10px;background:#f8fafc}.ps-forecast-kpis small,.ps-forecast-kpis strong{display:block}.ps-forecast-kpis small{color:#64748b;font-size:9px}.ps-forecast-kpis strong{margin-top:4px;color:#172033;font-size:18px}.ps-forecast-grid{max-height:58vh;overflow:auto;border:1px solid #dbe4ee;border-radius:10px}.ps-forecast-grid .tabel{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.ps-forecast-grid th,.ps-forecast-grid td{min-width:78px;white-space:nowrap;text-align:center}.ps-forecast-grid thead th{position:sticky;top:0;z-index:3;background:#edf3fa}.ps-forecast-grid th:first-child,.ps-forecast-grid td:first-child{position:sticky;left:0;z-index:2;min-width:150px;text-align:left;background:#fff}.ps-forecast-grid thead th:first-child{z-index:5;background:#edf3fa}.ps-forecast-grid th:nth-child(2),.ps-forecast-grid td:nth-child(2){position:sticky;left:150px;z-index:2;min-width:105px;background:#fff}.ps-forecast-grid thead th:nth-child(2){z-index:5;background:#edf3fa}.ps-forecast-grid th:nth-child(3),.ps-forecast-grid td:nth-child(3){position:sticky;left:255px;z-index:2;min-width:105px;background:#fff}.ps-forecast-grid thead th:nth-child(3){z-index:5;background:#edf3fa}.ps-forecast-unit strong,.ps-forecast-unit small,.ps-forecast-period strong,.ps-forecast-period small{display:block}.ps-forecast-unit small,.ps-forecast-period small,.ps-forecast-grid td>small{margin-top:3px;color:#718096;font-size:8px}.ps-forecast-event{display:block;margin-top:4px;padding:2px 4px;color:#92400e;background:#fef3c7;border-radius:4px;font-size:7px}.ps-forecast-event.actual{color:#065f46;background:#d1fae5}.ps-forecast-event.scheduled{color:#1e40af;background:#dbeafe}
@media(max-width:1000px){.periodic-kpi-grid,.ps-forecast-kpis{grid-template-columns:repeat(2,1fr)}.periodic-service-header-main,.periodic-toolbar{align-items:stretch;flex-direction:column}.periodic-toolbar>span{margin-left:0}.periodic-finding-card{grid-template-columns:1fr}}
@media(max-width:900px){#modalKonten:has(.ps-modal){width:96vw;max-width:96vw;padding:18px}.ps-package-item-row{grid-template-columns:1fr 1fr}.ps-package-item-name{grid-column:1/-1}.ps-package-item-remove{grid-column:1/-1}}
@media(max-width:620px){#modalKonten:has(.ps-modal),#modalKonten:has(.ps-forecast-modal){width:98vw;max-width:98vw;padding:12px}.periodic-service-header{position:static;margin:0}.periodic-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-form-grid,.ps-package-item-row,.ps-service-summary,.ps-forecast-kpis{grid-template-columns:1fr}.periodic-view-tabs{overflow:auto}.periodic-service-header-actions{display:grid;grid-template-columns:1fr 1fr}.periodic-service-header-actions .tombol{width:100%}.breakdown-workspace-tabs{display:flex}.breakdown-workspace-tabs button{flex:1;padding-inline:9px}.ps-package-item-name,.ps-package-item-remove{grid-column:auto}.ps-package-items-title{align-items:stretch;flex-direction:column}.ps-forecast-steps{grid-template-columns:1fr}.ps-forecast-quick{align-items:stretch;flex-direction:column}.ps-forecast-quick input,.ps-forecast-quick .tombol{width:100%;box-sizing:border-box}}
