/* Scoped to public achievements and their legacy dialog host. */
.prestasi-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:20px;padding:0 0 24px;border-bottom:1px solid #e2e8f0;text-align:left}
.prestasi-filter-field{min-width:0}
.prestasi-filters label{display:block;margin:0 0 8px;font-size:13px;font-weight:600;line-height:1.5;color:#334155}
.prestasi-filters select{display:block;width:100%;min-width:0;min-height:44px;padding:10px 36px 10px 12px;border:1px solid #cbd5cf;border-radius:8px;background-color:#fff;color:#1e293b;font-family:inherit;font-size:14px;line-height:1.5;cursor:pointer}
.prestasi-filter-submit{min-height:44px;padding:10px 20px;border:1px solid #166534;border-radius:8px;background:#166534;color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer}
.prestasi-filter-submit:hover{background:#14532d}
.prestasi-filters :focus-visible{outline:2px solid #166534;outline-offset:3px}
@media(max-width:767px){.prestasi-filters{grid-template-columns:minmax(0,1fr);gap:16px;padding-bottom:20px}.prestasi-filter-submit{width:100%}}
.prestasi-table-panel,.prestasi-modal{font-family:inherit;color:#334155;font-size:14px;line-height:1.6}
.prestasi-table-panel{padding:24px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:0}
.prestasi-table-panel h2,.prestasi-modal h2{margin:0 0 20px;font-size:18px;font-weight:600;line-height:1.5;color:#163c2e;text-align:left}
.prestasi-table-panel .tableprestasi,.prestasi-modal .tableprestasi{width:100%!important;border:0!important;border-collapse:collapse;font-family:inherit;font-size:13px;table-layout:auto}
.prestasi-table-panel .tableprestasi th,.prestasi-modal .tableprestasi th{padding:12px!important;background:#f3f7f4;color:#42564a;font-size:12px;font-weight:600;line-height:1.5;text-align:left;vertical-align:middle;border:0!important;border-bottom:1px solid #dce7df!important}
.prestasi-table-panel .tableprestasi td,.prestasi-modal .tableprestasi td{padding:14px 12px!important;border:0!important;border-bottom:1px solid #edf2ef!important;vertical-align:top;color:#334155;line-height:1.6;overflow-wrap:break-word;box-shadow:none!important;background:transparent}
.prestasi-table-panel .tableprestasi tbody tr:hover{background:#f8fbf9}
.prestasi-table-panel .tableprestasi th:first-child,.prestasi-table-panel .tableprestasi td:first-child{width:40px!important;text-align:center;font-variant-numeric:tabular-nums;color:#64748b}
#tableprestasisekolah th:nth-child(2),#tableprestasisekolah td:nth-child(2){width:140px!important;white-space:nowrap}
#tableprestasisekolah th:nth-child(3),#tableprestasisekolah td:nth-child(3){width:30%!important;min-width:200px}
#tableprestasisekolah th:last-child,#tableprestasisekolah td:last-child{width:130px!important;white-space:nowrap;text-align:center}
#tableprestasiguru th:last-child,#tableprestasiguru td:last-child,#tableprestasisiswa th:last-child,#tableprestasisiswa td:last-child{width:105px!important;text-align:center;font-variant-numeric:tabular-nums;font-weight:600}
#tableprestasiguru td:nth-child(2),#tableprestasisiswa td:nth-child(3){width:auto!important}
#tableprestasisiswa th:nth-child(2),#tableprestasisiswa td:nth-child(2){width:70px!important;text-align:center;font-variant-numeric:tabular-nums}
.prestasi-table-panel a,.prestasi-modal a{color:#166534;font-weight:600;text-decoration:none;text-underline-offset:3px}
.prestasi-table-panel a:hover,.prestasi-modal a:hover{text-decoration:underline}
.prestasi-link{display:inline-block;padding:4px 8px;background:#edf7ef;border-radius:6px;font-size:12px}
.prestasi-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.prestasi-table-panel .dt-layout-row{gap:12px;margin:16px 0}
.prestasi-table-panel .dt-layout-row.dt-layout-table{margin:0;overflow-x:auto;display:block}
.prestasi-table-panel .dt-layout-row.dt-layout-table>.dt-layout-cell{display:block;min-width:100%}
.prestasi-table-panel .dt-search{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#52645b}
.prestasi-table-panel .dt-search input{margin:0!important;max-width:100%;width:220px;padding:8px 12px!important;border:1px solid #cbd5cf!important;border-radius:8px!important;background:#fff!important;font:inherit}
.prestasi-table-panel .dt-info{font-size:12px;color:#52645b;white-space:normal}
.prestasi-table-panel .dt-paging .dt-paging-button{min-width:34px;padding:5px 9px!important;margin:2px!important;border:1px solid transparent!important;border-radius:6px!important;background:transparent!important;color:#166534!important;font-size:13px}
.prestasi-table-panel .dt-paging .dt-paging-button.current,.prestasi-table-panel .dt-paging .dt-paging-button:hover{background:#edf7ef!important;border-color:#cbded0!important;color:#14532d!important}
.prestasi-table-panel .dt-paging .dt-paging-button.disabled{opacity:.45;cursor:default}
.prestasi-table-panel :focus-visible,.prestasi-modal :focus-visible{outline:2px solid #166534;outline-offset:3px}
#formmodalload.drag:has(.prestasi-modal){max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 32px);overflow:auto;border-radius:12px;background:#fff;color:#334155;font-family:inherit}
.prestasi-modal{padding:24px;max-height:78dvh;overflow:auto;text-align:left}
.prestasi-modal .prestasi-detail-table{min-width:700px}
.prestasi-person{display:flex;align-items:center;gap:20px;margin-bottom:24px}
.prestasi-person img{width:80px;height:96px;object-fit:contain;background:#f3f7f4;border-radius:8px;flex-shrink:0}
.prestasi-person h2{margin-bottom:4px}
.prestasi-person p{margin:0;color:#52645b;font-size:13px}
.prestasi-certificate{margin:0;text-align:center}
.prestasi-certificate img{display:block;max-width:100%;width:auto;height:auto;max-height:65dvh;object-fit:contain;margin:0 auto;background:#f8faf9}
.prestasi-certificate figcaption{padding-top:16px;font-size:13px}
.prestasi-empty{padding:32px 20px;background:#f8faf9;text-align:center;color:#52645b;border-radius:8px}
@media(max-width:767px){.prestasi-table-panel{padding:20px 12px}.prestasi-table-panel h2{font-size:16px}.prestasi-table-panel .dt-layout-row{flex-direction:column;align-items:stretch}.prestasi-table-panel .dt-search input{width:100%}.prestasi-modal{padding:20px 12px}.prestasi-person{gap:12px}.prestasi-person img{width:64px;height:80px}.prestasi-modal h2{font-size:16px}.prestasi-table-panel table{min-width:440px}#tableprestasisekolah{min-width:850px}}
