:root{--primary-gradient:linear-gradient(135deg,#667eea 0%,#764ba2 100%);--primary-color:#667eea;--primary-dark:#764ba2;--primary-light:#667eea1a;--success-gradient:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);--success-color:#11998e;--success-light:#d4edda;--success-dark:#155724;--warning-gradient:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);--warning-color:#f093fb;--warning-light:#fff3cd;--warning-dark:#856404;--danger-gradient:linear-gradient(135deg,#eb3349 0%,#f45c43 100%);--danger-color:#eb3349;--danger-light:#f8d7da;--danger-dark:#721c24;--info-gradient:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);--info-color:#4facfe;--info-light:#cce5ff;--info-dark:#004085;--purple-gradient:linear-gradient(135deg,#a855f7 0%,#6366f1 100%);--text-primary:#1a1a2e;--text-secondary:#2c3e50;--text-muted:#666;--text-light:#999;--bg-body:#f5f7fa;--bg-white:#fff;--bg-light:#f8f9fa;--bg-hover:#f1f5f9;--border-color:#ddd;--border-light:#eee;--border-focus:#667eea;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 12px #0000001f;--shadow-xl:0 20px 60px #0000004d;--shadow-primary:0 4px 12px #667eea66;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:20px;--transition-fast:.2s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;--font-xs:.75rem;--font-sm:.85rem;--font-base:.875rem;--font-md:.95rem;--font-lg:1rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.75rem;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px}.gradient-primary{background:var(--primary-gradient)}.gradient-success{background:var(--success-gradient)}.gradient-warning{background:var(--warning-gradient)}.gradient-danger{background:var(--danger-gradient)}.gradient-info{background:var(--info-gradient)}.gradient-purple{background:var(--purple-gradient)}.text-primary{color:var(--primary-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.text-info{color:var(--info-color)}.text-muted{color:var(--text-muted)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.sidebar{color:#fff;z-index:100;background:linear-gradient(#1a1c2e 0%,#2d3250 100%);flex-direction:column;width:260px;height:100vh;transition:transform .3s,width .3s;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.closed{transform:translate(-100%)}.sidebar-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;align-items:center;gap:12px;padding:20px 15px;display:flex}.logo-icon{color:#667eea;flex-shrink:0;font-size:36px}.logo-img{object-fit:contain;background:#fff;border-radius:8px;flex-shrink:0;width:45px;height:45px;padding:4px}.logo-text h1{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.35rem;font-weight:700}.logo-text p{color:#888;white-space:nowrap;margin:0;font-size:.7rem}.sidebar-nav{flex:1;padding:15px 0;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.sidebar-nav ul{margin:0;padding:0;list-style:none}.sidebar-nav li{margin:4px 12px}.sidebar-nav li.nav-divider{border-top:1px solid #ffffff1a;margin-top:16px;margin-bottom:8px;padding:12px 14px 0}.sidebar-nav li.nav-divider span{color:#7c7f91;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.sidebar-nav a{color:#b0b3c5;white-space:nowrap;border-radius:8px;align-items:center;gap:12px;padding:11px 14px;font-size:14px;text-decoration:none;transition:all .3s;display:flex}.sidebar-nav a:hover{color:#667eea;background:#667eea26}.sidebar-nav a.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 4px 15px #667eea4d}.nav-icon{flex-shrink:0;justify-content:center;width:22px;font-size:18px;display:flex}.sidebar-footer{text-align:center;border-top:1px solid #ffffff1a;flex-shrink:0;padding:15px}.sidebar-footer p{color:#666;margin:0;font-size:11px}.sidebar-close{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:background .3s;display:none;position:absolute;top:15px;right:15px}.sidebar-close:hover{background:#fff3}@media (max-width:1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close{display:flex}}@media (max-width:768px){.sidebar{width:280px}.sidebar-header{padding:15px 50px 15px 15px}}@media (max-width:480px){.sidebar{width:100%;max-width:300px}}.header{z-index:50;background:#fff;justify-content:space-between;align-items:center;gap:15px;height:70px;padding:0 25px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #0000000d}.header-left{flex:1;align-items:center;gap:15px;min-width:0;display:flex}.toggle-btn{color:#555;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:10px;font-size:20px;transition:background .3s}.toggle-btn:hover{background:#f5f5f5}.header-title{min-width:0;overflow:hidden}.header-title h2{color:#2c3e50;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.15rem;overflow:hidden}.header-title p{color:#888;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.75rem;overflow:hidden}.header-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.notification-btn{color:#555;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:10px;font-size:18px;text-decoration:none;transition:background .3s;display:flex;position:relative}.notification-btn:hover{color:#1e40af;background:#f5f5f5}.notification-badge{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:600;animation:2s infinite pulse-notification;display:flex;position:absolute;top:2px;right:2px;box-shadow:0 2px 4px #ef444466}@keyframes pulse-notification{0%{transform:scale(1);box-shadow:0 2px 4px #ef444466}50%{transform:scale(1.1);box-shadow:0 2px 8px #ef444499}to{transform:scale(1);box-shadow:0 2px 4px #ef444466}}.user-dropdown{position:relative}.user-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:6px 12px;transition:background .3s;display:flex}.user-btn:hover{background:#f5f5f5}.user-avatar{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;display:flex}.user-info{text-align:left}.user-name{color:#2c3e50;white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:13px;font-weight:600;display:block;overflow:hidden}.user-role{color:#888;text-transform:capitalize;font-size:11px;display:block}.dropdown-menu{z-index:100;background:#fff;border-radius:10px;min-width:180px;margin-top:8px;padding:8px 0;position:absolute;top:100%;right:0;box-shadow:0 5px 20px #00000026}.dropdown-item{color:#555;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:14px;text-decoration:none;transition:background .3s;display:flex}.dropdown-item:hover{background:#f5f5f5}.dropdown-item.logout{color:#eb3349}.dropdown-menu hr{border:none;border-top:1px solid #eee;margin:8px 0}@media (max-width:1024px){.header{padding:0 20px}.header-title h2{font-size:1rem}}@media (max-width:768px){.header{height:60px;padding:0 15px}.header-title,.user-info{display:none}.user-avatar{width:36px;height:36px}.toggle-btn,.notification-btn{padding:8px}.user-btn{padding:5px 8px}}@media (max-width:480px){.header{gap:8px;padding:0 10px}.header-right{gap:5px}.dropdown-menu{min-width:160px;right:-10px}.dropdown-item{padding:10px 14px;font-size:13px}}.layout{width:100%;min-height:100vh;display:flex;overflow-x:hidden}.main-content{flex:1;width:calc(100% - 260px);min-width:0;max-width:100%;margin-left:260px;transition:margin-left .3s;overflow-x:hidden}.layout.sidebar-closed .main-content{width:100%;margin-left:0}.page-content{background:#f5f7fa;width:100%;max-width:100%;min-height:calc(100vh - 70px);padding:30px;overflow-x:auto}.sidebar-overlay{z-index:99;opacity:0;background:#00000080;transition:opacity .3s;display:none;position:fixed;inset:0}.sidebar-overlay.active{opacity:1;display:block}@media (max-width:1024px){.main-content{width:100%;margin-left:0}.page-content{padding:20px}}@media (max-width:768px){.page-content{padding:15px;overflow-x:hidden}.sidebar-overlay{display:none}.sidebar-overlay.active{display:block}}@media (max-width:480px){.page-content{padding:10px}}:root{--primary-color:#1e40af;--primary-dark:#1e3a8a;--primary-light:#3b82f6;--secondary-color:#0ea5e9;--accent-color:#f59e0b;--text-dark:#1f2937;--text-light:#6b7280;--text-white:#fff;--bg-light:#f8fafc;--bg-white:#fff;--border-color:#e5e7eb;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--gradient-primary:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);--gradient-hero:linear-gradient(135deg,#1e3a8a 0%,#1e40af 50%,#0369a1 100%)}.landing-page{color:var(--text-dark);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}.landing-page *{box-sizing:border-box}.landing-navbar{z-index:1000;background:0 0;padding:1rem 2rem;transition:all .3s;position:fixed;top:0;left:0;right:0}.landing-navbar.scrolled{box-shadow:var(--shadow-md);background:#fffffffa;padding:.75rem 2rem}.nav-container{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;display:flex}.nav-brand{align-items:center;gap:.75rem;display:flex}.nav-logo{width:auto;height:48px}.nav-brand-text{flex-direction:column;display:flex}.nav-title{color:var(--text-white);font-size:1.125rem;font-weight:700;transition:color .3s}.nav-subtitle{color:#fffc;font-size:.75rem;transition:color .3s}.landing-navbar.scrolled .nav-title{color:var(--primary-color)}.landing-navbar.scrolled .nav-subtitle{color:var(--text-light)}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{color:#ffffffe6;font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--accent-color)}.landing-navbar.scrolled .nav-links a{color:var(--text-dark)}.landing-navbar.scrolled .nav-links a:hover{color:var(--primary-color)}.nav-btn-login{border-radius:50px;background:var(--accent-color)!important;color:var(--text-dark)!important;padding:.625rem 1.5rem!important;font-weight:600!important;transition:all .3s!important}.nav-btn-login:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);background:#d97706!important}.hero-section{background:var(--gradient-hero);justify-content:center;align-items:center;min-height:100vh;padding:6rem 2rem 4rem;display:flex;position:relative}.hero-overlay{pointer-events:none;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.hero-content{text-align:center;z-index:1;max-width:900px;position:relative}.hero-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-white);background:#ffffff26;border:1px solid #fff3;border-radius:50px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;display:inline-flex}.hero-title{color:var(--text-white);margin-bottom:1.5rem;font-size:3.5rem;font-weight:800;line-height:1.2}.hero-highlight{background:linear-gradient(90deg,#fbbf24,#f59e0b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:block}.hero-description{color:#ffffffd9;max-width:700px;margin:0 auto 2.5rem;font-size:1.25rem;line-height:1.8}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem;display:flex}.btn-primary{background:var(--accent-color);color:var(--text-dark);cursor:pointer;border:none;border-radius:50px;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary:hover{background:#d97706;transform:translateY(-3px);box-shadow:0 10px 20px #f59e0b4d}.btn-secondary{color:var(--text-white);background:0 0;border:2px solid #ffffff80;border-radius:50px;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-secondary:hover{border-color:var(--text-white);background:#ffffff1a}.hero-stats{flex-wrap:wrap;justify-content:center;gap:4rem;display:flex}.stat-item{text-align:center}.stat-number{color:var(--accent-color);font-size:2.5rem;font-weight:800;display:block}.section-container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-header{text-align:center;margin-bottom:4rem}.section-badge{color:var(--primary-color);text-transform:uppercase;letter-spacing:.5px;background:0 0;border-radius:50px;margin-bottom:1rem;padding:.375rem 1rem;font-size:.8125rem;font-weight:600;display:inline-block}.section-title{color:var(--text-dark);margin-bottom:1rem;font-size:2.5rem;font-weight:700}.section-subtitle{color:var(--text-light);max-width:600px;margin:0 auto;font-size:1.125rem}.features-section{background:var(--bg-white);padding:6rem 0}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.feature-card{background:var(--bg-white);border:1px solid var(--border-color);text-align:center;border-radius:16px;padding:2rem;transition:all .3s}.feature-card:hover{box-shadow:var(--shadow-xl);border-color:var(--primary-light);transform:translateY(-8px)}.feature-icon{background:var(--gradient-primary);width:80px;height:80px;color:var(--text-white);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;font-size:2rem;display:flex}.feature-title{color:var(--text-dark);margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.feature-description{color:var(--text-light);font-size:.9375rem;line-height:1.7}.process-section{background:var(--bg-light);padding:6rem 0}.process-timeline{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.process-step{background:var(--bg-white);box-shadow:var(--shadow-sm);border-radius:16px;padding:2rem;transition:all .3s;position:relative}.process-step:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.step-icon{background:var(--gradient-primary);width:60px;height:60px;color:var(--text-white);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1rem;font-size:1.5rem;display:flex}.step-title{color:var(--text-dark);margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.step-description{color:var(--text-light);font-size:.9375rem;line-height:1.7}.team-section{background:var(--bg-white);padding:6rem 0}.team-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.team-card{background:var(--bg-white);border:1px solid var(--border-color);text-align:center;border-radius:16px;padding:1.5rem;transition:all .3s}.team-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}.team-photo{background:var(--bg-light);border-radius:50%;width:120px;height:120px;margin:0 auto 1rem;overflow:hidden}.team-photo img{object-fit:cover;width:100%;height:100%}.team-photo-placeholder{background:var(--gradient-primary);width:100%;height:100%;color:var(--text-white);justify-content:center;align-items:center;font-size:3rem;display:flex}.team-name{color:var(--text-dark);margin-bottom:.25rem;font-size:1rem;font-weight:600}.team-position{color:var(--text-light);font-size:.875rem}.team-cta{text-align:center}.btn-outline{color:var(--primary-color);border:2px solid var(--primary-color);background:0 0;border-radius:50px;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-outline:hover{background:var(--primary-color);color:var(--text-white)}.faq-section{background:var(--bg-light);padding:6rem 0}.faq-list{max-width:800px;margin:0 auto}.faq-item{background:var(--bg-white);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:1rem;overflow:hidden}.faq-question{width:100%;color:var(--text-dark);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.faq-question:hover{color:var(--primary-color)}.faq-question svg{color:var(--primary-color);flex-shrink:0;transition:transform .3s}.faq-answer{max-height:0;transition:max-height .3s,padding .3s;overflow:hidden}.faq-item.active .faq-answer{max-height:500px;padding:0 1.5rem 1.25rem}.faq-answer p{color:var(--text-light);font-size:.9375rem;line-height:1.7}.simulasi-section{background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 50%,#bbf7d0 100%);padding:6rem 2rem;position:relative;overflow:hidden}.simulasi-section:before{content:"";background:radial-gradient(circle,#22c55e1a 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:-50%;right:-10%}.simulasi-section:after{content:"";background:radial-gradient(circle,#10b98114 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;bottom:-30%;left:-5%}.simulasi-content{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1200px;margin:0 auto;display:grid;position:relative}.section-badge.green{color:#fff;background:linear-gradient(135deg,#059669 0%,#10b981 100%)}.simulasi-text h2{color:var(--text-dark);margin-bottom:1rem;font-size:2.5rem;font-weight:700}.simulasi-text h2 span{background:linear-gradient(135deg,#059669 0%,#10b981 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.simulasi-text>p{color:var(--text-light);margin-bottom:2rem;font-size:1.125rem;line-height:1.8}.simulasi-features{margin:0 0 2rem;padding:0;list-style:none}.simulasi-features li{color:var(--text-dark);align-items:flex-start;gap:.75rem;margin-bottom:1rem;font-size:1rem;display:flex}.simulasi-features li svg{color:#10b981;flex-shrink:0;margin-top:2px;font-size:1.25rem}.btn-simulasi{color:#fff;background:linear-gradient(135deg,#059669 0%,#10b981 100%);border-radius:50px;align-items:center;gap:.75rem;padding:1rem 2.5rem;font-size:1.125rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 4px 15px #10b9814d}.btn-simulasi:hover{transform:translateY(-3px);box-shadow:0 8px 25px #10b98166}.btn-simulasi svg{font-size:1.25rem}.simulasi-illustration{position:relative}.illustration-wrapper{flex-direction:column;align-items:center;gap:1.5rem;display:flex;position:relative}.sim-card{background:#fff;border:1px solid #0000000d;border-radius:16px;width:100%;max-width:320px;padding:1.5rem;transition:all .3s;box-shadow:0 10px 40px #00000014}.sim-card:hover{transform:translateY(-4px);box-shadow:0 15px 50px #0000001f}.sim-card-header{border-bottom:1px solid #f1f5f9;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.sim-card-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.125rem;display:flex}.sim-card-icon.source{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%)}.sim-card-icon.target{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.sim-card-header span{color:var(--text-dark);font-size:.9375rem;font-weight:600}.sim-card-body{flex-direction:column;gap:.75rem;display:flex}.mk-item{background:#f8fafc;border-radius:10px;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:all .2s;display:flex}.mk-item:hover{background:#f1f5f9}.mk-name{color:var(--text-dark);font-size:.875rem;font-weight:500}.mk-sks{color:#3b82f6;background:#eff6ff;border-radius:20px;padding:.25rem .75rem;font-size:.8125rem;font-weight:600}.sim-arrow{align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.arrow-line{background:linear-gradient(90deg,#0000 0%,#10b981 50%,#0000 100%);width:30px;height:2px;animation:1.5s ease-in-out infinite arrowPulse}.arrow-icon-wrapper{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;animation:1.5s ease-in-out infinite arrowBounce;display:flex;box-shadow:0 4px 12px #10b9814d}@keyframes arrowPulse{0%,to{opacity:.5;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1)}}@keyframes arrowBounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.result-content{text-align:center;padding:1.5rem 0}.result-number{background:linear-gradient(135deg,#10b981 0%,#059669 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:800;line-height:1}.result-label{color:var(--text-light);margin-top:.5rem;font-size:1rem;font-weight:500}.result-badge{color:#fff;background:linear-gradient(135deg,#059669 0%,#10b981 100%);border-radius:50px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;display:flex}.result-badge svg{font-size:1rem}.sim-float{background:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;animation:4s ease-in-out infinite float;display:flex;position:absolute;box-shadow:0 8px 24px #0000001a}.float-1{color:#f59e0b;animation-delay:0s;top:0;right:-20px}.float-2{color:#3b82f6;animation-delay:1s;bottom:30%;left:-30px}.float-3{color:#10b981;animation-delay:2s;bottom:0;right:10px}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(10deg)}}@media (max-width:968px){.simulasi-content{text-align:center;grid-template-columns:1fr;gap:3rem}.simulasi-text{order:1}.simulasi-illustration{order:2}.simulasi-features{text-align:left;display:inline-block}.btn-simulasi{margin:0 auto}.illustration-wrapper{max-width:350px;margin:0 auto}.sim-float{display:none}}@media (max-width:480px){.simulasi-section{padding:4rem 1rem}.simulasi-text h2{font-size:1.75rem}.sim-card{padding:1.25rem}.result-number{font-size:3rem}}.cek-pengajuan-section{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);padding:5rem 2rem}.cek-pengajuan-wrapper{max-width:800px;margin:0 auto}.cek-pengajuan-card{background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 10px 40px #0000001a}.cek-form .input-group{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;align-items:center;gap:0;padding:5px;transition:all .3s;display:flex}.cek-form .input-group:focus-within{border-color:var(--primary-light);box-shadow:0 0 0 4px #3b82f61a}.cek-form .input-group .input-icon{color:#9ca3af;padding:0 15px;font-size:1.25rem}.cek-form .input-group input{color:var(--text-dark);background:0 0;border:none;outline:none;flex:1;padding:15px 10px;font-size:1rem}.cek-form .input-group input::placeholder{color:#9ca3af}.cek-form .input-group button{background:var(--gradient-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;align-items:center;gap:8px;padding:15px 25px;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.cek-form .input-group button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #1e40af4d}.cek-form .input-group button:disabled{opacity:.7;cursor:not-allowed}.cek-form .input-group button .spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cek-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:10px;margin-top:15px;padding:12px 16px;font-size:.9375rem;display:flex}.status-result{border:2px solid #e2e8f0;border-radius:15px;margin-top:25px;overflow:hidden}.status-result .status-header{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.status-result .status-header h4{color:var(--text-dark);align-items:center;gap:10px;margin:0;font-size:1.125rem;display:flex}.status-badge-result{color:#fff;border-radius:50px;align-items:center;gap:6px;padding:6px 14px;font-size:.875rem;font-weight:600;display:inline-flex}.status-badge-result .spin{animation:1s linear infinite spin}.status-details{padding:20px}.status-details table{border-collapse:collapse;width:100%}.status-details table tr:not(:last-child){border-bottom:1px solid #f1f5f9}.status-details table td{padding:12px 0;font-size:.9375rem}.status-details table td:first-child{color:#6b7280;width:40%}.status-details table td:last-child{color:var(--text-dark);font-weight:500}.status-details table td.catatan{color:#059669;font-style:italic}.btn-close-result{color:#6b7280;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;width:calc(100% - 40px);margin:0 20px 20px;padding:12px;font-size:.9375rem;font-weight:500;transition:all .2s;display:block}.btn-close-result:hover{color:var(--text-dark);background:#e2e8f0}@media (max-width:640px){.cek-pengajuan-card{padding:1.5rem}.cek-form .input-group{flex-direction:column;gap:10px;padding:10px}.cek-form .input-group .input-icon{display:none}.cek-form .input-group input{text-align:center;width:100%}.cek-form .input-group button{justify-content:center;width:100%}.status-result .status-header{flex-direction:column;align-items:flex-start;gap:10px}.status-details table td{width:100%;padding:8px 0;display:block}.status-details table td:first-child{padding-bottom:0;font-size:.8125rem}.status-details table tr{padding:10px 0;display:block}}.cta-section{background:var(--gradient-hero);padding:6rem 2rem;position:relative}.cta-container{max-width:800px;margin:0 auto}.cta-content{text-align:center}.cta-title{color:var(--text-white);margin-bottom:1rem;font-size:2.5rem;font-weight:700}.cta-description{color:#ffffffd9;margin-bottom:2rem;font-size:1.125rem}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn-cta-primary{background:var(--accent-color);color:var(--text-dark);border-radius:50px;align-items:center;gap:.5rem;padding:1rem 2.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-cta-primary:hover{background:#d97706;transform:translateY(-3px);box-shadow:0 10px 20px #f59e0b4d}.btn-cta-secondary{color:var(--text-white);background:#ffffff26;border:2px solid #ffffff4d;border-radius:50px;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-cta-secondary:hover{background:#ffffff40;border-color:#ffffff80}.landing-footer{color:var(--text-white);background:#0f172a;padding:4rem 2rem 2rem}.footer-container{max-width:1200px;margin:0 auto}.footer-grid{grid-template-columns:2fr 1fr 1fr 1.5fr;gap:3rem;margin-bottom:3rem;display:grid}.footer-logo{width:auto;height:60px;margin-bottom:1rem}.footer-brand h3{margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.footer-brand p{color:#ffffffb3;margin-bottom:.5rem;font-size:.9375rem}.footer-tagline{font-style:italic}.footer-links h4,.footer-contact h4{color:var(--accent-color);margin-bottom:1.25rem;font-size:1rem;font-weight:600}.footer-links ul{margin:0;padding:0;list-style:none}.footer-links li{margin-bottom:.75rem}.footer-links a{color:#ffffffb3;font-size:.9375rem;text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--text-white)}.contact-item{color:#ffffffb3;align-items:flex-start;gap:.75rem;margin-bottom:1rem;font-size:.9375rem;display:flex}.contact-item svg{color:var(--accent-color);flex-shrink:0;margin-top:.25rem}.footer-bottom{text-align:center;border-top:1px solid #ffffff1a;padding-top:2rem}.footer-bottom p{color:#ffffff80;margin-bottom:.25rem;font-size:.875rem}@media (max-width:1024px){.hero-title{font-size:2.75rem}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.nav-links{display:none}.hero-title{font-size:2.25rem}.hero-description{font-size:1rem}.hero-stats{gap:2rem}.stat-number,.section-title{font-size:2rem}.process-timeline{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.cta-title{font-size:2rem}.footer-grid,.simulasi-content{grid-template-columns:1fr;gap:2rem}.simulasi-illustration{order:-1}}@media (max-width:480px){.hero-section{padding:5rem 1rem 3rem}.hero-title{font-size:1.875rem}.hero-buttons{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{justify-content:center;width:100%}.hero-stats{flex-direction:column;gap:1.5rem}.features-grid,.team-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:column;align-items:center}.btn-cta-primary,.btn-cta-secondary{justify-content:center;width:100%}.simulasi-text h2{font-size:1.75rem}.mk-comparison{flex-direction:column}.arrow-icon{transform:rotate(90deg)}.btn-simulasi{justify-content:center;width:100%}}.konversi-publik{background:#f8fafc;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.konversi-publik .loading-container{color:#666;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:100vh;display:flex}.konversi-publik .loading-container .spinner{color:#1e40af;font-size:2.5rem;animation:1s linear infinite spin}.kp-header{z-index:100;background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);padding:15px 0;position:sticky;top:0;box-shadow:0 2px 10px #0000001a}.kp-header .header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px;display:flex}.kp-header .back-link{color:#ffffffe6;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;text-decoration:none;transition:background .2s;display:flex}.kp-header .back-link:hover{background:#ffffff1a}.kp-header .header-brand{align-items:center;gap:12px;display:flex}.kp-header .header-brand img{width:auto;height:45px}.kp-header .header-brand h1{color:#fff;margin:0;font-size:1.25rem}.kp-header .header-brand p{color:#fffc;margin:0;font-size:.8rem}.kp-header .btn-print{color:#1f2937;cursor:pointer;background:#f59e0b;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:all .2s;display:flex}.kp-header .btn-print:hover{background:#d97706;transform:translateY(-2px)}.progress-container{background:#fff;border-bottom:1px solid #e5e7eb;padding:25px 20px}.progress-steps{justify-content:center;align-items:center;max-width:600px;margin:0 auto;display:flex}.progress-step{flex-direction:column;align-items:center;gap:8px;display:flex}.progress-step .step-number{color:#9ca3af;background:#e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.progress-step.active .step-number{color:#fff;background:#1e40af}.progress-step.completed .step-number{color:#fff;background:#059669}.progress-step span{color:#6b7280;text-align:center;font-size:.8rem}.progress-step.active span{color:#1e40af;font-weight:600}.progress-line{background:#e5e7eb;flex:1;height:3px;margin:0 15px 25px}.kp-main{max-width:1200px;margin:0 auto;padding:30px 20px}.step-content{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-header{background:#fff;border-radius:12px;align-items:center;gap:20px;margin-bottom:30px;padding:25px;display:flex;box-shadow:0 2px 8px #0000000f}.step-header .step-icon{color:#1e40af;font-size:2.5rem}.step-header h2{color:#1f2937;margin:0 0 5px;font-size:1.5rem}.step-header p{color:#6b7280;margin:0}.prodi-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;display:grid}.prodi-card{text-align:center;cursor:pointer;background:#fff;border:2px solid #0000;border-radius:12px;padding:30px;transition:all .3s;box-shadow:0 2px 8px #0000000f}.prodi-card:hover{border-color:#3b82f6;transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.prodi-card .prodi-icon{color:#fff;background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;margin:0 auto 15px;font-size:2rem;display:flex}.prodi-card h3{color:#1f2937;margin:0 0 8px;font-size:1.1rem}.prodi-card .prodi-jenjang{color:#1e40af;background:#dbeafe;border-radius:20px;padding:4px 12px;font-size:.8rem;font-weight:500;display:inline-block}.selected-prodi-info{background:#dbeafe;border-radius:8px;align-items:center;gap:10px;margin-bottom:25px;padding:15px 20px;display:flex}.selected-prodi-info span{color:#1e40af;font-size:.9rem}.selected-prodi-info strong{color:#1e40af;font-size:1rem}.selected-prodi-info .btn-change{color:#1e40af;cursor:pointer;background:#fff;border:1px solid #1e40af;border-radius:6px;margin-left:auto;padding:6px 15px;font-size:.8rem;transition:all .2s}.selected-prodi-info .btn-change:hover{color:#fff;background:#1e40af}.jenis-pendaftaran-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;margin-top:20px;display:grid}.jenis-card{text-align:center;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:35px 25px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000014}.jenis-card:before{content:"";opacity:0;background:linear-gradient(90deg,#3b82f6,#8b5cf6);height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.jenis-card:hover{border-color:#3b82f6;transform:translateY(-8px);box-shadow:0 15px 35px #3b82f633}.jenis-card:hover:before{opacity:1}.jenis-card.selected{background:#eff6ff;border-color:#3b82f6}.jenis-card.selected:before{opacity:1}.jenis-card .jenis-icon{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 20px;font-size:2rem;display:flex;box-shadow:0 8px 20px #3b82f64d}.jenis-card h3{color:#1f2937;margin:0 0 12px;font-size:1.15rem;font-weight:600}.jenis-card .jenis-description{color:#6b7280;margin:0;font-size:.9rem;line-height:1.6}.form-section{background:#fff;border-radius:12px;margin-bottom:25px;padding:25px;box-shadow:0 2px 8px #0000000f}.form-section h3{color:#1f2937;border-bottom:1px solid #e5e7eb;align-items:center;gap:10px;margin:0 0 20px;padding-bottom:15px;font-size:1.1rem;display:flex}.form-section h3 svg{color:#1e40af}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#374151;font-size:.85rem;font-weight:500}.form-group input{border:1px solid #d1d5db;border-radius:8px;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.form-group input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.autocomplete-wrapper{position:relative}.autocomplete-suggestions{z-index:100;background:#fff;border:1px solid #d1d5db;border-radius:8px;max-height:250px;margin-top:4px;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 20px #00000026}.autocomplete-suggestions li{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:10px 14px;transition:background .15s}.autocomplete-suggestions li:last-child{border-bottom:none}.autocomplete-suggestions li:hover{background:#f0f9ff}.autocomplete-suggestions li strong{color:#1f2937;font-size:.9rem;display:block}.autocomplete-suggestions li .singkat{color:#6b7280;margin-left:6px;font-size:.8rem}.mk-input-form{margin-bottom:20px}.input-row{flex-wrap:wrap;gap:10px;display:flex}.input-row input,.input-row select{border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:.9rem}.input-row input:focus,.input-row select:focus{border-color:#3b82f6;outline:none}.input-row .input-kode{width:120px}.input-row .input-nama{flex:1;min-width:200px}.input-row .input-sks,.input-row .input-nilai{width:80px}.btn-add-mk{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-weight:500;transition:background .2s;display:flex}.btn-add-mk:hover{background:#047857}.mk-asal-table{overflow-x:auto}.mk-asal-table table{border-collapse:collapse;width:100%;font-size:.9rem}.mk-asal-table th,.mk-asal-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px 15px}.mk-asal-table th{color:#374151;text-transform:uppercase;background:#f8fafc;font-size:.8rem;font-weight:600}.mk-asal-table tfoot td{background:#f8fafc;font-weight:600}.btn-remove-sm{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:6px;padding:6px 10px;transition:background .2s}.btn-remove-sm:hover{background:#fecaca}.empty-state-sm{color:#9ca3af;justify-content:center;align-items:center;gap:10px;padding:30px;display:flex}.step-actions{border-top:1px solid #e5e7eb;justify-content:space-between;margin-top:30px;padding-top:20px;display:flex}.btn-next{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 30px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #1e40af4d}.summary-cards{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px;display:grid}.summary-card{background:#fff;border-radius:12px;align-items:center;gap:15px;padding:20px;display:flex;box-shadow:0 2px 8px #0000000f}.summary-card.highlight{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:2px solid #3b82f6}.summary-card.highlight .summary-icon{color:#1e40af}.summary-card.highlight .summary-value{color:#1e40af;font-weight:800}.summary-card.highlight .summary-label{color:#3b82f6;font-weight:600}.summary-card .summary-icon{color:#1e40af;font-size:1.5rem}.summary-card .summary-value{color:#1e40af;font-size:1.75rem;font-weight:700}.summary-card .summary-label{color:#3b82f6;font-size:.8rem;font-weight:500}.konversi-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.panel{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.panel-header{cursor:pointer;background:#f8fafc;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;transition:background .2s;display:flex}.panel-header:hover{background:#f1f5f9}.panel-header h3{color:#1f2937;align-items:center;gap:10px;margin:0;font-size:.95rem;font-weight:600;display:flex}.panel-header h3 svg{color:#1e40af}.panel-content{max-height:350px;padding:15px;overflow-y:auto}.kurikulum-selector{margin-bottom:15px}.kurikulum-selector select{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:.875rem}.filters{gap:10px;margin-bottom:15px;display:flex}.search-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex}.search-box svg{color:#9ca3af}.search-box input{background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.filters select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:.875rem}.mk-list{flex-direction:column;gap:8px;display:flex}.mk-list.numbered{border:1px solid #e5e7eb;border-radius:8px;gap:0;overflow:hidden}.mk-item-row{cursor:pointer;background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:12px;padding:12px 15px;transition:all .2s;display:flex}.mk-item-row:last-child{border-bottom:none}.mk-item-row:hover:not(.used){background:#eff6ff}.mk-item-row.selected{background:#dbeafe;border-left:4px solid #3b82f6}.mk-item-row.used{opacity:.7;cursor:not-allowed;background:#f8fafc}.mk-item-row .mk-number{color:#fff;background:#1e40af;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:.75rem;font-weight:600;display:flex}.mk-item-row .mk-kode{background:#dbeafe;border-radius:4px;flex-shrink:0;padding:3px 10px;font-size:.75rem;font-weight:600;color:#1e40af!important}.mk-item-row .mk-nama{flex:1;font-size:.875rem;font-weight:500;color:#1f2937!important}.mk-item-row .mk-sks{background:#eff6ff;border-radius:4px;flex-shrink:0;padding:3px 10px;font-size:.75rem;font-weight:600;color:#1e40af!important}.mk-item-row .mk-nilai{border-radius:4px;flex-shrink:0;padding:3px 12px;font-size:.75rem;font-weight:600}.mk-item-row .used-badge{color:#10b981;flex-shrink:0;font-size:1rem}.mk-item{cursor:pointer;background:#f8fafc;border:2px solid #0000;border-radius:8px;flex-direction:column;gap:6px;padding:12px 15px;transition:all .2s;display:flex;position:relative}.mk-item:hover:not(.used){background:#eff6ff;border-color:#bfdbfe}.mk-item.used{opacity:.7;cursor:not-allowed;background:#f8fafc}.mk-item.used .mk-kode,.mk-item.used .mk-nama,.mk-item.used .mk-sks{color:#1e40af!important}.mk-info{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mk-kode{background:#dbeafe;border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600;color:#1e40af!important}.mk-nama{font-size:.85rem;font-weight:600;color:#1e40af!important}.mk-meta{flex-wrap:wrap;gap:10px;display:flex}.mk-sks{background:#eff6ff;border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600;color:#1e40af!important}.mk-nilai,.nilai{border-radius:4px;padding:2px 10px;font-size:.7rem;font-weight:600}.nilai-A,.nilai-Amin{color:#065f46;background:#d1fae5}.nilai-Bplus,.nilai-B,.nilai-Bmin{color:#1e40af;background:#dbeafe}.nilai-Cplus,.nilai-C{color:#92400e;background:#fef3c7}.mk-jenis{border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:500}.mk-jenis.wajib{color:#9d174d;background:#fce7f3}.mk-jenis.pilihan{color:#4338ca;background:#e0e7ff}.mk-semester{color:#6b7280;font-size:.7rem}.used-badge{color:#059669;font-size:1rem;position:absolute;top:10px;right:10px}.selection-preview{background:#fffbeb;border:2px dashed #f59e0b;border-radius:12px;flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:20px;padding:20px;display:flex}.preview-item{flex:1;min-width:180px}.preview-item h4{color:#92400e;text-transform:uppercase;margin-bottom:5px;font-size:.75rem}.preview-item p{color:#1f2937;margin:0;font-size:.85rem}.preview-item p.empty{color:#9ca3af;font-style:italic}.preview-arrow{color:#f59e0b;font-size:1.25rem}.btn-add-konversi{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;transition:background .2s;display:flex}.btn-add-konversi:hover:not(:disabled){background:#047857}.btn-add-konversi:disabled{cursor:not-allowed;background:#9ca3af}.hasil-panel .panel-header{background:#d1fae5}.hasil-panel .panel-header h3 svg{color:#059669}.empty-state{color:#6b7280;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.empty-state svg{color:#d1d5db;margin-bottom:10px;font-size:2.5rem}.empty-state small{color:#9ca3af;margin-top:5px;font-size:.8125rem}.konversi-table{border-collapse:collapse;width:100%;font-size:.85rem}.konversi-table th,.konversi-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px 10px}.konversi-table th{color:#374151;text-transform:uppercase;background:#f8fafc;font-size:.75rem;font-weight:600}.konversi-table .sub-header th{background:#f1f5f9;font-size:.7rem}.konversi-table td .kode{color:#1e40af;font-size:.65rem;font-weight:600;display:block}.konversi-table td .nama{color:#1f2937;font-size:.8rem;display:block}.konversi-table .arrow-icon{color:#f59e0b}.konversi-table tfoot td{background:#f8fafc;font-weight:600}.payment-section{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:2px solid #10b981;border-radius:12px;margin-top:30px;padding:25px}.payment-section h4{color:#065f46;align-items:center;gap:10px;margin:0 0 20px;font-size:1.25rem;display:flex}.payment-details{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000000d}.payment-table{border-collapse:collapse;width:100%}.payment-table td{border-bottom:1px solid #e5e7eb;padding:12px 15px}.payment-table tr:last-child td{border-bottom:none}.payment-table .text-right{text-align:right;font-weight:500}.payment-table .total-row{color:#fff;background:linear-gradient(135deg,#059669 0%,#10b981 100%)}.payment-table .total-row td{border-bottom:none;padding:15px}.payment-table .total-row .total-amount{font-size:1.5rem;font-weight:700}.payment-note{color:#92400e;background:#fef3c7;border-radius:8px;align-items:flex-start;gap:10px;margin-top:15px;padding:12px 15px;font-size:.875rem;line-height:1.5;display:flex}.payment-note svg{flex-shrink:0;margin-top:2px}.print-header,.print-info,.print-footer{display:none}.kp-footer{color:#ffffffb3;text-align:center;background:#1f2937;margin-top:50px;padding:25px 20px}.kp-footer p{margin:5px 0;font-size:.85rem}@media (max-width:1024px){.summary-cards{grid-template-columns:repeat(2,1fr)}.konversi-grid{grid-template-columns:1fr}}@media (max-width:768px){.kp-header .header-container{flex-wrap:wrap;gap:15px}.kp-header .back-link{order:-1;width:100%}.progress-step span{display:none}.step-header{text-align:center;flex-direction:column}.summary-cards{grid-template-columns:repeat(2,1fr)}.selection-preview{text-align:center;flex-direction:column}.preview-arrow{transform:rotate(90deg)}.step-actions{flex-direction:column;gap:15px}.step-actions button{justify-content:center;width:100%}}@media (max-width:480px){.summary-cards{grid-template-columns:1fr}.input-row{flex-direction:column}.input-row input,.input-row select{width:100%!important}.prodi-grid{grid-template-columns:1fr}}@media print{.konversi-publik{background:#fff}.kp-header,.progress-container,.step-header,.summary-cards,.konversi-grid,.selection-preview,.step-actions,.kp-footer,.panel-header,.no-print{display:none!important}.kp-main{padding:0}.hasil-panel{box-shadow:none}.panel-content{max-height:none;padding:0;overflow:visible}.print-header{border-bottom:2px solid #1e40af;justify-content:center;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:20px;display:flex}.print-header .print-logo{height:80px}.print-header .print-title{text-align:center}.print-header h2{color:#1e40af;margin:0;font-size:1.5rem}.print-header h3{color:#374151;margin:5px 0 0;font-size:1.1rem}.print-info{margin-bottom:25px;display:block}.print-info .info-table{border-collapse:collapse;width:100%;font-size:.9rem}.print-info .info-table td{padding:5px 10px}.print-footer{border-top:1px solid #e5e7eb;margin-top:30px;padding-top:20px;display:block}.print-footer .disclaimer{color:#6b7280;text-align:center;font-size:.8rem;font-style:italic}.konversi-table{font-size:.8rem}.konversi-table th,.konversi-table td{border:1px solid #d1d5db;padding:8px}.payment-section{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:2px solid #10b981;margin-top:25px;padding:20px;background:#f0fdf4!important}.payment-section h4{margin-bottom:15px;font-size:1rem}.payment-details{padding:15px;background:#fff!important}.payment-table .total-row{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#10b981!important}.payment-table .total-row td{color:#fff!important}.payment-note{font-size:.75rem}}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon .input-icon{color:#9ca3af;font-size:.9rem;position:absolute;left:12px}.input-with-icon input{padding-left:38px}.form-group label .required{color:#ef4444;margin-left:2px}.btn-submit-pengajuan{color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669 0%,#10b981 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 15px #0596694d}.btn-submit-pengajuan:hover:not(:disabled){background:linear-gradient(135deg,#047857 0%,#059669 100%);transform:translateY(-2px);box-shadow:0 6px 20px #05966966}.btn-submit-pengajuan:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-submit-pengajuan .spinner{animation:1s linear infinite spin}.pengajuan-success-info{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:1px solid #10b981;border-radius:12px;align-items:flex-start;gap:15px;margin-top:20px;padding:20px;display:flex}.pengajuan-success-info .success-icon{color:#059669;flex-shrink:0;font-size:2rem}.pengajuan-success-info .success-content h4{color:#047857;margin:0 0 8px;font-size:1.1rem}.pengajuan-success-info .success-content p{color:#065f46;margin:0 0 5px}.pengajuan-success-info .success-content p strong{color:#047857;background:#fff;border-radius:4px;margin-left:5px;padding:2px 10px;font-size:1.2em;display:inline-block}.pengajuan-success-info .success-content .note{color:#6b7280;margin-top:10px;font-size:.85rem}.simulasi-perolehan .kp-header{background:linear-gradient(135deg,#065f46 0%,#10b981 100%)}.simulasi-perolehan .progress-step.active .step-number{background:#065f46}.simulasi-perolehan .progress-step.active span,.simulasi-perolehan .step-header .step-icon{color:#065f46}.simulasi-perolehan .prodi-card .prodi-icon{background:linear-gradient(135deg,#065f46 0%,#10b981 100%)}.simulasi-perolehan .prodi-card:hover{border-color:#10b981}.simulasi-perolehan .prodi-card .prodi-jenjang{color:#065f46;background:#d1fae5}.simulasi-perolehan .btn-next{background:linear-gradient(135deg,#065f46 0%,#10b981 100%);box-shadow:0 4px 12px #065f464d}.simulasi-perolehan .btn-next:hover{box-shadow:0 6px 16px #065f4666}.info-box.perolehan-info{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;gap:15px;margin-bottom:25px;padding:20px;display:flex}.info-box.perolehan-info>svg{color:#059669;flex-shrink:0;margin-top:2px;font-size:1.5rem}.info-box.perolehan-info strong{color:#065f46;margin-bottom:5px;font-size:.95rem;display:block}.info-box.perolehan-info p{color:#374151;margin:0;font-size:.875rem;line-height:1.6}.info-box.perolehan-info ol{color:#374151;font-size:.875rem;line-height:1.8}.form-card{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000000f}.form-card .form-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px;display:grid}.form-card .form-group.full-width{grid-column:1/-1}.form-card .form-group label{color:#374151;align-items:center;gap:6px;margin-bottom:4px;font-size:.85rem;font-weight:600;display:flex}.form-card .form-group label svg{color:#065f46;font-size:.8rem}.form-card .form-group .required{color:#dc2626}.form-card .form-group input,.form-card .form-group textarea{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.form-card .form-group input:focus,.form-card .form-group textarea:focus{border-color:#10b981;outline:none;box-shadow:0 0 0 3px #10b9811a}.form-card .form-group textarea{resize:vertical}.form-actions{border-top:1px solid #e5e7eb;justify-content:space-between;padding-top:20px;display:flex}.perolehan-grid .panel-content{max-height:500px}.selected-mk-list{flex-direction:column;gap:12px;display:flex}.selected-mk-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;transition:border-color .2s;overflow:hidden}.selected-mk-card:hover{border-color:#10b981}.selected-mk-header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.selected-mk-info{align-items:center;gap:12px;display:flex}.selected-mk-info .mk-number{color:#fff;background:#065f46;border-radius:50%;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:.75rem;font-weight:600;display:flex}.selected-mk-info strong{color:#1f2937;font-size:.875rem;display:block}.selected-mk-info small{color:#6b7280;margin-top:2px;font-size:.75rem;display:block}.btn-remove{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:6px;padding:8px 10px;transition:background .2s}.btn-remove:hover{background:#fecaca}.selected-mk-details{flex-direction:column;gap:10px;padding:12px 15px;display:flex}.detail-row{align-items:center;gap:10px;display:flex}.detail-row label{color:#374151;flex-shrink:0;min-width:130px;font-size:.8rem;font-weight:600}.detail-row select,.detail-row input{border:1px solid #d1d5db;border-radius:6px;flex:1;padding:7px 10px;font-size:.825rem;transition:border-color .2s}.detail-row select:focus,.detail-row input:focus{border-color:#10b981;outline:none;box-shadow:0 0 0 2px #10b9811a}.empty-panel{color:#9ca3af;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.empty-panel svg{margin-bottom:10px;font-size:2.5rem}.empty-panel p{margin:0;font-weight:500}.empty-panel small{font-size:.8rem}.step-nav{border-top:1px solid #e5e7eb;justify-content:space-between;margin-top:25px;padding-top:20px;display:flex}.btn-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#065f46 0%,#10b981 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:14px 35px;font-size:1rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #065f464d}.btn-submit .spin{animation:1s linear infinite spin}.success-box{background:#ecfdf5;border:2px solid #34d399;border-radius:12px;gap:15px;margin-bottom:25px;padding:20px;display:flex}.success-box>svg{color:#059669;flex-shrink:0;margin-top:2px;font-size:1.5rem}.success-box strong{color:#065f46;margin-bottom:5px;display:block}.success-box p{color:#374151;margin:0}.success-box small{color:#6b7280;font-size:.8rem}.ringkasan-section{background:#fff;border-radius:12px;margin-bottom:20px;padding:25px;box-shadow:0 2px 8px #0000000f}.ringkasan-section h3{color:#1f2937;border-bottom:1px solid #e5e7eb;align-items:center;gap:10px;margin:0 0 15px;padding-bottom:12px;font-size:1rem;display:flex}.ringkasan-section h3 svg{color:#065f46}.ringkasan-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;display:grid}.ringkasan-item{flex-direction:column;gap:4px;display:flex}.ringkasan-item label{color:#6b7280;font-size:.8rem;font-weight:500}.ringkasan-item span{color:#1f2937;font-size:.9rem;font-weight:500}.ringkasan-table{border-collapse:collapse;width:100%;font-size:.875rem}.ringkasan-table th,.ringkasan-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px 15px}.ringkasan-table th{color:#374151;text-transform:uppercase;background:#f8fafc;font-size:.8rem;font-weight:600}.ringkasan-table td.center{text-align:center}.ringkasan-table tfoot td{background:#f8fafc}.badge-perolehan{color:#065f46;background:#d1fae5;border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-block}.mk-item-row .mk-semester{color:#6b7280;background:#f3f4f6;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:.7rem}.used-badge{color:#10b981;flex-shrink:0;font-size:1rem}.summary-card.accent{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:2px solid #10b981}.summary-card.accent .summary-icon{color:#065f46}.summary-card.accent .summary-value{color:#065f46;font-weight:800}.summary-card.accent .summary-label{color:#059669;font-weight:600}.semester-filter{min-width:150px}@media print{.simulasi-perolehan .kp-header,.simulasi-perolehan .progress-container,.simulasi-perolehan .step-nav,.simulasi-perolehan .btn-print,.simulasi-perolehan .btn-back,.simulasi-perolehan .btn-submit{display:none!important}.simulasi-perolehan{background:#fff!important}.simulasi-perolehan .kp-main{padding:0!important}.simulasi-perolehan .ringkasan-section,.simulasi-perolehan .summary-cards{break-inside:avoid;box-shadow:none!important}}@media (max-width:768px){.konversi-grid.perolehan-grid,.form-card .form-grid{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(2,1fr)}.detail-row{flex-direction:column;align-items:flex-start}.detail-row label{min-width:unset}.detail-row select,.detail-row input{width:100%}.ringkasan-grid{grid-template-columns:1fr}}@media (max-width:480px){.summary-cards{grid-template-columns:1fr}.selected-mk-header{flex-direction:column;align-items:flex-start;gap:10px}.form-actions,.step-nav{flex-direction:column;gap:10px}.btn-back,.btn-next,.btn-submit{justify-content:center;width:100%}}.upload-bukti-section{border-top:1px dashed #e5e7eb;margin-top:5px;padding-top:10px}.upload-label{color:#374151;align-items:center;gap:6px;margin-bottom:8px;font-size:.8rem;font-weight:600;display:flex}.upload-label svg{color:#065f46}.upload-area{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-upload{color:#065f46;cursor:pointer;background:#ecfdf5;border:1px dashed #10b981;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-upload:hover{background:#d1fae5;border-color:#059669}.upload-hint{color:#9ca3af;font-size:.72rem}.file-list{flex-direction:column;gap:5px;margin-top:8px;display:flex}.file-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:.78rem;display:flex}.file-item .file-icon{color:#065f46;flex-shrink:0;font-size:.9rem}.file-item .file-name{color:#374151;text-overflow:ellipsis;white-space:nowrap;flex:1;max-width:160px;overflow:hidden}.file-item .file-size{color:#9ca3af;flex-shrink:0;font-size:.7rem}.btn-file-remove{color:#dc2626;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:2px 4px;font-size:.8rem;transition:background .2s}.btn-file-remove:hover{background:#fee2e2}.ringkasan-files{flex-direction:column;gap:3px;display:flex}.ringkasan-file{color:#065f46;background:#ecfdf5;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;display:inline-flex}.ringkasan-file svg{font-size:.7rem}.portofolio-publik{background:#f0f2f5;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.pp-header{z-index:100;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:14px 0;position:sticky;top:0;box-shadow:0 2px 12px #667eea4d}.pp-header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.pp-header-left{align-items:center;gap:14px;display:flex}.pp-logo{width:auto;height:42px}.pp-header-text h1{color:#fff;margin:0;font-size:1.15rem;font-weight:700}.pp-header-text p{color:#fffc;margin:0;font-size:.8rem}.pp-header-right{gap:10px;display:flex}.pp-container{max-width:1200px;margin:0 auto;padding:24px}.pp-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.pp-btn-home{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3}.pp-btn-home:hover{background:#ffffff4d}.pp-btn-back{color:#667eea;background:#fff;border:1px solid #e2e8f0;margin-bottom:20px}.pp-btn-back:hover{background:#f8f9fa;box-shadow:0 2px 6px #00000014}.pp-btn-primary{color:#fff;background:#667eea}.pp-btn-primary:hover{background:#5a6fd6}.pp-btn-secondary{color:#4a5568;background:#e2e8f0}.pp-btn-secondary:hover{background:#cbd5e0}.pp-btn-info{color:#fff;background:#38bdf8}.pp-btn-info:hover{background:#0ea5e9}.pp-btn-success{color:#fff;background:#34d399}.pp-btn-success:hover{background:#10b981}.pp-btn-sm{border-radius:6px;padding:5px 10px;font-size:.78rem}.pp-loading{color:#667eea;justify-content:center;align-items:center;gap:10px;padding:60px 20px;font-size:1rem;display:flex}.pp-spinner{font-size:1.4rem;animation:1s linear infinite pp-spin}@keyframes pp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pp-welcome{text-align:center;padding:40px 20px 20px}.pp-welcome-icon{color:#667eea;margin-bottom:16px;font-size:3rem}.pp-welcome h2{color:#1e293b;margin:0 0 8px;font-size:1.5rem}.pp-welcome p{color:#64748b;margin:0}.pp-periode-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:24px;display:grid}.pp-periode-card{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:12px;align-items:center;gap:16px;padding:20px;transition:all .2s;display:flex;box-shadow:0 2px 8px #0000000f}.pp-periode-card:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 16px #667eea26}.pp-periode-icon{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.3rem;display:flex}.pp-periode-info h3{color:#1e293b;margin:0;font-size:1rem}.pp-periode-bar{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:20px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.pp-periode-info h2{color:#1e293b;align-items:center;gap:8px;margin:0;font-size:1.15rem;display:flex}.pp-periode-info p{color:#64748b;margin:4px 0 0;font-size:.85rem}.pp-periode-selector select{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:200px;padding:8px 14px;font-size:.85rem}.pp-periode-selector select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea26}.pp-filter-row{gap:12px;margin-bottom:20px;display:flex}.pp-filter-row .pp-search-bar{flex:1;margin-bottom:0}.pp-prodi-filter{min-width:240px;position:relative}.pp-prodi-filter .pp-filter-icon{color:#94a3b8;pointer-events:none;font-size:.85rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.pp-prodi-filter select{color:#334155;cursor:pointer;appearance:auto;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;height:100%;padding:12px 14px 12px 38px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.pp-prodi-filter select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea26}.pp-search-bar{margin-bottom:20px;position:relative}.pp-search-bar .pp-search-icon{color:#94a3b8;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.pp-search-bar input{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:12px 14px 12px 40px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.pp-search-bar input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea26}.pp-empty{text-align:center;color:#94a3b8;padding:60px 20px}.pp-empty .pp-empty-icon{margin-bottom:12px;font-size:3rem}.pp-empty-tab{text-align:center;color:#94a3b8;padding:40px 20px}.pp-empty-tab .pp-empty-icon{margin-bottom:10px;font-size:2.5rem;display:block}.pp-prodi-group{margin-bottom:24px}.pp-prodi-header{color:#334155;background:linear-gradient(135deg,#667eea10,#764ba210);border-left:4px solid #667eea;border-radius:0 8px 8px 0;align-items:center;gap:8px;margin-bottom:14px;padding:10px 16px;font-size:1rem;font-weight:600;display:flex}.pp-prodi-count{color:#667eea;font-size:.85rem;font-weight:400}.pp-student-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.pp-student-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;transition:all .2s}.pp-student-card:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 16px #667eea1f}.pp-sc-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.pp-sc-avatar{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.1rem;font-weight:700;display:flex}.pp-sc-identity h4{color:#1e293b;margin:0;font-size:.9rem;line-height:1.3}.pp-sc-identity p{color:#667eea;margin:2px 0 0;font-size:.8rem;font-weight:500}.pp-sc-stats{border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;gap:16px;margin-bottom:10px;padding:10px 0;display:flex}.pp-sc-stat{color:#64748b;align-items:center;gap:5px;font-size:.8rem;display:flex}.pp-sc-stat svg{color:#94a3b8}.pp-sc-footer{justify-content:space-between;align-items:center;display:flex}.pp-quick-info{background:#fff;border-radius:12px;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:20px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.pp-qi-item{flex-direction:column;gap:4px;display:flex}.pp-qi-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.pp-qi-value{color:#1e293b;font-size:.9rem;font-weight:500}.pp-badge{border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.pp-badge.perolehan{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.pp-badge-status{border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:.73rem;font-weight:500;display:inline-flex}.pp-badge-status.pending{color:#a16207;background:#fef9c3}.pp-badge-status.info{color:#0369a1;background:#e0f2fe}.pp-badge-status.success{color:#15803d;background:#dcfce7}.pp-badge-status.danger{color:#b91c1c;background:#fee2e2}.pp-badge-status.default{color:#475569;background:#f1f5f9}.pp-tab-nav{background:#fff;border-bottom:2px solid #e2e8f0;border-radius:12px 12px 0 0;gap:4px;padding:10px 10px 0;display:flex}.pp-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:10px 18px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.pp-tab-btn:hover{color:#667eea}.pp-tab-btn.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.pp-tab-count{color:#fff;background:#667eea;border-radius:10px;padding:1px 7px;font-size:.7rem;font-weight:600}.pp-tab-content{background:#fff;border-radius:0 0 12px 12px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #0000000f}.pp-detail-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.pp-detail-section h3{color:#334155;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;margin:0 0 14px;padding-bottom:8px;font-size:.95rem;display:flex}.pp-detail-rows{flex-direction:column;gap:8px;display:flex}.pp-detail-row{gap:12px;font-size:.85rem;display:flex}.pp-detail-row .label{color:#64748b;flex-shrink:0;min-width:140px}.pp-detail-row .value{color:#1e293b;font-weight:500}.pp-subsection{margin-top:24px}.pp-subsection h3{color:#334155;align-items:center;gap:8px;margin:0 0 14px;font-size:.95rem;display:flex}.pp-table-responsive{overflow-x:auto}.pp-table{border-collapse:collapse;width:100%;font-size:.82rem}.pp-table thead th{color:#475569;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:10px 12px;font-weight:600}.pp-table tbody td{color:#334155;border-bottom:1px solid #f1f5f9;padding:9px 12px}.pp-table tbody tr:hover{background:#f8fafc}.pp-table .text-center{text-align:center}.pp-dokumen-grid{grid-template-columns:1fr;gap:10px;display:grid}.pp-dokumen-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:14px;padding:14px;transition:all .2s;display:flex}.pp-dokumen-card:hover{background:#fff;border-color:#667eea}.pp-dc-icon{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;display:flex}.pp-dc-info{flex:1;min-width:0}.pp-dc-info h4{color:#1e293b;margin:0;font-size:.85rem}.pp-dc-filename{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 6px;font-size:.78rem;overflow:hidden}.pp-dc-meta{color:#94a3b8;align-items:center;gap:10px;font-size:.75rem;display:flex}.pp-dc-actions{flex-shrink:0;gap:6px;display:flex}.pp-file-actions{gap:4px;display:flex}.pp-text-muted{color:#94a3b8;align-items:center;gap:4px;font-size:.8rem;display:flex}.pp-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.pp-modal-content{background:#fff;border-radius:12px;flex-direction:column;width:90%;max-width:900px;max-height:90vh;display:flex;overflow:hidden}.pp-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.pp-modal-header h3{color:#1e293b;margin:0;font-size:1rem}.pp-btn-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.5rem}.pp-btn-close:hover{color:#334155}.pp-modal-body{flex:1;padding:0;overflow:auto}.pp-preview-image{width:100%;display:block}.pp-preview-iframe{border:none;width:100%;height:70vh}.pp-modal-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}@media (max-width:768px){.pp-header-container{text-align:center;flex-direction:column;gap:10px}.pp-header-left{flex-direction:column;gap:8px}.pp-container{padding:16px}.pp-periode-bar{flex-direction:column;align-items:stretch}.pp-filter-row{flex-direction:column}.pp-prodi-filter{min-width:unset}.pp-detail-grid,.pp-student-grid{grid-template-columns:1fr}.pp-tab-nav{overflow-x:auto}.pp-tab-btn{white-space:nowrap;padding:8px 12px;font-size:.8rem}.pp-quick-info{flex-direction:column;gap:12px}.pp-detail-row{flex-direction:column;gap:2px}.pp-detail-row .label{min-width:unset}}.auth-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-background{z-index:-1;background:linear-gradient(135deg,#1a1c2e 0%,#2d3250 50%,#424769 100%);position:fixed;inset:0}.auth-shapes{width:100%;height:100%;position:absolute}.shape{opacity:.1;border-radius:50%;position:absolute}.shape-1{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);width:400px;height:400px;animation:8s ease-in-out infinite float;top:-100px;right:-100px}.shape-2{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);width:300px;height:300px;animation:6s ease-in-out infinite reverse float;bottom:-50px;left:-50px}.shape-3{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);width:200px;height:200px;animation:10s ease-in-out infinite float;top:50%;left:50%}.auth-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;width:100%;max-width:420px;padding:40px;box-shadow:0 25px 50px #0000004d}.auth-card.register-card{max-width:480px}.auth-header{text-align:center;margin-bottom:30px}.auth-logo{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 20px;font-size:36px;display:flex;box-shadow:0 10px 30px #667eea66}.auth-header h1{color:#2c3e50;margin-bottom:5px;font-size:1.75rem}.auth-header p{color:#888;font-size:.9rem}.auth-form{margin-bottom:20px}.input-group{align-items:center;display:flex;position:relative}.input-icon{color:#999;z-index:1;font-size:16px;position:absolute;left:15px}.input-group .form-control{padding-left:45px;padding-right:45px}.toggle-password{color:#999;cursor:pointer;background:0 0;border:none;padding:5px;font-size:16px;position:absolute;right:15px}.toggle-password:hover{color:#667eea}.btn-block{width:100%;margin-top:10px;padding:14px 20px;font-size:16px}.auth-footer{text-align:center;border-top:1px solid #eee;padding-top:20px}.auth-footer p{color:#666;font-size:14px}.auth-footer a{color:#667eea;font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}@media (max-width:768px){.auth-container{padding:15px}.auth-card{border-radius:15px;padding:30px 25px}.auth-card.register-card{max-width:100%}.shape-1{width:250px;height:250px;top:-50px;right:-50px}.shape-2{width:200px;height:200px;bottom:-30px;left:-30px}.shape-3{width:120px;height:120px}}@media (max-width:480px){.auth-container{align-items:flex-start;padding:40px 10px 10px}.auth-card{border-radius:12px;padding:25px 20px}.auth-logo{border-radius:15px;width:60px;height:60px;margin-bottom:15px;font-size:28px}.auth-header{margin-bottom:25px}.auth-header h1{font-size:1.4rem}.auth-header p{font-size:.85rem}.form-group{margin-bottom:15px}.form-control{padding:11px 14px;font-size:14px}.input-group .form-control{padding-left:42px;padding-right:42px}.input-icon{font-size:15px;left:14px}.toggle-password{font-size:15px;right:12px}.btn-block{padding:12px 18px;font-size:15px}.auth-footer{padding-top:15px}.auth-footer p{font-size:13px}}.admin-dashboard{padding:0}.dashboard-loading{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:400px;display:flex}.loading-spinner{border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}.dashboard-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.header-content h1{color:#1f2937;margin:0 0 5px;font-size:28px;font-weight:700}.header-content p{color:#6b7280;margin:0;font-size:14px}.refresh-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:flex;box-shadow:0 4px 6px #3b82f640}.refresh-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #3b82f659}.refresh-btn:disabled{opacity:.7;cursor:not-allowed}.refresh-btn .spin{animation:1s linear infinite spin}.stats-cards{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px;display:grid}.stat-card{background:#fff;border-radius:16px;padding:24px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.stat-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0}.stat-card.primary:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.stat-card.success:before{background:linear-gradient(90deg,#10b981,#34d399)}.stat-card.info:before{background:linear-gradient(90deg,#06b6d4,#22d3ee)}.stat-card.warning:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.stat-card-icon{border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:24px;display:flex}.stat-card.primary .stat-card-icon{color:#3b82f6;background:#eff6ff}.stat-card.success .stat-card-icon{color:#10b981;background:#ecfdf5}.stat-card.info .stat-card-icon{color:#06b6d4;background:#ecfeff}.stat-card.warning .stat-card-icon{color:#f59e0b;background:#fffbeb}.stat-card-content{flex-direction:column;display:flex}.stat-value{color:#1f2937;font-size:32px;font-weight:700;line-height:1.2}.stat-card-footer{border-top:1px solid #f3f4f6;margin-top:16px;padding-top:16px}.stat-change{align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.stat-change.positive{color:#10b981}.stat-change.negative{color:#ef4444}.stat-link{color:#3b82f6;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}.stat-link:hover{color:#1d4ed8}.stat-percentage{color:#6b7280;font-size:13px}.charts-row{grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px;display:grid}.chart-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.chart-card.large{grid-column:span 1}.chart-header{padding:20px 24px 0}.chart-header h3{color:#1f2937;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:600;display:flex}.chart-header h3 svg{color:#6b7280}.chart-subtitle{color:#9ca3af;margin-top:4px;font-size:12px;font-weight:400;display:block}.chart-body{padding:20px}.chart-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;box-shadow:0 10px 15px -3px #0000001a}.tooltip-label{color:#1f2937;border-bottom:1px solid #e5e7eb;margin:0 0 8px;padding-bottom:8px;font-weight:600}.chart-tooltip p{margin:4px 0;font-size:13px}.bottom-section{grid-template-columns:2fr 1fr;gap:20px;display:grid}.card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.card-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.card-header h3{color:#1f2937;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:600;display:flex}.card-header h3 svg{color:#6b7280}.view-all-btn{color:#3b82f6;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s}.view-all-btn:hover{background:#eff6ff}.pengajuan-list{flex-direction:column;display:flex}.pengajuan-item{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:16px 0;transition:background .2s;display:flex}.pengajuan-item:last-child{border-bottom:none}.pengajuan-item:hover{background:#f9fafb;margin:0 -24px;padding:16px 24px}.pengajuan-info{flex-direction:column;gap:4px;display:flex}.pengajuan-code{color:#3b82f6;font-family:Monaco,Consolas,monospace;font-size:12px;font-weight:600}.pengajuan-name{color:#1f2937;font-size:14px;font-weight:600}.pengajuan-detail{color:#6b7280;font-size:12px}.pengajuan-meta{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.pengajuan-sks{color:#1f2937;font-size:13px;font-weight:600}.badge{border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-icon{font-size:10px}.badge-warning{color:#d97706;background:#fef3c7}.badge-info{color:#0284c7;background:#e0f2fe}.badge-success{color:#16a34a;background:#dcfce7}.badge-danger{color:#dc2626;background:#fee2e2}.stats-grid-mini{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px;display:grid}.mini-stat{border-radius:12px;align-items:center;gap:12px;padding:16px;transition:transform .2s;display:flex}.mini-stat:hover{transform:translateY(-2px)}.mini-stat.warning{background:#fffbeb}.mini-stat.info{background:#e0f2fe}.mini-stat.success{background:#dcfce7}.mini-stat.danger{background:#fee2e2}.mini-stat-icon{font-size:20px}.mini-stat.warning .mini-stat-icon{color:#d97706}.mini-stat.info .mini-stat-icon{color:#0284c7}.mini-stat.success .mini-stat-icon{color:#16a34a}.mini-stat.danger .mini-stat-icon{color:#dc2626}.mini-stat-content{flex-direction:column;display:flex}.mini-stat-value{color:#1f2937;font-size:20px;font-weight:700;line-height:1.2}.mini-stat-label{color:#6b7280;font-size:12px}.summary-box{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:12px;padding:20px}.summary-item{border-bottom:1px dashed #e2e8f0;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.summary-item:last-child{border-bottom:none}.summary-value{font-size:18px;font-weight:700}.summary-value.success{color:#16a34a}.summary-value.danger{color:#dc2626}.empty-state{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.empty-icon{opacity:.5;margin-bottom:16px;font-size:48px}.empty-state p{margin:0;font-size:14px}@media (max-width:1400px){.stats-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:1200px){.charts-row,.bottom-section{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.stats-cards{grid-template-columns:1fr}.stat-card{padding:20px}.stat-value{font-size:28px}.header-content h1{font-size:24px}.stats-grid-mini{grid-template-columns:1fr}.pengajuan-item{flex-direction:column;align-items:flex-start;gap:12px}.pengajuan-meta{flex-direction:row;justify-content:space-between;align-items:center;width:100%}}@media (max-width:480px){.card-header{flex-direction:column;align-items:flex-start;gap:12px}.chart-body{padding:10px}}.stat-card,.chart-card,.card{animation:.5s forwards fadeIn}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}.data-mahasiswa-rpl{padding:0}.page-header p{color:#64748b;margin:0}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 1px 3px #0000001a}.stat-card.total{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.stat-card.total .stat-info p{color:#ffffffe6}.stat-icon{color:#667eea;background:#f1f5f9;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;display:flex}.stat-info h3{margin:0 0 4px;font-size:1.5rem;font-weight:700}.stat-info p{color:#64748b;margin:0;font-size:.85rem}.filter-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 1px 3px #0000001a}.search-form{gap:12px;margin-bottom:16px;display:flex}.search-input-wrapper{flex:1;position:relative}.search-input-wrapper input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.filter-row{flex-wrap:wrap;gap:16px;display:flex}.filter-group{flex:1;min-width:200px}.filter-group label{color:#475569;align-items:center;gap:6px;margin-bottom:6px;font-size:.85rem;font-weight:500;display:flex}.filter-group select{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 12px;font-size:.9rem}.filter-group select:focus{border-color:#667eea;outline:none}.table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.table-header{border-bottom:1px solid #e2e8f0;padding:16px 20px}.table-header h3{color:#1e293b;margin:0;font-size:1rem}.data-table th,.data-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e2e8f0;padding:12px 16px}.data-table td{color:#334155;font-size:.9rem}.data-table .text-center{text-align:center}.empty-state{text-align:center;color:#94a3b8;font-style:italic;padding:40px!important}.badge{border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.badge.transfer{color:#1d4ed8;background:#dbeafe}.badge.perolehan{color:#15803d;background:#dcfce7}.sks-badge{color:#b45309;background:#fef3c7;border-radius:20px;padding:4px 12px;font-size:.9rem;font-weight:600;display:inline-block}.btn-info{color:#fff;background:#0ea5e9}.btn-info:hover{background:#0284c7}.pagination{border-top:1px solid #e2e8f0;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.page-info{color:#64748b;margin:0 12px;font-size:.9rem}.pagination .btn{min-width:36px}.pagination .btn:disabled{opacity:.5;cursor:not-allowed}.modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:#1e293b;align-items:center;gap:10px;margin:0;font-size:1.25rem;display:flex}.close-btn{cursor:pointer;color:#64748b;background:0 0;border:none;padding:0;font-size:1.75rem;line-height:1}.close-btn:hover{color:#ef4444}.modal-body{padding:24px;overflow-y:auto}.detail-grid{grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px;display:grid}.detail-section{background:#f8fafc;border-radius:12px;padding:20px}.detail-section h3{color:#475569;border-bottom:1px solid #e2e8f0;margin:0 0 16px;padding-bottom:12px;font-size:1rem}.detail-row{border-bottom:1px dashed #e2e8f0;justify-content:space-between;padding:8px 0;display:flex}.detail-row:last-child{border-bottom:none}.detail-row label{color:#64748b;font-size:.9rem}.detail-row span{color:#1e293b;font-weight:500}.nilai-transfer-section{margin-top:24px}.nilai-transfer-section h3{color:#1e293b;align-items:center;gap:8px;margin-bottom:16px;display:flex}.detail-table{border-collapse:collapse;width:100%;font-size:.85rem}.detail-table th,.detail-table td{border:1px solid #e2e8f0;padding:10px 12px}.detail-table th{color:#475569;background:#f1f5f9;font-weight:600}.detail-table td{background:#fff}@media (max-width:992px){.detail-grid{grid-template-columns:1fr}}@media (max-width:768px){.search-form,.filter-row{flex-direction:column}.filter-group{min-width:100%}.stats-grid{grid-template-columns:1fr}.modal-content{max-height:95vh}}.nilai-transfer-rpl{padding:20px}.nilai-transfer-rpl .page-header{margin-bottom:24px}.nilai-transfer-rpl .page-header h1{color:#1a1a2e;align-items:center;gap:12px;margin-bottom:8px;font-size:1.75rem;display:flex}.nilai-transfer-rpl .page-header p{color:#666;font-size:.95rem}.nilai-transfer-rpl .stats-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px;display:grid}.nilai-transfer-rpl .stat-card{background:#fff;border-radius:12px;align-items:center;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #00000014}.nilai-transfer-rpl .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.nilai-transfer-rpl .stat-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex}.nilai-transfer-rpl .stat-icon.blue{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.nilai-transfer-rpl .stat-icon.green{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.nilai-transfer-rpl .stat-icon.purple{background:linear-gradient(135deg,#a855f7 0%,#6366f1 100%)}.nilai-transfer-rpl .stat-icon.orange{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.nilai-transfer-rpl .stat-info h3{color:#1a1a2e;margin:0;font-size:1.75rem;font-weight:700}.nilai-transfer-rpl .stat-info p{color:#666;margin:4px 0 0;font-size:.875rem}.nilai-transfer-rpl .filters-section{background:#fff;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 2px 8px #00000014}.nilai-transfer-rpl .search-form{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.nilai-transfer-rpl .search-input-group{flex:1;min-width:280px;position:relative}.nilai-transfer-rpl .search-icon{color:#999;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.nilai-transfer-rpl .search-input-group input{border:1px solid #ddd;border-radius:8px;width:100%;padding:12px 12px 12px 42px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.nilai-transfer-rpl .search-input-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.nilai-transfer-rpl .search-form select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;min-width:180px;padding:12px 16px;font-size:.95rem}.nilai-transfer-rpl .search-form select:focus{border-color:#667eea;outline:none}.nilai-transfer-rpl .btn-search{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:500;transition:transform .2s,box-shadow .2s;display:flex}.nilai-transfer-rpl .btn-search:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.nilai-transfer-rpl .table-container{background:#fff;border-radius:12px;padding:20px;overflow-x:auto;box-shadow:0 2px 8px #00000014}.nilai-transfer-rpl .table-info{color:#666;margin-bottom:16px;font-size:.9rem}.nilai-transfer-rpl .data-table{border-collapse:collapse;width:100%;font-size:.875rem}.nilai-transfer-rpl .data-table th{text-align:left;color:#1a1a2e;white-space:nowrap;background:#f8f9fa;border-bottom:2px solid #e0e0e0;padding:12px 10px;font-weight:600}.nilai-transfer-rpl .data-table td{vertical-align:top;border-bottom:1px solid #eee;padding:12px 10px}.nilai-transfer-rpl .data-table tr:hover{background:#f8f9ff}.nilai-transfer-rpl .data-table .nim{color:#667eea;font-family:monospace;font-weight:500}.nilai-transfer-rpl .data-table .prodi{white-space:nowrap;text-overflow:ellipsis;max-width:150px;overflow:hidden}.nilai-transfer-rpl .data-table .matkul{max-width:180px}.nilai-transfer-rpl .data-table .matkul-code{color:#888;font-family:monospace;font-size:.8rem;display:block}.nilai-transfer-rpl .data-table .matkul-name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.nilai-transfer-rpl .data-table .center{text-align:center}.nilai-transfer-rpl .avg-grade{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:6px;padding:4px 12px;font-size:.9rem;font-weight:600;display:inline-block}.nilai-transfer-rpl .data-table .semester{white-space:nowrap;font-size:.8rem}.nilai-transfer-rpl .grade{color:#fff;text-align:center;border-radius:4px;min-width:28px;padding:4px 10px;font-size:.85rem;font-weight:600;display:inline-block}.nilai-transfer-rpl .btn-view{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:8px 12px;transition:background .2s}.nilai-transfer-rpl .btn-view:hover{background:#5a6fd6}.nilai-transfer-rpl .no-data{text-align:center;color:#999;padding:40px}.nilai-transfer-rpl .loading{flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.nilai-transfer-rpl .spinner{border:4px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.nilai-transfer-rpl .pagination{border-top:1px solid #eee;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:20px;display:flex}.nilai-transfer-rpl .pagination button{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:10px 20px;font-weight:500;transition:background .2s}.nilai-transfer-rpl .pagination button:disabled{cursor:not-allowed;background:#ccc}.nilai-transfer-rpl .pagination button:not(:disabled):hover{background:#5a6fd6}.nilai-transfer-rpl .page-info{color:#666}.nilai-transfer-rpl .modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.nilai-transfer-rpl .modal-content{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:1000px;max-height:90vh;display:flex;overflow:hidden}.nilai-transfer-rpl .modal-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.nilai-transfer-rpl .modal-header h2{color:#1a1a2e;margin:0;font-size:1.25rem}.nilai-transfer-rpl .close-btn{color:#999;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;font-size:1.25rem;transition:background .2s,color .2s}.nilai-transfer-rpl .close-btn:hover{color:#333;background:#f5f5f5}.nilai-transfer-rpl .modal-body{padding:24px;overflow-y:auto}.nilai-transfer-rpl .detail-summary{background:#f8f9ff;border-radius:12px;margin-bottom:20px;padding:20px}.nilai-transfer-rpl .summary-row{margin-bottom:8px;display:flex}.nilai-transfer-rpl .summary-row .label{color:#666;width:140px;font-weight:500}.nilai-transfer-rpl .summary-row .value{color:#1a1a2e;font-weight:500}.nilai-transfer-rpl .summary-stats{border-top:1px solid #e0e0e0;gap:24px;margin-top:16px;padding-top:16px;display:flex}.nilai-transfer-rpl .summary-stat{text-align:center}.nilai-transfer-rpl .summary-stat .stat-value{color:#667eea;font-size:1.5rem;font-weight:700;display:block}.nilai-transfer-rpl .summary-stat .stat-label{color:#666;font-size:.85rem}.nilai-transfer-rpl .detail-table-wrapper{overflow-x:auto}.nilai-transfer-rpl .detail-table{border-collapse:collapse;width:100%;font-size:.875rem}.nilai-transfer-rpl .detail-table th{color:#fff;text-align:left;background:#667eea;padding:12px 10px;font-weight:500}.nilai-transfer-rpl .detail-table td{border-bottom:1px solid #eee;padding:12px 10px}.nilai-transfer-rpl .detail-table tr:hover{background:#f8f9ff}@media (max-width:768px){.nilai-transfer-rpl .search-form{flex-direction:column}.nilai-transfer-rpl .search-input-group,.nilai-transfer-rpl .search-form select{width:100%;min-width:unset}.nilai-transfer-rpl .btn-search{justify-content:center;width:100%}.nilai-transfer-rpl .stats-cards{grid-template-columns:1fr 1fr}.nilai-transfer-rpl .modal-content{max-height:95vh}}@media (max-width:480px){.nilai-transfer-rpl .stats-cards{grid-template-columns:1fr}.nilai-transfer-rpl .summary-stats{flex-direction:column;gap:12px}}.belum-transfer-rpl{padding:20px}.belum-transfer-rpl .page-header{margin-bottom:24px}.belum-transfer-rpl .page-header h1{color:#1a1a2e;align-items:center;gap:12px;margin-bottom:8px;font-size:1.75rem;display:flex}.belum-transfer-rpl .page-header p{color:#666;font-size:.95rem}.belum-transfer-rpl .stats-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px;display:grid}.belum-transfer-rpl .stat-card{background:#fff;border-radius:12px;align-items:center;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #00000014}.belum-transfer-rpl .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.belum-transfer-rpl .stat-card.warning{border-left:4px solid #f5576c}.belum-transfer-rpl .stat-card.success{border-left:4px solid #38ef7d}.belum-transfer-rpl .stat-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex}.belum-transfer-rpl .stat-icon.blue{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.belum-transfer-rpl .stat-icon.green{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.belum-transfer-rpl .stat-icon.purple{background:linear-gradient(135deg,#a855f7 0%,#6366f1 100%)}.belum-transfer-rpl .stat-icon.orange{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.belum-transfer-rpl .stat-info h3{color:#1a1a2e;margin:0;font-size:1.75rem;font-weight:700}.belum-transfer-rpl .stat-info p{color:#666;margin:4px 0 0;font-size:.875rem}.belum-transfer-rpl .progress-section{background:#fff;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 2px 8px #00000014}.belum-transfer-rpl .progress-header{color:#1a1a2e;justify-content:space-between;margin-bottom:12px;font-weight:500;display:flex}.belum-transfer-rpl .progress-bar{background:#e0e0e0;border-radius:12px;height:24px;overflow:hidden}.belum-transfer-rpl .progress-fill{color:#fff;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);border-radius:12px;justify-content:flex-end;align-items:center;height:100%;padding-right:10px;font-size:.85rem;font-weight:600;transition:width .5s;display:flex}.belum-transfer-rpl .filters-section{background:#fff;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 2px 8px #00000014}.belum-transfer-rpl .search-form{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.belum-transfer-rpl .search-input-group{flex:1;min-width:280px;position:relative}.belum-transfer-rpl .search-icon{color:#999;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.belum-transfer-rpl .search-input-group input{border:1px solid #ddd;border-radius:8px;width:100%;padding:12px 12px 12px 42px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.belum-transfer-rpl .search-input-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.belum-transfer-rpl .search-form select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;min-width:180px;padding:12px 16px;font-size:.95rem}.belum-transfer-rpl .search-form select:focus{border-color:#667eea;outline:none}.belum-transfer-rpl .btn-search{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:500;transition:transform .2s,box-shadow .2s;display:flex}.belum-transfer-rpl .btn-search:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.belum-transfer-rpl .table-container{background:#fff;border-radius:12px;margin-bottom:24px;padding:20px;overflow-x:auto;box-shadow:0 2px 8px #00000014}.belum-transfer-rpl .table-info{color:#666;margin-bottom:16px;font-size:.9rem}.belum-transfer-rpl .data-table{border-collapse:collapse;width:100%;font-size:.875rem}.belum-transfer-rpl .data-table th{text-align:left;color:#1a1a2e;white-space:nowrap;background:#f8f9fa;border-bottom:2px solid #e0e0e0;padding:12px 10px;font-weight:600}.belum-transfer-rpl .data-table td{vertical-align:top;border-bottom:1px solid #eee;padding:12px 10px}.belum-transfer-rpl .data-table tr:hover{background:#fff8f0}.belum-transfer-rpl .data-table .nim{color:#667eea;font-family:monospace;font-weight:500}.belum-transfer-rpl .data-table .prodi{white-space:nowrap;text-overflow:ellipsis;max-width:150px;overflow:hidden}.belum-transfer-rpl .data-table .pt-asal{white-space:nowrap;text-overflow:ellipsis;color:#666;max-width:180px;font-size:.8rem;overflow:hidden}.belum-transfer-rpl .data-table .center{text-align:center}.belum-transfer-rpl .badge-rpl{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-block}.belum-transfer-rpl .status-badge{border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-block}.belum-transfer-rpl .status-badge.aktif{color:#155724;background:#d4edda}.belum-transfer-rpl .status-badge.tidak-aktif{color:#721c24;background:#f8d7da}.belum-transfer-rpl .no-data{text-align:center;color:#999;padding:40px}.belum-transfer-rpl .loading{flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.belum-transfer-rpl .spinner{border:4px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.belum-transfer-rpl .pagination{border-top:1px solid #eee;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:20px;display:flex}.belum-transfer-rpl .pagination button{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:10px 20px;font-weight:500;transition:background .2s}.belum-transfer-rpl .pagination button:disabled{cursor:not-allowed;background:#ccc}.belum-transfer-rpl .pagination button:not(:disabled):hover{background:#5a6fd6}.belum-transfer-rpl .page-info{color:#666}.belum-transfer-rpl .prodi-stats{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.belum-transfer-rpl .prodi-stats h3{color:#1a1a2e;margin:0 0 16px;font-size:1.1rem}.belum-transfer-rpl .prodi-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.belum-transfer-rpl .prodi-item{background:#f8f9fa;border-left:3px solid #f5576c;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.belum-transfer-rpl .prodi-name{color:#1a1a2e;font-weight:500}.belum-transfer-rpl .prodi-count{color:#fff;background:#f5576c;border-radius:12px;padding:4px 12px;font-size:.8rem;font-weight:500}.belum-transfer-rpl .tab-navigation{background:#fff;border-radius:12px;gap:8px;margin-bottom:24px;padding:8px;display:flex;box-shadow:0 2px 8px #00000014}.belum-transfer-rpl .tab-btn{color:#666;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.belum-transfer-rpl .tab-btn:hover{color:#667eea;background:#667eea1a}.belum-transfer-rpl .tab-btn.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.belum-transfer-rpl .tab-btn.warning.active{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.belum-transfer-rpl .tab-badge{background:#fff3;border-radius:10px;padding:2px 8px;font-size:.8rem}.belum-transfer-rpl .tab-btn:not(.active) .tab-badge{background:#00000014}.belum-transfer-rpl .tab-btn:not(.active) .tab-badge.warning{color:#f5576c;background:#f5576c26}.belum-transfer-rpl .inkonsisten-info{background:linear-gradient(135deg,#fff5f5 0%,#fff0f5 100%);border:1px solid #f5576c;border-radius:12px;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.belum-transfer-rpl .inkonsisten-info>svg{color:#f5576c;flex-shrink:0;margin-top:2px;font-size:1.5rem}.belum-transfer-rpl .inkonsisten-info strong{color:#f5576c;margin-bottom:4px;font-size:1rem;display:block}.belum-transfer-rpl .inkonsisten-info p{color:#666;margin:0;font-size:.9rem;line-height:1.5}.belum-transfer-rpl .row-warning{background:#fff9f9}.belum-transfer-rpl .row-warning:hover{background:#fff0f0!important}.belum-transfer-rpl .sks-warning{color:#fff;background:linear-gradient(135deg,#f5576c 0%,#f093fb 100%);border-radius:12px;padding:4px 10px;font-size:.85rem;font-weight:600;display:inline-block}@media (max-width:768px){.belum-transfer-rpl .search-form{flex-direction:column}.belum-transfer-rpl .search-input-group,.belum-transfer-rpl .search-form select{width:100%;min-width:unset}.belum-transfer-rpl .btn-search{justify-content:center;width:100%}.belum-transfer-rpl .stats-cards{grid-template-columns:1fr 1fr}.belum-transfer-rpl .tab-navigation{flex-direction:column}}@media (max-width:480px){.belum-transfer-rpl .stats-cards{grid-template-columns:1fr}}.mata-kuliah-rpl{padding:20px}.mata-kuliah-rpl .page-header{margin-bottom:24px}.mata-kuliah-rpl .page-header h1{color:#1a1a2e;align-items:center;gap:12px;margin-bottom:8px;font-size:1.75rem;display:flex}.mata-kuliah-rpl .page-header p{color:#666;font-size:.95rem}.mata-kuliah-rpl .stats-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px;display:grid}.mata-kuliah-rpl .stat-card{background:#fff;border-radius:12px;align-items:center;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #00000014}.mata-kuliah-rpl .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.mata-kuliah-rpl .stat-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex}.mata-kuliah-rpl .stat-icon.blue{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.mata-kuliah-rpl .stat-icon.green{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.mata-kuliah-rpl .stat-icon.purple{background:linear-gradient(135deg,#a855f7 0%,#6366f1 100%)}.mata-kuliah-rpl .stat-icon.orange{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.mata-kuliah-rpl .stat-info h3{color:#1a1a2e;margin:0;font-size:1.75rem;font-weight:700}.mata-kuliah-rpl .stat-info p{color:#666;margin:4px 0 0;font-size:.875rem}.mata-kuliah-rpl .tabs-section{gap:8px;margin-bottom:20px;display:flex}.mata-kuliah-rpl .tab-btn{color:#666;cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.mata-kuliah-rpl .tab-btn:hover{color:#667eea;border-color:#667eea}.mata-kuliah-rpl .tab-btn.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#0000}.mata-kuliah-rpl .filters-section{background:#fff;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 2px 8px #00000014}.mata-kuliah-rpl .search-form{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mata-kuliah-rpl .search-input-group{flex:1;min-width:280px;position:relative}.mata-kuliah-rpl .search-icon{color:#999;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.mata-kuliah-rpl .search-input-group input{border:1px solid #ddd;border-radius:8px;width:100%;padding:12px 12px 12px 42px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.mata-kuliah-rpl .search-input-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.mata-kuliah-rpl .search-form select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;min-width:180px;padding:12px 16px;font-size:.95rem}.mata-kuliah-rpl .search-form select:focus{border-color:#667eea;outline:none}.mata-kuliah-rpl .btn-search{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:500;transition:transform .2s,box-shadow .2s;display:flex}.mata-kuliah-rpl .btn-search:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.mata-kuliah-rpl .table-container{background:#fff;border-radius:12px;padding:20px;overflow-x:auto;box-shadow:0 2px 8px #00000014}.mata-kuliah-rpl .table-info{color:#666;margin-bottom:16px;font-size:.9rem}.mata-kuliah-rpl .data-table{border-collapse:collapse;width:100%;font-size:.875rem}.mata-kuliah-rpl .data-table th{text-align:left;color:#1a1a2e;white-space:nowrap;background:#f8f9fa;border-bottom:2px solid #e0e0e0;padding:12px 10px;font-weight:600}.mata-kuliah-rpl .data-table td{vertical-align:middle;border-bottom:1px solid #eee;padding:12px 10px}.mata-kuliah-rpl .data-table tr:hover{background:#f8f9ff}.mata-kuliah-rpl .data-table .kode-mk{color:#667eea;white-space:nowrap;font-family:monospace;font-weight:600}.mata-kuliah-rpl .data-table .prodi{white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:.8rem;overflow:hidden}.mata-kuliah-rpl .data-table .dosen{white-space:nowrap;text-overflow:ellipsis;max-width:150px;overflow:hidden}.mata-kuliah-rpl .data-table .semester{white-space:nowrap;font-size:.8rem}.mata-kuliah-rpl .data-table .center{text-align:center}.mata-kuliah-rpl .badge-jenis{text-transform:uppercase;border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-block}.mata-kuliah-rpl .badge-jenis.w{color:#155724;background:#d4edda}.mata-kuliah-rpl .badge-jenis.p{color:#004085;background:#cce5ff}.mata-kuliah-rpl .btn-view{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:8px 12px;transition:background .2s}.mata-kuliah-rpl .btn-view:hover{background:#5a6fd6}.mata-kuliah-rpl .no-data{text-align:center;color:#999;padding:40px}.mata-kuliah-rpl .loading{flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.mata-kuliah-rpl .spinner{border:4px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.mata-kuliah-rpl .pagination{border-top:1px solid #eee;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:20px;display:flex}.mata-kuliah-rpl .pagination button{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:10px 20px;font-weight:500;transition:background .2s}.mata-kuliah-rpl .pagination button:disabled{cursor:not-allowed;background:#ccc}.mata-kuliah-rpl .pagination button:not(:disabled):hover{background:#5a6fd6}.mata-kuliah-rpl .page-info{color:#666}.mata-kuliah-rpl .modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.mata-kuliah-rpl .modal-content{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:700px;max-height:90vh;display:flex;overflow:hidden}.mata-kuliah-rpl .modal-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.mata-kuliah-rpl .modal-header h2{color:#1a1a2e;margin:0;font-size:1.25rem}.mata-kuliah-rpl .close-btn{color:#999;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;font-size:1.25rem;transition:background .2s,color .2s}.mata-kuliah-rpl .close-btn:hover{color:#333;background:#f5f5f5}.mata-kuliah-rpl .modal-body{padding:24px;overflow-y:auto}.mata-kuliah-rpl .detail-info{margin-bottom:24px}.mata-kuliah-rpl .info-row{border-bottom:1px solid #f0f0f0;margin-bottom:12px;padding-bottom:12px;display:flex}.mata-kuliah-rpl .info-row .label{color:#666;flex-shrink:0;width:140px;font-weight:500}.mata-kuliah-rpl .info-row .value{color:#1a1a2e}.mata-kuliah-rpl .info-row .value.code{color:#667eea;font-family:monospace;font-size:1.1rem;font-weight:600}.mata-kuliah-rpl .sks-breakdown{background:#f8f9ff;border-radius:8px;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0;padding:16px;display:grid}.mata-kuliah-rpl .sks-item{text-align:center}.mata-kuliah-rpl .sks-label{color:#666;margin-bottom:4px;font-size:.75rem;display:block}.mata-kuliah-rpl .sks-value{color:#667eea;font-size:1.25rem;font-weight:700;display:block}.mata-kuliah-rpl .kelas-section{margin-top:24px}.mata-kuliah-rpl .kelas-section h3{color:#1a1a2e;margin:0 0 16px;font-size:1rem}.mata-kuliah-rpl .kelas-table{border-collapse:collapse;width:100%;font-size:.85rem}.mata-kuliah-rpl .kelas-table th{color:#fff;text-align:left;background:#667eea;padding:10px 12px;font-weight:500}.mata-kuliah-rpl .kelas-table td{border-bottom:1px solid #eee;padding:10px 12px}.mata-kuliah-rpl .kelas-table tr:hover{background:#f8f9ff}.mata-kuliah-rpl .kurikulum-stats{background:#f8f9ff;border-radius:8px;gap:24px;margin-bottom:16px;padding:16px;display:flex}.mata-kuliah-rpl .stat-mini{flex-direction:column;gap:4px;display:flex}.mata-kuliah-rpl .stat-number{color:#667eea;font-size:1.5rem;font-weight:700}.mata-kuliah-rpl .stat-label{color:#666;font-size:.85rem}.mata-kuliah-rpl .kurikulum-filter{margin-bottom:16px}.mata-kuliah-rpl .kurikulum-filter select{border:1px solid #ddd;border-radius:8px;min-width:250px;padding:10px 16px;font-size:.9rem}.mata-kuliah-rpl .nama-kurikulum{color:#333;font-weight:500}.mata-kuliah-rpl .kurikulum-detail-modal{max-width:900px;max-height:85vh;overflow-y:auto}.mata-kuliah-rpl .matkul-semester-section{margin-top:24px}.mata-kuliah-rpl .matkul-semester-section h3{color:#333;border-bottom:2px solid #667eea;margin-bottom:16px;padding-bottom:8px;font-size:1.1rem}.mata-kuliah-rpl .semester-group{margin-bottom:24px}.mata-kuliah-rpl .semester-group h4{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px 8px 0 0;margin:0;padding:10px 16px;font-size:.95rem}.mata-kuliah-rpl .matkul-table{border-collapse:collapse;background:#fff;border:1px solid #eee;border-radius:0 0 8px 8px;width:100%;overflow:hidden}.mata-kuliah-rpl .matkul-table th{text-align:left;color:#666;background:#f8f9fa;padding:10px 12px;font-size:.85rem;font-weight:600}.mata-kuliah-rpl .matkul-table td{border-bottom:1px solid #eee;padding:10px 12px;font-size:.9rem}.mata-kuliah-rpl .matkul-table tr:last-child td{border-bottom:none}.mata-kuliah-rpl .matkul-table tr:hover{background:#f8f9ff}.mata-kuliah-rpl .badge-wajib{border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.mata-kuliah-rpl .badge-wajib.wajib{color:#166534;background:#dcfce7}.mata-kuliah-rpl .badge-wajib.pilihan{color:#92400e;background:#fef3c7}@media (max-width:768px){.mata-kuliah-rpl .search-form{flex-direction:column}.mata-kuliah-rpl .search-input-group,.mata-kuliah-rpl .search-form select{width:100%;min-width:unset}.mata-kuliah-rpl .btn-search{justify-content:center;width:100%}.mata-kuliah-rpl .stats-cards{grid-template-columns:1fr 1fr}.mata-kuliah-rpl .tabs-section{flex-direction:column}.mata-kuliah-rpl .sks-breakdown{grid-template-columns:repeat(2,1fr)}.mata-kuliah-rpl .kurikulum-stats{flex-direction:column;gap:12px}.mata-kuliah-rpl .kurikulum-filter select{width:100%;min-width:unset}}@media (max-width:480px){.mata-kuliah-rpl .stats-cards{grid-template-columns:1fr}}.konversi-transfer-container{padding:20px}.konversi-transfer-container .page-header{margin-bottom:24px}.konversi-transfer-container .page-header h1{color:#1a1a2e;align-items:center;gap:12px;margin-bottom:8px;font-size:1.75rem;display:flex}.konversi-transfer-container .page-header p{color:#666;font-size:.95rem}.konversi-transfer-container .stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px;display:grid}.konversi-transfer-container .stat-card{background:#fff;border:none;border-radius:12px;align-items:center;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #00000014}.konversi-transfer-container .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.konversi-transfer-container .stat-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex}.konversi-transfer-container .stat-card.primary .stat-icon{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.konversi-transfer-container .stat-card.warning .stat-icon{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.konversi-transfer-container .stat-card.info .stat-icon{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.konversi-transfer-container .stat-card.success .stat-icon{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.konversi-transfer-container .stat-info h3{color:#1a1a2e;margin:0;font-size:1.75rem;font-weight:700}.konversi-transfer-container .stat-info p{color:#666;margin:4px 0 0;font-size:.875rem}.konversi-transfer-container .stat-label{color:#999;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.konversi-transfer-container .distribution-section{background:#fff;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 2px 8px #00000014}.konversi-transfer-container .distribution-section h3{color:#1a1a2e;align-items:center;gap:8px;margin:0 0 16px;font-size:1rem;display:flex}.konversi-transfer-container .distribution-bars{flex-direction:column;gap:12px;display:flex}.konversi-transfer-container .dist-item{align-items:center;gap:12px;display:flex}.konversi-transfer-container .dist-label{color:#666;flex-shrink:0;width:100px;font-size:.85rem}.konversi-transfer-container .dist-bar-container{background:#f1f5f9;border-radius:4px;flex:1;height:24px;overflow:hidden}.konversi-transfer-container .dist-bar{border-radius:4px;height:100%;transition:width .5s}.konversi-transfer-container .dist-bar.range-0{background:linear-gradient(135deg,#eb3349 0%,#f45c43 100%)}.konversi-transfer-container .dist-bar.range-1{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.konversi-transfer-container .dist-bar.range-2{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.konversi-transfer-container .dist-bar.range-3{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.konversi-transfer-container .dist-count{text-align:right;width:40px}.konversi-transfer-container .tab-navigation{background:#fff;border-radius:12px;gap:8px;margin-bottom:20px;padding:8px;display:flex;box-shadow:0 2px 8px #00000014}.konversi-transfer-container .tab-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .3s;display:flex}.konversi-transfer-container .tab-btn:hover{color:#667eea;background:#667eea1a}.konversi-transfer-container .tab-btn.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 2px 8px #667eea4d}.konversi-transfer-container .tab-btn svg{font-size:16px}.konversi-transfer-container .riwayat-section{animation:.3s fadeIn}.konversi-transfer-container .riwayat-table .mk-cell{flex-direction:column;gap:2px;display:flex}.konversi-transfer-container .riwayat-table .mk-kode{color:#667eea;background:#667eea1a;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-block}.konversi-transfer-container .riwayat-table .mk-nama{color:#333;font-size:13px}.konversi-transfer-container .riwayat-table .mk-nama-cell{color:#333;max-width:200px;font-size:13px}.konversi-transfer-container .riwayat-table td.center{text-align:center}.konversi-transfer-container .date-badge{color:#666;background:#f1f5f9;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.konversi-transfer-container .date-badge svg{color:#999;font-size:10px}.konversi-transfer-container .nilai-badge{color:#666;background:#f1f5f9;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.konversi-transfer-container .nilai-badge.success{color:#11998e;background:#11998e1a}.konversi-transfer-container .tipe-badge{text-transform:uppercase;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.konversi-transfer-container .tipe-badge.generate{color:#764ba2;background:linear-gradient(135deg,#667eea26 0%,#764ba226 100%)}.konversi-transfer-container .tipe-badge.manual{color:#11998e;background:#11998e1a}.konversi-transfer-container .btn-delete{color:#fff!important;background:#f5576c!important}.konversi-transfer-container .btn-delete:hover{transform:scale(1.1);background:#e4455a!important}.konversi-transfer-container .btn-delete.small{padding:4px 8px;font-size:11px}.konversi-transfer-container .count-badge{color:#764ba2;background:linear-gradient(135deg,#667eea26 0%,#764ba226 100%);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.konversi-transfer-container .date-badge.small{padding:2px 6px;font-size:10px}.konversi-transfer-container .tipe-badge.small{padding:2px 6px;font-size:9px}.konversi-transfer-container .nilai-badge.small{padding:2px 6px;font-size:10px}.konversi-transfer-container .info-grid.simple{flex-wrap:wrap;gap:20px;display:flex}.konversi-transfer-container .info-grid.simple .info-item{flex-direction:column;gap:4px;display:flex}.konversi-transfer-container .riwayat-detail-modal{max-width:1100px}.konversi-transfer-container .filter-section{background:#fff;border-radius:12px;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:20px;display:flex;box-shadow:0 2px 8px #00000014}.konversi-transfer-container .search-form{flex:1;gap:12px;min-width:300px;display:flex}.konversi-transfer-container .search-input-wrapper{flex:1;position:relative}.konversi-transfer-container .search-icon{color:#999;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.konversi-transfer-container .search-input-wrapper input{border:1px solid #ddd;border-radius:8px;width:100%;padding:12px 15px 12px 40px;font-size:14px;transition:border-color .3s}.konversi-transfer-container .search-input-wrapper input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.konversi-transfer-container .btn-search{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:12px 24px;font-weight:500;transition:all .3s}.konversi-transfer-container .btn-search:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.konversi-transfer-container .filter-select{cursor:pointer;border:1px solid #ddd;border-radius:8px;min-width:200px;padding:12px 16px;font-size:14px;transition:border-color .3s}.konversi-transfer-container .filter-select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.konversi-transfer-container .table-container{-webkit-overflow-scrolling:touch;background:#fff;border-radius:12px;margin-bottom:16px;overflow-x:auto;box-shadow:0 2px 8px #00000014}.konversi-transfer-container .table-container::-webkit-scrollbar{height:8px}.konversi-transfer-container .table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.konversi-transfer-container .table-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.konversi-transfer-container .table-container::-webkit-scrollbar-thumb:hover{background:#999}.konversi-transfer-container .loading-state,.konversi-transfer-container .empty-state{text-align:center;color:#666;padding:60px 20px}.konversi-transfer-container .loading-state .spinner,.konversi-transfer-container .modal-loading .spinner{border:3px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:.8s linear infinite spin}.konversi-transfer-container .empty-state svg{color:#cbd5e1;margin-bottom:12px;font-size:48px}.konversi-transfer-container .data-table{border-collapse:collapse;width:100%;min-width:900px}.konversi-transfer-container .data-table th{text-align:left;color:#555;text-transform:uppercase;letter-spacing:.5px;background:#f8f9fa;border-bottom:1px solid #eee;padding:14px 12px;font-size:12px;font-weight:600}.konversi-transfer-container .data-table td{color:#333;border-bottom:1px solid #f1f5f9;padding:14px 12px;font-size:14px}.konversi-transfer-container .data-table tbody tr:hover{background:#f8f9fa}.konversi-transfer-container .nim-cell{color:#667eea;font-family:Consolas,monospace;font-weight:500}.konversi-transfer-container .nama-cell{flex-direction:column;gap:4px;display:flex}.konversi-transfer-container .nama-cell .nama{color:#1a1a2e;font-weight:500}.konversi-transfer-container .nama-cell .jenis-daftar{color:#667eea;background:#667eea1a;border-radius:4px;width:fit-content;padding:2px 8px;font-size:11px}.konversi-transfer-container .pt-asal-cell span{font-size:13px}.konversi-transfer-container .sks-cell{text-align:center}.konversi-transfer-container .sks-badge{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.konversi-transfer-container .sks-badge.sks-danger{color:#721c24;background:#f8d7da}.konversi-transfer-container .sks-badge.sks-warning{color:#856404;background:#fff3cd}.konversi-transfer-container .sks-badge.sks-info{color:#004085;background:#cce5ff}.konversi-transfer-container .progress-cell{min-width:120px}.konversi-transfer-container .progress-wrapper{align-items:center;gap:8px;display:flex}.konversi-transfer-container .progress-bar{background:#e2e8f0;border-radius:4px;flex:1;height:8px;overflow:hidden}.konversi-transfer-container .progress-fill{border-radius:4px;height:100%;transition:width .3s}.konversi-transfer-container .progress-fill.sks-danger{background:linear-gradient(135deg,#eb3349 0%,#f45c43 100%)}.konversi-transfer-container .progress-fill.sks-warning{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.konversi-transfer-container .progress-fill.sks-info{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.konversi-transfer-container .progress-text{color:#666;text-align:right;width:35px;font-size:11px}.konversi-transfer-container .btn-action{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .3s;display:inline-flex}.konversi-transfer-container .btn-view{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.konversi-transfer-container .btn-view:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.konversi-transfer-container .pagination{justify-content:center;align-items:center;gap:8px;margin-bottom:12px;display:flex}.konversi-transfer-container .pagination button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;width:36px;height:36px;font-weight:500;transition:all .3s}.konversi-transfer-container .pagination button:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#667eea}.konversi-transfer-container .pagination button:disabled{opacity:.5;cursor:not-allowed}.konversi-transfer-container .page-info{color:#666;padding:0 16px;font-size:14px}.konversi-transfer-container .data-info{text-align:center;color:#999;font-size:13px}.konversi-transfer-container .modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.konversi-transfer-container .modal-content{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:1000px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.konversi-transfer-container .modal-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.konversi-transfer-container .modal-header h2{align-items:center;gap:10px;margin:0;font-size:1.25rem;display:flex}.konversi-transfer-container .modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:6px;padding:8px;font-size:18px;transition:background .3s}.konversi-transfer-container .modal-close:hover{background:#ffffff4d}.konversi-transfer-container .modal-body{flex:1;padding:24px;overflow-y:auto}.konversi-transfer-container .modal-loading{text-align:center;color:#666;padding:60px}.konversi-transfer-container .detail-section{margin-bottom:24px}.konversi-transfer-container .detail-section h3{color:#1a1a2e;border-bottom:2px solid #667eea;margin:0 0 16px;padding-bottom:8px;font-size:1rem;font-weight:600}.konversi-transfer-container .info-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.konversi-transfer-container .info-item{background:#f8f9fa;border-radius:8px;flex-direction:column;gap:4px;padding:12px;display:flex}.konversi-transfer-container .info-item label{color:#999;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.konversi-transfer-container .info-item span{color:#1a1a2e;font-size:14px;font-weight:500}.konversi-transfer-container .summary-cards{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.konversi-transfer-container .summary-card{text-align:center;background:#f8f9fa;border:1px solid #eee;border-radius:8px;padding:16px}.konversi-transfer-container .summary-card.highlight{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);border:none}.konversi-transfer-container .summary-card.highlight .summary-label{color:#ffffffe6}.konversi-transfer-container .summary-value{color:#1a1a2e;font-size:1.75rem;font-weight:700;display:block}.konversi-transfer-container .summary-card.highlight .summary-value{color:#fff}.konversi-transfer-container .summary-label{color:#666;font-size:12px}.konversi-transfer-container .target-progress{background:#f8f9fa;border-radius:8px;padding:16px}.konversi-transfer-container .target-header{color:#666;justify-content:space-between;margin-bottom:8px;font-size:14px;display:flex}.konversi-transfer-container .target-bar{background:#e2e8f0;border-radius:6px;height:12px;overflow:hidden}.konversi-transfer-container .target-fill{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:6px;height:100%;transition:width .5s}.konversi-transfer-container .transfer-table-wrapper,.konversi-transfer-container .matkul-available-wrapper{border:1px solid #eee;border-radius:8px;max-height:300px;overflow-y:auto}.konversi-transfer-container .transfer-table,.konversi-transfer-container .matkul-table{border-collapse:collapse;width:100%;font-size:13px}.konversi-transfer-container .transfer-table th,.konversi-transfer-container .matkul-table th{text-align:left;color:#555;text-transform:uppercase;background:#f8f9fa;padding:12px;font-size:11px;font-weight:600;position:sticky;top:0}.konversi-transfer-container .transfer-table td,.konversi-transfer-container .matkul-table td{border-top:1px solid #f1f5f9;padding:12px}.konversi-transfer-container .empty-transfer{text-align:center;color:#f5576c;padding:40px}.konversi-transfer-container .empty-transfer svg{margin-bottom:8px;font-size:32px}.konversi-transfer-container .more-info{text-align:center;color:#666;background:#f8f9fa;padding:12px;font-size:13px}.konversi-transfer-container .generate-section{background:linear-gradient(135deg,#667eea08 0%,#764ba208 100%);border:2px dashed #e0e0e0;border-radius:12px}.konversi-transfer-container .section-header-with-action{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.konversi-transfer-container .section-header-with-action h3{color:#667eea;align-items:center;gap:8px;margin:0;display:flex}.konversi-transfer-container .btn-generate-open{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:flex;box-shadow:0 2px 8px #667eea4d}.konversi-transfer-container .btn-generate-open:hover{transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.konversi-transfer-container .btn-generate-open:disabled{cursor:not-allowed;box-shadow:none;background:#ccc}.konversi-transfer-container .btn-generate-close{color:#fff;cursor:pointer;background:#f5576c;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:flex}.konversi-transfer-container .btn-generate-close:hover{background:#e4455a}.konversi-transfer-container .generate-content{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:20px}.konversi-transfer-container .kurikulum-selection{background:linear-gradient(135deg,#f8f9ff 0%,#fff 100%);border:1px solid #e0e0ff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex}.konversi-transfer-container .kurikulum-group{flex:1;min-width:300px}.konversi-transfer-container .kurikulum-group label{color:#667eea;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.konversi-transfer-container .kurikulum-select{color:#333;cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:8px;width:100%;padding:10px 14px;font-size:14px;transition:all .3s}.konversi-transfer-container .kurikulum-select:focus{outline:none;box-shadow:0 0 0 3px #667eea33}.konversi-transfer-container .kurikulum-select:disabled{cursor:wait;background:#f5f5f5}.konversi-transfer-container .loading-kurikulum{color:#667eea;margin-left:8px;font-size:12px;font-style:italic}.konversi-transfer-container .kurikulum-info-badge{gap:12px;display:flex}.konversi-transfer-container .kurikulum-info-badge .badge-info{color:#fff;background:#667eea;border-radius:20px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;display:inline-flex}.konversi-transfer-container .kurikulum-info-badge .badge-info strong{color:#fff}.konversi-transfer-container .generate-input-row{border-bottom:1px solid #e8e8e8;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;padding-bottom:20px;display:flex}.konversi-transfer-container .input-group{flex-direction:column;gap:6px;display:flex}.konversi-transfer-container .input-group label{color:#666;font-size:13px;font-weight:500}.konversi-transfer-container .target-sks-input{text-align:center;color:#667eea;border:2px solid #e0e0e0;border-radius:8px;width:120px;padding:10px 16px;font-size:18px;font-weight:600;transition:border-color .3s}.konversi-transfer-container .target-sks-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.konversi-transfer-container .generate-info{color:#666;flex-direction:column;gap:4px;font-size:13px;display:flex}.konversi-transfer-container .generate-info strong{color:#667eea}.konversi-transfer-container .btn-generate-action{color:#fff;cursor:pointer;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);border:none;border-radius:8px;align-items:center;gap:8px;margin-left:auto;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 2px 8px #11998e4d}.konversi-transfer-container .btn-generate-action:hover{transform:translateY(-2px);box-shadow:0 4px 16px #11998e66}.konversi-transfer-container .btn-generate-action:disabled{cursor:wait;box-shadow:none;background:#ccc}.konversi-transfer-container .generated-result{margin-top:20px}.konversi-transfer-container .generated-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.konversi-transfer-container .generated-header h4{color:#1a1a2e;align-items:center;gap:8px;margin:0;display:flex}.konversi-transfer-container .generated-summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.konversi-transfer-container .current-sks-badge{color:#fff;background:#6c757d;border-radius:20px;padding:6px 16px;font-size:13px;font-weight:500}.konversi-transfer-container .add-sks-badge{color:#fff;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);border-radius:20px;padding:6px 16px;font-size:13px;font-weight:600}.konversi-transfer-container .total-sks-badge{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;padding:6px 16px;font-size:14px;font-weight:600}.konversi-transfer-container .generated-table-wrapper{border:1px solid #e8e8e8;border-radius:8px;overflow-x:auto}.konversi-transfer-container .generated-table{border-collapse:collapse;width:100%;min-width:600px}.konversi-transfer-container .generated-table th{color:#fff;text-align:left;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:12px 16px;font-size:13px;font-weight:500}.konversi-transfer-container .generated-table td{border-bottom:1px solid #e8e8e8;padding:12px 16px;font-size:13px}.konversi-transfer-container .generated-table tbody tr{background:#fff;transition:background .2s}.konversi-transfer-container .generated-table tbody tr:hover{background:#667eea0d}.konversi-transfer-container .generated-table tbody tr:last-child td{border-bottom:none}.konversi-transfer-container .btn-remove-mk{color:#fff;cursor:pointer;background:#f5576c;border:none;border-radius:6px;padding:6px 10px;transition:all .2s}.konversi-transfer-container .btn-remove-mk:hover{background:#e4455a;transform:scale(1.1)}.konversi-transfer-container .generate-actions{border-top:1px solid #e8e8e8;gap:12px;margin-top:20px;padding-top:20px;display:flex}.konversi-transfer-container .btn-save-konversi{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 28px;font-size:14px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 2px 8px #667eea4d}.konversi-transfer-container .btn-save-konversi:hover{transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.konversi-transfer-container .btn-reset-generate{color:#666;cursor:pointer;background:#f0f0f0;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.konversi-transfer-container .btn-reset-generate:hover{background:#e0e0e0}.konversi-transfer-container .add-more-section{border-top:1px dashed #e0e0e0;margin-top:24px;padding-top:20px}.konversi-transfer-container .add-more-section h4{color:#666;margin:0 0 16px;font-size:14px;font-weight:500}.konversi-transfer-container .available-mk-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.konversi-transfer-container .available-mk-item{background:#f8f9fa;border:1px solid #e8e8e8;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;transition:all .2s;display:flex}.konversi-transfer-container .available-mk-item:hover{background:#667eea0d;border-color:#667eea}.konversi-transfer-container .available-mk-item .mk-name{color:#333;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.konversi-transfer-container .available-mk-item .mk-sks{color:#667eea;background:#667eea1a;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600}.konversi-transfer-container .btn-add-mk{color:#fff;cursor:pointer;background:#11998e;border:none;border-radius:6px;padding:6px 10px;transition:all .2s}.konversi-transfer-container .btn-add-mk:hover{background:#0e8a80;transform:scale(1.1)}@media (max-width:1024px){.konversi-transfer-container .stats-grid,.konversi-transfer-container .info-grid,.konversi-transfer-container .summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.konversi-transfer-container{padding:15px}.konversi-transfer-container .stats-grid{grid-template-columns:1fr}.konversi-transfer-container .filter-section{flex-direction:column;padding:15px}.konversi-transfer-container .search-form{min-width:100%}.konversi-transfer-container .filter-select{width:100%}.konversi-transfer-container .data-table{font-size:12px}.konversi-transfer-container .info-grid,.konversi-transfer-container .summary-cards{grid-template-columns:1fr}.konversi-transfer-container .page-header h1{font-size:1.5rem}}.konversi-transfer-container .kirim-transfer-section{border-top:2px dashed #e0e0e0;margin-top:24px;padding-top:24px}.konversi-transfer-container .kirim-transfer-box{background:linear-gradient(135deg,#f0f4ff 0%,#e8f0ff 100%);border:1px solid #d0d8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.konversi-transfer-container .kirim-info{align-items:flex-start;gap:16px;display:flex}.konversi-transfer-container .kirim-icon{color:#667eea;flex-shrink:0;font-size:2rem}.konversi-transfer-container .kirim-info strong{color:#1a1a2e;margin-bottom:4px;font-size:1.1rem;display:block}.konversi-transfer-container .kirim-info p{color:#666;margin:0;font-size:.9rem;line-height:1.5}.konversi-transfer-container .btn-kirim-transfer{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;align-items:center;gap:8px;padding:14px 28px;font-size:1rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 12px #667eea4d}.konversi-transfer-container .btn-kirim-transfer:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.konversi-transfer-container .btn-kirim-transfer:active{transform:translateY(0)}@media (max-width:768px){.konversi-transfer-container .kirim-transfer-box{text-align:center;flex-direction:column}.konversi-transfer-container .kirim-info{flex-direction:column;align-items:center}.konversi-transfer-container .btn-kirim-transfer{justify-content:center;width:100%}}.konversi-transfer-container .bulk-konversi-section{animation:.3s fadeIn}.konversi-transfer-container .bulk-filter-card{background:#fff;border-radius:12px;margin-bottom:20px;padding:24px;box-shadow:0 2px 8px #00000014}.konversi-transfer-container .bulk-filter-card h3{color:#1a1a2e;align-items:center;gap:8px;margin:0 0 16px;font-size:1rem;display:flex}.konversi-transfer-container .bulk-filter-grid{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.konversi-transfer-container .bulk-filter-item{flex-direction:column;flex:1;gap:6px;min-width:200px;display:flex}.konversi-transfer-container .bulk-filter-item label{color:#666;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.konversi-transfer-container .bulk-filter-item select{border:1px solid #ddd;border-radius:8px;padding:10px 14px;font-size:14px;transition:border-color .3s}.konversi-transfer-container .bulk-filter-item select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.konversi-transfer-container .bulk-filter-btn{flex:none;min-width:auto}.konversi-transfer-container .btn-bulk-preview{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .3s;display:flex;box-shadow:0 2px 8px #667eea4d}.konversi-transfer-container .btn-bulk-preview:hover{transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.konversi-transfer-container .btn-bulk-preview:disabled{cursor:not-allowed;box-shadow:none;background:#ccc;transform:none}.konversi-transfer-container .bulk-summary-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.konversi-transfer-container .bulk-summary-card{text-align:center;background:#fff;border-left:4px solid #667eea;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.konversi-transfer-container .bulk-summary-card.success{border-left-color:#11998e}.konversi-transfer-container .bulk-summary-card.warning{border-left-color:#f5576c}.konversi-transfer-container .bulk-summary-card.info{border-left-color:#4facfe}.konversi-transfer-container .bulk-summary-value{color:#1a1a2e;font-size:2rem;font-weight:700;display:block}.konversi-transfer-container .bulk-summary-label{color:#666;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:12px}.konversi-transfer-container .bulk-settings-card{background:#fff;border-radius:12px;margin-bottom:20px;padding:24px;box-shadow:0 2px 8px #00000014}.konversi-transfer-container .bulk-settings-card h3{color:#1a1a2e;align-items:center;gap:8px;margin:0 0 16px;font-size:1rem;display:flex}.konversi-transfer-container .bulk-settings-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px;display:grid}.konversi-transfer-container .bulk-setting-item{flex-direction:column;gap:6px;display:flex}.konversi-transfer-container .bulk-setting-item label{color:#666;font-size:13px;font-weight:500}.konversi-transfer-container .bulk-setting-item input,.konversi-transfer-container .bulk-setting-item select{border:1px solid #ddd;border-radius:8px;padding:10px 14px;font-size:14px;transition:border-color .3s}.konversi-transfer-container .bulk-setting-item input:focus,.konversi-transfer-container .bulk-setting-item select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.konversi-transfer-container .bulk-settings-options{border-top:1px solid #f0f0f0;padding-top:12px}.konversi-transfer-container .bulk-checkbox{cursor:pointer;color:#555;align-items:center;gap:8px;font-size:14px;display:flex}.konversi-transfer-container .bulk-checkbox input[type=checkbox]{accent-color:#667eea;width:16px;height:16px}.konversi-transfer-container .bulk-table-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.konversi-transfer-container .btn-bulk-execute{color:#fff;cursor:pointer;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 2px 8px #11998e4d}.konversi-transfer-container .btn-bulk-execute:hover{transform:translateY(-2px);box-shadow:0 4px 16px #11998e66}.konversi-transfer-container .btn-bulk-execute:disabled{cursor:not-allowed;box-shadow:none;background:#ccc;transform:none}.konversi-transfer-container .row-sudah-konversi{background:#11998e0d!important}.konversi-transfer-container .status-badge-bulk{border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.konversi-transfer-container .status-badge-bulk.status-done{color:#11998e;background:#11998e1a}.konversi-transfer-container .status-badge-bulk.status-pending{color:#856404;background:#fff3cd}.konversi-transfer-container .bulk-results-card{background:#fff;border-left:4px solid #11998e;border-radius:12px;margin-top:20px;padding:24px;box-shadow:0 2px 8px #00000014}.konversi-transfer-container .bulk-results-card h3{color:#1a1a2e;align-items:center;gap:8px;margin:0 0 16px;font-size:1rem;display:flex}.konversi-transfer-container .bulk-results-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.konversi-transfer-container .bulk-result-item{text-align:center;background:#f8f9fa;border-radius:8px;padding:16px}.konversi-transfer-container .bulk-result-item.success{background:#11998e1a}.konversi-transfer-container .bulk-result-item.warning{background:#f5576c1a}.konversi-transfer-container .bulk-result-item.info{background:#4facfe1a}.konversi-transfer-container .bulk-result-item.primary{background:#667eea1a}.konversi-transfer-container .bulk-result-item .value{color:#1a1a2e;font-size:1.5rem;font-weight:700;display:block}.konversi-transfer-container .bulk-result-item .label{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:12px}.konversi-transfer-container .bulk-results-table-wrapper{border:1px solid #eee;border-radius:8px;overflow-x:auto}.konversi-transfer-container .bulk-results-table{border-collapse:collapse;width:100%;font-size:13px}.konversi-transfer-container .bulk-results-table th{text-align:left;color:#555;text-transform:uppercase;background:#f8f9fa;padding:12px;font-size:11px;font-weight:600}.konversi-transfer-container .bulk-results-table td{border-top:1px solid #f1f5f9;padding:12px}.konversi-transfer-container .result-success{background:#11998e08}.konversi-transfer-container .result-skipped{background:#fff3cd4d}.konversi-transfer-container .result-error{background:#f8d7da4d}.konversi-transfer-container .result-status-badge{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.konversi-transfer-container .result-status-badge.success{color:#11998e;background:#11998e26}.konversi-transfer-container .result-status-badge.skipped{color:#856404;background:#ffc10726}.konversi-transfer-container .result-status-badge.error{color:#c62828;background:#f5576c26}@media (max-width:1024px){.konversi-transfer-container .bulk-summary-row,.konversi-transfer-container .bulk-results-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.konversi-transfer-container .bulk-filter-grid{flex-direction:column}.konversi-transfer-container .bulk-filter-item{min-width:100%}.konversi-transfer-container .bulk-summary-row,.konversi-transfer-container .bulk-settings-grid{grid-template-columns:1fr}.konversi-transfer-container .bulk-table-header{flex-direction:column;gap:12px}.konversi-transfer-container .btn-bulk-execute{justify-content:center;width:100%}.konversi-transfer-container .bulk-results-summary{grid-template-columns:1fr}}.konversi-perolehan-container{padding:20px}.konversi-perolehan-container .page-header{margin-bottom:24px}.konversi-perolehan-container .page-header h1{color:#1a1a2e;align-items:center;gap:12px;margin-bottom:8px;font-size:1.75rem;display:flex}.konversi-perolehan-container .page-header p{color:#666;font-size:.95rem}.konversi-perolehan-container .stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px;display:grid}.konversi-perolehan-container .stat-card{background:#fff;border:none;border-radius:12px;align-items:center;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #00000014}.konversi-perolehan-container .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.konversi-perolehan-container .stat-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex}.konversi-perolehan-container .stat-card.primary .stat-icon{background:linear-gradient(135deg,#e67e22 0%,#d35400 100%)}.konversi-perolehan-container .stat-card.warning .stat-icon{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.konversi-perolehan-container .stat-card.info .stat-icon{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.konversi-perolehan-container .stat-card.success .stat-icon{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.konversi-perolehan-container .stat-info h3{color:#1a1a2e;margin:0;font-size:1.75rem;font-weight:700}.konversi-perolehan-container .stat-info p{color:#666;margin:4px 0 0;font-size:.875rem}.konversi-perolehan-container .stat-label{color:#999;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.konversi-perolehan-container .tab-navigation{background:#fff;border-radius:12px;gap:8px;margin-bottom:20px;padding:8px;display:flex;box-shadow:0 2px 8px #00000014}.konversi-perolehan-container .tab-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .3s;display:flex}.konversi-perolehan-container .tab-btn:hover{color:#e67e22;background:#e67e221a}.konversi-perolehan-container .tab-btn.active{color:#fff;background:linear-gradient(135deg,#e67e22 0%,#d35400 100%);box-shadow:0 2px 8px #e67e224d}.konversi-perolehan-container .tab-btn svg{font-size:16px}.konversi-perolehan-container .riwayat-section{animation:.3s fadeIn}.konversi-perolehan-container .riwayat-table .mk-cell{flex-direction:column;gap:2px;display:flex}.konversi-perolehan-container .riwayat-table .mk-kode{color:#e67e22;background:#e67e221a;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-block}.konversi-perolehan-container .riwayat-table .mk-nama{color:#333;font-size:13px}.konversi-perolehan-container .riwayat-table .mk-nama-cell{color:#333;max-width:200px;font-size:13px}.konversi-perolehan-container .riwayat-table td.center{text-align:center}.konversi-perolehan-container .date-badge{color:#666;background:#f1f5f9;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.konversi-perolehan-container .date-badge svg{color:#999;font-size:10px}.konversi-perolehan-container .nilai-badge{color:#666;background:#f1f5f9;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.konversi-perolehan-container .nilai-badge.success{color:#11998e;background:#11998e1a}.konversi-perolehan-container .jenis-badge{color:#d35400;background:linear-gradient(135deg,#e67e2226 0%,#d3540026 100%);border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.konversi-perolehan-container .btn-delete{color:#fff!important;background:#f5576c!important}.konversi-perolehan-container .btn-delete:hover{transform:scale(1.1);background:#e4455a!important}.konversi-perolehan-container .btn-delete.small{padding:4px 8px;font-size:11px}.konversi-perolehan-container .count-badge{color:#d35400;background:linear-gradient(135deg,#e67e2226 0%,#d3540026 100%);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.konversi-perolehan-container .filter-section{background:#fff;border-radius:12px;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:20px;display:flex;box-shadow:0 2px 8px #00000014}.konversi-perolehan-container .search-form{flex:1;gap:12px;min-width:300px;display:flex}.konversi-perolehan-container .search-input-wrapper{flex:1;position:relative}.konversi-perolehan-container .search-icon{color:#999;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.konversi-perolehan-container .search-input-wrapper input{border:1px solid #ddd;border-radius:8px;width:100%;padding:12px 15px 12px 40px;font-size:14px;transition:border-color .3s}.konversi-perolehan-container .search-input-wrapper input:focus{border-color:#e67e22;outline:none;box-shadow:0 0 0 3px #e67e221a}.konversi-perolehan-container .btn-search{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e67e22 0%,#d35400 100%);border:none;border-radius:8px;padding:12px 24px;font-weight:500;transition:all .3s}.konversi-perolehan-container .btn-search:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e67e2266}.konversi-perolehan-container .filter-select{cursor:pointer;border:1px solid #ddd;border-radius:8px;min-width:200px;padding:12px 16px;font-size:14px;transition:border-color .3s}.konversi-perolehan-container .filter-select:focus{border-color:#e67e22;outline:none;box-shadow:0 0 0 3px #e67e221a}.konversi-perolehan-container .table-container{-webkit-overflow-scrolling:touch;background:#fff;border-radius:12px;margin-bottom:16px;overflow-x:auto;box-shadow:0 2px 8px #00000014}.konversi-perolehan-container .table-container::-webkit-scrollbar{height:8px}.konversi-perolehan-container .table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.konversi-perolehan-container .table-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.konversi-perolehan-container .table-container::-webkit-scrollbar-thumb:hover{background:#999}.konversi-perolehan-container .loading-state,.konversi-perolehan-container .empty-state{text-align:center;color:#666;padding:60px 20px}.konversi-perolehan-container .loading-state .spinner,.konversi-perolehan-container .modal-loading .spinner{border:3px solid #e2e8f0;border-top-color:#e67e22;border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:.8s linear infinite spin}.konversi-perolehan-container .empty-state svg{color:#cbd5e1;margin-bottom:12px;font-size:48px}.konversi-perolehan-container .data-table{border-collapse:collapse;width:100%;min-width:900px}.konversi-perolehan-container .data-table th{text-align:left;color:#555;text-transform:uppercase;letter-spacing:.5px;background:#f8f9fa;border-bottom:1px solid #eee;padding:14px 12px;font-size:12px;font-weight:600}.konversi-perolehan-container .data-table td{color:#333;border-bottom:1px solid #f1f5f9;padding:14px 12px;font-size:14px}.konversi-perolehan-container .data-table tbody tr:hover{background:#f8f9fa}.konversi-perolehan-container .nim-cell{color:#e67e22;font-family:Consolas,monospace;font-weight:500}.konversi-perolehan-container .nama-cell{flex-direction:column;gap:4px;display:flex}.konversi-perolehan-container .nama-cell .nama{color:#1a1a2e;font-weight:500}.konversi-perolehan-container .nama-cell .jenis-daftar{color:#e67e22;background:#e67e221a;border-radius:4px;width:fit-content;padding:2px 8px;font-size:11px}.konversi-perolehan-container .sks-cell{text-align:center}.konversi-perolehan-container .sks-badge{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.konversi-perolehan-container .sks-badge.sks-danger{color:#721c24;background:#f8d7da}.konversi-perolehan-container .sks-badge.sks-warning{color:#856404;background:#fff3cd}.konversi-perolehan-container .sks-badge.sks-info{color:#004085;background:#cce5ff}.konversi-perolehan-container .sks-badge.sks-success{color:#11998e;background:#11998e26}.konversi-perolehan-container .btn-action{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .3s;display:inline-flex}.konversi-perolehan-container .btn-view{color:#fff;background:linear-gradient(135deg,#e67e22 0%,#d35400 100%)}.konversi-perolehan-container .btn-view:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e67e2266}.konversi-perolehan-container .pagination{justify-content:center;align-items:center;gap:8px;margin-bottom:12px;padding:16px;display:flex}.konversi-perolehan-container .pagination button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;width:36px;height:36px;font-weight:500;transition:all .3s}.konversi-perolehan-container .pagination button:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#e67e22 0%,#d35400 100%);border-color:#e67e22}.konversi-perolehan-container .pagination button:disabled{opacity:.5;cursor:not-allowed}.konversi-perolehan-container .page-info{color:#666;padding:0 16px;font-size:14px}.konversi-perolehan-container .data-info{text-align:center;color:#999;font-size:13px}.konversi-perolehan-container .modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.konversi-perolehan-container .modal-content{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:1000px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.konversi-perolehan-container .modal-header{color:#fff;background:linear-gradient(135deg,#e67e22 0%,#d35400 100%);border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.konversi-perolehan-container .modal-header h2{align-items:center;gap:10px;margin:0;font-size:1.25rem;display:flex}.konversi-perolehan-container .modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:6px;padding:8px;font-size:18px;transition:background .3s}.konversi-perolehan-container .modal-close:hover{background:#ffffff4d}.konversi-perolehan-container .modal-body{flex:1;padding:24px;overflow-y:auto}.konversi-perolehan-container .modal-loading{text-align:center;color:#666;padding:60px}.konversi-perolehan-container .detail-section{margin-bottom:24px}.konversi-perolehan-container .detail-section h3{color:#1a1a2e;border-bottom:2px solid #e67e22;align-items:center;gap:8px;margin:0 0 16px;padding-bottom:8px;font-size:1rem;font-weight:600;display:flex}.konversi-perolehan-container .info-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.konversi-perolehan-container .info-item{background:#f8f9fa;border-radius:8px;flex-direction:column;gap:4px;padding:12px;display:flex}.konversi-perolehan-container .info-item label{color:#999;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.konversi-perolehan-container .info-item span{color:#1a1a2e;font-size:14px;font-weight:500}.konversi-perolehan-container .info-item .badge-perolehan{color:#e67e22;background:#e67e221a;border-radius:4px;width:fit-content;padding:4px 10px;font-size:.85rem;display:inline-block}.konversi-perolehan-container .summary-cards{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.konversi-perolehan-container .summary-card{text-align:center;background:#f8f9fa;border:1px solid #eee;border-radius:8px;padding:16px}.konversi-perolehan-container .summary-card.highlight{color:#fff;background:linear-gradient(135deg,#e67e22 0%,#d35400 100%);border:none}.konversi-perolehan-container .summary-card.highlight .summary-label{color:#ffffffe6}.konversi-perolehan-container .summary-value{color:#1a1a2e;font-size:1.75rem;font-weight:700;display:block}.konversi-perolehan-container .summary-card.highlight .summary-value{color:#fff}.konversi-perolehan-container .summary-label{color:#666;font-size:12px}.konversi-perolehan-container .generate-section{background:linear-gradient(135deg,#e67e2208 0%,#d3540008 100%);border:2px dashed #e0e0e0;border-radius:12px;padding:20px}.konversi-perolehan-container .section-header-with-action{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.konversi-perolehan-container .section-header-with-action h3{color:#e67e22;border:none;align-items:center;gap:8px;margin:0;padding:0;display:flex}.konversi-perolehan-container .btn-generate-open{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e67e22 0%,#d35400 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:flex;box-shadow:0 2px 8px #e67e224d}.konversi-perolehan-container .btn-generate-open:hover{transform:translateY(-2px);box-shadow:0 4px 16px #e67e2266}.konversi-perolehan-container .btn-generate-open:disabled{cursor:not-allowed;box-shadow:none;background:#ccc}.konversi-perolehan-container .btn-generate-close{color:#fff;cursor:pointer;background:#f5576c;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:flex}.konversi-perolehan-container .btn-generate-close:hover{background:#e4455a}.konversi-perolehan-container .generate-content{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:20px}.konversi-perolehan-container .perolehan-selection{background:linear-gradient(135deg,#fff8f0 0%,#fff 100%);border:1px solid #ffe0c0;border-radius:10px;grid-template-columns:1fr 2fr;gap:16px;margin-bottom:20px;padding:16px 20px;display:grid}.konversi-perolehan-container .perolehan-selection .input-group label{color:#e67e22;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.konversi-perolehan-container .jenis-select{color:#333;cursor:pointer;background:#fff;border:2px solid #e67e22;border-radius:8px;width:100%;padding:10px 14px;font-size:14px;transition:all .3s}.konversi-perolehan-container .jenis-select:focus{outline:none;box-shadow:0 0 0 3px #e67e2233}.konversi-perolehan-container .keterangan-input{color:#333;border:1px solid #ddd;border-radius:8px;width:100%;padding:10px 14px;font-size:14px;transition:all .3s}.konversi-perolehan-container .keterangan-input:focus{border-color:#e67e22;outline:none;box-shadow:0 0 0 3px #e67e221a}.konversi-perolehan-container .kurikulum-selection{background:linear-gradient(135deg,#f8f9ff 0%,#fff 100%);border:1px solid #e0e0ff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex}.konversi-perolehan-container .kurikulum-group{flex:1;min-width:300px}.konversi-perolehan-container .kurikulum-group label{color:#e67e22;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.konversi-perolehan-container .kurikulum-select{color:#333;cursor:pointer;background:#fff;border:2px solid #e67e22;border-radius:8px;width:100%;padding:10px 14px;font-size:14px;transition:all .3s}.konversi-perolehan-container .kurikulum-select:focus{outline:none;box-shadow:0 0 0 3px #e67e2233}.konversi-perolehan-container .kurikulum-select:disabled{cursor:wait;background:#f5f5f5}.konversi-perolehan-container .loading-kurikulum{color:#e67e22;margin-left:8px;font-size:12px;font-style:italic}.konversi-perolehan-container .generate-input-row{border-bottom:1px solid #e8e8e8;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;padding-bottom:20px;display:flex}.konversi-perolehan-container .input-group{flex-direction:column;gap:6px;display:flex}.konversi-perolehan-container .input-group label{color:#666;font-size:13px;font-weight:500}.konversi-perolehan-container .target-sks-input{text-align:center;color:#e67e22;border:2px solid #e0e0e0;border-radius:8px;width:120px;padding:10px 16px;font-size:18px;font-weight:600;transition:border-color .3s}.konversi-perolehan-container .target-sks-input:focus{border-color:#e67e22;outline:none;box-shadow:0 0 0 3px #e67e221a}.konversi-perolehan-container .btn-generate-action{color:#fff;cursor:pointer;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);border:none;border-radius:8px;align-items:center;gap:8px;margin-left:auto;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 2px 8px #11998e4d}.konversi-perolehan-container .btn-generate-action:hover{transform:translateY(-2px);box-shadow:0 4px 16px #11998e66}.konversi-perolehan-container .btn-generate-action:disabled{cursor:wait;box-shadow:none;background:#ccc}.konversi-perolehan-container .generated-result{margin-top:20px}.konversi-perolehan-container .generated-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.konversi-perolehan-container .generated-header h4{color:#1a1a2e;align-items:center;gap:8px;margin:0;display:flex}.konversi-perolehan-container .generated-summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.konversi-perolehan-container .total-sks-badge{color:#fff;background:linear-gradient(135deg,#e67e22 0%,#d35400 100%);border-radius:20px;padding:6px 16px;font-size:14px;font-weight:600}.konversi-perolehan-container .generated-table-wrapper{border:1px solid #e8e8e8;border-radius:8px;max-height:300px;overflow:auto}.konversi-perolehan-container .generated-table{border-collapse:collapse;width:100%;min-width:600px}.konversi-perolehan-container .generated-table th{color:#fff;text-align:left;background:linear-gradient(135deg,#e67e22 0%,#d35400 100%);padding:12px 16px;font-size:13px;font-weight:500;position:sticky;top:0}.konversi-perolehan-container .generated-table td{border-bottom:1px solid #e8e8e8;padding:12px 16px;font-size:13px}.konversi-perolehan-container .generated-table tbody tr{background:#fff;transition:background .2s}.konversi-perolehan-container .generated-table tbody tr:hover{background:#e67e220d}.konversi-perolehan-container .generated-table tbody tr:last-child td{border-bottom:none}.konversi-perolehan-container .btn-remove-mk{color:#fff;cursor:pointer;background:#f5576c;border:none;border-radius:6px;padding:6px 10px;transition:all .2s}.konversi-perolehan-container .btn-remove-mk:hover{background:#e4455a;transform:scale(1.1)}.konversi-perolehan-container .generate-actions{border-top:1px solid #e8e8e8;gap:12px;margin-top:20px;padding-top:20px;display:flex}.konversi-perolehan-container .btn-save-konversi{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e67e22 0%,#d35400 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 28px;font-size:14px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 2px 8px #e67e224d}.konversi-perolehan-container .btn-save-konversi:hover{transform:translateY(-2px);box-shadow:0 4px 16px #e67e2266}.konversi-perolehan-container .konversi-list-section{margin-top:24px}.konversi-perolehan-container .konversi-table-wrapper{border:1px solid #eee;border-radius:8px;max-height:300px;overflow-y:auto}.konversi-perolehan-container .konversi-table{border-collapse:collapse;width:100%;font-size:13px}.konversi-perolehan-container .konversi-table th{text-align:left;color:#555;text-transform:uppercase;background:#f8f9fa;padding:12px;font-size:11px;font-weight:600;position:sticky;top:0}.konversi-perolehan-container .konversi-table td{border-top:1px solid #f1f5f9;padding:12px}.konversi-perolehan-container .konversi-table td.jenis{color:#e67e22;font-size:12px;font-weight:500}.konversi-perolehan-container .btn-delete-small{color:#fff;cursor:pointer;background:#f5576c;border:none;border-radius:6px;padding:6px 10px;transition:all .2s}.konversi-perolehan-container .btn-delete-small:hover{background:#e4455a;transform:scale(1.1)}.konversi-perolehan-container .riwayat-summary{background:#f8f9fa;border-radius:12px;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.konversi-perolehan-container .summary-item{flex-direction:column;gap:4px;display:flex}.konversi-perolehan-container .summary-item label{color:#999;text-transform:uppercase;font-size:11px}.konversi-perolehan-container .summary-item span{color:#1a1a2e;font-size:14px;font-weight:500}.konversi-perolehan-container .summary-item.highlight{background:#e67e221a;border-radius:8px;padding:8px 20px}.konversi-perolehan-container .summary-item.highlight.green{background:#11998e1a}.konversi-perolehan-container .summary-item.highlight span{color:#e67e22;font-size:1.25rem;font-weight:700}.konversi-perolehan-container .summary-item.highlight.green span{color:#11998e}.konversi-perolehan-container .riwayat-detail-table{border-collapse:collapse;width:100%}.konversi-perolehan-container .riwayat-detail-table th{text-align:left;color:#555;text-transform:uppercase;background:#f8f9fa;padding:12px;font-size:11px;font-weight:600}.konversi-perolehan-container .riwayat-detail-table td{border-bottom:1px solid #f1f5f9;padding:12px}.konversi-perolehan-container .riwayat-action-buttons{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:20px;display:flex}.konversi-perolehan-container .btn-danger{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:all .2s;display:flex}.konversi-perolehan-container .btn-danger:hover{background:#c82333;transform:translateY(-1px)}.konversi-perolehan-container .btn-success{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:all .2s;display:flex}.konversi-perolehan-container .btn-success:hover{background:#218838;transform:translateY(-1px)}@media (max-width:1024px){.konversi-perolehan-container .stats-grid,.konversi-perolehan-container .info-grid,.konversi-perolehan-container .summary-cards{grid-template-columns:repeat(2,1fr)}.konversi-perolehan-container .perolehan-selection{grid-template-columns:1fr}}@media (max-width:768px){.konversi-perolehan-container{padding:15px}.konversi-perolehan-container .stats-grid{grid-template-columns:1fr}.konversi-perolehan-container .filter-section{flex-direction:column;padding:15px}.konversi-perolehan-container .search-form{min-width:100%}.konversi-perolehan-container .filter-select{width:100%}.konversi-perolehan-container .data-table{font-size:12px}.konversi-perolehan-container .info-grid,.konversi-perolehan-container .summary-cards{grid-template-columns:1fr}.konversi-perolehan-container .page-header h1{font-size:1.5rem}.konversi-perolehan-container .tab-navigation{flex-wrap:wrap}.konversi-perolehan-container .tab-btn{flex:1;justify-content:center;padding:10px 16px}.konversi-perolehan-container .kurikulum-group{min-width:100%}.konversi-perolehan-container .generate-input-row{flex-direction:column;align-items:stretch}.konversi-perolehan-container .btn-generate-action{justify-content:center;margin-left:0}}.bulk-konversi-section{flex-direction:column;gap:20px;display:flex}.bulk-filter-card,.bulk-settings-card,.bulk-results-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.bulk-filter-card h3,.bulk-settings-card h3,.bulk-results-card h3{color:#1a1a2e;border-bottom:2px solid #f0f0f0;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;font-size:1.1rem;display:flex}.bulk-filter-grid{grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;display:grid}.bulk-filter-item label{color:#555;align-items:center;gap:6px;margin-bottom:6px;font-size:.85rem;font-weight:600;display:flex}.bulk-filter-item select{background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;padding:10px 12px;font-size:.9rem;transition:border-color .2s}.bulk-filter-item select:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}.bulk-filter-btn{align-items:end;display:flex}.btn-bulk-preview{color:#fff;cursor:pointer;white-space:nowrap;background:#6366f1;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:background .2s;display:flex}.btn-bulk-preview:hover:not(:disabled){background:#4f46e5}.btn-bulk-preview:disabled{opacity:.6;cursor:not-allowed}.bulk-summary-row{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.bulk-summary-card{text-align:center;background:#fff;border-left:4px solid #6366f1;border-radius:10px;padding:16px 20px;box-shadow:0 2px 6px #0000000f}.bulk-summary-card.success{border-left-color:#22c55e}.bulk-summary-card.warning{border-left-color:#f59e0b}.bulk-summary-card.info{border-left-color:#3b82f6}.bulk-summary-value{color:#1a1a2e;font-size:1.75rem;font-weight:700;display:block}.bulk-summary-label{color:#888;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:.8rem;display:block}.bulk-settings-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.bulk-setting-item label{color:#555;margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.bulk-setting-item input,.bulk-setting-item select{background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;padding:10px 12px;font-size:.9rem}.bulk-setting-item input:focus,.bulk-setting-item select:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}.bulk-settings-options{border-top:1px solid #f0f0f0;margin-top:16px;padding-top:12px}.bulk-checkbox{cursor:pointer;color:#555;align-items:center;gap:8px;font-size:.9rem;display:flex}.bulk-checkbox input[type=checkbox]{accent-color:#6366f1;width:18px;height:18px}.bulk-table-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.btn-bulk-execute{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 8px #6366f14d}.btn-bulk-execute:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-bulk-execute:disabled{opacity:.6;cursor:not-allowed;transform:none}.konversi-perolehan-container .row-sudah-konversi{background:#f0fdf4}.status-badge-bulk{border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.status-badge-bulk.status-done{color:#16a34a;background:#dcfce7}.status-badge-bulk.status-pending{color:#d97706;background:#fef3c7}.bulk-results-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.bulk-result-item{text-align:center;background:#f8f9fa;border-radius:10px;padding:14px}.bulk-result-item.success{background:#dcfce7}.bulk-result-item.warning{background:#fef3c7}.bulk-result-item.info{background:#dbeafe}.bulk-result-item.primary{background:#e0e7ff}.bulk-result-item .value{color:#1a1a2e;font-size:1.5rem;font-weight:700;display:block}.bulk-result-item .label{color:#666;margin-top:4px;font-size:.8rem;display:block}.bulk-results-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;max-height:400px;overflow-y:auto}.bulk-results-table{border-collapse:collapse;width:100%;font-size:.85rem}.bulk-results-table th{text-align:left;color:#555;z-index:1;background:#f8f9fa;padding:10px 12px;font-weight:600;position:sticky;top:0}.bulk-results-table td{border-bottom:1px solid #f0f0f0;padding:8px 12px}.result-success{background:#f0fdf4}.result-skipped{background:#fffbeb}.result-error{background:#fef2f2}.result-status-badge{border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.result-status-badge.success{color:#16a34a;background:#dcfce7}.result-status-badge.skipped{color:#d97706;background:#fef3c7}.result-status-badge.error{color:#dc2626;background:#fecaca}@media (max-width:768px){.bulk-filter-grid{grid-template-columns:1fr}.bulk-summary-row,.bulk-results-summary{grid-template-columns:repeat(2,1fr)}.bulk-settings-grid{grid-template-columns:1fr}.bulk-table-header{flex-direction:column;gap:12px}.btn-bulk-execute{justify-content:center;width:100%}}.riwayat-bulk-actions{background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:16px 20px;display:flex;box-shadow:0 2px 8px #00000014}.riwayat-bulk-info{align-items:center;gap:12px;display:flex}.riwayat-bulk-info .selected-count{color:#6366f1;background:#eef2ff;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.9rem;font-weight:600;display:flex}.riwayat-bulk-buttons{flex-wrap:wrap;gap:10px;display:flex}.btn-bulk-hapus{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 8px #ef44444d}.btn-bulk-hapus:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.btn-bulk-hapus:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-bulk-kirim{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 8px #22c55e4d}.btn-bulk-kirim:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #22c55e66}.btn-bulk-kirim:disabled{opacity:.5;cursor:not-allowed;transform:none}.konversi-perolehan-container .row-selected{background:#eef2ff!important}@media (max-width:768px){.riwayat-bulk-actions{flex-direction:column;align-items:stretch}.riwayat-bulk-buttons{flex-direction:column}.btn-bulk-hapus,.btn-bulk-kirim{justify-content:center}}.status-transfer-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.status-transfer-badge.status-terkirim{color:#16a34a;background:#dcfce7}.status-transfer-badge.status-belum{color:#d97706;background:#fef3c7}.generate-dokumen-container{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);min-height:100vh;padding:20px}.page-header{margin-bottom:30px}.page-header h1{color:#1a202c;align-items:center;gap:12px;margin-bottom:8px;font-size:1.8rem;display:flex}.page-header h1 svg{color:#e53e3e}.page-header p{color:#718096;font-size:.95rem}.step-indicator{background:#fff;border-radius:12px;justify-content:center;align-items:center;margin-bottom:40px;padding:20px;display:flex;box-shadow:0 2px 10px #0000000d}.step{flex-direction:column;align-items:center;gap:8px;display:flex}.step-number{color:#718096;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.step.active .step-number{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.step.completed .step-number{color:#fff;background:#48bb78}.step-label{color:#718096;font-size:.85rem;font-weight:500}.step.active .step-label{color:#667eea;font-weight:600}.step.completed .step-label{color:#48bb78}.step-connector{background:#e2e8f0;width:80px;height:3px;margin:0 15px 25px}.wizard-content{background:#fff;border-radius:16px;min-height:400px;padding:30px;box-shadow:0 4px 20px #00000014}.wizard-step h2{color:#2d3748;text-align:center;margin-bottom:25px;font-size:1.4rem}.step-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.step-header h2{text-align:left;margin-bottom:0}.btn-back{color:#4a5568;cursor:pointer;background:#edf2f7;border:none;border-radius:8px;padding:8px 16px;font-size:.9rem;transition:all .2s}.template-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.template-card{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:15px;padding:20px;transition:all .3s;display:flex}.template-card:hover:not(.disabled){border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 15px #667eea33}.template-card.disabled{opacity:.6;cursor:not-allowed}.template-icon{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;display:flex}.template-info h3{color:#2d3748;margin-bottom:5px;font-size:1.1rem}.template-info p{color:#718096;font-size:.85rem;line-height:1.4}.template-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag{border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:500}.tag.kategori{color:#4a5568;background:#edf2f7}.tag.jalur{color:#234e52;background:#e6fffa}.tag.jalur.transfer{color:#3c366b;background:#ebf4ff}.tag.jalur.perolehan{color:#92400e;background:#fef3c7}.template-status{border-top:1px solid #e2e8f0;align-items:center;gap:6px;margin-top:auto;padding-top:10px;font-size:.85rem;font-weight:500;display:flex}.template-status.aktif{color:#48bb78}.template-status.coming-soon{color:#ed8936}.selected-template-info{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;margin-bottom:20px;padding:12px 20px}.selected-info-cards{gap:15px;margin-bottom:25px;display:flex}.info-card{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:10px;flex:1;padding:15px 20px}.info-card label{opacity:.9;margin-bottom:5px;font-size:.8rem;display:block}.info-card span{font-size:1rem;font-weight:600}.filter-section{margin-bottom:25px}.search-form{flex-wrap:wrap;gap:12px;display:flex}.search-input-wrapper{flex:1;min-width:250px;position:relative}.search-input-wrapper .search-icon{color:#a0aec0;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.search-input-wrapper input{border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:12px 15px 12px 42px;font-size:.95rem;transition:border-color .2s}.search-input-wrapper input:focus{border-color:#667eea;outline:none}.filter-select{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:10px;min-width:150px;padding:12px 15px;font-size:.95rem}.btn-search{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;transition:transform .2s,box-shadow .2s;display:flex}.btn-search:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.mahasiswa-list{overflow-x:auto}.data-table th{color:#4a5568;text-transform:uppercase;background:#f7fafc;font-size:.85rem;font-weight:600}.nim-cell{color:#667eea;font-family:Courier New,monospace;font-weight:600}.nama-cell{color:#2d3748;font-weight:500}.jalur-badge{border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:500;display:inline-flex}.jalur-icon{font-size:.75rem}.btn-action{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:.85rem;transition:all .2s}.btn-select{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn-select:hover{transform:translateY(-1px);box-shadow:0 3px 10px #667eea4d}.matkul-selection{margin-bottom:30px}.selection-note{color:#276749;background:#f0fff4;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:15px 20px;display:flex}.selection-note svg{font-size:1.2rem}.matkul-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px;display:grid}.matkul-card{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:15px;transition:all .2s;position:relative}.matkul-card:hover{border-color:#667eea}.matkul-card.selected{background:linear-gradient(135deg,#667eea0d 0%,#764ba20d 100%);border-color:#667eea}.matkul-code{color:#667eea;margin-bottom:5px;font-family:Courier New,monospace;font-size:.9rem;font-weight:600}.matkul-name{color:#2d3748;margin-bottom:10px;font-size:.95rem;font-weight:500;line-height:1.3}.matkul-info{gap:10px;display:flex}.matkul-info span{border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:500}.matkul-info .sks{color:#3c366b;background:#ebf4ff}.matkul-info .semester{color:#276749;background:#f0fff4}.selected-indicator{color:#667eea;font-size:1.2rem;position:absolute;top:10px;right:10px}.cetak-info-section{background:linear-gradient(135deg,#f0fff4 0%,#c6f6d5 100%);border:1px solid #9ae6b4;border-radius:12px;margin-top:30px;padding:20px}.cetak-info-section h3{color:#276749;align-items:center;gap:8px;margin-bottom:15px;font-size:1rem;display:flex}.cetak-form-row{flex-wrap:wrap;gap:20px;display:flex}.cetak-form-group{flex:1;min-width:200px}.cetak-form-group label{color:#2f855a;margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.cetak-input{background:#fff;border:2px solid #9ae6b4;border-radius:8px;width:100%;padding:10px 14px;font-size:.95rem;transition:all .3s}.cetak-input:focus{border-color:#38a169;outline:none;box-shadow:0 0 0 3px #38a16926}.cetak-input::placeholder{color:#a0aec0}.step-actions{justify-content:center;margin-top:30px;display:flex}.btn-generate{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e53e3e 0%,#c53030 100%);border:none;border-radius:10px;align-items:center;gap:10px;padding:15px 40px;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #e53e3e66}.btn-generate:disabled{opacity:.7;cursor:not-allowed}.empty-state svg{opacity:.5;margin-bottom:15px;font-size:3rem}.empty-state p{font-size:1rem}.modal-content{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;overflow:hidden}.modal-content.preview-modal{flex-direction:column;display:flex;width:95vw!important;max-width:95vw!important;height:95vh!important;max-height:95vh!important}.modal-content.preview-modal .modal-body{background:#4a5568;flex:1;height:calc(95vh - 80px);padding:20px;overflow-y:auto}.modal-content.preview-modal .print-preview{transform-origin:top;max-width:210mm;margin:0 auto}.modal-content.preview-modal iframe{border:none;width:100%;height:100%;min-height:calc(95vh - 80px)}.modal-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.modal-header h2{align-items:center;gap:10px;font-size:1.3rem;display:flex}.modal-actions{gap:10px;display:flex}.btn-print{color:#667eea;cursor:pointer;background:#fff;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.btn-print:hover{background:#f7fafc}.btn-save:hover{background:#38a169}.btn-save:disabled{cursor:not-allowed;background:#a0aec0}.modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;transition:background .2s;display:flex}.modal-body{background:#f7fafc;flex:1;padding:25px;overflow-y:auto}.print-preview{background:#fff;box-shadow:0 2px 10px #0000001a}.print-preview .page{border-bottom:1px dashed #ccc;min-height:297mm;padding:40px 50px}.print-preview .page:last-child{border-bottom:none}.print-preview .page-break{page-break-after:always}.print-preview .cover-page{text-align:center;flex-direction:column;justify-content:space-between;align-items:center;height:800px;display:flex}.print-preview .cover-top,.print-preview .cover-bottom{padding:20px 0}.print-preview .cover-middle{flex:1;justify-content:center;align-items:center;display:flex}.print-preview .logo-img{object-fit:contain;width:150px;height:150px}.print-preview .institution-name{margin-bottom:5px;font-family:Times New Roman,serif;font-size:18pt;font-weight:700}.print-preview .program-studi{font-family:Times New Roman,serif;font-size:14pt;font-weight:700}.print-preview .form-title{margin-bottom:10px;font-family:Times New Roman,serif;font-size:20pt;font-weight:700;line-height:1.4}.print-preview .form-subtitle{font-family:Times New Roman,serif;font-size:16pt;font-weight:700}.print-preview .section-title{text-align:center;margin-bottom:25px;font-family:Times New Roman,serif;font-size:14pt;font-weight:700;text-decoration:underline}.print-preview .identity-table-bordered{border-collapse:collapse;width:100%;margin-bottom:25px;font-family:Times New Roman,serif}.print-preview .identity-table-bordered td{border:1px solid #000;padding:10px 15px}.print-preview .identity-table-bordered .label-cell{background:#f5f5f5;width:200px}.print-preview .identity-table-bordered .colon-cell{text-align:center;background:#f5f5f5;width:20px}.print-preview .identity-table-simple{border-collapse:collapse;width:100%;font-family:Times New Roman,serif}.print-preview .identity-table-simple td{vertical-align:top;padding:5px 0}.print-preview .matakuliah-table{border-collapse:collapse;width:100%;font-family:Times New Roman,serif;font-size:11px}.print-preview .matakuliah-table th,.print-preview .matakuliah-table td{border:1px solid #000;padding:8px}.print-preview .matakuliah-table th{text-align:center;background:#e0e0e0;font-weight:700}.print-preview h3{margin-bottom:15px;font-family:Times New Roman,serif}.print-preview .pengantar{text-align:justify;font-family:Times New Roman,serif;font-size:12pt;line-height:1.6}.print-preview .pengantar p{text-indent:40px;margin-bottom:15px}.print-preview .note{background:#f9f9f9;border-left:3px solid #333;margin:15px 0;padding:15px;font-style:italic}.print-preview .eval-header{background:#e8e8e8;border:1px solid #000;margin-bottom:15px;padding:12px 15px;font-family:Times New Roman,serif;font-size:12pt;font-weight:700}.print-preview .evaluation-table{border-collapse:collapse;width:100%;font-family:Times New Roman,serif;font-size:10pt}.print-preview .evaluation-table th,.print-preview .evaluation-table td{text-align:center;vertical-align:middle;border:1px solid #000;padding:8px 5px}.print-preview .evaluation-table th{background:#d0d0d0;font-weight:700}.print-preview .evaluation-table tbody tr{height:50px}.print-preview .table-note{margin-top:8px;font-family:Times New Roman,serif;font-size:10pt;font-style:italic}.print-preview .pernyataan{font-family:Times New Roman,serif;font-size:12pt}.print-preview .pernyataan-intro{margin-bottom:15px}.print-preview .pernyataan-list{margin-left:20px}.print-preview .pernyataan-list li{text-align:justify;margin-bottom:12px;line-height:1.5}.print-preview .signature-section{justify-content:flex-end;margin-top:50px;font-family:Times New Roman,serif;display:flex}.print-preview .signature-box{text-align:center;width:280px}.print-preview .signature-box .place-date{margin-bottom:15px}.print-preview .signature-box .label{margin-bottom:10px}.print-preview .signature-box .signature-image{background:0 0;justify-content:center;align-items:center;min-height:100px;margin-bottom:5px;display:flex}.print-preview .signature-box .signature-image img{object-fit:contain;mix-blend-mode:darken;background:0 0;max-width:250px;height:100px}.print-preview .signature-box .name-line{border-bottom:1px solid #000;padding-top:10px}@media (max-width:768px){.step-indicator{flex-wrap:wrap;gap:10px}.step-connector{display:none}.template-grid{grid-template-columns:1fr}.search-form{flex-direction:column}.search-input-wrapper{min-width:100%}.selected-info-cards{flex-direction:column}.matkul-grid{grid-template-columns:1fr}.modal-content{margin:10px}}.mode-toggle{justify-content:center;gap:10px;margin-bottom:20px;display:flex}.mode-btn{color:#718096;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:10px;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:500;transition:all .3s;display:flex}.mode-btn:hover{color:#667eea;border-color:#667eea}.mode-btn.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#0000}.mode-btn svg{font-size:1.1rem}.bulk-badge{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;align-items:center;gap:6px;margin-left:15px;padding:4px 12px;font-size:.8rem;font-weight:500;display:inline-flex}.bulk-filter-section{padding:20px 0}.bulk-filter-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;margin-bottom:25px;padding:25px;display:grid}.filter-group label svg{color:#667eea}.filter-select-large{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:14px 16px;font-size:1rem;transition:border-color .3s}.filter-select-large:focus{border-color:#667eea;outline:none}.bulk-stats{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:25px;display:grid}.stat-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000d}.stat-card.transfer{border-color:#4299e1}.stat-card.perolehan{border-color:#ed8936}.stat-value{color:#1a202c;margin-bottom:5px;font-size:2rem;font-weight:700}.stat-card.transfer .stat-value{color:#2b6cb0}.stat-card.perolehan .stat-value{color:#c05621}.btn-next{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;align-items:center;gap:8px;padding:14px 30px;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-next:hover{transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn-next:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.bulk-selection-toolbar{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px 20px;display:flex}.selection-info{align-items:center;gap:8px;font-weight:500;display:flex}.btn-select-all{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;padding:8px 18px;font-size:.9rem;font-weight:500;transition:all .3s}.btn-select-all:hover{background:#ffffff4d}.bulk-mahasiswa-list{border:1px solid #e2e8f0;border-radius:10px;max-height:400px;margin-bottom:20px;overflow-y:auto}.bulk-table .checkbox-col{text-align:center;width:50px}.bulk-table input[type=checkbox]{cursor:pointer;width:18px;height:18px}.bulk-table tbody tr{cursor:pointer}.bulk-table tbody tr:hover{background:#f0f7ff}.bulk-table tbody tr.selected{background:#ebf8ff}.btn-generate.bulk{background:linear-gradient(135deg,#48bb78 0%,#38a169 100%)}.btn-generate.bulk:hover{box-shadow:0 5px 20px #48bb7866}.bulk-preview-modal .modal-header{flex-wrap:wrap;gap:15px}.bulk-nav{align-items:center;gap:10px;display:flex}.btn-nav{color:#4a5568;cursor:pointer;background:#e2e8f0;border:none;border-radius:8px;padding:8px 16px;font-weight:500;transition:all .3s}.btn-nav:hover:not(:disabled){background:#cbd5e0}.btn-nav:disabled{opacity:.5;cursor:not-allowed}.bulk-counter{color:#4a5568;text-align:center;min-width:60px;font-weight:600}.bulk-mhs-info{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;margin-bottom:15px;padding:12px 20px;font-size:1rem}@media (max-width:768px){.mode-toggle{flex-direction:column}.mode-btn{justify-content:center}.bulk-filter-card,.bulk-stats{grid-template-columns:1fr}.bulk-selection-toolbar{flex-direction:column;gap:15px}.bulk-nav{flex-wrap:wrap}.bulk-preview-modal .modal-actions{flex-wrap:wrap;gap:10px}}.log-cetak-card{background:#fff;border-radius:16px;margin-top:20px;padding:30px;box-shadow:0 4px 20px #00000014}.log-cetak-header{margin-bottom:25px}.log-cetak-header h2{color:#2d3748;align-items:center;gap:10px;margin-bottom:5px;font-size:1.4rem;display:flex}.log-cetak-header h2 svg{color:#667eea}.log-cetak-header p{color:#718096;font-size:.9rem}.log-cetak-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.log-cetak-toolbar .search-box{flex:1;min-width:280px;position:relative}.log-cetak-toolbar .search-box input{border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:12px 15px 12px 42px;font-size:.95rem;transition:all .3s}.log-cetak-toolbar .search-box input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.log-cetak-toolbar .search-box .search-icon{color:#a0aec0;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.toolbar-actions{gap:10px;display:flex}.btn-delete-selected{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e53e3e 0%,#c53030 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-weight:500;transition:all .3s;display:inline-flex}.btn-delete-selected:hover{transform:translateY(-2px);box-shadow:0 4px 15px #e53e3e4d}.btn-refresh:hover{background:#e2e8f0}.log-cetak-table-wrapper{border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.log-cetak-table{border-collapse:collapse;width:100%;font-size:.9rem}.log-cetak-table th,.log-cetak-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:12px 15px}.log-cetak-table th{color:#4a5568;white-space:nowrap;background:#f7fafc;font-weight:600}.log-cetak-table tbody tr{transition:all .2s}.log-cetak-table tbody tr:hover{background:#f0f7ff}.log-cetak-table tbody tr.selected{background:#ebf8ff}.log-cetak-table .checkbox-col{text-align:center;width:50px}.log-cetak-table input[type=checkbox]{cursor:pointer;accent-color:#667eea;width:18px;height:18px}.log-cetak-table .dokumen-name{align-items:center;gap:8px;max-width:250px;display:flex}.log-cetak-table .dokumen-name .pdf-icon{color:#e53e3e;flex-shrink:0}.log-cetak-table .badge{text-transform:uppercase;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.log-cetak-table .badge.single{color:#4a5568;background:#e2e8f0}.log-cetak-table .badge.bulk{color:#22543d;background:#c6f6d5}.log-cetak-table .action-col{white-space:nowrap}.log-cetak-table .action-col a,.log-cetak-table .action-col button{justify-content:center;align-items:center;margin-right:5px;display:inline-flex}.log-cetak-table .btn-view{color:#3182ce;background:#ebf8ff;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;text-decoration:none;transition:all .2s;display:inline-flex}.log-cetak-table .btn-view svg{fill:currentColor;min-width:16px;min-height:16px;width:16px!important;height:16px!important;display:block!important}.log-cetak-table .btn-view:hover{background:#bee3f8}.log-cetak-table .btn-delete{cursor:pointer;background:#fed7d7;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .2s;display:inline-flex;color:#c53030!important}.log-cetak-table .btn-delete svg{fill:currentColor;min-width:16px;min-height:16px;color:inherit;width:16px!important;height:16px!important;display:block!important}.log-cetak-table .btn-delete:hover{color:#fff;background:#fc8181;color:#fff!important}.log-cetak-card .empty-state{text-align:center;color:#a0aec0;padding:60px 20px}.log-cetak-card .empty-state svg{margin-bottom:15px;font-size:3rem}.log-cetak-card .empty-state p{font-size:1rem}@media (max-width:768px){.log-cetak-toolbar{flex-direction:column;align-items:stretch}.log-cetak-toolbar .search-box{min-width:100%}.toolbar-actions{justify-content:center}.log-cetak-table .dokumen-name{text-overflow:ellipsis;max-width:150px;overflow:hidden}}.print-preview.landscape{width:100%;max-width:none}.print-preview .page-landscape{background:#fff;width:297mm;min-height:210mm;margin:0 auto 20px;padding:15mm 20mm;font-family:Times New Roman,serif;font-size:10pt;box-shadow:0 2px 10px #0000001a}.print-preview .assesment-header{border-bottom:2px solid #000;justify-content:center;align-items:center;gap:20px;margin-bottom:15px;padding-bottom:10px;display:flex}.print-preview .assesment-header .logo-img-small{object-fit:contain;width:60px;height:60px}.print-preview .assesment-header .header-title{text-align:center}.print-preview .assesment-header .header-title h1{letter-spacing:1px;margin:0;font-size:14pt;font-weight:700}.print-preview .assesment-header .header-title h2{margin:5px 0 0;font-size:12pt;font-weight:700}.print-preview .assesment-info{margin-bottom:15px}.print-preview .assesment-info .info-table{border-collapse:collapse;width:100%;font-size:9pt}.print-preview .assesment-info .info-table td{vertical-align:top;padding:4px 5px}.print-preview .assesment-table-container{margin-bottom:20px;overflow-x:auto}.print-preview .assesment-table{border-collapse:collapse;width:100%;font-size:8pt}.print-preview .assesment-table th,.print-preview .assesment-table td{text-align:left;border:1px solid #000;padding:5px 4px}.print-preview .assesment-table th{text-align:center;background:#e0e0e0;font-size:7pt;font-weight:700}.print-preview .assesment-table .col-kurikulum{background:#d4edda}.print-preview .assesment-table .col-transfer{background:#cce5ff}.print-preview .assesment-table .col-perolehan{background:#fff3cd}.print-preview .assesment-table .col-harus-ditempuh{background:#f8d7da}.print-preview .assesment-table td.center{text-align:center}.print-preview .assesment-table tbody tr:nth-child(n+3):not(.total-row){background:#fff}.print-preview .assesment-table tbody tr:nth-child(2n+4):not(.total-row){background:#fafafa}.print-preview .assesment-table .header-row-main th,.print-preview .assesment-table .header-row-sub th{text-align:center;background:#e0e0e0;font-size:7pt;font-weight:700}.print-preview .assesment-table .header-row-main .col-kurikulum{background:#d4edda}.print-preview .assesment-table .header-row-main .col-transfer{background:#cce5ff}.print-preview .assesment-table .header-row-main .col-perolehan{background:#fff3cd}.print-preview .assesment-table .header-row-main .col-harus-ditempuh{background:#f8d7da}.print-preview .assesment-table tr.total-row{background:#f0f0f0;border-top:2px solid #333;font-weight:700}.print-preview .assesment-table tr.total-row td{padding:8px 5px}.print-preview .assesment-signature{justify-content:space-between;margin-top:30px;font-size:9pt;display:flex}.print-preview .assesment-signature .sig-box{text-align:center;width:30%}.print-preview .assesment-signature .sig-title{margin-bottom:10px;font-weight:700}.print-preview .assesment-signature .sig-date{margin-bottom:5px}.print-preview .assesment-signature .sig-space{height:60px}.print-preview .assesment-signature .sig-name{border-top:1px solid #000;padding-top:5px;display:inline-block}.print-preview .assesment-signature ol{text-align:left;margin:0;padding:0;list-style-position:inside}.print-preview .assesment-signature ol li{margin-bottom:8px}.print-preview .assesment-signature .sig-table{border-collapse:collapse;text-align:left;width:100%;font-size:9pt}.print-preview .assesment-signature .sig-table th,.print-preview .assesment-signature .sig-table td{border:1px solid #333;padding:4px 6px}.print-preview .assesment-signature .sig-table th{text-align:center;background:#f0f0f0;font-weight:700}.print-preview .assesment-signature .sig-table td:first-child{text-align:center;width:30px}.print-preview .assesment-signature .sig-table td:last-child{width:60px}.verifikasi-dokumen-container{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);min-height:100vh;padding:20px}.verifikasi-dokumen-container .page-header{margin-bottom:25px}.verifikasi-dokumen-container .page-header h1{color:#1a202c;align-items:center;gap:12px;margin-bottom:8px;font-size:1.8rem;display:flex}.verifikasi-dokumen-container .page-header h1 svg{color:#667eea}.verifikasi-dokumen-container .page-header p{color:#718096;font-size:.95rem}.content-wrapper{grid-template-columns:350px 1fr;align-items:start;gap:25px;display:grid}.mahasiswa-panel{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014}.mahasiswa-panel .panel-header{border-bottom:1px solid #e2e8f0;padding:20px}.mahasiswa-panel .panel-header h2{color:#2d3748;align-items:center;gap:8px;font-size:1.1rem;display:flex}.mahasiswa-panel .panel-header h2 svg{color:#667eea}.search-filter-box{background:#f7fafc;border-bottom:1px solid #e2e8f0;padding:15px 20px}.search-input{margin-bottom:10px;position:relative}.search-input input{border:2px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 15px 10px 40px;font-size:.9rem;transition:all .3s}.search-input input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.search-input .search-icon{color:#a0aec0;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.filter-select{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 15px;font-size:.9rem}.filter-select:focus{border-color:#667eea;outline:none}.mahasiswa-list{max-height:600px;overflow-y:auto}.mahasiswa-item{cursor:pointer;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:15px 20px;transition:all .2s;display:flex}.mahasiswa-item:hover{background:#f7fafc}.mahasiswa-item.selected{background:linear-gradient(135deg,#667eea15 0%,#764ba215 100%);border-left:4px solid #667eea}.mhs-info{flex-direction:column;gap:4px;display:flex}.mhs-nim{color:#2d3748;font-size:.95rem;font-weight:600}.mhs-nama{color:#4a5568;font-size:.9rem}.mhs-prodi{color:#a0aec0;font-size:.8rem}.jalur-badge{border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:600}.jalur-badge.transfer{color:#2b6cb0;background:#ebf8ff}.jalur-badge.perolehan{color:#276749;background:#f0fff4}.jalur-badge-large{border-radius:20px;margin-top:8px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-block}.jalur-badge-large.transfer{color:#2b6cb0;background:linear-gradient(135deg,#ebf8ff 0%,#bee3f8 100%);border:1px solid #90cdf4}.jalur-badge-large.perolehan{color:#276749;background:linear-gradient(135deg,#f0fff4 0%,#c6f6d5 100%);border:1px solid #9ae6b4}.dokumen-info-box{background:linear-gradient(135deg,#f7fafc 0%,#edf2f7 100%);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:15px 20px}.dokumen-info-box .info-header{color:#4a5568;margin-bottom:12px;font-size:.9rem}.dokumen-info-box .info-list{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.dokumen-info-box .info-item{border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;display:flex}.dokumen-info-box .info-item.completed{color:#276749;background:#c6f6d5}.dokumen-info-box .info-item.completed svg{color:#38a169}.dokumen-info-box .info-item.pending{color:#c05621;background:#feebc8}.dokumen-info-box .info-item.pending svg{color:#dd6b20}.dokumen-info-box .info-note{color:#718096;border-top:1px dashed #cbd5e0;margin-top:10px;padding-top:10px;font-size:.8rem}.dokumen-info-box .info-note.warning{color:#c05621;background:#fffaf0;border-top:none;border-left:3px solid #ed8936;border-radius:6px;padding:8px 12px}.dokumen-info-box .info-note.warning strong{color:#c05621}.dokumen-info-box .info-note strong{color:#4a5568}.catatan-pengajuan-box{border:1px solid;border-radius:12px;align-items:flex-start;gap:14px;margin-bottom:20px;padding:16px 20px;display:flex}.catatan-pengajuan-box.diterima{background:linear-gradient(135deg,#f0fff4 0%,#e6fffa 100%);border-color:#38a169;border-left-style:solid;border-left-width:4px}.catatan-pengajuan-box .catatan-icon{flex-shrink:0;margin-top:2px;font-size:28px}.catatan-pengajuan-box.diterima .catatan-icon{color:#38a169}.catatan-pengajuan-box .catatan-content{flex:1}.catatan-pengajuan-box .catatan-status{color:#2d3748;margin-bottom:6px;font-size:.95rem;font-weight:600}.catatan-pengajuan-box .catatan-status .status-diterima{color:#fff;letter-spacing:.5px;background:#38a169;border-radius:20px;margin-left:4px;padding:2px 10px;font-size:.8rem;font-weight:700}.catatan-pengajuan-box .catatan-detail{color:#4a5568;margin:0 0 4px;font-size:.85rem;line-height:1.5}.catatan-pengajuan-box .catatan-keterangan{color:#718096;margin:0;font-size:.8rem;font-style:italic}.dokumen-panel{background:#fff;border-radius:16px;min-height:500px;padding:25px;box-shadow:0 4px 20px #00000014}.dokumen-panel .panel-header{justify-content:space-between;align-items:flex-start;margin-bottom:25px;display:flex}.dokumen-panel .header-info h2{color:#2d3748;align-items:center;gap:8px;margin-bottom:5px;font-size:1.2rem;display:flex}.dokumen-panel .header-info h2 svg{color:#667eea}.dokumen-panel .header-info p{color:#718096;font-size:.9rem}.btn-add{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-weight:500;transition:all .3s;display:inline-flex}.btn-add:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.btn-add-empty{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;align-items:center;gap:8px;margin-top:15px;padding:12px 24px;font-weight:500;transition:all .3s;display:inline-flex}.btn-add-empty:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.dokumen-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.dokumen-card{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:15px;padding:20px;transition:all .3s;display:flex}.dokumen-card:hover{border-color:#667eea;box-shadow:0 4px 15px #667eea26}.dokumen-icon{background:#fff;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;display:flex}.dokumen-icon .no-file{color:#cbd5e0}.dokumen-icon .pdf-file{color:#e53e3e}.dokumen-icon .image-file{color:#38a169}.dokumen-info{flex:1}.dokumen-no{color:#a0aec0;text-transform:uppercase;font-size:.75rem;font-weight:600}.dokumen-jenis{color:#2d3748;margin:5px 0;font-size:1rem}.dokumen-nama{color:#4a5568;margin-bottom:3px;font-size:.85rem}.dokumen-nomor{color:#718096;font-size:.8rem}.status-badge{border-radius:20px;align-items:center;gap:5px;margin-top:8px;padding:5px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge.uploaded{color:#276749;background:#c6f6d5}.status-badge.pending{color:#c05621;background:#feebc8}.dokumen-actions{justify-content:flex-end;gap:8px;display:flex}.btn-icon{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:inline-flex}.btn-icon svg{fill:currentColor;min-width:16px;min-height:16px;width:16px!important;height:16px!important;display:block!important}.btn-icon.view{color:#3182ce;background:#ebf8ff}.btn-icon.view:hover{background:#bee3f8}.btn-icon.upload{color:#6b46c1;background:#e9d8fd}.btn-icon.upload:hover{background:#d6bcfa}.btn-icon.delete{color:#c53030;background:#fed7d7}.btn-icon.delete:hover{color:#fff;background:#fc8181}.no-selection{color:#a0aec0;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.no-selection svg{margin-bottom:20px;font-size:4rem}.no-selection h3{color:#4a5568;margin-bottom:8px;font-size:1.3rem}.no-selection p{font-size:.95rem}.loading-state .spinner{border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.empty-state svg{margin-bottom:15px;font-size:3rem}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;animation:.3s modalSlideIn;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header h2{color:#2d3748;align-items:center;gap:10px;font-size:1.2rem;display:flex}.modal-header h2 svg{color:#667eea}.btn-close{color:#718096;cursor:pointer;background:0 0;border:none;padding:5px;font-size:1.2rem}.btn-close:hover{color:#2d3748}.btn-download{color:#fff;background:#48bb78;border-radius:8px;align-items:center;gap:6px;padding:8px 15px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-download:hover{background:#38a169}.dokumen-type{background:#f7fafc;border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 15px;display:flex}.dokumen-type .label{color:#718096;font-size:.9rem}.dokumen-type .value{color:#2d3748;font-weight:600}.upload-area{margin-top:20px}.upload-label{cursor:pointer;text-align:center;border:2px dashed #cbd5e0;border-radius:12px;padding:30px;transition:all .3s;display:block}.upload-label:hover{background:#f7fafc;border-color:#667eea}.upload-placeholder{color:#718096}.upload-placeholder svg{color:#cbd5e0;margin-bottom:10px;font-size:2.5rem}.upload-placeholder span{margin-bottom:5px;font-weight:500;display:block}.upload-placeholder small{color:#a0aec0}.file-selected,.file-existing{flex-direction:column;align-items:center;gap:8px;display:flex}.file-selected svg{color:#667eea;font-size:2rem}.file-existing svg{color:#48bb78;font-size:2rem}.file-selected span,.file-existing span{color:#2d3748;font-weight:500}.file-selected small,.file-existing small{color:#718096}.btn-cancel{color:#4a5568;cursor:pointer;background:#edf2f7;border:none;border-radius:8px;padding:10px 20px;font-weight:500;transition:all .2s}.btn-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:all .3s;display:inline-flex}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.spinner-small{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.modal-content.preview-modal{width:95vw!important;max-width:95vw!important;height:95vh!important;max-height:95vh!important}.preview-body{background:#1a202c;flex:1;justify-content:center;align-items:center;height:calc(95vh - 80px);padding:0;display:flex;overflow:hidden}.preview-body iframe{border:none;width:100%;height:100%;min-height:calc(95vh - 80px)}.preview-body img{object-fit:contain;max-width:100%;max-height:calc(95vh - 100px)}@media (max-width:1024px){.content-wrapper{grid-template-columns:1fr}.mahasiswa-panel{max-height:400px}.mahasiswa-list{max-height:250px}}@media (max-width:768px){.verifikasi-dokumen-container{padding:15px}.dokumen-grid{grid-template-columns:1fr}.dokumen-panel .panel-header{flex-direction:column;gap:15px}.form-row{grid-template-columns:1fr}.modal-content{max-height:95vh}}.tim-rpl-container{padding:20px}.tim-rpl-container .page-header{border-bottom:2px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;display:flex}.tim-rpl-container .page-header h1{color:#333;align-items:center;margin:0;font-size:24px;display:flex}.tim-rpl-container .page-header p{color:#666;margin:5px 0 0}.tim-rpl-container .btn-add{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 15px #667eea4d}.tim-rpl-container .btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.tabs-container{flex-wrap:wrap;gap:10px;margin-bottom:25px;display:flex}.tab-btn{color:#666;cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;transition:all .3s;display:flex}.tab-btn:hover{color:#667eea;border-color:#667eea}.tab-btn.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#0000}.tab-btn .badge{background:#0000001a;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600}.tab-btn.active .badge{background:#ffffff4d}.grouped-view{flex-direction:column;gap:30px;display:flex}.kategori-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000d}.kategori-header{border-bottom:2px solid #f0f0f0;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:15px;display:flex}.kategori-header svg{color:#667eea;font-size:24px}.kategori-header h2{color:#333;margin:0;font-size:18px}.kategori-header .count{color:#666;background:#f0f0f0;border-radius:15px;margin-left:auto;padding:4px 12px;font-size:13px}.members-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.members-grid.single-category{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000d}.member-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 2px 8px #00000014}.member-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001f}.member-card.inactive{opacity:.6}.member-card .card-header{color:#fff;justify-content:space-between;align-items:center;padding:12px 15px;font-size:12px;display:flex}.member-card .card-header.kategori-pimpinan{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.member-card .card-header.kategori-komite{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.member-card .card-header.kategori-penilai{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.member-card .card-header.kategori-ketua_prodi{background:linear-gradient(135deg,#f7971e 0%,#ffd200 100%)}.member-card .jabatan{font-weight:600}.member-card .status-badge{text-transform:capitalize;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:flex}.member-card .status-badge.aktif{background:#ffffff40}.member-card .status-badge.nonaktif{background:#0003}.member-card .card-body{text-align:center;padding:20px}.member-card .member-avatar{border:3px solid #f0f0f0;border-radius:50%;width:80px;height:80px;margin:0 auto 15px;overflow:hidden}.member-card .member-avatar img{object-fit:cover;width:100%;height:100%}.member-card .avatar-placeholder{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:32px;font-weight:700;display:flex}.member-card .member-name{color:#333;margin:0 0 10px;font-size:16px;font-weight:600}.member-card .member-info{color:#666;justify-content:center;align-items:center;gap:8px;margin:5px 0;font-size:13px;display:flex}.member-card .member-info svg{color:#999;font-size:12px}.member-card .card-actions{border-top:1px solid #f0f0f0;display:flex}.member-card .btn-action{cursor:pointer;background:#fff;border:none;flex:1;justify-content:center;align-items:center;padding:12px;transition:all .2s;display:flex}.member-card .btn-action:not(:last-child){border-right:1px solid #f0f0f0}.member-card .btn-action.edit{color:#667eea}.member-card .btn-action.edit:hover{color:#fff;background:#667eea}.member-card .btn-action.activate{color:#28a745}.member-card .btn-action.activate:hover{color:#fff;background:#28a745}.member-card .btn-action.deactivate{color:#ffc107}.member-card .btn-action.deactivate:hover{color:#fff;background:#ffc107}.member-card .btn-action.delete{color:#dc3545}.member-card .btn-action.delete:hover{color:#fff;background:#dc3545}.empty-state.full-width{grid-column:1/-1}.empty-state p{margin-bottom:15px}.btn-add-small:hover{background:#5a6fd6}.form-group input,.form-group select{border:1px solid #ddd;border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}@media (max-width:768px){.tim-rpl-container .page-header{flex-direction:column;align-items:flex-start;gap:15px}.tabs-container{flex-wrap:nowrap;padding-bottom:10px;overflow-x:auto}.tab-btn{white-space:nowrap;flex-shrink:0}.form-row,.members-grid{grid-template-columns:1fr}}.tim-rpl-container .btn-import{color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:flex}.tim-rpl-container .btn-import:hover{background:linear-gradient(135deg,#047857,#059669);transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.import-modal{flex-direction:column;max-height:85vh;display:flex;max-width:700px!important}.import-search{border-bottom:1px solid #e5e7eb;align-items:center;gap:12px;padding:15px 20px;display:flex}.search-input-wrapper{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;flex:1;align-items:center;padding:0 12px;transition:border-color .2s;display:flex}.search-input-wrapper:focus-within{background:#fff;border-color:#3b82f6}.search-input-wrapper .search-icon{color:#9ca3af;margin-right:8px;font-size:14px}.search-input-wrapper input{background:0 0;border:none;outline:none;flex:1;padding:10px 0;font-size:14px}.search-input-wrapper .btn-search{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:6px 14px;font-size:13px;transition:background .2s}.search-input-wrapper .btn-search:hover{background:#2563eb}.import-count{color:#fff;white-space:nowrap;background:#3b82f6;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:600}.import-list{flex:1;max-height:50vh;padding:10px 20px;overflow-y:auto}.import-item{cursor:pointer;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s;display:flex}.import-item:hover{background:#eff6ff;border-color:#93c5fd}.import-item.selected{background:#eff6ff;border-color:#3b82f6}.import-item.imported{opacity:.6;cursor:default;background:#f9fafb}.import-item-check{cursor:pointer;align-items:center;font-size:20px;display:flex}.import-item-check .check-active{color:#3b82f6}.import-item-check .check-inactive{color:#d1d5db}.import-item-check .already-check{color:#9ca3af}.import-item-info{flex:1;min-width:0}.import-name{color:#1f2937;font-size:14px;font-weight:600}.import-detail{color:#6b7280;margin-top:2px;font-size:12px}.already-badge{color:#059669;background:#d1fae5;border-radius:10px;margin-top:4px;padding:2px 8px;font-size:11px;display:inline-block}.import-item-kategori select{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 10px;font-size:13px}.import-item-kategori select:focus{border-color:#3b82f6;outline:none}@media (max-width:768px){.header-actions{flex-direction:column;gap:6px}.import-modal{max-width:95vw!important}.import-item{flex-wrap:wrap}.import-item-kategori{width:100%;margin-left:32px}}.siakad-settings{max-width:1400px;margin:0 auto;padding:20px}.settings-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.settings-header h1{color:#1e293b;margin-bottom:4px;font-size:1.75rem;font-weight:600}.settings-header .subtitle{color:#64748b;font-size:.95rem}.info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;gap:12px;margin-bottom:24px;padding:16px;display:flex}.info-icon{flex-shrink:0;font-size:1.25rem}.info-content{color:#1e40af;font-size:.9rem;line-height:1.5}.info-content strong{color:#1e3a8a}.server-status-panel{color:#fff;background:linear-gradient(135deg,#1e293b 0%,#334155 100%);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 24px;display:flex}.server-info{flex-direction:column;gap:8px;display:flex}.server-status-indicator{align-items:center;gap:8px;display:flex}.server-status-indicator .status-dot{border-radius:50%;width:10px;height:10px;animation:2s infinite pulse}.server-status-indicator .status-dot.online{background:#22c55e;box-shadow:0 0 8px #22c55e80}.server-status-indicator .status-dot.offline{background:#ef4444;animation:none;box-shadow:0 0 8px #ef444480}.server-status-indicator .status-dot.restarting{background:#f59e0b;animation:.5s infinite blink;box-shadow:0 0 8px #f59e0b80}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.server-status-indicator .status-text{font-size:1rem;font-weight:600}.server-details{color:#94a3b8;gap:16px;font-size:.85rem;display:flex}.server-details .pm2-badge{color:#fff;background:#8b5cf6;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600}.btn-restart{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:all .2s;display:flex}.btn-restart:hover:not(.disabled){background:#2563eb;transform:translateY(-1px)}.btn-restart.disabled{cursor:not-allowed;opacity:.7;background:#64748b}.configs-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;display:grid}.config-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s;overflow:hidden}.config-card:hover{box-shadow:0 4px 12px #0000001a}.config-card.active{border-color:#10b981;box-shadow:0 0 0 2px #10b98133}.card-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.config-card.active .card-header{background:#ecfdf5}.card-title{align-items:center;gap:10px;display:flex}.card-title h3{color:#1e293b;margin:0;font-size:1.1rem;font-weight:600}.badge{text-transform:uppercase;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:600}.badge.active{color:#fff;background:#10b981}.connection-status{align-items:center;gap:6px;font-size:.85rem;font-weight:500;display:flex}.status-dot{border-radius:50%;width:8px;height:8px}.connection-status.connected{color:#059669}.connection-status.connected .status-dot{background:#10b981}.connection-status.disconnected{color:#dc2626}.connection-status.disconnected .status-dot{background:#ef4444}.config-detail{margin-bottom:10px;display:flex}.config-detail label{color:#64748b;flex-shrink:0;width:100px;font-size:.9rem}.config-detail span{color:#334155;font-family:monospace;font-size:.9rem}.config-stats{border-top:1px dashed #e2e8f0;gap:16px;margin-top:16px;padding-top:16px;display:flex}.stat-item{text-align:center;background:#f8fafc;border-radius:8px;flex:1;padding:10px}.stat-value{color:#0ea5e9;margin-bottom:4px;font-size:1.25rem;font-weight:700;display:block}.test-result{border-radius:6px;margin-top:12px;padding:10px 12px;font-size:.85rem}.test-result.success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.test-result.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.test-details{opacity:.8;margin-top:4px;font-size:.8rem}.card-actions{background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;gap:8px;padding:16px 20px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#0ea5e9;border:none;border-radius:8px;padding:10px 20px;font-weight:500;transition:all .2s}.btn-secondary{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 16px;font-weight:500;transition:all .2s}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-success{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;padding:8px 16px;font-weight:500;transition:all .2s}.btn-warning{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:6px;padding:8px 16px;font-weight:500;transition:all .2s}.btn-warning:hover{background:#d97706}.btn-danger{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:8px 16px;font-weight:500;transition:all .2s}.btn-danger:hover{background:#dc2626}.empty-state{text-align:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;grid-column:1/-1;padding:60px 20px}.empty-icon{margin-bottom:16px;font-size:3rem}.empty-state p{color:#94a3b8;margin-bottom:20px}.alert{border-radius:8px;margin-bottom:20px;padding:12px 16px}.alert-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.loading{text-align:center;color:#64748b;padding:60px}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header h2{color:#1e293b;margin:0;font-size:1.25rem;font-weight:600}.modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.modal-close:hover{color:#64748b}.modal-content form{padding:24px}.form-group input,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#0ea5e9;outline:none;box-shadow:0 0 0 3px #0ea5e91a}.form-row{gap:16px;display:flex}.form-row .form-group{flex:1}.modal-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;display:flex}@media (max-width:768px){.settings-header{flex-direction:column;gap:16px}.server-status-panel{text-align:center;flex-direction:column;gap:16px}.server-info{align-items:center}.server-details{flex-wrap:wrap;justify-content:center}.btn-restart{justify-content:center;width:100%}.configs-grid{grid-template-columns:1fr}.config-stats{flex-wrap:wrap}.stat-item{min-width:calc(50% - 8px)}.card-actions{justify-content:stretch}.card-actions button{flex:1}}.keuangan-page{padding:0}.keuangan-page .page-header{color:#fff;background:linear-gradient(135deg,#1e40af 0%,#7c3aed 100%);border-radius:12px;margin-bottom:25px;padding:30px}.keuangan-page .header-content{align-items:center;gap:20px;display:flex}.keuangan-page .header-icon{opacity:.9;font-size:3rem}.keuangan-page .page-header h1{margin:0;font-size:1.8rem}.keuangan-page .page-header p{opacity:.9;margin:5px 0 0}.keuangan-tabs{border-bottom:2px solid #e5e7eb;gap:10px;margin-bottom:25px;padding-bottom:0;display:flex}.keuangan-tabs .tab-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;margin-bottom:-2px;padding:12px 24px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.keuangan-tabs .tab-btn:hover{color:#1e40af;background:#f3f4f6}.keuangan-tabs .tab-btn.active{color:#1e40af;border-bottom-color:#1e40af}.tab-content{animation:.3s fadeIn}.section-card{background:#fff;border-radius:12px;margin-bottom:25px;padding:25px;box-shadow:0 2px 8px #0000000f}.section-header{margin-bottom:25px}.section-header h2{color:#1f2937;align-items:center;gap:10px;margin:0 0 8px;font-size:1.25rem;display:flex}.section-header p{color:#6b7280;margin:0}.tarif-grid{grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:25px;display:grid}@media (max-width:1100px){.tarif-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.tarif-grid{grid-template-columns:1fr}}.tarif-card{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px solid #e2e8f0;border-radius:16px;padding:25px;transition:all .3s}.tarif-card:hover{box-shadow:0 10px 25px #0000001a}.tarif-card.transfer{border-color:#3b82f6}.tarif-card.perolehan{border-color:#8b5cf6}.tarif-card.gratis{border-color:#6b7280}.tarif-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.tarif-header .tarif-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;display:flex}.tarif-card.transfer .tarif-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.tarif-card.perolehan .tarif-icon{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.tarif-card.gratis .tarif-icon{background:linear-gradient(135deg,#6b7280,#4b5563)}.tarif-header h3{color:#1f2937;flex:1;margin:0;font-size:1.1rem}.status-badge{border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:600}.status-badge.active{color:#16a34a;background:#dcfce7}.status-badge.inactive{color:#dc2626;background:#fee2e2}.tarif-display{text-align:center}.tarif-amount{color:#1e40af;margin-bottom:10px;font-size:2rem;font-weight:700}.tarif-amount.gratis{color:#6b7280}.tarif-amount .per-sks{color:#6b7280;font-size:1rem;font-weight:400}.tarif-desc{color:#6b7280;margin-bottom:20px;font-size:.9rem}.tarif-edit .form-group{margin-bottom:15px}.tarif-edit .form-group label{color:#374151;margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.tarif-edit .form-control{border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 12px;font-size:.95rem}.tarif-edit .checkbox-group label{cursor:pointer;align-items:center;gap:8px;display:flex}.tarif-edit .checkbox-group input[type=checkbox]{width:18px;height:18px}.tarif-actions{gap:10px;margin-top:20px;display:flex}.tarif-actions .btn{flex:1}.info-box{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:10px;align-items:flex-start;gap:15px;padding:20px;display:flex}.info-box svg{color:#3b82f6;flex-shrink:0;margin-top:2px;font-size:1.25rem}.info-box strong{color:#1e40af;margin-bottom:5px;display:block}.info-box p{color:#374151;margin:0;font-size:.9rem}.filter-card{background:#fff;border-radius:12px;margin-bottom:25px;padding:20px;box-shadow:0 2px 8px #0000000f}.filter-row{flex-wrap:wrap;align-items:flex-end;gap:15px;display:flex}.filter-group{flex-direction:column;gap:6px;display:flex}.filter-group label{color:#374151;align-items:center;gap:6px;font-size:.85rem;font-weight:500;display:flex}.filter-group .form-control{border:1px solid #d1d5db;border-radius:8px;min-width:160px;padding:10px 12px;font-size:.9rem}.summary-grid{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:25px;display:grid}@media (max-width:1200px){.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.summary-grid{grid-template-columns:1fr}}.summary-card{background:#fff;border:1px solid #0000000a;border-radius:20px;padding:28px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000014}.summary-card:hover{transform:translateY(-5px);box-shadow:0 12px 35px #0000001f}.summary-card:before{content:"";height:5px;position:absolute;top:0;left:0;right:0}.summary-card.transfer:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.summary-card.perolehan:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.summary-card.total:before{background:linear-gradient(90deg,#10b981,#34d399)}.summary-card .card-header-row{align-items:center;gap:16px;margin-bottom:20px;display:flex}.summary-card .card-icon{color:#fff;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex}.summary-card.transfer .card-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 8px 20px #3b82f659}.summary-card.perolehan .card-icon{background:linear-gradient(135deg,#8b5cf6,#6d28d9);box-shadow:0 8px 20px #8b5cf659}.summary-card.total .card-icon{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 8px 20px #10b98159}.summary-card.gratis:before{background:linear-gradient(90deg,#6b7280,#9ca3af)}.summary-card.gratis .card-icon{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 8px 20px #6b728059}.summary-card h3{color:#1f2937;margin:0;font-size:1.1rem;font-weight:600}.summary-card .card-subtitle{color:#6b7280;margin-top:4px;font-size:.85rem;display:block}.summary-card .card-title-area{flex:1;min-width:0}.summary-amount{color:#1f2937;letter-spacing:-.5px;margin-top:20px;font-size:2rem;font-weight:800}.summary-card.transfer .summary-amount{color:#1d4ed8}.summary-card.perolehan .summary-amount{color:#6d28d9}.summary-amount.grand{color:#059669;font-size:2.25rem}.chart-container{padding:20px 0}.simple-chart{border-bottom:2px solid #e5e7eb;align-items:flex-end;gap:15px;height:200px;padding:20px 10px;display:flex}.chart-bar-group{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.chart-bar-group .bars{flex:1;align-items:flex-end;gap:4px;width:100%;display:flex}.chart-bar-group .bar{cursor:pointer;border-radius:4px 4px 0 0;flex:1;min-height:4px;transition:height .3s}.chart-bar-group .bar.transfer{background:linear-gradient(#3b82f6,#1d4ed8)}.chart-bar-group .bar.perolehan{background:linear-gradient(#8b5cf6,#6d28d9)}.chart-bar-group .bar:hover{opacity:.8}.chart-bar-group .bar-label{color:#6b7280;margin-top:10px;font-size:.75rem}.chart-legend{justify-content:center;gap:30px;margin-top:20px;display:flex}.legend-item{color:#374151;align-items:center;gap:8px;font-size:.9rem;display:flex}.legend-item .dot{border-radius:3px;width:12px;height:12px}.legend-item.transfer .dot{background:#3b82f6}.legend-item.perolehan .dot{background:#8b5cf6}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px 15px}.data-table th{color:#374151;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;font-size:.85rem;font-weight:600}.data-table tbody tr:hover{background:#f9fafb}.data-table .badge{border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:500}.data-table .badge.transfer{color:#1d4ed8;background:#dbeafe}.data-table .badge.perolehan{color:#6d28d9;background:#ede9fe}.data-table .amount{color:#059669;font-weight:600}.data-table .empty-state{text-align:center;color:#9ca3af;padding:40px}.data-table tfoot td{background:#f9fafb;font-weight:600}.data-table .text-right{text-align:right}.summary-table{border-collapse:collapse;border-radius:12px;width:100%;overflow:hidden}.summary-table th,.summary-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:16px 20px}.summary-table th{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);font-size:.85rem;font-weight:600}.summary-table tbody tr{transition:background .2s}.summary-table tbody tr:hover{background:#f8fafc}.summary-table .jenis-cell{align-items:center;gap:12px;display:flex}.summary-table .jenis-icon{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.summary-table .jenis-icon.transfer{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.summary-table .jenis-icon.perolehan{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.summary-table .row-transfer td{background:#f0f9ff}.summary-table .row-perolehan td{background:#faf5ff}.summary-table .row-total td{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-top:2px solid #10b981}.summary-table .amount{font-size:1.05rem;font-weight:700}.summary-table .row-transfer .amount{color:#1d4ed8}.summary-table .row-perolehan .amount{color:#6d28d9}.summary-table .grand-total{color:#059669;font-size:1.15rem}.summary-table tfoot td{font-size:.95rem}.pagination{border-top:1px solid #e5e7eb;justify-content:center;align-items:center;gap:15px;margin-top:20px;padding-top:20px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary:hover{background:linear-gradient(135deg,#1e3a8a,#2563eb)}.btn-success:hover{background:linear-gradient(135deg,#047857,#059669)}.btn-outline{color:#1e40af;background:0 0;border:2px solid #1e40af}.btn-outline:hover{color:#fff;background:#1e40af}.btn:disabled{opacity:.6;cursor:not-allowed}.loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:60px;display:flex}.loading .spinner{color:#3b82f6;margin-bottom:15px;font-size:2rem;animation:1s linear infinite spin}.tarif-type-badge{color:#7c3aed;background:#ede9fe;border-radius:12px;margin-bottom:8px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.badge.per-sks{color:#2563eb;background:#dbeafe;border-radius:10px;padding:3px 8px;font-size:11px;font-weight:500}.badge.per-mhs{color:#7c3aed;background:#ede9fe;border-radius:10px;padding:3px 8px;font-size:11px;font-weight:500}@media (max-width:768px){.keuangan-tabs{flex-wrap:wrap}.keuangan-tabs .tab-btn{padding:10px 16px;font-size:.85rem}.tarif-grid,.summary-grid{grid-template-columns:1fr}.filter-row{flex-direction:column;align-items:stretch}.filter-group{width:100%}.filter-group .form-control{min-width:100%}.simple-chart{gap:8px;height:150px}.chart-bar-group .bar-label{font-size:.65rem}.data-table th,.data-table td{padding:10px 8px;font-size:.8rem}}.cetak-tab{padding:0!important}.cetak-layout{grid-template-columns:380px 1fr;gap:20px;min-height:80vh;display:grid}.cetak-editor{background:#fff;border:1px solid #e5e7eb;border-radius:12px;max-height:85vh;padding:20px;overflow-y:auto}.cetak-editor .editor-section{border-bottom:1px solid #f3f4f6;margin-bottom:20px;padding-bottom:16px}.cetak-editor .editor-section:last-of-type{border-bottom:none}.cetak-editor .editor-section>h3{color:#1e40af;align-items:center;gap:8px;margin-bottom:10px;font-size:1.1rem;display:flex}.cetak-editor .editor-section>h4{color:#374151;border-bottom:1px dashed #d1d5db;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:6px;font-size:.95rem;display:flex}.cetak-editor .form-group{margin-bottom:12px}.cetak-editor .form-group label{color:#6b7280;margin-bottom:4px;font-size:.82rem;font-weight:600;display:block}.cetak-editor .form-control{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:.88rem;transition:border-color .2s}.cetak-editor .form-control:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.cetak-editor textarea.form-control{resize:vertical;min-height:60px}.cetak-editor .form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cetak-editor .form-row-3{grid-template-columns:1fr 1fr 1fr}.cetak-editor .logo-preview{align-items:center;gap:10px;margin-top:8px;display:flex}.cetak-editor .logo-preview img{object-fit:contain;border:1px solid #e5e7eb;border-radius:6px;max-width:50px;max-height:50px;padding:4px}.cetak-editor .signature-editor-group{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:12px}.cetak-editor .signature-editor-group h5{color:#4b5563;border-bottom:1px solid #e5e7eb;margin-bottom:10px;padding-bottom:6px;font-size:.85rem}.btn-print{justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;padding:12px;font-size:1rem;font-weight:600;display:flex}.cetak-preview{flex-direction:column;gap:12px;display:flex}.preview-toolbar{background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.preview-toolbar h3{color:#374151;align-items:center;gap:8px;margin:0;font-size:1rem;display:flex}.preview-paper{color:#000;background:#fff;border:1px solid #d1d5db;border-radius:4px;min-height:800px;padding:50px 45px;font-family:Times New Roman,Times,serif;font-size:12pt;line-height:1.6;box-shadow:0 2px 12px #00000014}.preview-paper .report-header{text-align:center;border-bottom:3px double #000;margin-bottom:20px;padding-bottom:15px}.preview-paper .report-logo{max-height:70px;margin-bottom:8px}.preview-paper .report-header h2{text-transform:uppercase;margin:0 0 2px;font-size:16pt}.preview-paper .report-header h3{margin:0 0 2px;font-size:13pt;font-weight:600}.preview-paper .report-header p{color:#333;margin:0;font-size:10pt}.preview-paper .report-title{text-align:center;margin:25px 0 20px}.preview-paper .report-title h1{text-transform:uppercase;margin:0;font-size:14pt;text-decoration:underline}.preview-paper .report-section{margin-bottom:18px}.preview-paper .report-section h4{margin:0 0 8px;font-size:12pt;font-weight:700}.preview-paper .report-section p{text-align:justify;text-indent:40px;margin:0}.preview-paper .report-table{border-collapse:collapse;width:100%;margin:12px 0;font-size:9.5pt}.preview-paper .report-table th,.preview-paper .report-table td{text-align:left;border:1px solid #000;padding:5px 7px}.preview-paper .report-table th{text-align:center;background-color:#f0f0f0;font-size:9pt;font-weight:700}.preview-paper .report-table td.number{text-align:center}.preview-paper .report-table td.amount{text-align:right;white-space:nowrap}.preview-paper .report-table tfoot{display:table-row-group}.preview-paper .report-table .tfoot-row td{background-color:#f0f0f0;font-weight:700}.preview-paper .loading-inline{color:#6b7280;justify-content:center;align-items:center;gap:8px;padding:20px;font-style:italic;display:flex}.preview-paper .signature-wrapper{break-inside:avoid;page-break-inside:avoid}.preview-paper .signature-date{text-align:right;margin-top:35px;margin-bottom:10px}.preview-paper .signature-section{justify-content:space-between;margin-top:10px;display:flex}.preview-paper .signature-block{text-align:center;width:45%}.preview-paper .signature-block .sign-space{height:80px}.preview-paper .signature-block .name{margin:0;font-weight:700;text-decoration:underline}.preview-paper .signature-block .nip{margin:2px 0 0;font-size:10pt}.preview-paper .signature-block p{margin:0 0 2px}@media (max-width:1024px){.cetak-layout{grid-template-columns:1fr}.cetak-editor{max-height:none}.preview-paper{padding:30px 25px}}@media (max-width:768px){.cetak-editor .form-row,.cetak-editor .form-row-3{grid-template-columns:1fr}.preview-paper{padding:20px 15px;font-size:10pt}.preview-paper .report-table{font-size:8pt}.preview-paper .signature-section{flex-direction:column;gap:30px}.preview-paper .signature-block{width:100%}}.verifikasi-pengajuan{background:#f8fafc;min-height:100vh;padding:20px}.header-title h1{color:#1e293b;align-items:center;gap:10px;margin:0;font-size:24px;font-weight:700;display:flex}.header-title p{color:#64748b;margin:4px 0 0;font-size:14px}.btn-refresh{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:all .2s;display:flex}.btn-refresh:hover{background:#2563eb;transform:translateY(-2px)}.header-actions{align-items:center;gap:10px;display:flex}.btn-sync-perolehan{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:all .2s;display:flex}.btn-sync-perolehan:hover{background:#059669;transform:translateY(-2px)}.btn-sync-perolehan:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-back{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:all .2s;display:flex}.btn-back:hover{background:#e2e8f0}.header-status{align-items:center;display:flex}.stats-grid{grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px;display:grid}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.stat-card{cursor:pointer;background:#fff;border-left:4px solid #0000;border-radius:12px;align-items:center;gap:16px;padding:20px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a}.stat-card.total .stat-icon{color:#6366f1;background:#eef2ff}.stat-card.pending{border-left-color:#f59e0b}.stat-card.pending .stat-icon{color:#f59e0b;background:#fef3c7}.stat-card.process{border-left-color:#3b82f6}.stat-card.process .stat-icon{color:#3b82f6;background:#dbeafe}.stat-card.approved{border-left-color:#10b981}.stat-card.approved .stat-icon{color:#10b981;background:#d1fae5}.stat-card.rejected{border-left-color:#ef4444}.stat-card.rejected .stat-icon{color:#ef4444;background:#fee2e2}.filters-section{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.search-box{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;align-items:center;gap:10px;min-width:250px;padding:10px 16px;display:flex}.search-box input{color:#1e293b;border:none;outline:none;flex:1;font-size:14px}.search-box input::placeholder{color:#94a3b8}.filter-group{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:10px;padding:10px 16px;display:flex}.filter-group select{color:#1e293b;cursor:pointer;background:0 0;border:none;outline:none;font-size:14px}.table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 16px;font-size:12px;font-weight:600}.data-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:14px}.data-table tr:hover{background:#f8fafc}.data-table .center{text-align:center}.code-cell{color:#3b82f6;font-family:monospace;font-weight:600}.pemohon-info{flex-direction:column;display:flex}.pemohon-info strong{color:#1e293b}.pemohon-info small{color:#64748b;font-size:12px}.status-badge{color:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-badge svg{font-size:10px}.action-cell{gap:8px;display:flex}.verifikasi-pengajuan .btn-view,.verifikasi-pengajuan .btn-delete-sm{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;font-size:14px;transition:all .2s;display:flex}.verifikasi-pengajuan .btn-view svg,.verifikasi-pengajuan .btn-delete-sm svg{min-width:14px;min-height:14px;width:14px!important;height:14px!important;display:block!important}.verifikasi-pengajuan .btn-view{color:#3b82f6;background:#dbeafe}.verifikasi-pengajuan .btn-view:hover{color:#fff;background:#3b82f6}.verifikasi-pengajuan .btn-delete-sm{color:#ef4444;background:#fee2e2}.btn-delete-sm:hover{color:#fff;background:#ef4444}.loading-state,.empty-state{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;padding:60px;display:flex}.loading-state svg,.empty-state svg{margin-bottom:16px;font-size:48px}.loading-state p,.empty-state p{font-size:16px}.pagination{justify-content:center;align-items:center;gap:16px;padding:20px;display:flex}.pagination button{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;transition:all .2s;display:flex}.pagination button:hover:not(:disabled){color:#3b82f6;background:#f8fafc;border-color:#3b82f6}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:#64748b;font-size:14px}.detail-content{flex-direction:column;gap:24px;display:flex}.detail-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.detail-section h3{color:#1e293b;border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;margin:0 0 20px;padding-bottom:12px;font-size:16px;font-weight:600;display:flex}.detail-section h3 svg{color:#3b82f6}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.detail-item{flex-direction:column;gap:4px;display:flex}.detail-item label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.detail-item span{color:#1e293b;font-size:15px}.summary-cards{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (max-width:992px){.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.summary-cards{grid-template-columns:1fr}}.summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:14px;padding:16px;display:flex}.summary-card .summary-icon{color:#64748b;background:#e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex}.summary-card.highlight{background:#dbeafe;border-color:#3b82f6}.summary-card.highlight .summary-icon{color:#fff;background:#3b82f6}.summary-card.accent{background:#d1fae5;border-color:#10b981}.summary-card.accent .summary-icon{color:#fff;background:#10b981}.summary-info{flex-direction:column;display:flex}.summary-value{color:#1e293b;font-size:18px;font-weight:700}.summary-label{color:#64748b;font-size:12px}.table-responsive{overflow-x:auto}.detail-table{border-collapse:collapse;width:100%;margin-top:12px}.detail-table th{text-align:left;color:#475569;background:#f1f5f9;border-bottom:1px solid #e2e8f0;padding:12px 14px;font-size:12px;font-weight:600}.detail-table td{color:#334155;vertical-align:top;border-bottom:1px solid #f1f5f9;padding:12px 14px;font-size:14px}.detail-table td small{color:#64748b}.arrow-cell{text-align:center;color:#10b981;font-size:18px;font-weight:700}.catatan-input{color:#1e293b;resize:vertical;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:14px;font-size:14px;transition:border-color .2s}.catatan-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.catatan-input::placeholder{color:#94a3b8}.action-buttons{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-top:10px;padding:20px 0;display:flex}.btn-group{gap:12px;display:flex}.btn-delete,.btn-process,.btn-reject,.btn-approve{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-delete{color:#ef4444;background:#fee2e2}.btn-delete:hover{background:#fecaca}.btn-process{color:#3b82f6;background:#dbeafe}.btn-process:hover{background:#bfdbfe}.btn-reject{color:#dc2626;background:#fecaca}.btn-reject:hover{color:#fff;background:#ef4444}.btn-approve{color:#fff;background:#10b981}.btn-approve:hover{background:#059669}.btn-delete:disabled,.btn-process:disabled,.btn-reject:disabled,.btn-approve:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.action-buttons{flex-direction:column;gap:16px}.btn-group{flex-wrap:wrap;justify-content:center;width:100%}.btn-delete,.btn-process,.btn-reject,.btn-approve{flex:1;justify-content:center;min-width:120px}}.badge-perolehan{color:#2e7d32;white-space:nowrap;background:#e8f5e9;border-radius:12px;padding:3px 10px;font-size:.82rem;font-weight:500;display:inline-block}.badge-kode{color:#1565c0;background:#e3f2fd;border-radius:6px;padding:2px 8px;font-family:Courier New,monospace;font-size:.82rem;font-weight:600;display:inline-block}.detail-table td.center{text-align:center}.detail-item.full-width{grid-column:1/-1}.detail-item span.multiline{white-space:pre-wrap;line-height:1.6}.text-muted{color:#999;font-size:.85rem;font-style:italic}.dokumen-bukti-list{flex-direction:column;gap:6px;display:flex}.dokumen-bukti-link{color:#1565c0;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:5px;max-width:220px;padding:4px 8px;font-size:.8rem;text-decoration:none;transition:all .2s;display:inline-flex}.dokumen-bukti-link:hover{color:#0d47a1;background:#e3f2fd;border-color:#90caf9}.dokumen-bukti-link svg{flex-shrink:0;font-size:.85rem}.dokumen-bukti-link .link-icon{opacity:.5;margin-left:auto;font-size:.65rem}.dokumen-bukti-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.detail-table tfoot td{background:#fafafa;border-top:2px solid #e0e0e0}.jenis-perolehan-container{padding:20px}.jenis-perolehan-container .page-header{border-bottom:2px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;display:flex}.jenis-perolehan-container .header-content h1{color:#333;align-items:center;margin:0;font-size:24px;display:flex}.jenis-perolehan-container .header-content p{color:#666;margin:5px 0 0}.jenis-perolehan-container .btn-add{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 15px #667eea4d}.jenis-perolehan-container .btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.stat-card{background:#fff;border-radius:12px;align-items:center;gap:15px;padding:20px;transition:all .3s;display:flex;box-shadow:0 2px 10px #0000000d}.stat-icon.total{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.stat-icon.active{color:#fff;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.stat-icon.inactive{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.stat-info{flex-direction:column;display:flex}.stat-value{color:#333;font-size:24px;font-weight:700}.stat-label{color:#666;font-size:13px}.loading-state{color:#666;flex-direction:column;justify-content:center;align-items:center;padding:60px;display:flex}.content-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000d}.section-header{border-bottom:2px solid #f0f0f0;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:15px;display:flex}.section-header svg{color:#667eea;font-size:24px}.section-header h2{color:#333;margin:0;font-size:18px}.section-header .count{color:#666;background:#f0f0f0;border-radius:15px;margin-left:auto;padding:4px 12px;font-size:13px}.items-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.item-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 2px 8px #00000014}.item-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001f}.item-card.inactive{opacity:.7}.item-card .card-header{color:#fff;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.item-card .order-badge{font-size:14px;font-weight:600}.item-card .order-controls{gap:4px;display:flex}.item-card .btn-order{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:14px;transition:all .2s;display:flex}.item-card .btn-order svg{color:#fff!important;fill:#fff!important;width:14px!important;height:14px!important;display:block!important}.item-card .btn-order:hover:not(:disabled){background:#ffffff59}.item-card .btn-order:disabled{opacity:.4;cursor:not-allowed}.item-card .card-body{padding:20px}.item-card .item-name{color:#333;margin:0 0 10px;font-size:16px;font-weight:600}.item-card .item-desc{color:#666;min-height:40px;margin:0 0 15px;font-size:13px;line-height:1.5}.item-card .item-status{margin-top:10px}.item-card .status-badge{border-radius:15px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.item-card .status-badge.active{color:#28a745;background:#d4edda}.item-card .status-badge.inactive{color:#d68910;background:#ffeaa7}.item-card .card-footer{border-top:1px solid #f0f0f0;display:flex}.item-card .btn-action{cursor:pointer;background:#fff;border:none;flex:1;justify-content:center;align-items:center;padding:12px;font-size:14px;transition:all .2s;display:flex}.item-card .btn-action:not(:last-child){border-right:1px solid #f0f0f0}.item-card .btn-action.btn-info{color:#667eea}.item-card .btn-action.btn-info:hover{color:#fff;background:#667eea}.item-card .btn-action.btn-success{color:#28a745}.item-card .btn-action.btn-success:hover{color:#fff;background:#28a745}.item-card .btn-action.btn-warning{color:#ffc107}.item-card .btn-action.btn-warning:hover{color:#fff;background:#ffc107}.item-card .btn-action.btn-danger{color:#dc3545}.item-card .btn-action.btn-danger:hover{color:#fff;background:#dc3545}.empty-state .empty-icon{opacity:.5;margin-bottom:15px;font-size:48px}.empty-state p{margin-bottom:15px;font-size:16px}.btn-add-small{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;transition:all .3s;display:inline-flex}.btn-add-small:hover{background:#5a6fd6;transform:translateY(-1px)}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.modal-header h2{margin:0;font-size:18px}.modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.modal-close:hover{background:#ffffff4d}.form-body{padding:25px}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-group label{color:#333;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group label .required{color:#dc3545}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:80px}.checkbox-wrapper{align-items:center;padding-top:25px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:10px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#667eea;width:18px;height:18px}.checkbox-text{color:#333;font-weight:500}.modal-footer{background:#f9f9f9;border-top:1px solid #e0e0e0;border-radius:0 0 12px 12px;justify-content:flex-end;gap:10px;padding:20px 25px;display:flex}.btn-cancel{color:#666;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;transition:all .2s;display:flex}.btn-cancel:hover{background:#f0f0f0}.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}@media (max-width:768px){.jenis-perolehan-container .page-header{flex-direction:column;align-items:flex-start;gap:15px}.jenis-perolehan-container .btn-add{justify-content:center;width:100%}.stats-row,.items-grid,.form-row{grid-template-columns:1fr}.checkbox-wrapper{padding-top:0}.modal-footer{flex-direction:column-reverse}.modal-footer button{justify-content:center;width:100%}}.cpmk-rpl-container{padding:0}.cpmk-rpl-container .page-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.cpmk-rpl-container .header-title h1{color:#1a202c;align-items:center;gap:10px;margin:0;font-size:1.6rem;display:flex}.cpmk-rpl-container .header-title p{color:#718096;margin:4px 0 0;font-size:.9rem}.stats-row{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px;display:grid}.stat-card{cursor:pointer;background:#fff;border-left:4px solid #0000;border-radius:12px;padding:15px 20px;transition:all .2s;box-shadow:0 2px 8px #0000000f}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card.total{border-left-color:#667eea}.stat-card.siakad{border-left-color:#48bb78}.stat-card.rpl{border-left-color:#4299e1}.stat-card.belum{border-left-color:#ecc94b}.stat-number{color:#1a202c;font-size:1.8rem;font-weight:700}.stat-card.total .stat-number{color:#667eea}.stat-card.siakad .stat-number{color:#48bb78}.stat-card.rpl .stat-number{color:#4299e1}.stat-card.belum .stat-number{color:#ecc94b}.stat-label{color:#718096;margin-top:2px;font-size:.85rem}.content-wrapper{grid-template-columns:1fr 1.4fr;gap:20px;min-height:calc(100vh - 280px);display:grid}.mk-panel{background:#fff;border-radius:12px;flex-direction:column;max-height:calc(100vh - 280px);display:flex;box-shadow:0 2px 8px #0000000f}.mk-panel .panel-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.mk-panel .panel-header h2{color:#1a202c;align-items:center;gap:8px;margin:0;font-size:1rem;display:flex}.btn-bulk-generate{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;align-items:center;gap:5px;padding:6px 14px;font-size:.78rem;transition:all .2s;display:flex}.btn-bulk-generate:hover{opacity:.9;transform:translateY(-1px)}.panel-header-actions{align-items:center;gap:6px;display:flex}.btn-bulk-ai{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#805ad5,#553c9a);border:none;border-radius:8px;align-items:center;gap:5px;padding:6px 14px;font-size:.78rem;transition:all .2s;display:flex}.btn-bulk-ai:hover{opacity:.9;transform:translateY(-1px)}.btn-action.ai{color:#805ad5;background:#faf5ff}.btn-action.ai:hover{color:#fff;background:#805ad5}.btn-ai-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#805ad5,#553c9a);border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 18px;font-size:.85rem;transition:all .2s;display:flex}.btn-ai-primary:hover{opacity:.9;transform:translateY(-1px)}.search-filter-box{border-bottom:1px solid #e2e8f0;flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.search-input{flex:1;position:relative}.search-input .search-icon{color:#a0aec0;font-size:.85rem;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input input{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:8px 10px 8px 32px;font-size:.85rem;transition:border-color .2s}.search-input input:focus{border-color:#667eea}.filter-select{color:#4a5568;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;min-width:110px;padding:8px 10px;font-size:.82rem}.mk-list{flex:1;padding:8px;overflow-y:auto}.mk-item{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:10px 14px;transition:all .15s;display:flex}.mk-item:hover{background:#f7fafc;border-color:#e2e8f0}.mk-item.selected{background:#ebf4ff;border-color:#667eea}.mk-info{flex-direction:column;flex:1;min-width:0;display:flex}.mk-kode{color:#667eea;font-size:.75rem;font-weight:600}.mk-nama{color:#2d3748;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.mk-actions-inline{flex-shrink:0;align-items:center;gap:4px;display:flex}.status-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.status-badge.siakad{color:#22543d;background:#f0fff4}.status-badge.rpl{color:#2a4365;background:#ebf8ff}.status-badge.belum{color:#744210;background:ivory}.btn-icon-sm{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;transition:all .2s;display:flex}.btn-icon-sm.generate{color:#667eea;background:#ebf4ff}.btn-icon-sm.generate:hover{color:#fff;background:#667eea}.btn-icon-sm.copy{color:#48bb78;background:#f0fff4}.btn-icon-sm.copy:hover{color:#fff;background:#48bb78}.cpmk-panel{background:#fff;border-radius:12px;flex-direction:column;max-height:calc(100vh - 280px);display:flex;overflow-y:auto;box-shadow:0 2px 8px #0000000f}.cpmk-panel .panel-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:16px 20px;display:flex}.header-info h2{color:#1a202c;align-items:center;gap:8px;margin:0;font-size:1rem;display:flex}.header-info p{color:#718096;margin:4px 0 6px;font-size:.82rem}.header-actions{flex-shrink:0;gap:6px;display:flex}.btn-action{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.btn-action.edit{color:#4299e1;background:#ebf4ff}.btn-action.edit:hover{color:#fff;background:#4299e1}.btn-action.generate{color:#805ad5;background:#faf5ff}.btn-action.generate:hover{color:#fff;background:#805ad5}.btn-action.delete{color:#e53e3e;background:#fff5f5}.btn-action.delete:hover{color:#fff;background:#e53e3e}.btn-action.save{color:#fff;background:linear-gradient(135deg,#48bb78,#38a169)}.btn-action.save:hover{opacity:.9}.btn-action.save:disabled{opacity:.6;cursor:not-allowed}.btn-action.cancel{color:#718096;background:#edf2f7}.btn-action.cancel:hover{background:#e2e8f0}.cpmk-list{padding:16px 20px}.cpmk-table{border-collapse:collapse;width:100%;font-size:.85rem}.cpmk-table th{text-align:left;color:#4a5568;background:#f7fafc;border-bottom:2px solid #e2e8f0;padding:10px 12px;font-size:.8rem;font-weight:600}.cpmk-table td{color:#2d3748;border-bottom:1px solid #f0f0f0;padding:10px 12px;line-height:1.5}.cpmk-table td.center,.cpmk-table th.center{text-align:center}.cpmk-table tbody tr:hover{background:#f7fafc}.cpmk-table tfoot td{background:#f7fafc;border-top:2px solid #e2e8f0}.cpmk-edit-section{padding:16px 20px}.cpmk-edit-row{background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:10px;padding:12px 16px;transition:border-color .2s}.cpmk-edit-row:focus-within{border-color:#667eea}.cpmk-edit-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cpmk-number{color:#667eea;font-size:.85rem;font-weight:700}.cpmk-edit-meta{align-items:center;gap:8px;display:flex}.cpmk-edit-meta label{color:#718096;font-size:.75rem}.input-bobot{text-align:center;border:1px solid #e2e8f0;border-radius:6px;outline:none;width:60px;padding:4px 8px;font-size:.82rem}.input-bobot:focus{border-color:#667eea}.btn-remove-row{color:#e53e3e;cursor:pointer;background:#fff5f5;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;transition:all .2s;display:flex}.btn-remove-row:hover{color:#fff;background:#e53e3e}.cpmk-textarea{resize:vertical;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:.85rem;line-height:1.5}.cpmk-textarea:focus{border-color:#667eea}.btn-add-row{color:#718096;cursor:pointer;background:0 0;border:2px dashed #cbd5e0;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:8px;padding:10px;font-size:.85rem;transition:all .2s;display:flex}.btn-add-row:hover{color:#667eea;background:#ebf4ff;border-color:#667eea}.loading-state,.empty-state,.no-selection{color:#a0aec0;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:50px 20px;display:flex}.loading-state .spinner{border:3px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;width:36px;height:36px;margin-bottom:12px;animation:.8s linear infinite spin}.empty-state svg,.no-selection svg{color:#cbd5e0;margin-bottom:12px;font-size:2.5rem}.empty-state h3,.no-selection h3{color:#718096;margin:0 0 6px;font-size:1rem}.empty-state p,.no-selection p{color:#a0aec0;margin:0;font-size:.85rem}.empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 18px;font-size:.85rem;transition:all .2s;display:flex}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{color:#667eea;cursor:pointer;background:#fff;border:1px solid #667eea;border-radius:8px;align-items:center;gap:6px;padding:9px 18px;font-size:.85rem;transition:all .2s;display:flex}.btn-secondary:hover{background:#ebf4ff}@media (max-width:1024px){.content-wrapper{grid-template-columns:1fr}.mk-panel,.cpmk-panel{max-height:none}.stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.stats-row{grid-template-columns:1fr 1fr;gap:10px}.mk-item{flex-direction:column;align-items:flex-start;gap:6px}.header-actions{flex-wrap:wrap}}.ai-settings-container{padding:0}.ai-settings-container .page-header{margin-bottom:24px}.ai-settings-container .header-title h1{color:#1a202c;align-items:center;gap:10px;margin:0;font-size:1.6rem;display:flex}.ai-settings-container .header-title p{color:#718096;margin:4px 0 0;font-size:.9rem}.settings-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:24px;display:grid}.settings-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px #0000000f}.card-header{border-bottom:1px solid #e2e8f0;padding:16px 24px}.card-header h2{color:#1a202c;align-items:center;gap:8px;margin:0;font-size:1rem;display:flex}.card-body{padding:8px 24px 24px}.card-footer{background:#f7fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.setting-row{border-bottom:1px solid #f0f4f8;padding:18px 0}.setting-row:last-child{border-bottom:none}.setting-label{margin-bottom:10px}.setting-label>span{color:#2d3748;align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:flex}.setting-label small{color:#718096;margin-top:3px;font-size:.8rem;display:block}.setting-label small a{color:#667eea;align-items:center;gap:3px;text-decoration:none;display:inline-flex}.setting-label small a:hover{text-decoration:underline}.toggle-switch{cursor:pointer;width:52px;height:28px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background:#cbd5e0;border-radius:28px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#48bb78,#38a169)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.api-key-input{gap:0;display:flex;position:relative}.api-key-input input{border:1px solid #e2e8f0;border-radius:8px 0 0 8px;outline:none;flex:1;padding:10px 14px;font-family:Courier New,monospace;font-size:.88rem;transition:border-color .2s}.api-key-input input:focus{border-color:#667eea}.btn-toggle-key{color:#718096;cursor:pointer;background:#f7fafc;border:1px solid #e2e8f0;border-left:none;border-radius:0 8px 8px 0;padding:10px 14px;font-size:.9rem;transition:all .2s}.btn-toggle-key:hover{color:#4a5568;background:#edf2f7}.key-status{border-radius:12px;align-items:center;gap:5px;margin-top:6px;padding:3px 10px;font-size:.78rem;display:inline-flex}.key-status.saved{color:#22543d;background:#f0fff4}.model-select-wrapper{flex-direction:column;gap:6px;display:flex}.model-select{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;padding:10px 14px;font-size:.88rem;transition:border-color .2s}.model-select:focus{border-color:#667eea}.model-desc{color:#718096;font-size:.78rem;font-style:italic}.count-input-wrapper{align-items:center;gap:10px;display:flex}.count-input{text-align:center;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:80px;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.count-input:focus{border-color:#667eea}.count-hint{color:#a0aec0;font-size:.8rem}.btn-test{color:#667eea;cursor:pointer;background:#fff;border:1px solid #667eea;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.btn-test:hover:not(:disabled){background:#ebf4ff}.btn-test:disabled{opacity:.5;cursor:not-allowed}.btn-save{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.btn-save:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-save:disabled{opacity:.6;cursor:not-allowed}.spin{animation:1s linear infinite spin}.info-card .card-body{padding:16px 24px}.guide-section{margin-bottom:20px}.guide-section:last-of-type{margin-bottom:16px}.guide-section h3{color:#2d3748;margin:0 0 8px;font-size:.88rem}.guide-section ol,.guide-section ul{margin:0;padding-left:20px}.guide-section li{color:#4a5568;margin-bottom:4px;font-size:.82rem;line-height:1.5}.guide-section p{color:#4a5568;margin:4px 0;font-size:.82rem;line-height:1.5}.guide-section .note{color:#718096;font-size:.78rem;font-style:italic}.guide-section a{color:#667eea;text-decoration:none}.guide-section a:hover{text-decoration:underline}.status-box{background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}.status-header{color:#2d3748;margin-bottom:10px;font-size:.85rem;font-weight:600}.status-items{flex-direction:column;gap:6px;display:flex}.status-item{align-items:center;gap:8px;padding:4px 0;font-size:.82rem;display:flex}.status-item.active{color:#22543d}.status-item.active svg{color:#48bb78}.status-item.inactive{color:#974c4c}.status-item.inactive svg{color:#e53e3e}.ai-settings-container .loading-state{color:#a0aec0;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.ai-settings-container .loading-state .spinner{border:3px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;margin-bottom:12px;animation:.8s linear infinite spin}@media (max-width:900px){.settings-grid{grid-template-columns:1fr}}.portofolio-mahasiswa{padding:0}.portofolio-mahasiswa .page-header{margin-bottom:24px}.portofolio-mahasiswa .page-header h1{color:#1e293b;align-items:center;gap:10px;margin:0 0 4px;font-size:1.5rem;font-weight:700;display:flex}.portofolio-mahasiswa .page-header h1 svg{color:#667eea}.portofolio-mahasiswa .page-header p{color:#64748b;margin:0;font-size:.875rem}.portofolio-mahasiswa .page-header-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.portofolio-mahasiswa .link-modal{max-width:560px}.link-modal-desc{color:#64748b;margin:0 0 16px;font-size:.875rem;line-height:1.5}.link-form-group{margin-bottom:8px}.link-form-group label{color:#334155;margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.link-form-group select{color:#334155;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 14px;font-size:.875rem}.link-form-group select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea26}.generated-link-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-top:16px;padding:16px}.generated-link-box>label{color:#15803d;margin-bottom:8px;font-size:.8rem;font-weight:600;display:block}.link-display{gap:8px;display:flex}.link-display input{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex:1;padding:8px 12px;font-size:.82rem}.link-actions{gap:8px;margin-top:10px;display:flex}.portofolio-mahasiswa .detail-header{align-items:flex-start;gap:16px;display:flex}.portofolio-mahasiswa .btn-back{color:#475569;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;margin-top:4px;padding:8px 16px;font-size:.85rem;transition:all .2s;display:inline-flex}.portofolio-mahasiswa .btn-back:hover{color:#1e293b;background:#e2e8f0}.portofolio-mahasiswa .stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.portofolio-mahasiswa .stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 1px 3px #0000000a}.portofolio-mahasiswa .stat-card.total{border-left:4px solid #667eea}.portofolio-mahasiswa .stat-card .stat-icon{color:#667eea;font-size:1.5rem}.portofolio-mahasiswa .stat-card .stat-info h3{color:#1e293b;margin:0;font-size:1.5rem;font-weight:700}.portofolio-mahasiswa .stat-card .stat-info p{color:#64748b;margin:0;font-size:.8rem}.portofolio-mahasiswa .filter-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.portofolio-mahasiswa .search-form{gap:10px;margin-bottom:12px;display:flex}.portofolio-mahasiswa .search-input-wrapper{flex:1;position:relative}.portofolio-mahasiswa .search-icon{color:#94a3b8;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.portofolio-mahasiswa .search-input-wrapper input{border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:10px 12px 10px 36px;font-size:.875rem;transition:border-color .2s}.portofolio-mahasiswa .search-input-wrapper input:focus{border-color:#667eea}.portofolio-mahasiswa .filter-row{flex-wrap:wrap;gap:16px;display:flex}.portofolio-mahasiswa .filter-group{align-items:center;gap:8px;display:flex}.portofolio-mahasiswa .filter-group label{color:#64748b;white-space:nowrap;align-items:center;gap:4px;font-size:.8rem;display:flex}.portofolio-mahasiswa .filter-group select{border:1px solid #e2e8f0;border-radius:8px;outline:none;min-width:180px;padding:8px 12px;font-size:.85rem}.portofolio-mahasiswa .table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.portofolio-mahasiswa .table-header{border-bottom:1px solid #e2e8f0;padding:16px 20px}.portofolio-mahasiswa .table-header h3{color:#1e293b;margin:0;font-size:.95rem;font-weight:600}.portofolio-mahasiswa .table-responsive{overflow-x:auto}.portofolio-mahasiswa .data-table{border-collapse:collapse;width:100%}.portofolio-mahasiswa .data-table th,.portofolio-mahasiswa .data-table td{text-align:left;border-bottom:1px solid #f1f5f9;padding:10px 14px;font-size:.85rem}.portofolio-mahasiswa .data-table th{color:#475569;white-space:nowrap;background:#f8fafc;font-weight:600}.portofolio-mahasiswa .data-table tbody tr:hover{background:#f8fafc}.portofolio-mahasiswa .data-table .text-center{text-align:center}.portofolio-mahasiswa .data-table.compact th,.portofolio-mahasiswa .data-table.compact td{padding:6px 10px;font-size:.8rem}.portofolio-mahasiswa .empty-state{text-align:center;color:#94a3b8;font-style:italic;padding:40px!important}.portofolio-mahasiswa .badge{border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-block}.portofolio-mahasiswa .badge.transfer{color:#1d4ed8;background:#dbeafe}.portofolio-mahasiswa .badge.perolehan{color:#b45309;background:#fef3c7}.portofolio-mahasiswa .badge.success{color:#15803d;background:#dcfce7}.portofolio-mahasiswa .badge.danger{color:#dc2626;background:#fee2e2}.portofolio-mahasiswa .badge.pending{color:#b45309;background:#fef3c7}.portofolio-mahasiswa .badge-status{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.portofolio-mahasiswa .badge-status.success{color:#15803d;background:#dcfce7}.portofolio-mahasiswa .badge-status.info{color:#1d4ed8;background:#dbeafe}.portofolio-mahasiswa .badge-status.pending{color:#b45309;background:#fef3c7}.portofolio-mahasiswa .badge-status.danger{color:#dc2626;background:#fee2e2}.portofolio-mahasiswa .badge-status.default{color:#475569;background:#f1f5f9}.portofolio-mahasiswa .btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.portofolio-mahasiswa .btn-sm{border-radius:6px;padding:5px 10px;font-size:.78rem}.portofolio-mahasiswa .btn-primary{color:#fff;background:#667eea}.portofolio-mahasiswa .btn-primary:hover{background:#5a6fd6}.portofolio-mahasiswa .btn-info{color:#1d4ed8;background:#dbeafe}.portofolio-mahasiswa .btn-info:hover{background:#bfdbfe}.portofolio-mahasiswa .btn-success{color:#15803d;background:#dcfce7}.portofolio-mahasiswa .btn-success:hover{background:#bbf7d0}.portofolio-mahasiswa .btn-secondary{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.portofolio-mahasiswa .btn-secondary:hover{background:#e2e8f0}.portofolio-mahasiswa .btn:disabled{opacity:.5;cursor:not-allowed}.portofolio-mahasiswa .pagination{justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.portofolio-mahasiswa .page-info{color:#64748b;padding:0 8px;font-size:.85rem}.portofolio-mahasiswa .loading-state{color:#64748b;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;font-size:.9rem;display:flex}.portofolio-mahasiswa .spinner{border:3px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.portofolio-mahasiswa .quick-info-card{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;flex-wrap:wrap;gap:20px;margin-bottom:24px;padding:20px 24px;display:flex}.portofolio-mahasiswa .qi-item{flex-direction:column;gap:2px;min-width:140px;display:flex}.portofolio-mahasiswa .qi-label{text-transform:uppercase;letter-spacing:.5px;opacity:.8;font-size:.72rem}.portofolio-mahasiswa .qi-value{font-size:.95rem;font-weight:600}.portofolio-mahasiswa .quick-info-card .badge{margin-top:2px}.portofolio-mahasiswa .tab-nav{background:#fff;border:1px solid #e2e8f0;border-bottom:none;border-radius:12px 12px 0 0;gap:4px;padding:8px 8px 0;display:flex;overflow-x:auto}.portofolio-mahasiswa .tab-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;align-items:center;gap:6px;padding:10px 18px;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.portofolio-mahasiswa .tab-btn:hover{color:#1e293b;background:#f8fafc}.portofolio-mahasiswa .tab-btn.active{color:#667eea;background:#fff;border-bottom:2px solid #667eea;font-weight:600}.portofolio-mahasiswa .tab-count{color:#fff;background:#667eea;border-radius:10px;padding:1px 7px;font-size:.68rem;font-weight:700}.portofolio-mahasiswa .tab-btn.active .tab-count{background:#667eea}.portofolio-mahasiswa .tab-content{background:#fff;border:1px solid #e2e8f0;border-radius:0 0 12px 12px;min-height:300px;padding:24px}.portofolio-mahasiswa .detail-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:24px;display:grid}.portofolio-mahasiswa .detail-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:20px}.portofolio-mahasiswa .detail-section h3{color:#1e293b;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;margin:0 0 16px;padding-bottom:10px;font-size:.95rem;display:flex}.portofolio-mahasiswa .detail-section h3 svg{color:#667eea}.portofolio-mahasiswa .detail-rows{flex-direction:column;gap:8px;display:flex}.portofolio-mahasiswa .detail-row{gap:8px;font-size:.85rem;display:flex}.portofolio-mahasiswa .detail-row .label{color:#64748b;flex-shrink:0;min-width:160px}.portofolio-mahasiswa .detail-row .value{color:#1e293b;font-weight:500}.portofolio-mahasiswa .subsection{margin-top:24px}.portofolio-mahasiswa .subsection h3{color:#1e293b;align-items:center;gap:8px;margin:0 0 12px;font-size:.95rem;display:flex}.portofolio-mahasiswa .subsection h3 svg{color:#667eea}.portofolio-mahasiswa .dokumen-section h3,.portofolio-mahasiswa .bukti-section h3,.portofolio-mahasiswa .konversi-section .subsection h3{color:#1e293b;align-items:center;gap:8px;margin:0 0 16px;font-size:1rem;display:flex}.portofolio-mahasiswa .dokumen-grid{flex-direction:column;gap:10px;display:flex}.portofolio-mahasiswa .dokumen-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:14px;padding:14px 18px;transition:all .2s;display:flex}.portofolio-mahasiswa .dokumen-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.portofolio-mahasiswa .dc-icon{color:#ef4444;flex-shrink:0;font-size:1.5rem}.portofolio-mahasiswa .dc-info{flex:1;min-width:0}.portofolio-mahasiswa .dc-info h4{color:#1e293b;margin:0;font-size:.88rem;font-weight:600}.portofolio-mahasiswa .dc-filename{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 6px;font-size:.78rem;overflow:hidden}.portofolio-mahasiswa .dc-meta{color:#94a3b8;align-items:center;gap:10px;font-size:.75rem;display:flex}.portofolio-mahasiswa .dc-actions{flex-shrink:0;gap:6px;display:flex}.portofolio-mahasiswa .empty-tab{text-align:center;color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.portofolio-mahasiswa .empty-tab.small{padding:30px 20px}.portofolio-mahasiswa .empty-icon{opacity:.3;margin-bottom:12px;font-size:3rem}.portofolio-mahasiswa .empty-tab p{color:#64748b;margin:0;font-size:.95rem}.portofolio-mahasiswa .empty-tab small{margin-top:6px;font-size:.8rem}.portofolio-mahasiswa .text-muted{color:#94a3b8;align-items:center;gap:4px;font-size:.78rem;display:inline-flex}.portofolio-mahasiswa .file-actions{gap:4px;display:flex}.portofolio-mahasiswa .modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.portofolio-mahasiswa .modal-content{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-height:90vh;display:flex;overflow:hidden}.portofolio-mahasiswa .preview-modal{max-width:900px}.portofolio-mahasiswa .modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.portofolio-mahasiswa .modal-header h3{margin:0;font-size:1rem}.portofolio-mahasiswa .btn-close{cursor:pointer;color:#64748b;background:0 0;border:none;font-size:1.5rem;line-height:1}.portofolio-mahasiswa .modal-body{flex:1;padding:20px;overflow:auto}.portofolio-mahasiswa .preview-image{border-radius:8px;max-width:100%;height:auto}.portofolio-mahasiswa .preview-iframe{border:none;border-radius:8px;width:100%;min-height:500px}.portofolio-mahasiswa .modal-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}@media (max-width:768px){.portofolio-mahasiswa .quick-info-card{flex-direction:column;gap:12px}.portofolio-mahasiswa .detail-grid{grid-template-columns:1fr}.portofolio-mahasiswa .tab-btn{padding:8px 12px;font-size:.78rem}.portofolio-mahasiswa .detail-header{flex-direction:column;gap:8px}.portofolio-mahasiswa .search-form{flex-direction:column}.portofolio-mahasiswa .filter-row{flex-direction:column;gap:8px}.portofolio-mahasiswa .filter-group select{min-width:100%}.portofolio-mahasiswa .dokumen-card{flex-direction:column;align-items:flex-start}.portofolio-mahasiswa .dc-actions{justify-content:flex-end;width:100%}}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100vw;overflow-x:hidden}body{color:#333;background-color:#f5f7fa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}#root{width:100%;max-width:100vw;overflow-x:hidden}.container{width:100%;max-width:1200px;margin:0 auto;padding:20px}.card{background:#fff;border-radius:10px;width:100%;max-width:100%;margin-bottom:20px;padding:20px;overflow:hidden;box-shadow:0 2px 10px #0000001a}.card-header{border-bottom:1px solid #eee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:15px;display:flex}.card-title{color:#2c3e50;font-size:1.25rem;font-weight:600}.btn{cursor:pointer;border:none;border-radius:5px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-success{color:#fff;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.btn-success:hover{transform:translateY(-2px);box-shadow:0 4px 12px #11998e66}.btn-danger{color:#fff;background:linear-gradient(135deg,#eb3349 0%,#f45c43 100%)}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px #eb334966}.btn-warning{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.btn-secondary{color:#fff;background:#6c757d}.btn-sm{padding:6px 12px;font-size:12px}.form-group{margin-bottom:20px}.form-label{color:#555;margin-bottom:8px;font-weight:500;display:block}.form-control{border:1px solid #ddd;border-radius:5px;width:100%;padding:12px 15px;font-size:14px;transition:border-color .3s}.form-control:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-control.error{border-color:#eb3349}.error-message{color:#eb3349;margin-top:5px;font-size:12px}.table-container,.table-responsive{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:600px}.table th,.table td{text-align:left;white-space:nowrap;border-bottom:1px solid #eee;padding:12px 15px}.table th{color:#555;background:#f8f9fa;font-weight:600}.table tr:hover{background:#f8f9fa}.badge{border-radius:20px;padding:5px 12px;font-size:12px;font-weight:500}.badge-pending{color:#856404;background:#fff3cd}.badge-approved{color:#155724;background:#d4edda}.badge-rejected{color:#721c24;background:#f8d7da}.badge-review{color:#004085;background:#cce5ff}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;width:100%;margin-bottom:30px;display:grid}.stat-card{background:#fff;border-radius:10px;align-items:center;gap:15px;min-width:0;padding:20px;display:flex;box-shadow:0 2px 10px #0000001a}.stat-icon{border-radius:10px;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;display:flex}.stat-icon.primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.stat-icon.success{color:#fff;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.stat-icon.warning{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.stat-icon.info{color:#fff;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.stat-info h3{color:#2c3e50;font-size:28px;font-weight:700}.stat-info p{color:#777;font-size:14px}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-title{font-size:1.25rem;font-weight:600}.modal-close{cursor:pointer;color:#999;background:0 0;border:none;font-size:24px}.modal-body{padding:20px}.modal-footer{border-top:1px solid #eee;justify-content:flex-end;gap:10px;padding:20px;display:flex}.loading{justify-content:center;align-items:center;padding:40px;display:flex}.spinner{border:3px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.empty-state{text-align:center;color:#999;padding:60px 20px}.empty-state-icon{margin-bottom:20px;font-size:60px}.empty-state h3{color:#555;margin-bottom:10px}.action-buttons{flex-wrap:wrap;gap:8px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.page-title{color:#2c3e50;font-size:1.5rem;font-weight:700}.filter-bar{flex-wrap:wrap;gap:15px;margin-bottom:20px;display:flex}.filter-bar .form-control{flex:1;min-width:200px}.row{flex-wrap:wrap;margin:-10px;display:flex}.col{flex:1;min-width:280px;padding:10px}.programs-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.timeline{padding-left:30px;position:relative}.timeline:before{content:"";background:#e0e0e0;width:2px;position:absolute;top:0;bottom:0;left:10px}.timeline-item{padding-bottom:25px;position:relative}.timeline-item:before{content:"";background:#667eea;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:-24px;box-shadow:0 0 0 3px #667eea33}.timeline-item.completed:before{background:#38ef7d}.tabs{border-bottom:2px solid #eee;margin-bottom:20px;display:flex;overflow-x:auto}.tab{color:#777;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:12px 24px;font-weight:500;transition:color .3s;position:relative}.tab:hover,.tab.active{color:#667eea}.tab.active:after{content:"";background:#667eea;height:2px;position:absolute;bottom:-2px;left:0;right:0}@media (max-width:1200px){.stats-grid,.programs-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:992px){.container{padding:15px}.filter-bar .form-control{min-width:150px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:15px}}@media (max-width:768px){.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.programs-grid{grid-template-columns:1fr}.table{min-width:100%}.table th,.table td{white-space:normal;word-break:break-word;padding:10px 12px;font-size:13px}.page-header{flex-direction:column;align-items:flex-start}.filter-bar{flex-direction:column}.filter-bar .form-control{min-width:100%}.card{padding:15px}.card-header{flex-direction:column;align-items:flex-start;gap:10px}.modal{width:95%;margin:10px}.modal-body{padding:15px}.btn{padding:10px 16px;font-size:13px}.action-buttons{justify-content:flex-start;width:100%}.stat-card{padding:15px}.stat-icon{flex-shrink:0;width:45px;height:45px;font-size:18px}.stat-info h3{font-size:20px}.stat-info p{font-size:12px}.col{min-width:100%}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr;gap:10px}.table{font-size:12px}.table th,.table td{padding:8px 10px}.badge{padding:4px 8px;font-size:11px}.btn-sm{padding:5px 10px;font-size:11px}.card{border-radius:8px;padding:12px}.card-title{font-size:1rem}.page-title{font-size:1.15rem}.stat-card{gap:12px;padding:12px}.stat-icon{width:40px;height:40px;font-size:16px}.stat-info h3{font-size:18px}}.dashboard{width:100%;max-width:100%;animation:.3s fadeIn}.dashboard .page-header{margin-bottom:25px}.dashboard .page-header h1{color:#2c3e50;word-break:break-word;margin-bottom:5px;font-size:1.75rem;font-weight:700}.dashboard .page-header p{color:#777;font-size:.95rem}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.table-responsive::-webkit-scrollbar{height:6px}.table-responsive::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}@media (max-width:768px){.dashboard .page-header h1{font-size:1.5rem}.dashboard .page-header p{font-size:.85rem}.mobile-card-view{display:block}.mobile-card-view .mobile-card{background:#fff;border-radius:10px;margin-bottom:12px;padding:15px;box-shadow:0 2px 8px #00000014}.mobile-card-view .mobile-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.mobile-card-view .mobile-card-title{color:#2c3e50;font-size:.95rem;font-weight:600}.mobile-card-view .mobile-card-body{color:#666;flex-wrap:wrap;gap:10px;font-size:.85rem;display:flex}.mobile-card-view .mobile-card-item{align-items:center;gap:5px;display:flex}.mobile-card-view .mobile-card-item label{color:#999}.mobile-card-view .mobile-card-actions{border-top:1px solid #eee;gap:8px;margin-top:12px;padding-top:12px;display:flex}}@media (max-width:480px){.dashboard .page-header h1{font-size:1.3rem}.stat-card{padding:15px}.stat-icon{width:45px;height:45px;font-size:18px}.stat-info h3{font-size:22px}.stat-info p{font-size:13px}}.form-row{flex-wrap:wrap;gap:20px;display:flex}.form-row .form-group{flex:1;min-width:250px}@media (max-width:768px){.form-row{gap:0}.form-row .form-group{min-width:100%}}.card-actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:480px){.card-actions{flex-direction:column}.card-actions .btn{justify-content:center;width:100%}}.search-filter-bar{flex-wrap:wrap;gap:15px;margin-bottom:20px;display:flex}.search-box{flex:1;min-width:250px;position:relative}.search-box input{border:1px solid #ddd;border-radius:8px;width:100%;padding:12px 15px 12px 40px;font-size:14px}.search-box .search-icon{color:#999;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.filter-select{min-width:150px}@media (max-width:768px){.search-box{min-width:100%}.filter-select{flex:1;min-width:calc(50% - 8px)}}@media (max-width:480px){.filter-select{min-width:100%}}.empty-state{text-align:center;padding:50px 20px}.empty-state-icon{color:#ddd;margin-bottom:15px;font-size:50px}.empty-state h3{color:#666;margin-bottom:8px;font-size:1.1rem}.empty-state p{color:#999;font-size:.9rem}@media (max-width:480px){.empty-state{padding:40px 15px}.empty-state-icon{font-size:40px}.empty-state h3{font-size:1rem}}
