@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap";:root{--primary-900:#07192f;--primary-800:#0b2240;--primary-700:#0f315a;--primary-600:#184479;--primary-500:#2563eb;--gold-600:#a47d17;--gold-500:#c59b27;--gold-400:#dfb236;--gold-300:#f3ce63;--gold-100:#fef9e7;--bg-main:#f4f7fb;--bg-card:#fff;--bg-subtle:#f8fafc;--text-main:#0f172a;--text-muted:#64748b;--text-subtle:#94a3b8;--border-color:#e2e8f0;--border-focus:#0f315a;--success:#10b981;--success-bg:#ecfdf5;--warning:#f59e0b;--warning-bg:#fffbeb;--danger:#ef4444;--danger-bg:#fef2f2;--info:#0284c7;--info-bg:#f0f9ff;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--primary-900);font-weight:700;line-height:1.25}.btn{font-family:var(--font-sans);cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary-800), var(--primary-700));color:#fff;box-shadow:0 2px 4px #0b224033}.btn-primary:hover{background:linear-gradient(135deg, var(--primary-700), var(--primary-600));transform:translateY(-1px);box-shadow:0 4px 10px #0b22404d}.btn-gold{background:linear-gradient(135deg, var(--gold-500), var(--gold-400));color:#0b2240;font-weight:700;box-shadow:0 2px 6px #c59b274d}.btn-gold:hover{background:linear-gradient(135deg, var(--gold-400), var(--gold-300));transform:translateY(-1px);box-shadow:0 4px 12px #c59b2766}.btn-secondary{color:var(--text-main);border-color:var(--border-color);background:#fff}.btn-secondary:hover{background:var(--bg-subtle);border-color:#cbd5e1}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669}.btn-sm{border-radius:6px;padding:6px 12px;font-size:12.5px}.prima-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:12px;padding:24px;transition:box-shadow .2s,border-color .2s}.prima-card:hover{box-shadow:var(--shadow-md)}.status-badge{letter-spacing:.3px;text-transform:uppercase;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.status-badge.DIAJUKAN{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.status-badge.VERIFIKASI_ADMIN{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.status-badge.PERSETUJUAN_ATASAN{color:#7e22ce;background:#faf5ff;border:1px solid #e9d5ff}.status-badge.DISETUJUI{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.status-badge.REVISI{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.status-badge.DITOLAK{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.form-input,.form-select,.form-textarea{width:100%;font-family:var(--font-sans);color:var(--text-main);border:1px solid var(--border-color);background:#fff;border-radius:8px;outline:none;padding:10px 14px;font-size:14px;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-700);box-shadow:0 0 0 3px #0f315a1f}.stepper-container{justify-content:space-between;align-items:center;margin:32px 0 20px;display:flex;position:relative}.stepper-line{z-index:1;background:#e2e8f0;height:3px;position:absolute;top:18px;left:40px;right:40px}.stepper-progress{background:var(--success);z-index:2;height:3px;transition:width .4s;position:absolute;top:18px;left:40px}.stepper-node{z-index:3;text-align:center;flex-direction:column;align-items:center;width:140px;display:flex;position:relative}.stepper-circle{width:38px;height:38px;color:var(--text-muted);background:#fff;border:2px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:all .3s;display:flex}.stepper-node.completed .stepper-circle{background:var(--success);border-color:var(--success);color:#fff}.stepper-node.current .stepper-circle{background:var(--primary-700);border-color:var(--gold-400);color:#fff;animation:2s infinite pulseNode;box-shadow:0 0 0 4px #c59b2740}.stepper-node.revision .stepper-circle{background:var(--warning);border-color:var(--warning);color:#fff}.stepper-node.rejected .stepper-circle{background:var(--danger);border-color:var(--danger);color:#fff}.stepper-label{color:var(--text-muted);margin-top:8px;font-size:12px;font-weight:600}.stepper-node.completed .stepper-label,.stepper-node.current .stepper-label{color:var(--primary-900);font-weight:700}@keyframes pulseNode{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0b2240a6;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{box-shadow:var(--shadow-xl);background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) scaleUp;display:flex;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.prima-table{border-collapse:collapse;text-align:left;width:100%;font-size:13.5px}.prima-table th{background:var(--bg-subtle);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color);padding:12px 16px;font-size:12px;font-weight:700}.prima-table td{border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle;padding:14px 16px}.prima-table tr:hover td{background:#f8fafc}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media print{body{background:#fff!important}.no-print{display:none!important}.print-only{display:block!important}}
