:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn-link{padding:0;margin:0;background-color:transparent;width:fit-content}a,.btn-link{font-weight:500;color:#646cff;text-decoration:inherit}a:hover,.btn-link:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button,.btn{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover,.btn:hover{border-color:#646cff}button:focus,.btn:focus,button:focus-visible,.btn:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#f0f2f5}a:hover{color:#747bff}button,.btn{background-color:#f9f9f9}}.login-container{width:400px;margin:50px auto;padding:20px;border:1px solid #ccc;border-radius:8px;text-align:center}input{display:block!important;width:calc(100% - 20px)!important;margin:10px 0!important;padding:10px!important;border:1px solid #ccc!important}button{width:100%;padding:10px;background-color:#28a745;color:#fff;border:none;cursor:pointer}._sidebar_i9jms_1{width:250px;height:100vh;overflow-y:scroll;overflow-x:hidden;position:fixed;left:0;top:0;background:#2c3e50;color:#fff;padding:20px;z-index:1000;transition:width .3s ease-in-out}._sidebar_i9jms_1::-webkit-scrollbar{width:5px}._sidebar_i9jms_1::-webkit-scrollbar-track{background:#0000;border-radius:10px}._sidebar_i9jms_1::-webkit-scrollbar-thumb{background-color:#888;border-radius:10px}._sidebar_i9jms_1::-webkit-scrollbar-thumb:hover{background-color:#555}._open_i9jms_67{width:250px}._closed_i9jms_75{width:70px;padding:20px 10px;overflow:hidden;white-space:nowrap}._hamburger_i9jms_89{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;margin-bottom:20px;display:block;text-align:right}._logo_i9jms_111{font-size:20px;font-weight:700;margin-bottom:20px;text-align:center;transition:opacity .3s ease-in-out}._closed_i9jms_75 ._logo_i9jms_111{opacity:0}._sidebar_i9jms_1 ul{list-style:none;padding:0;cursor:pointer;position:relative}._sidebar_i9jms_1 li{padding:10px;border-radius:5px}._sidebar_i9jms_1 li a{color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px;padding:10px;transition:background .3s}._sidebar_i9jms_1 li:hover{background:#34495e}._closed_i9jms_75 li a{justify-content:center;gap:0}._closed_i9jms_75 li a span{display:none}._active_i9jms_209{background:#1abc9c}._dropdownMenu_i9jms_217{list-style:none;padding-left:20px}._dropdownMenu_i9jms_217 li{padding:5px 0}._dropdownMenu_i9jms_217 li:hover{background:#1abc9c}._dropdown_i9jms_217 span{cursor:pointer;display:flex;align-items:center;padding:10px;text-align:left;width:100%}._navbar2_8h9fb_1{display:flex;justify-content:flex-end;align-items:center;background:#fff;padding:15px 20px;box-shadow:0 2px 4px #0000001a;position:fixed;top:0;left:250px;width:calc(100% - 250px);height:60px;z-index:900;transition:left .3s ease-in-out,width .3s ease-in-out}._main-content_8h9fb_35._closed_8h9fb_35 ._navbar2_8h9fb_1{left:70px;width:calc(100% - 70px)}._logoutBtn_8h9fb_47{background:#e74c3c;color:#fff;border:none;padding:12px 20px;cursor:pointer;border-radius:5px;font-size:16px;transition:background .3s;width:140px;text-align:center;margin-right:40px}._logoutBtn_8h9fb_47:hover{background:#c0392b}.homepage-container{display:flex;height:100vh}.main-content{margin-top:60px;margin-left:250px;padding:20px;transition:margin-left .3s ease-in-out}.main-content.closed{margin-left:70px}.content{margin-top:20px}.dashboard-cards{display:flex;gap:20px;margin-top:20px}.card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center;font-size:16px;font-weight:700;cursor:pointer;transition:transform .2s ease-in-out;width:200px}.card:hover{transform:scale(1.05);background:#f1f1f1;display:flex}.permintaanContainer{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a}.permintaanTable{width:100%;border-collapse:collapse;margin-top:20px}.permintaanTable th,.permintaanTable td{border:1px solid #ddd;padding:10px;text-align:center}.permintaanTable th{background-color:#2c3e50;color:#fff}.signBtn,.detailBtn,.editBtn,.deleteBtn{padding:5px 10px;border:none;border-radius:4px;cursor:pointer;margin:2px}.signBtn{background:#3498db;color:#fff}.detailBtn{background:#2ecc71;color:#fff}.editBtn{background:#f1c40f;color:#000}.deleteBtn{background:#e74c3c;color:#fff}.signBtn:hover{background:#2980b9}.detailBtn:hover{background:#27ae60}.editBtn:hover{background:#f39c12}.deleteBtn:hover{background:#c0392b}.gambar-ttd-container{max-width:900px;margin:auto;padding:20px;text-align:left}.gambar-ttd-title{font-size:22px;font-weight:700;color:#333;margin-bottom:20px}input[type=file]{display:block;margin:10px 0}.file-name{font-size:14px;color:#333;margin-top:5px}.preview-image{width:auto;height:120px;margin-top:10px;display:block;border:1px solid #ddd;border-radius:5px}.save-button{margin-top:10px;background-color:#28a745;color:#fff;padding:8px 15px;border:none;border-radius:5px;cursor:pointer;font-size:14px}.save-button:hover{background-color:#218838}.diunggah-container{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.diunggah-container h2{font-size:20px;margin-bottom:15px;color:#333}.diunggah-table{width:100%;border-collapse:collapse;text-align:left}.diunggah-table th,.diunggah-table td{padding:10px;border:1px solid #ddd}.diunggah-table th{background-color:#2c3e50}.aksi-buttons{display:flex;gap:5px}.aksi-buttons button{border:none;padding:6px 12px;border-radius:5px;cursor:pointer}.ditandatangani-container{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.ditandatangani-container h2{font-size:20px;margin-bottom:15px;color:#333}.ditandatangani-table{border-collapse:collapse;text-align:left}.ditandatangani-table th,.ditandatangani-table td{border:1px solid #ddd;padding:10px;text-align:center}.ditandatangani-table th{background-color:#2c3e50}.detail-btn{background:#3498db;color:#fff}.download-btn{background:#2ecc71;color:#fff}.delete-btn{background:#e74c3c;color:#fff}.detail-btn:hover{background:#2980b9}.delete-btn:hover{background:#c0392b}.tandaTangani{background:#fff;max-width:700px;margin:30px auto;padding:25px;border-radius:12px;box-shadow:0 4px 15px #0000001a;text-align:center}input[type=file]{width:95%!important;max-width:500px!important;display:block!important;margin:10px auto!important}#actionBtn{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px;flex-wrap:wrap}@media (max-width: 768px){.tandaTangani{max-width:90%}.file-upload-label{font-size:14px;padding:10px 16px}button{padding:10px 15px;font-size:14px}.e-signature{width:100%;height:200px}}.tandaTangan{background:#fff;max-width:700px;margin:30px auto;padding:25px;border-radius:12px;box-shadow:0 4px 15px #0000001a;text-align:center}h1{font-size:24px;color:#333;margin-bottom:15px;font-weight:600}input[type=file]{width:95%!important;max-width:500px!important;display:block;margin:10px auto}.file-upload-label{display:inline-block;padding:12px 20px;background:#007bff;color:#fff;font-size:15px;border-radius:6px;cursor:pointer;transition:all .3s ease}.file-upload-label:hover{background:#0056b3}.file-info{font-size:14px;color:#666;margin-top:10px}.actionBtn{display:flex;gap:5px}.actionBtn button{border:none;padding:6px 12px;border-radius:5px;cursor:pointer}button,.e-btn{padding:12px 18px;margin:10px;border:none;cursor:pointer;font-size:15px;border-radius:6px;transition:all .3s ease-in-out}button.primary,.e-btn.e-primary{background:#28a745;color:#fff}button.primary:hover{background:#218838}button.secondary,.e-btn.e-secondary{background:#dc3545;color:#fff}button.secondary:hover{background:#c82333}.e-signature{border:2px dashed #007bff;padding:15px;background:#fff;width:420px;height:220px;display:flex;justify-content:center;align-items:center;margin:20px auto;border-radius:8px}.pdf-stage{border:2px solid #ccc;margin-top:20px;border-radius:10px;overflow:hidden}#uploadBtn{position:absolute;bottom:20px;right:20px;z-index:10}.pdf-navigation{display:flex;justify-content:center;align-items:center;gap:10px;margin:20px 0}.pdf-navigation button{background-color:#007bff;color:#fff;border:none;padding:8px 15px;font-size:14px;border-radius:5px;cursor:pointer;transition:background .3s ease}.pdf-navigation button:disabled{background-color:#ccc;cursor:not-allowed}.pdf-navigation span{font-size:16px;font-weight:700}@media (max-width: 768px){.tandaTangan{max-width:90%}.file-upload-label{font-size:14px;padding:10px 16px}button{padding:10px 15px;font-size:14px}.e-signature{width:100%;height:200px}}.SertifDigi-container{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.SertifDigi-container h2{font-size:20px;margin-bottom:15px;color:#333}.SertifDigi-table{border-collapse:collapse;text-align:left}.SertifDigi-table th,.SertifDigi-table td{border:1px solid #ddd;padding:10px;text-align:center}.SertifDigi-table th{background-color:#2c3e50}.aksi-buttons,.aksi-buttons button{border:none;padding:6px 12px;border-radius:5px;cursor:pointer}.revoke-btn{background:#6c757d;color:#fff;align-items:center;width:auto}.buat-sertifikat-btn{top:10px;left:10px;padding:8px 14px;border-radius:5px;font-size:14px;font-weight:700;cursor:pointer;border:none;box-shadow:2px 2px 5px #0003;background:#2ecc71;color:#fff}.revoke-btn:hover{background:#5a6268}.download-btn:hover{background:#27ae60}.status{display:inline-block;padding:5px 10px;border-radius:5px;font-weight:700;text-align:center;min-width:80px}.status.aktif{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status.kadaluarsa{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.unggah{text-align:center;max-width:600px;margin:20px auto}h2,h3{margin-bottom:10px}table{width:100%;border-collapse:collapse;margin-top:10px}table,th,td{border:1px solid #ddd}th,td{padding:8px;text-align:left}th{background-color:#007bff;color:#fff}input[type=text],input[type=number]{width:95%;padding:5px;margin:2px 0}button{padding:5px 10px;margin-top:5px;border:none;cursor:pointer}button.primary{background-color:#28a745;color:#fff}button.secondary{background-color:#dc3545;color:#fff}button:hover{opacity:.8}.card{display:flex;align-items:flex-start;background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;border-left:6px solid #007bff;width:100%}.card-content{flex:1;padding-left:15px}.card-title{font-size:18px;font-weight:700;margin-bottom:8px}.info-text{font-size:14px;color:#555}.buatSertifcontainer{max-width:500px;margin:50px auto;background:#fff;padding:20px;border-radius:8px;box-shadow:2px 2px 10px #0000001a;font-family:Arial,sans-serif}.header{font-size:22px;font-weight:700;margin-bottom:15px;color:#2d3748}.info{background:#f7fafc;border-left:4px solid #38b2ac;padding:15px;margin-bottom:20px;border-radius:5px}.info h3{font-size:16px;margin-bottom:5px}.info ul{list-style-type:disc;margin-left:20px;font-size:14px}.warning{color:#e53e3e;font-weight:700}.data-box{background:#edf2f7;padding:15px;border-radius:5px;box-shadow:2px 2px 5px #0000001a;margin-bottom:15px}.input-group{display:flex;flex-direction:column;margin-bottom:15px}.input-group label{font-weight:700;margin-bottom:5px}.input-field{width:100%;padding:8px;border:1px solid #cbd5e0;border-radius:5px;font-size:14px}.save-btn{width:100%;background-color:#38a169;color:#fff;padding:10px;border:none;border-radius:5px;font-size:16px;cursor:pointer;transition:background-color .3s}.save-btn:hover{background-color:#2f855a}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.hide-navbar .navbar{display:none}
