/* Komponen baru memakai namespace agar desain/modul lama tetap terjaga. */
.rd24{--rd24-ink:#153f40;--rd24-muted:#5b7475;--rd24-line:#d8e6e3;--rd24-panel:#fff;color:var(--rd24-ink);max-width:1440px;margin:0 auto;font-family:inherit;min-width:0}
.rd24 *{box-sizing:border-box}.rd24 h1,.rd24 h2,.rd24 h3,.rd24 p{margin-top:0}.rd24 h2{font-size:19px;font-weight:750;margin-bottom:14px}.rd24 h3{font-size:16px;font-weight:700;margin:20px 0 10px}
.rd24-hero{position:relative;display:flex;justify-content:space-between;gap:24px;padding:30px;border-radius:24px;background:radial-gradient(ellipse at 90% 0,#2b6660 0,transparent 58%),linear-gradient(135deg,#133b3c,#102c31);color:#f5faf7;box-shadow:0 12px 30px #123b3b14;margin-bottom:22px;overflow:hidden}
.rd24-hero h1{font-size:clamp(25px,3vw,38px);font-weight:760;letter-spacing:-.035em;margin:11px 0;line-height:1.15}.rd24-hero p{color:#c7ded7;max-width:620px;font-size:14px;line-height:1.7;margin-bottom:18px}.rd24-eyebrow{font-size:10px;letter-spacing:.18em;color:#e7d29b;font-weight:750}.rd24-mode{display:inline-flex;border:1px solid #a3c9be66;background:#ffffff0d;color:#edf8ed;padding:7px 11px;border-radius:30px;font-size:11px;font-weight:650}.rd24-clock{white-space:pre-line;font-size:12px;line-height:1.9;min-width:200px;text-align:right;color:#cfdfd7;align-self:center}
.rd24-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:20px;border:1px solid var(--rd24-line);background:var(--rd24-panel);border-radius:18px;margin-bottom:20px}.rd24-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;min-width:0}.rd24 input,.rd24 select{font:inherit;max-width:100%;min-width:0;border:1px solid #c5d8d3;border-radius:10px;padding:10px;background:var(--rd24-panel);color:var(--rd24-ink);min-height:44px;width:100%;outline-offset:3px}.rd24 input:focus,.rd24 select:focus,.rd24 button:focus-visible{outline:3px solid #62afa5}.rd24-search{grid-column:span 2}.rd24-filter-actions{display:flex;gap:9px;align-items:end;flex-wrap:wrap}
.rd24-button{font:inherit;font-size:12px;font-weight:650;line-height:1.4;min-height:44px;padding:10px 14px;border:1px solid #bdd1ca;border-radius:10px;color:var(--rd24-ink);background:var(--rd24-panel);cursor:pointer;max-width:100%;white-space:normal;text-align:left;transition:background .16s}.rd24-button:hover{background:#edf5f1}.rd24-button:disabled{opacity:.5;cursor:default}.rd24-primary{background:#1d6258;border-color:#1d6258;color:#fff}.rd24-primary:hover{background:#164e45}.rd24-period{font-size:12px;color:var(--rd24-muted);margin-bottom:15px}.rd24-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.rd24-stat{border:1px solid var(--rd24-line);border-radius:18px;background:var(--rd24-panel);padding:21px 19px;min-width:0}.rd24-stat span{display:block;font-size:12px;color:var(--rd24-muted);font-weight:650}.rd24-stat strong{display:block;font-size:34px;letter-spacing:-.04em;font-weight:750;margin:12px 0;line-height:1.2}.rd24-stat small{font-size:11px;line-height:1.6;color:var(--rd24-muted);display:block}.rd24-columns{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.rd24-panel{border:1px solid var(--rd24-line);border-radius:18px;padding:22px;background:var(--rd24-panel);margin-bottom:20px;min-width:0}.rd24-panel>p{line-height:1.7;font-size:13px}.rd24-note{font-size:12px;color:var(--rd24-muted);line-height:1.75;margin:10px 0 15px}.rd24-empty{padding:36px 18px;text-align:center;background:var(--rd24-panel);border-radius:14px;color:var(--rd24-muted);font-size:13px;border:1px dashed var(--rd24-line)}
.rd24-bar{display:grid;grid-template-columns:70px minmax(0,1fr) 45px;align-items:center;gap:9px;font-size:12px;margin:17px 0}.rd24-bar>span{text-transform:capitalize}.rd24-bar>div{height:9px;background:#e6f0eb;border-radius:10px;overflow:hidden}.rd24-bar i{display:block;background:linear-gradient(90deg,#2a7d6d,#8ab7a1);height:100%;border-radius:10px}.rd24-bar b{text-align:right}
.rd24-table-scroll{overflow-x:auto;max-width:100%;border-radius:12px}.rd24 table{border-collapse:collapse;width:100%;font-size:12px;min-width:400px}.rd24 th{background:#edf4f0;color:#395d59;font-size:11px;text-align:left;font-weight:750;padding:12px;white-space:nowrap}.rd24 td{padding:12px;border-bottom:1px solid var(--rd24-line);line-height:1.7;vertical-align:middle}.rd24 td button{background:transparent}.rd24-id{display:block;color:var(--rd24-muted);font-size:10px}.rd24-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.rd24-section-head>span{font-size:12px;color:var(--rd24-muted)}.rd24-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;font-size:11px}.rd24-pagination>span{text-align:center}.rd24-notice{border:1px solid #c1a769;background:#faf4e5;color:#6b5525;font-size:12px;line-height:1.7;padding:13px;border-radius:12px}.rd24-error{border:1px solid #ddaaa0;background:var(--rd24-panel);padding:22px;border-radius:16px}.rd24-error b{color:#a74230}.rd24-error p{font-size:13px;margin:12px 0}
.rd24-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.rd24-podium article{border:1px solid #d5c28d;padding:24px 18px;text-align:center;background:linear-gradient(145deg,#fffdf6,#f5edda);border-radius:20px;box-shadow:0 7px 0 #b59b5120;overflow-wrap:anywhere}.rd24-podium article:first-child{border-color:#ae8b40}.rd24-medal{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d9be7b,#b68f3d);border:3px solid #fff4d1;border-radius:50%;height:54px;width:54px;color:#30240e;font-weight:800;box-shadow:0 3px 7px #8c6e3622}.rd24-podium h3{margin:14px 0 6px}.rd24-podium p{font-size:12px;color:#6b674f;margin:0 0 14px}.rd24-podium strong{font-size:25px}.rd24-podium strong small{font-size:11px;font-weight:600}.rd24-policy label{display:flex;gap:12px;align-items:start;font-size:13px;line-height:1.6;padding:14px 0;border-bottom:1px solid var(--rd24-line)}.rd24-policy input{width:20px;min-height:20px;flex:none;accent-color:#206456;margin-top:1px}.rd24-policy button{margin-top:18px}
body[data-peran=qualityclass] #fab-absen,body[data-peran=qualityclass] #asisten-data-fab,body[data-peran=qualityclass] .nb-fab,body[data-peran=qualityclass] .ai-assistant-fab{display:none!important}
.dark .rd24{--rd24-ink:#deeee7;--rd24-muted:#a8c2b8;--rd24-panel:#172e31;--rd24-line:#375150}.dark .rd24 th{background:#233e3e;color:#c7dbd3}.dark .rd24 input,.dark .rd24 select,.dark .rd24-button{border-color:#46645c}.dark .rd24-button:hover{background:#294943}.dark .rd24-podium article{background:linear-gradient(145deg,#3f3c2e,#2f352e);border-color:#8d7f51}.dark .rd24-podium p{color:#d1c7a2}.dark .rd24-primary{background:#286f62}.dark .rd24-notice{background:#473d24;color:#f0e0b1}
@media(max-width:1000px){.rd24-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.rd24-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rd24-columns{grid-template-columns:1fr}.rd24-clock{min-width:155px}.rd24-hero{padding:24px}}
@media(max-width:580px){.rd24-hero{display:block;border-radius:18px;padding:22px 18px}.rd24-clock{text-align:left;margin-top:18px;white-space:normal}.rd24-filters{padding:15px;gap:12px}.rd24-stats{gap:10px}.rd24-stat{padding:16px 13px}.rd24-stat strong{font-size:28px}.rd24-panel{padding:16px 13px}.rd24-filter-actions{grid-column:span 2}.rd24-podium{grid-template-columns:1fr;gap:12px}.rd24-podium article{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:15px;text-align:left;padding:16px}.rd24-medal{grid-row:span 3}.rd24-podium h3{margin:2px 0 4px}.rd24-podium p{margin:0 0 5px}.rd24-podium strong{font-size:22px}.rd24-pagination{gap:5px}.rd24-pagination button{padding:8px;font-size:11px}.rd24-search{grid-column:span 2}}
@media(prefers-reduced-motion:reduce){.rd24 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
