.testimonial-form{min-height:100vh;background:#fff;padding:0rem 0}.container{max-width:600px;margin:0 auto;padding:0 1rem}.header{text-align:center;margin-bottom:2rem;padding:0 10vw;width:100%;height:100%;display:flex}.header-container{display:block;max-width:100%;flex-direction:column;align-items:center;justify-content:center;padding:0;background-image:url(bg-header.png);background-position:center;background-size:cover;height:100vh;margin-bottom:5rem}.text-start{text-align:left;padding-top:10vh!important}.logo-form{width:25vw;margin-bottom:1rem;align-items:center}.judulForm{text-align:center;font-size:2rem;margin-bottom:2.5rem;color:#082e84;font-weight:700}.header .gapai{font-size:4rem;margin-bottom:.5rem;font-weight:700;color:#fff;text-transform:uppercase}.desc-header{font-size:1.2rem;color:#ededed;margin-top:.2rem!important;font-weight:500;margin-bottom:0rem}.desc-sub{font-size:1.1rem;color:#dedede;margin-top:.2rem;font-weight:500;margin-bottom:2.5rem}.detail-btn{background:#ff6b35;border:1px solid #ff6b35;color:#f8f8f8;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:.5rem;margin-top:1rem;margin:1rem .5rem}.dukungan{background:none;color:#fff;border:1px solid #ffff}.dukungan:hover:not(:disabled){background:#fff!important;color:#ff6b35!important}.detail-btn:hover:not(:disabled){background:#ff6b35;color:#fff}.detail-btn.mobile-btn{background:#ff6b35;border-color:#ff6b35;color:#fff}.detail-btn.mobile-btn:hover:not(:disabled){background:#ff6b35;border-color:#ff6b35}.form{background:#0b39a4;padding:3rem 2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a}.form-group{margin-bottom:1.5rem}.form-group label{font-weight:600;color:#fafafa!important;margin-bottom:.5rem;font-size:.9rem}.form-group small{display:block;margin-top:.25rem;color:#fafafa;font-size:.8rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box;background-color:#f8f9fa;font-weight:500}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#ff6b35}.form-group textarea{resize:vertical;min-height:100px}.consent-group{display:flex;align-items:flex-start;margin-bottom:1.5rem;gap:.5rem}.consent-checkbox{margin:2px 0 0;width:18px;height:18px;accent-color:#ff6b35;flex-shrink:0}.consent-label{font-size:.9rem;color:#f0f0f0;line-height:1.4;cursor:pointer;margin:0}.submit-btn{width:100%;background:#ff6b35;color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.submit-btn:hover:not(:disabled){background:#e55a2b}.submit-btn:disabled{background:#ccc;cursor:not-allowed}.pdf-modal-overlay{position:fixed;inset:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.pdf-modal-content{background:#fff;border-radius:12px;width:80%;max-width:1200px;height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.pdf-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa;border-radius:12px 12px 0 0}.pdf-modal-header h3{margin:0;color:#333;font-size:1.2rem;font-weight:600}.pdf-modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.pdf-modal-close:hover{background:#e0e0e0;color:#333}.pdf-modal-body{flex:1;padding:0;overflow:hidden;border-radius:0 0 12px 12px;position:relative}.pdf-container{width:100%;height:calc(85vh - 80px);min-height:400px}.pdf-container iframe{width:100%;height:100%;border:none;border-radius:0 0 12px 12px}.pdf-object-container{width:100%;height:calc(85vh - 80px);min-height:400px}.pdf-object-container object{width:100%;height:100%;border:none;border-radius:0 0 12px 12px}.pdf-fallback{position:absolute;bottom:10px;left:10px;right:10px;background:#ff6b35f2;border:1px solid #ff6b35;border-radius:8px;padding:15px;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.pdf-fallback p{margin:0 0 12px;font-size:.9rem;color:#fff;font-weight:500}.pdf-options{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.pdf-download-btn{display:inline-block;background:#fff;color:#ff6b35;text-decoration:none;padding:10px 16px;border-radius:6px;font-size:.85rem;font-weight:600;transition:all .3s ease;border:1px solid white;min-width:140px}.pdf-download-btn:hover{background:#ff6b35;color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 8px #0003}@media (max-width: 768px){.container{padding:0 .5rem}.form{padding:1.5rem}.header{justify-content:center}.logo-form{width:50vw}.text-start{padding-top:1vh!important;display:inline-block;justify-content:center;display:inline-grid}.header h1{font-size:1.3rem}.header .gapai{font-size:1.8rem;margin-bottom:.5rem;font-weight:700;color:#fff;text-transform:uppercase}.header .desc-header{font-size:.8rem;margin-bottom:.5rem;text-align:center}.header .desc-sub{font-size:.7rem;margin-bottom:1.5rem;text-align:center}.detail-btn.mobile-btn{font-size:.9rem;padding:.6rem 1.2rem;align-items:center;justify-content:center}.pdf-modal-content{width:90%;height:80vh}.pdf-container,.pdf-object-container{height:calc(80vh - 70px);min-height:300px}.pdf-fallback{position:relative;bottom:auto;left:auto;right:auto;margin-top:10px;background:#ff6b35e6}.pdf-options{flex-direction:column;gap:8px}.pdf-download-btn{min-width:auto;width:100%}.pdf-modal-header{padding:.75rem 1rem}.pdf-modal-header h3{font-size:1rem}}.testimonials-section{margin-top:3rem;padding:2rem 0}.testimonials-title{text-align:center;color:#082e84;font-size:2rem;margin-bottom:2rem;font-weight:700}.loading-testimonials{text-align:center;color:#333;padding:2rem}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,107,53,.3);border-top:4px solid #ff6b35;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 1rem}@media (max-width: 768px){.testimonials-grid{grid-template-columns:1fr;gap:1rem;padding:0 .5rem}}.testimonial-bubble{position:relative;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);animation:slideInUp .6s ease-out both;opacity:0;transform:translateY(30px);width:100%;max-width:100%}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.testimonial-bubble:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 15px 40px #00000026}.testimonial-bubble:active{transform:translateY(-4px) scale(.98)}.testimonial-bubble.expanded{transform:scale(1.03);z-index:10;box-shadow:0 20px 50px #0003}.testimonial-bubble.left,.testimonial-bubble.right{align-self:stretch;margin:0}.bubble-content{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 6px 20px #00000014;position:relative;overflow:hidden;height:100%;display:flex;flex-direction:column;border:1px solid rgba(250,95,39,.923)}.bubble-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ff6b35,#ff8c42,#ff6b35);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.bubble-header{display:flex;align-items:center;margin-bottom:1rem;gap:1rem}.bubble-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#ff6b35,#ff8c42);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem;box-shadow:0 4px 10px #ff6b354d;flex-shrink:0}.bubble-info{flex:1;min-width:0}.bubble-name{margin:0 0 .25rem;font-size:1.1rem;font-weight:700;color:#333;line-height:1.2}.bubble-position{margin:0 0 .25rem;font-size:.9rem;font-weight:600;color:#ff6b35;line-height:1.2}.bubble-institution{margin:0;font-size:1rem;color:#282828;line-height:1.2;font-weight:300;font-style:italic}.bubble-message{margin-bottom:1rem;flex:1;display:flex;align-items:center}.bubble-message p{margin:1rem auto;line-height:1.6;color:#343434;font-weight:400;font-size:1rem;font-style:italic;text-align:justify}.bubble-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #f0f0f0;margin-top:auto}.bubble-date{font-size:.8rem;color:#888;font-style:italic}.bubble-indicator{font-size:.8rem;color:#ff6b35;transition:transform .3s ease;font-weight:700}.testimonial-bubble.expanded .bubble-indicator{transform:rotate(90deg)}.bubble-tail{display:none}.no-testimonials{text-align:center;color:#333;padding:3rem 2rem;background:#0b39a4;border-radius:15px;border:1px solid #e0e0e0}.no-testimonials p{margin:0;font-size:1.1rem;font-weight:500}@media (max-width: 768px){.testimonials-title{font-size:1.5rem;margin-bottom:1.5rem}.testimonials-grid{grid-template-columns:1fr;gap:3rem;padding:0 .5rem}.testimonial-bubble{width:100%}.bubble-content{padding:1.25rem}.bubble-header{gap:1.5rem}.bubble-avatar{width:45px;height:45px;font-size:1.1rem}.bubble-name{font-size:1.2rem;font-weight:800}.bubble-position{font-size:.85rem}.bubble-institution{font-size:.8rem;font-weight:400}.bubble-message p{font-size:.95rem}.testimonial-bubble:hover{transform:translateY(-4px) scale(1.01)}.testimonial-bubble.expanded{transform:scale(1.02)}}@media (min-width: 769px) and (max-width: 1024px){.testimonials-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media (min-width: 1200px){.testimonials-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}.login-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.container{width:100%;max-width:400px}.login-card{background:#fffffff2;border-radius:20px;padding:2.5rem;box-shadow:0 20px 40px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.header{text-align:center;margin-bottom:2rem}.logo{width:80px;height:80px;margin-bottom:1rem}.header h1{font-size:2.5rem;margin-bottom:.5rem;color:#f5f5f5;font-weight:700}.header{color:#bbb;font-size:1rem}.form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#333;margin-bottom:.5rem;font-size:.9rem}.form-group input{padding:.75rem 1rem;border:2px solid #e1e5e9;border-radius:10px;font-size:1rem;transition:all .3s ease;background:#fff}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#999}.error-message{background:#fee;color:#c53030;padding:.75rem 1rem;border-radius:10px;font-size:.9rem;border:1px solid #feb2b2;text-align:center}.login-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (max-width: 480px){.login-card{padding:2rem 1.5rem}.header h1{font-size:1.75rem}}.admin-page{min-height:100vh;background:url(bg-header.png);background-size:cover;padding:2rem 0}.container{max-width:1000px;margin:0 auto;padding:0 1rem}.header{display:column;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:1rem}.logo{width:140px;height:140px;padding:8px}.header-left h1{font-size:1.8rem;margin:0;color:#f1f1f1;font-weight:700}.header-left p{margin:0;color:#f1f1f1;font-size:.9rem}.logout-btn{background:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .3s ease}.logout-btn:hover{background:#c82333}.message{padding:1rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.loading{text-align:center;color:#fff;font-size:1.2rem;padding:2rem}.no-testimonials{text-align:center;color:#fff;font-size:1.2rem;padding:2rem;background:#0b39a4;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.testimonials-list{display:flex;flex-direction:column;gap:1.5rem}.testimonial-item{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 5px 15px #0000001a;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.testimonial-content{flex:1}.author-info h3{font-size:1.2rem;margin:0 0 .25rem;color:#ff6b35;font-weight:700}.author-info .position{font-size:1rem;color:#666;margin:0 0 .25rem;font-weight:500}.author-info .institution{font-size:.9rem;color:#888;margin:0 0 1rem}.testimonial-text{margin-bottom:1rem}.testimonial-text p{font-size:1rem;line-height:1.6;color:#333;font-style:italic;margin:0}.testimonial-meta{font-size:.8rem;color:#999}.testimonial-actions{display:flex;flex-direction:column;gap:.5rem;min-width:100px}.approve-btn,.reject-btn{padding:.5rem 1rem;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .3s ease}.approve-btn{background:#28a745;color:#fff}.approve-btn:hover{background:#218838}.reject-btn{background:#dc3545;color:#fff}.reject-btn:hover{background:#c82333}@media (max-width: 768px){.container{padding:0 .5rem}.header{flex-direction:column-reverse;gap:1rem;text-align:center;justify-content:center}.header-left{flex-direction:column;text-align:center}.testimonial-item{flex-direction:column}.testimonial-actions{flex-direction:row;justify-content:center;min-width:auto}}*{margin:0;padding:0;box-sizing:border-box;font-family:Montserrat,sans-serif;font-optical-sizing:auto;font-weight:100;font-style:normal}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333}.App{min-height:100vh}button,input,textarea{font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#ff6b35;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#e55a2b}
