:root{--primary-900:#1B4332;--primary-800:#1B5E20;--primary-700:#2E7D32;--primary-600:#388E3C;--primary-500:#43A047;--primary-400:#66BB6A;--primary-300:#A5D6A7;--primary-200:#C8E6C9;--primary-100:#E8F5E9;--primary-50:#F1F8E9;--accent-600:#F57F17;--accent-500:#FB8C00;--accent-400:#FFA726;--accent-300:#FFB74D;--gray-900:#111827;--gray-800:#1F2937;--gray-700:#374151;--gray-600:#4B5563;--gray-500:#6B7280;--gray-400:#9CA3AF;--gray-300:#D1D5DB;--gray-200:#E5E7EB;--gray-100:#F3F4F6;--gray-50:#F9FAFB;--success:#16A34A;--warning:#D97706;--danger:#DC2626;--info:#0284C7;--font-sans:'Plus Jakarta Sans',system-ui,sans-serif;--font-serif:'Playfair Display',Georgia,serif;--container-max:1280px;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-2xl:2rem;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(0,0,0,.08);--shadow-md:0 4px 16px rgba(0,0,0,.10);--shadow-lg:0 10px 40px rgba(0,0,0,.12);--shadow-xl:0 20px 60px rgba(0,0,0,.15);--shadow-green:0 8px 32px rgba(46,125,50,.25);--shadow-card:0 2px 12px rgba(27,94,32,.10);--transition:all .25s cubic-bezier(.4,0,.2,1);--transition-slow:all .4s cubic-bezier(.4,0,.2,1);--transition-spring:all .35s cubic-bezier(.34,1.56,.64,1)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--gray-800);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:var(--transition)}ul,ol{list-style:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:700}.container{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}.text-primary{color:var(--primary-700)}.text-muted{color:var(--gray-500)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--primary-400);border-radius:var(--radius-full)}::selection{background:var(--primary-300);color:var(--primary-900)}#page-loader{position:fixed;inset:0;z-index:9999;background:var(--primary-900);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;transition:opacity .5s ease,visibility .5s ease}#page-loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-icon{width:72px;height:72px;background:var(--primary-500);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;overflow:hidden;animation:loaderPulse 1.5s ease-in-out infinite}.loader-text{color:#fff;font-size:.875rem;font-weight:500;opacity:.8}.loader-bar{width:200px;height:3px;background:rgba(255,255,255,.15);border-radius:2px;overflow:hidden}.loader-bar-fill{height:100%;background:var(--accent-400);border-radius:2px;animation:loaderBar 1.5s ease-in-out infinite}@keyframes loaderPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(67,160,71,.7)}50%{transform:scale(1.05);box-shadow:0 0 0 16px rgba(67,160,71,0)}}@keyframes loaderBar{0%{width:0;margin-left:0}50%{width:60%;margin-left:20%}100%{width:0;margin-left:100%}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(27,68,50,.96);backdrop-filter:blur(20px) saturate(1.8);border-bottom:1px solid rgba(255,255,255,.06);transition:var(--transition)}.navbar.scrolled{background:rgba(27,68,50,.99);box-shadow:0 2px 20px rgba(0,0,0,.2)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;max-width:var(--container-max);margin:0 auto;gap:.75rem;overflow:visible}.navbar-brand{display:flex;align-items:center;gap:.625rem;flex-shrink:1;min-width:0;text-decoration:none}.brand-icon{width:42px;height:42px;background:var(--primary-500);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff;flex-shrink:0;overflow:hidden;padding:0}.brand-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.brand-text{display:flex;flex-direction:column;min-width:0;overflow:hidden}.brand-name{font-size:1rem;font-weight:800;color:#fff;line-height:1.1;font-family:var(--font-serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-tagline{font-size:.61rem;color:rgba(255,255,255,.6);letter-spacing:.01em;line-height:1.3;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-sub{font-size:.6rem;color:var(--primary-300);letter-spacing:.08em;text-transform:uppercase;font-weight:500}.navbar-nav{display:flex;align-items:center;gap:.25rem;flex:1;justify-content:center}.nav-link{padding:.5rem .9rem;color:rgba(255,255,255,.8);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:var(--transition);position:relative;display:flex;align-items:center;gap:.4rem}.nav-link:hover,.nav-link.active{color:#fff;background:rgba(255,255,255,.1)}.nav-link.active::after{content:'';position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:20px;height:2px;background:var(--accent-400);border-radius:2px}.navbar-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.notif-btn{position:relative;width:38px;height:38px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);font-size:.95rem;cursor:pointer;transition:var(--transition)}.notif-btn:hover{background:rgba(255,255,255,.18);color:#fff}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:var(--danger);border-radius:var(--radius-full);font-size:.65rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--primary-800)}.notif-badge.hidden{display:none}.notif-dropdown{position:absolute;top:calc(100%+.75rem);right:0;width:340px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-8px);transition:var(--transition);z-index:200}.notif-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.notif-header{padding:.875rem 1rem;background:var(--primary-800);display:flex;align-items:center;justify-content:space-between}.notif-header h6{color:#fff;font-size:.875rem;font-weight:600}.notif-header a{font-size:.75rem;color:var(--primary-200)}.notif-list{max-height:320px;overflow-y:auto}.notif-item{padding:.875rem 1rem;border-bottom:1px solid var(--gray-100);display:flex;gap:.75rem;transition:var(--transition);cursor:pointer}.notif-item:hover{background:var(--gray-50)}.notif-item.unread{background:var(--primary-50)}.notif-item-icon{width:36px;height:36px;border-radius:var(--radius-md);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.9rem}.notif-item-body h6{font-size:.8rem;font-weight:600;margin-bottom:.15rem}.notif-item-body p{font-size:.75rem;color:var(--gray-500);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-item-body .time{font-size:.7rem;color:var(--gray-400);margin-top:.2rem}.notif-empty{padding:2rem;text-align:center;color:var(--gray-400);font-size:.875rem}.user-dropdown-wrap{position:relative}.user-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem .4rem .4rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full);color:rgba(255,255,255,.9);cursor:pointer;transition:var(--transition)}.user-btn:hover{background:rgba(255,255,255,.18)}.user-avatar-sm{width:30px;height:30px;border-radius:50%;background:var(--primary-500);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#fff;font-weight:600;flex-shrink:0;overflow:hidden}.user-avatar-sm img{width:100%;height:100%;object-fit:cover}.user-btn-name{font-size:.8rem;font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu{position:absolute;top:calc(100%+.75rem);right:0;width:220px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-8px);transition:var(--transition);z-index:200}.user-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.user-menu-header{padding:1rem;background:var(--primary-50);border-bottom:1px solid var(--primary-200)}.user-menu-header h6{font-weight:600;color:var(--gray-800);font-size:.9rem}.user-menu-header p{font-size:.8rem;color:var(--gray-500);margin-top:.15rem}.user-menu a{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;color:var(--gray-700);font-size:.875rem;transition:var(--transition);border-bottom:1px solid var(--gray-100)}.user-menu a:hover{background:var(--gray-50);color:var(--primary-700)}.user-menu a i{width:16px;color:var(--gray-400)}.user-menu a.danger{color:var(--danger)}.user-menu a.danger i{color:var(--danger)}.btn-login{padding:.5rem 1.25rem;background:var(--accent-500);color:#fff !important;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;transition:var(--transition);border:none;display:flex;align-items:center;gap:.4rem}.btn-login:hover{background:var(--accent-600);transform:translateY(-1px)}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none}.hamburger span{display:block;width:22px;height:2px;background:rgba(255,255,255,.8);border-radius:2px;transition:var(--transition)}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;inset:0;top:64px;z-index:999;background:var(--primary-900);padding:1rem;flex-direction:column;gap:.5rem;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1)}.mobile-menu.open{transform:translateX(0)}.mobile-menu .nav-link{padding:.875rem 1rem;font-size:1rem;border-radius:var(--radius-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.5rem;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.9rem;font-weight:600;border:2px solid transparent;cursor:pointer;transition:var(--transition);text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.btn-primary:hover{background:var(--primary-700);border-color:var(--primary-700);transform:translateY(-2px);box-shadow:var(--shadow-green)}.btn-accent{background:var(--accent-500);color:#fff;border-color:var(--accent-500)}.btn-accent:hover{background:var(--accent-600);transform:translateY(-2px)}.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}.btn-outline:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7)}.btn-outline-primary{background:transparent;color:var(--primary-600);border-color:var(--primary-600)}.btn-outline-primary:hover{background:var(--primary-600);color:#fff}.btn-outline-gray{background:transparent;color:var(--gray-600);border-color:var(--gray-300)}.btn-outline-gray:hover{background:var(--gray-100)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-sm{padding:.45rem 1rem;font-size:.8rem}.btn-lg{padding:.875rem 2rem;font-size:1rem}.btn-xl{padding:1rem 2.5rem;font-size:1.05rem;border-radius:var(--radius-lg)}.hero{min-height:82vh;background:var(--primary-900);position:relative;overflow:hidden;display:flex;align-items:center;padding:6.5rem 0 4rem}.hero-slideshow{position:absolute;inset:0;z-index:0}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:0;transition:opacity 1.4s ease-in-out;will-change:opacity}.hero-slide.active{opacity:1}.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(10,30,18,.88) 0%,rgba(10,30,18,.75) 45%,rgba(10,30,18,.55) 100%)}@keyframes float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:.35rem .875rem;border-radius:var(--radius-full);color:var(--accent-300);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1.5rem}.hero-title{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:800;color:#fff;line-height:1.15;margin-bottom:1.25rem;font-family:var(--font-serif)}.hero-title span{color:var(--accent-400);display:block}.hero-desc{font-size:1.05rem;color:rgba(255,255,255,.90);line-height:1.7;margin-bottom:2.5rem;max-width:520px}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.hero-visual{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.hero-stat-card{background:rgba(0,20,10,.45);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);padding:1.25rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:var(--transition)}.hero-stat-card:hover{background:rgba(255,255,255,.12);transform:translateY(-4px)}.hero-stat-icon{width:44px;height:44px;background:var(--primary-500);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.15rem;color:#fff;margin-bottom:.875rem}.hero-stat-num{font-size:2rem;font-weight:800;color:#fff;line-height:1;font-family:var(--font-serif)}.hero-stat-label{font-size:.78rem;color:rgba(255,255,255,.65);margin-top:.25rem;font-weight:500}.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.5);font-size:.75rem;letter-spacing:.05em}.scroll-dot{width:28px;height:44px;border:2px solid rgba(255,255,255,.3);border-radius:14px;display:flex;justify-content:center;padding-top:6px}.scroll-dot::before{content:'';width:4px;height:10px;background:rgba(255,255,255,.5);border-radius:2px;animation:scrollAnim 2s ease infinite}@keyframes scrollAnim{0%{transform:translateY(0);opacity:1}100%{transform:translateY(14px);opacity:0}}.section{padding:5rem 0}.section-sm{padding:3rem 0}.section-header{text-align:center;margin-bottom:3rem}.section-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--primary-100);color:var(--primary-700);padding:.3rem .875rem;border-radius:var(--radius-full);font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.875rem}.section-title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;color:var(--gray-900);font-family:var(--font-serif);margin-bottom:.75rem}.section-title span{color:var(--primary-600)}.section-subtitle{font-size:1rem;color:var(--gray-500);max-width:560px;margin:0 auto;line-height:1.7}.divider{width:60px;height:4px;background:linear-gradient(90deg,var(--primary-500),var(--accent-400));border-radius:2px;margin:1rem auto 0}.card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid var(--gray-100);overflow:hidden;transition:var(--transition)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-body{padding:1.5rem}.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100)}.card-footer{padding:1rem 1.5rem;background:var(--gray-50);border-top:1px solid var(--gray-100)}.layanan-card{background:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-100);overflow:hidden;transition:var(--transition-slow);position:relative;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.layanan-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--primary-300)}.layanan-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-500),var(--accent-400));transform:scaleX(0);transition:var(--transition);transform-origin:left}.layanan-card:hover::before{transform:scaleX(1)}.layanan-card-header{padding:1.5rem 1.5rem 0;display:flex;flex-direction:column;align-items:center;text-align:center}.layanan-card-icon{width:72px;height:72px;border-radius:1.25rem;display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0;margin:0 auto 1rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:visible}.layanan-card-icon::after{content:'';position:absolute;inset:-4px;border-radius:inherit;border:2px solid currentColor;opacity:0;transform:scale(.85);transition:opacity .3s,transform .3s}.layanan-card:hover .layanan-card-icon::after{opacity:.2;transform:scale(1)}.layanan-kode{font-size:.68rem;font-weight:700;color:var(--gray-400);letter-spacing:.06em;text-transform:uppercase}.layanan-card-body{padding:.75rem 1.5rem 1.5rem;flex:1;text-align:center}.layanan-card-title{font-size:1rem;font-weight:700;color:var(--gray-800);margin-bottom:.5rem;line-height:1.3;text-align:center}.layanan-card-desc{font-size:.85rem;color:var(--gray-500);line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.layanan-card-time{font-size:.75rem;color:var(--gray-500);display:flex;align-items:center;gap:.35rem;margin-bottom:.75rem}.layanan-card-time i{color:var(--primary-400)}.layanan-card-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem;padding-top:.875rem;border-top:1px solid var(--gray-100)}.layanan-card-tag{font-size:.72rem;font-weight:600;padding:.25rem .6rem;border-radius:var(--radius-full);background:var(--primary-100);color:var(--primary-700);display:inline-flex;align-items:center;gap:.3rem}.layanan-card-tag.gratis{background:#dcfce7;color:#15803d}.layanan-card-tag.berbayar{background:#fff7ed;color:#c2410c}.layanan-card-actions{padding:.75rem 1.5rem 1.5rem;display:flex;gap:.5rem}.lv-btn-detail,.lv-btn-ajukan{flex:1;justify-content:center;min-width:0;overflow:hidden;white-space:nowrap}.lv-btn-text-full{display:inline}.layanan-grid,#layanan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.home-layanan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.icon-konsultasi{background:#e8f5e9;color:#2e7d32}.icon-pelatihan{background:#e3f2fd;color:#1565c0}.icon-pengaduan{background:#fce4ec;color:#c62828}.icon-informasi{background:#e8eaf6;color:#283593}.icon-laboratorium{background:#f3e5f5;color:#6a1b9a}.icon-upbs{background:#e0f2f1;color:#00695c}.icon-kunjungan{background:#fff3e0;color:#e65100}.icon-wisata{background:#f1f8e9;color:#558b2f}.icon-agrimart{background:#fce4ec;color:#ad1457}.layanan-page-header{background:linear-gradient(135deg,var(--primary-800),var(--primary-700));padding:3.5rem 0 2.5rem;position:relative;overflow:hidden}.layanan-page-header::before{content:'';position:absolute;inset:0;opacity:.05;background-image:radial-gradient(circle at 20% 50%,var(--accent-400) 0,transparent 50%),radial-gradient(circle at 80% 50%,var(--primary-300) 0,transparent 50%)}.layanan-container{padding-top:2rem;padding-bottom:5rem}.lv-filter-bar{display:flex;gap:.875rem;align-items:flex-start;margin-bottom:1.25rem;flex-wrap:wrap}.lv-search-wrap{position:relative;flex:1;min-width:200px;max-width:340px}.lv-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:.875rem;pointer-events:none}.lv-search-input{width:100%;padding:.6rem 2.5rem .6rem 2.5rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-full);font-family:var(--font-sans);font-size:.875rem;color:var(--gray-800);background:#fff;outline:none;appearance:none;transition:border-color .2s,box-shadow .2s}.lv-search-input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px rgba(67,160,71,.12)}.lv-search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--gray-200);border:none;color:var(--gray-500);font-size:.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.lv-search-clear:hover{background:var(--gray-300)}.lv-filter-wrap{display:flex;align-items:flex-start;gap:.5rem;flex:1;min-width:0;flex-wrap:wrap}.lv-chips{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;flex:1;min-width:0}.lv-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .875rem;border-radius:var(--radius-full);font-family:var(--font-sans);font-size:.8rem;font-weight:600;cursor:pointer;border:1.5px solid var(--gray-200);background:#fff;color:var(--gray-600);white-space:nowrap;transition:all .18s ease;line-height:1}.lv-chip i{font-size:.72rem}.lv-chip:hover{border-color:var(--primary-400);color:var(--primary-700);background:var(--primary-50);transform:translateY(-1px)}.lv-chip-active{background:var(--primary-600)!important;border-color:var(--primary-600)!important;color:#fff!important;box-shadow:0 2px 8px rgba(46,125,50,.3)}.lv-more-btn{display:none;align-items:center;gap:.35rem;padding:.4rem .875rem;border-radius:var(--radius-full);font-family:var(--font-sans);font-size:.8rem;font-weight:700;cursor:pointer;border:1.5px solid var(--primary-300);background:var(--primary-50);color:var(--primary-700);white-space:nowrap;transition:all .18s;flex-shrink:0;line-height:1}.lv-more-btn:hover,.lv-more-btn-active{background:var(--primary-600);border-color:var(--primary-600);color:#fff}.lv-count{font-size:.82rem;color:var(--gray-500);margin-bottom:1rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.info-item{display:flex;gap:1rem;padding:1.5rem;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);transition:var(--transition)}.info-item:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md)}.info-item-icon{width:48px;height:48px;background:var(--primary-100);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--primary-700);flex-shrink:0}.info-item-body h4{font-size:.95rem;font-weight:700;color:var(--gray-800);margin-bottom:.35rem}.info-item-body p{font-size:.83rem;color:var(--gray-500);line-height:1.6}.alur-steps{display:flex;gap:0;position:relative}.alur-steps::before{content:'';position:absolute;top:28px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary-400),var(--accent-400));z-index:0}.alur-step{flex:1;text-align:center;position:relative;z-index:1;padding:0 .5rem}.alur-step-num{width:56px;height:56px;background:var(--primary-600);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;margin:0 auto 1rem;box-shadow:0 4px 16px rgba(46,125,50,.35);border:3px solid #fff;transition:var(--transition-spring)}.alur-step:hover .alur-step-num{transform:scale(1.15);background:var(--primary-700)}.alur-step-title{font-size:.85rem;font-weight:700;color:var(--gray-800);margin-bottom:.25rem}.alur-step-desc{font-size:.78rem;color:var(--gray-500);line-height:1.5}.stats-bar{background:linear-gradient(135deg,var(--primary-800),var(--primary-700));padding:3rem 0;position:relative;overflow:hidden}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.stat-item{text-align:center}.stat-number{font-size:2.75rem;font-weight:800;color:#fff;font-family:var(--font-serif);line-height:1;margin-bottom:.25rem}.stat-number span{color:var(--accent-400)}.stat-label{font-size:.85rem;color:rgba(255,255,255,.7);font-weight:500}.stat-icon{font-size:1.5rem;color:var(--primary-300);margin-bottom:.75rem}.auth-page{min-height:100vh;background:linear-gradient(135deg,var(--primary-900) 0%,var(--primary-800) 60%,var(--primary-700) 100%);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;padding-top:5rem;position:relative;overflow:hidden}.auth-card{width:100%;max-width:480px;background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden;position:relative;z-index:1}.auth-header{padding:2.5rem 2rem 1.5rem;text-align:center;background:linear-gradient(135deg,var(--primary-800),var(--primary-700));position:relative;overflow:hidden}.auth-header::after{content:'';position:absolute;bottom:-20px;left:0;right:0;height:40px;background:#fff;border-radius:50% 50% 0 0 / 40px}.auth-header-icon{width:72px;height:72px;background:rgba(255,255,255,.15);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;margin:0 auto 1rem;border:2px solid rgba(255,255,255,.2)}.auth-header h1{font-size:1.5rem;font-weight:800;color:#fff;font-family:var(--font-serif)}.auth-header p{font-size:.875rem;color:rgba(255,255,255,.75);margin-top:.35rem}.auth-body{padding:2.5rem 2rem 2rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--gray-700);margin-bottom:.4rem}.form-label span{color:var(--danger)}.form-control{width:100%;padding:.7rem 1rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.9rem;color:var(--gray-800);background:#fff;transition:var(--transition);outline:none;appearance:none}.form-control:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(67,160,71,.15)}.form-control::placeholder{color:var(--gray-400)}.form-text{font-size:.78rem;color:var(--gray-500);margin-top:.25rem}.form-hint{font-size:.78rem;color:var(--gray-400);margin-top:.2rem}.form-error{font-size:.78rem;color:var(--danger);margin-top:.25rem}.input-icon{position:relative}.input-icon .form-control{padding-left:2.75rem}.input-icon>i{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:.9rem}select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px;padding-right:2.5rem}textarea.form-control{resize:vertical;min-height:100px}.pwd-strength{margin-top:.5rem}.pwd-strength-bar{display:flex;gap:3px;margin-bottom:.25rem}.pwd-strength-bar span{flex:1;height:4px;background:var(--gray-200);border-radius:2px;transition:var(--transition)}.pwd-strength-bar.weak span:nth-child(-n+1){background:var(--danger)}.pwd-strength-bar.fair span:nth-child(-n+2){background:var(--warning)}.pwd-strength-bar.good span:nth-child(-n+3){background:var(--accent-500)}.pwd-strength-bar.strong span{background:var(--success)}.alert{padding:.875rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;border:1px solid transparent;position:relative}.alert-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:inherit;opacity:.6;cursor:pointer;font-size:.8rem}.alert-close:hover{opacity:1}.alert-success{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.alert-success i{color:#16a34a}.alert-error{background:#fef2f2;color:#991b1b;border-color:#fecaca}.alert-error i{color:#dc2626}.alert-warning{background:#fffbeb;color:#92400e;border-color:#fde68a}.alert-info{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge-pending{background:#fef3c7;color:#92400e}.badge-diproses{background:#dbeafe;color:#1e40af}.badge-selesai{background:#dcfce7;color:#166534}.badge-ditolak{background:#fee2e2;color:#991b1b}.badge-dibatalkan{background:var(--gray-100);color:var(--gray-600)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{background:var(--gray-50);padding:.875rem 1rem;text-align:left;font-weight:700;color:var(--gray-600);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--gray-200);white-space:nowrap}.table td{padding:.875rem 1rem;border-bottom:1px solid var(--gray-100);vertical-align:middle;color:var(--gray-700)}.table tbody tr:hover{background:var(--gray-50)}.table tbody tr:last-child td{border-bottom:none}.pagination{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-top:1.5rem;flex-wrap:wrap}.page-btn{min-width:36px;height:36px;padding:0 .6rem;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-size:.85rem;font-weight:500;color:var(--gray-600);background:#fff;cursor:pointer;transition:var(--transition);text-decoration:none}.page-btn:hover{border-color:var(--primary-400);color:var(--primary-700);background:var(--primary-50)}.page-btn.active{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.page-btn.disabled{opacity:.4;pointer-events:none}.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.grid-2col-lg{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.grid-sidebar{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:start}.grid-sidebar-sm{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}.grid-content{display:grid;grid-template-columns:1fr 360px;gap:2.5rem;align-items:start}.grid-about{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.grid-maklumat{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grid-visi{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.grid-komitmen{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:center}.grid-detail-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin-top:1.5rem}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:1050;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:var(--transition)}.modal-overlay.open{opacity:1;visibility:visible}.modal{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:520px;box-shadow:var(--shadow-xl);transform:scale(.9) translateY(20px);transition:var(--transition);max-height:90vh;overflow-y:auto}.modal-overlay.open .modal{transform:scale(1) translateY(0)}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}.modal-header h5{font-size:1rem;font-weight:700}.modal-close{background:none;border:none;font-size:1.1rem;color:var(--gray-400);cursor:pointer;transition:var(--transition)}.modal-close:hover{color:var(--gray-700)}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--gray-100);display:flex;justify-content:flex-end;gap:.75rem}.footer{background:var(--primary-900);color:rgba(255,255,255,.7);padding:4rem 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}.footer-brand .brand-name{font-size:1.25rem;font-family:var(--font-serif);color:#fff}.footer-brand p{font-size:.875rem;line-height:1.7;margin-top:.75rem;max-width:280px}.footer-social{display:flex;gap:.5rem;margin-top:1.25rem}.social-btn{width:36px;height:36px;background:rgba(255,255,255,.08);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:.9rem;transition:var(--transition)}.social-btn:hover{background:var(--primary-500);color:#fff;transform:translateY(-2px)}.footer h5{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:1rem}.footer-links{display:flex;flex-direction:column;gap:.5rem}.footer-links a{font-size:.85rem;color:rgba(255,255,255,.6);transition:var(--transition);display:flex;align-items:center;gap:.4rem}.footer-links a:hover{color:var(--accent-400);padding-left:.25rem}.footer-links a i{font-size:.7rem;color:var(--primary-400)}.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:1.25rem 0;display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:rgba(255,255,255,.45)}.footer-bottom a{color:var(--accent-400)}#toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9000;display:flex;flex-direction:column;gap:.5rem;max-width:360px}.toast{background:var(--gray-800);color:#fff;border-radius:var(--radius-lg);padding:.875rem 1.25rem;display:flex;align-items:flex-start;gap:.75rem;box-shadow:var(--shadow-xl);font-size:.875rem;min-width:280px;animation:toastIn .35s cubic-bezier(.34,1.56,.64,1) both}.toast.removing{animation:toastOut .3s ease both}@keyframes toastIn{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:none}}@keyframes toastOut{from{opacity:1;transform:none}to{opacity:0;transform:translateX(100%)}}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-warning{background:var(--warning)}.toast-info{background:var(--info)}.toast i{flex-shrink:0;margin-top:.1rem}.toast-close{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.7);cursor:pointer;font-size:.9rem}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:990;background:#fff;border-top:1px solid var(--gray-200);box-shadow:0 -4px 20px rgba(0,0,0,.10);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-bottom-nav-inner{display:flex;align-items:stretch;height:60px;max-width:480px;margin:0 auto}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px;text-decoration:none;color:var(--gray-400);font-size:.62rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;position:relative;transition:color .2s ease;cursor:pointer;background:none;border:none;font-family:var(--font-sans)}.mobile-nav-item i{font-size:1.2rem;transition:transform .2s ease,color .2s ease}.mobile-nav-item span{line-height:1}.mobile-nav-item:hover,.mobile-nav-item.active{color:var(--primary-600)}.mobile-nav-item.active i{transform:translateY(-2px)}.mobile-nav-item.active::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:var(--primary-600);border-radius:50%}.mobile-nav-item.cta{flex:0 0 72px;padding:0}.mobile-nav-cta-btn{width:52px;height:52px;margin-top:-18px;background:linear-gradient(135deg,var(--primary-600),var(--primary-500));border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(46,125,50,.45);color:#fff;font-size:.6rem;font-weight:700;gap:2px;border:3px solid #fff;transition:transform .2s ease,box-shadow .2s ease}.mobile-nav-cta-btn i{font-size:1.1rem}.mobile-nav-cta-btn:active{transform:scale(.92)}.mobile-nav-item .mn-badge{position:absolute;top:4px;right:calc(50% - 18px);min-width:16px;height:16px;background:var(--danger);border-radius:var(--radius-full);font-size:.58rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 3px;border:1.5px solid #fff;line-height:1}.kontak-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}.kontak-info-item{display:flex;gap:1rem;padding:1.25rem;border-radius:var(--radius-lg);background:var(--gray-50);border:1px solid var(--gray-100);margin-bottom:1rem;transition:var(--transition)}.kontak-info-item:hover{border-color:var(--primary-200);background:var(--primary-50)}.kontak-info-icon{width:48px;height:48px;background:var(--primary-600);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0}.kontak-info-body h5{font-size:.9rem;font-weight:700;margin-bottom:.25rem}.kontak-info-body p{font-size:.85rem;color:var(--gray-600)}.map-embed{border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--gray-200)}.map-embed iframe{display:block}.progress{height:8px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--primary-500),var(--accent-400));transition:width .6s ease}.timeline{position:relative;padding-left:1.5rem}.timeline::before{content:'';position:absolute;left:.5rem;top:0;bottom:0;width:2px;background:var(--gray-200)}.timeline-item{position:relative;margin-bottom:1.25rem}.timeline-dot{position:absolute;left:-1.5rem;top:.2rem;width:14px;height:14px;border-radius:50%;background:var(--primary-500);border:2px solid #fff;box-shadow:0 0 0 2px var(--primary-300)}.timeline-dot.success{background:var(--success);box-shadow:0 0 0 2px #bbf7d0}.timeline-dot.danger{background:var(--danger);box-shadow:0 0 0 2px #fecaca}.timeline-dot.info{background:var(--info);box-shadow:0 0 0 2px #bfdbfe}.timeline-content{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:.875rem 1rem}.timeline-content h6{font-size:.875rem;font-weight:700;margin-bottom:.2rem}.timeline-content p{font-size:.8rem;color:var(--gray-500)}.timeline-content .time{font-size:.75rem;color:var(--gray-400);margin-top:.2rem}@keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}[data-aos]{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}[data-aos].aos-animate{opacity:1;transform:none}@media (max-width:1280px){.container{padding:0 1.5rem}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}}@media (max-width:1024px){.hero-content{grid-template-columns:1fr;gap:2.5rem}.hero-visual{grid-template-columns:repeat(2,1fr);max-width:520px}.grid-about{grid-template-columns:1fr;gap:2rem}.grid-content{grid-template-columns:1fr}.grid-sidebar{grid-template-columns:1fr}.grid-sidebar-sm{grid-template-columns:1fr}.admin-dash-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.kontak-grid{grid-template-columns:1fr;gap:2rem}.notif-dropdown{width:300px;right:-60px}}@media (max-width:768px){.navbar-nav{display:none}.brand-tagline{font-size:.58rem}.navbar-inner{padding:.625rem 1rem;gap:.625rem}.hamburger{display:flex}.mobile-menu{display:flex}.mobile-bottom-nav{display:block}main#main-content,.dashboard-content main.main-content{padding-bottom:calc(60px+env(safe-area-inset-bottom,0))}.footer{padding-bottom:calc(60px+env(safe-area-inset-bottom,8px))}#toast-container{bottom:calc(72px+env(safe-area-inset-bottom,0));right:.75rem;left:.75rem;max-width:none}.hero{min-height:72vh;padding:5rem 0 2.5rem}.hero-visual{grid-template-columns:1fr 1fr;gap:.875rem}.hero-stat-card{padding:1rem}.hero-stat-num{font-size:1.6rem}.section{padding:3rem 0}.section-title{font-size:clamp(1.5rem,4vw,2rem)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.alur-steps{flex-direction:column;gap:1.5rem}.alur-steps::before{display:none}.grid-2col{grid-template-columns:1fr}.grid-2col-lg{grid-template-columns:1fr}.grid-maklumat{grid-template-columns:1fr;gap:.75rem}.grid-visi{grid-template-columns:1fr}.grid-komitmen{grid-template-columns:1fr;gap:.75rem}.grid-detail-2{grid-template-columns:1fr}.kontak-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;gap:.5rem;text-align:center}.stats-cards{grid-template-columns:repeat(2,1fr)}.page-title{font-size:1.25rem}.table th,.table td{padding:.625rem .75rem;font-size:.8rem}.table-hide-sm{display:none !important}.notif-dropdown{position:fixed !important;top:64px !important;left:0 !important;right:0 !important;width:100% !important;border-radius:0 0 var(--radius-lg) var(--radius-lg) !important}.user-btn-name{display:none}.modal{margin:0 .5rem}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:1;justify-content:center}.info-grid{grid-template-columns:1fr}.layanan-page-header{padding:2.5rem 0 2rem}.layanan-container{padding-top:1.25rem;padding-bottom:5rem}.layanan-kode{display:none}.layanan-card-time{display:none}.layanan-grid,#layanan-grid{grid-template-columns:repeat(2,1fr) !important;gap:.875rem !important}.home-layanan-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.home-layanan-grid .layanan-card-desc{display:none}.home-layanan-grid .layanan-card-time{display:none}.layanan-card-header{padding:1rem 1rem 0;display:flex;align-items:flex-start;gap:.5rem}.layanan-card-body{padding:.625rem 1rem 1rem}.layanan-card-title{font-size:.875rem}.layanan-card-desc{display:none}.layanan-card-tag{font-size:.65rem;padding:.2rem .5rem}.layanan-card-actions{padding:.625rem 1rem 1rem;gap:.375rem}.lv-filter-bar{flex-direction:column;gap:.625rem;margin-bottom:1rem}.lv-search-wrap{max-width:100%;min-width:0;width:100%}.lv-filter-wrap{width:100%;flex-wrap:nowrap;align-items:center;gap:.4rem}.lv-chips{flex-wrap:nowrap;overflow:hidden;gap:.375rem}.lv-chips.lv-chips-open{flex-wrap:wrap;overflow:visible}.lv-chip-extra{display:none}.lv-chip-extra.lv-chip-extra-open{display:inline-flex}.lv-more-btn{display:inline-flex}.lv-chip-label{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}}@media (max-width:576px){.hero{min-height:65vh;padding:4.5rem 0 2rem}.hero-cta{flex-direction:column}.hero-cta .btn{width:100%;justify-content:center}.stats-grid{grid-template-columns:1fr 1fr;gap:1rem}.stats-cards{grid-template-columns:1fr 1fr;gap:.875rem}.stat-card{padding:1rem;gap:.75rem}.stat-card-num{font-size:1.625rem}.stat-card-icon{width:42px;height:42px;font-size:1rem}.auth-body{padding:1.5rem 1.25rem}.hero-scroll{display:none}}@media (max-width:480px){.brand-tagline{display:none}.brand-icon{width:32px !important;height:32px !important}.navbar-inner{padding:.55rem .75rem;gap:.5rem}.navbar-actions{gap:.25rem}.notif-btn{width:32px !important;height:32px !important;font-size:.85rem !important}.user-btn{padding:.25rem .5rem .25rem .25rem !important}.user-btn-name{max-width:60px;font-size:.75rem}.layanan-grid,#layanan-grid{grid-template-columns:repeat(2,1fr) !important;gap:.625rem !important}.layanan-card-header{padding:.75rem .75rem 0}.layanan-card-body{padding:.5rem .75rem .75rem}.layanan-card-title{font-size:.8rem}.layanan-card-actions{padding:.5rem .75rem .75rem;gap:.35rem}.lv-btn-text-full{display:none}.lv-btn-detail,.lv-btn-ajukan{padding:.45rem;font-size:.85rem;flex:none;width:calc(50% - .175rem);justify-content:center}.lv-btn-detail i,.lv-btn-ajukan i{margin:0;font-size:1rem}.lv-chip{padding:.35rem .65rem;font-size:.73rem}.lv-chip i{font-size:.65rem}.lv-chip-label{max-width:65px}.lv-more-btn{padding:.35rem .65rem;font-size:.73rem}.table-hide-xs{display:none !important}}@media (max-width:400px){.brand-sub{display:none}.brand-name{font-size:.9rem !important}.container{padding:0 .875rem}.navbar-inner{padding:.625rem .875rem}.main-content{padding:.75rem}.lv-chip i{display:none}.lv-chip-label{max-width:55px}}@media print{.navbar,.sidebar,.topbar,.footer,#page-loader,#toast-container,.hamburger,.mobile-bottom-nav{display:none !important}.dashboard-content{margin-left:0 !important}.card{box-shadow:none !important;border:1px solid #ddd !important}body{font-size:12pt}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}[data-aos]{opacity:1 !important;transform:none !important}}.kontak-header{background:linear-gradient(135deg,var(--primary-800),var(--primary-700));padding:3.5rem 0 2.5rem;position:relative;overflow:hidden}.kontak-container{padding-top:2rem;padding-bottom:5rem;display:flex;flex-direction:column;gap:1.5rem}.kontak-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.kontak-quick-card{display:flex;align-items:center;gap:.875rem;padding:1.125rem 1.25rem;background:#fff;border-radius:var(--radius-xl);border:1.5px solid var(--gray-100);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--gray-800);transition:all .2s ease;min-width:0}.kontak-quick-card:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md);transform:translateY(-2px);color:var(--gray-900)}.kontak-quick-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.kontak-quick-body{flex:1;min-width:0}.kontak-quick-label{font-size:.72rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem}.kontak-quick-value{font-size:.875rem;font-weight:700;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kontak-quick-arrow{color:var(--gray-300);font-size:.8rem;flex-shrink:0;transition:transform .2s,color .2s}.kontak-quick-card:hover .kontak-quick-arrow{color:var(--primary-500);transform:translateX(3px)}.kontak-main-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:1.5rem;align-items:start}.kontak-info-col{display:flex;flex-direction:column;gap:1.25rem}.kontak-form-col{}.kontak-detail-row{display:flex;gap:.875rem;align-items:flex-start}.kontak-detail-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.kontak-detail-label{font-size:.72rem;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.kontak-detail-value{font-size:.875rem;color:var(--gray-700);line-height:1.6}.kontak-social-row{display:flex;align-items:center;gap:.875rem;padding:.75rem;border-radius:var(--radius-lg);text-decoration:none;color:var(--gray-800);background:var(--gray-50);border:1px solid var(--gray-100);transition:all .18s ease}.kontak-social-row:hover{background:var(--primary-50);border-color:var(--primary-200);transform:translateX(4px);color:var(--gray-900)}.kontak-social-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.kontak-social-body{flex:1;min-width:0}.kontak-social-name{font-size:.85rem;font-weight:700;color:var(--gray-800);line-height:1.2}.kontak-social-handle{font-size:.75rem;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kontak-social-ext{font-size:.7rem;color:var(--gray-300);flex-shrink:0;transition:color .18s,transform .18s}.kontak-social-row:hover .kontak-social-ext{color:var(--primary-500);transform:translateX(2px)}.map-embed{border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}@media (max-width:960px){.kontak-main-grid{grid-template-columns:1fr}.kontak-form-col .card{height:auto}}@media (max-width:768px){.kontak-header{padding:2.5rem 0 2rem}.kontak-container{padding-top:1.25rem;padding-bottom:5rem}.kontak-quick-grid{grid-template-columns:1fr;gap:.625rem}.kontak-quick-card{padding:.875rem 1rem}.kontak-quick-icon{width:42px;height:42px;font-size:1.05rem}.kontak-quick-value{font-size:.82rem}.kontak-main-grid{grid-template-columns:1fr}.kontak-social-row{padding:.625rem .75rem}.kontak-social-icon{width:36px;height:36px;font-size:1rem}.kontak-quick-value{white-space:normal;word-break:break-all;font-size:.78rem}}@media (min-width:481px) and (max-width:768px){.kontak-quick-grid{grid-template-columns:1fr 1fr}.kontak-quick-grid .kontak-quick-card:last-child{grid-column:1 / -1}}@media (max-width:480px){.kontak-detail-icon{width:36px;height:36px;font-size:.9rem}.kontak-detail-value{font-size:.825rem}.form-grid-2{grid-template-columns:1fr !important}}.btn-wa{background:#25d366;color:#fff;border-color:#25d366}.btn-wa:hover{background:#128c7e;border-color:#128c7e;transform:translateY(-2px);box-shadow:0 4px 12px rgba(37,211,102,.35)}@media (max-width:768px){.kontak-quick-grid{grid-template-columns:1fr;gap:.625rem}.kontak-main-grid{grid-template-columns:1fr}.kontak-quick-value{font-size:.8rem}.form-grid-2{grid-template-columns:1fr !important}}@media (min-width:481px) and (max-width:768px){.kontak-quick-grid{grid-template-columns:1fr 1fr}}.ld-hero{background:linear-gradient(135deg,var(--primary-800),var(--primary-700));position:relative;overflow:hidden;padding:2.5rem 0}.ld-hero-bg{position:absolute;inset:0;opacity:.05;background:radial-gradient(circle at 10% 50%,var(--accent-400) 0,transparent 50%),radial-gradient(circle at 90% 20%,var(--primary-300) 0,transparent 50%)}.ld-hero-inner{position:relative;z-index:1;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.ld-hero-icon{flex-shrink:0}.ld-hero-text{flex:1;min-width:200px}.ld-hero-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.ld-hero-kode{font-size:.7rem;font-weight:700;color:rgba(255,255,255,.5);letter-spacing:.08em;text-transform:uppercase}.ld-hero-title{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:800;color:#fff;font-family:var(--font-serif);line-height:1.2;margin-bottom:.375rem}.ld-hero-desc{font-size:clamp(.82rem,2vw,.9rem);color:rgba(255,255,255,.75);line-height:1.6;margin:0}.ld-hero-cta{flex-shrink:0}.ld-strip{background:#fff;border-bottom:1px solid var(--gray-100);box-shadow:0 2px 8px rgba(0,0,0,.04)}.ld-strip-grid{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;padding:.25rem 0}.ld-strip-grid::-webkit-scrollbar{display:none}.ld-strip-item{display:flex;align-items:center;gap:.625rem;padding:.875rem 1.5rem;border-right:1px solid var(--gray-100);flex-shrink:0;min-width:0}.ld-strip-item:last-child{border-right:none}.ld-strip-item>i{color:var(--primary-500);font-size:1.1rem;flex-shrink:0}.ld-strip-label{font-size:.68rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.ld-strip-value{font-size:.875rem;font-weight:700;color:var(--gray-800);white-space:nowrap}.ld-body{padding:2rem 0 5rem}.ld-layout{display:grid;grid-template-columns:1fr 320px;gap:1.75rem;align-items:start}.ld-section{background:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:1.25rem}.ld-section-head{display:flex;align-items:center;gap:.875rem;padding:1.125rem 1.5rem;border-bottom:1px solid var(--gray-100);background:var(--gray-50)}.ld-section-icon{width:38px;height:38px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}.ld-section-title{font-size:.95rem;font-weight:700;color:var(--gray-800);margin:0}.ld-section-body{padding:1.5rem}.ld-checklist{display:flex;flex-direction:column;gap:.75rem}.ld-checklist-item{display:flex;gap:.875rem;align-items:flex-start}.ld-checklist-num{width:26px;height:26px;background:var(--primary-600);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;margin-top:.1rem}.ld-checklist-item p{font-size:.9rem;color:var(--gray-600);line-height:1.65;margin:0}.ld-steps{display:flex;flex-direction:column}.ld-step{display:flex;gap:0}.ld-step-num{width:36px;height:36px;background:var(--primary-600);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:800;flex-shrink:0;position:relative;z-index:1}.ld-step-line{width:36px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding-top:36px}.ld-step-line span{flex:1;width:2px;background:var(--gray-200);min-height:24px;margin-bottom:4px}.ld-step-body{flex:1;padding:.35rem 0 1.25rem 1rem}.ld-step-body p{font-size:.9rem;color:var(--gray-600);line-height:1.65;margin:0}.ld-cta-card{background:linear-gradient(135deg,var(--primary-800),var(--primary-600));border-radius:var(--radius-xl);padding:1.75rem;margin-bottom:1.25rem;position:relative;overflow:hidden}.ld-cta-bg{position:absolute;inset:0;opacity:.08;background:radial-gradient(circle at 80% 20%,var(--accent-400) 0,transparent 50%)}.ld-info-card{margin-bottom:1.25rem}.ld-info-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--gray-100);font-size:.875rem}.ld-info-row:last-child{border-bottom:none}.ld-info-label{color:var(--gray-500);display:flex;align-items:center;gap:.4rem;white-space:nowrap;flex-shrink:0}.ld-info-label i{width:14px;text-align:center}.ld-info-val{font-weight:600;color:var(--gray-800);text-align:right}.ld-terkait-grid{display:flex;flex-direction:column;gap:.625rem}.ld-terkait-card{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-lg);text-decoration:none;transition:all .18s ease}.ld-terkait-card:hover{background:var(--primary-50);border-color:var(--primary-200);transform:translateX(4px)}.ld-wa-card{display:flex;align-items:center;gap:.875rem;padding:1rem 1.25rem;background:#25d366;border-radius:var(--radius-xl);text-decoration:none;transition:all .2s ease;margin-bottom:1.25rem}.ld-wa-card:hover{background:#128c7e;transform:translateY(-2px);box-shadow:0 4px 16px rgba(37,211,102,.35)}.ld-wa-icon{width:44px;height:44px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;flex-shrink:0}.ld-cta-mobile{display:none;flex-direction:column;gap:.625rem;margin-bottom:1.25rem}@media (max-width:1024px){.ld-layout{grid-template-columns:1fr 280px;gap:1.25rem}}@media (max-width:768px){.ld-layout{grid-template-columns:1fr}.ld-sidebar{display:none}.ld-cta-mobile{display:flex}.ld-hero-inner{gap:1rem}.ld-hero-cta{display:none}.ld-body{padding:1.25rem 0 5rem}.ld-section-body{padding:1.125rem}.ld-section-head{padding:.875rem 1.125rem}.ld-strip-item{padding:.75rem 1rem}.ld-strip-label{font-size:.62rem}.ld-strip-value{font-size:.8rem}}@media (max-width:480px){.ld-hero{padding:1.5rem 0}.ld-hero-title{font-size:1.15rem}.ld-step-body{padding-bottom:.875rem}}.auth-page{min-height:100vh;background:linear-gradient(160deg,var(--primary-900) 0%,var(--primary-800) 50%,var(--primary-700) 100%);display:flex;align-items:flex-start;justify-content:center;padding:1.25rem 1rem 5rem;padding-top:max(4.5rem,env(safe-area-inset-top,1.25rem));position:relative;overflow:hidden}.auth-page::before{content:'';position:absolute;inset:0;opacity:.04;background:radial-gradient(circle at 10% 20%,var(--accent-400) 0,transparent 45%),radial-gradient(circle at 90% 80%,var(--primary-300) 0,transparent 45%);pointer-events:none}.auth-card{width:100%;max-width:440px;background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden;position:relative;z-index:1}.auth-card-wide{max-width:560px}.auth-header{padding:2rem 1.75rem 1.75rem;text-align:center;background:linear-gradient(135deg,var(--primary-800),var(--primary-700));position:relative;overflow:hidden}.auth-header::after{content:'';position:absolute;bottom:-18px;left:0;right:0;height:36px;background:#fff;border-radius:50% 50% 0 0 / 36px}.auth-header::before{content:'';position:absolute;inset:0;opacity:.06;background:radial-gradient(circle at 80% 10%,var(--accent-400) 0,transparent 50%)}.auth-back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:1rem;transition:color .2s}.auth-back-link:hover{color:rgba(255,255,255,.9)}.auth-header-icon{width:68px;height:68px;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;overflow:hidden;position:relative;z-index:1}.auth-header h1{font-size:clamp(1.15rem,4vw,1.4rem);font-weight:800;color:#fff;font-family:var(--font-serif);margin-bottom:.35rem;position:relative;z-index:1}.auth-header p{font-size:.8rem;color:rgba(255,255,255,.65);line-height:1.5;position:relative;z-index:1;margin:0}.auth-body{padding:2rem 1.75rem 1.75rem}.auth-row-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.auth-pwd-wrap{position:relative}.auth-pwd-input{padding-right:3rem !important}.auth-pwd-toggle{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gray-400);cursor:pointer;padding:.25rem;line-height:1;transition:color .15s}.auth-pwd-toggle:hover{color:var(--gray-600)}.auth-submit-btn{width:100%;justify-content:center;padding:.9rem;font-size:.95rem;margin-top:.5rem}.auth-agree{display:flex;align-items:flex-start;gap:.625rem;margin-bottom:1.25rem;margin-top:.25rem}.auth-agree-check{width:16px;height:16px;flex-shrink:0;margin-top:.15rem;accent-color:var(--primary-600);cursor:pointer}.auth-agree label{font-size:.83rem;color:var(--gray-600);line-height:1.5;cursor:pointer}.auth-agree label a{color:var(--primary-600);font-weight:600}.auth-footer-links{text-align:center;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--gray-100)}.auth-footer-links p{font-size:.875rem;color:var(--gray-500)}.auth-footer-links a{color:var(--primary-600);font-weight:700}.auth-footer-links a:hover{text-decoration:underline}.auth-demo-box{margin-top:1.125rem;padding:.875rem 1rem;background:var(--primary-50);border-radius:var(--radius-md);border:1px dashed var(--primary-300)}.auth-demo-title{font-size:.75rem;font-weight:700;color:var(--primary-700);margin-bottom:.5rem}.auth-demo-cred{font-size:.78rem;color:var(--gray-600);margin-bottom:.2rem}.auth-demo-cred span{color:var(--gray-500)}.auth-demo-cred code{background:var(--primary-100);color:var(--primary-800);padding:.1rem .35rem;border-radius:.25rem;font-size:.78rem}@media (min-width:481px){.auth-row-2{grid-template-columns:1fr 1fr}}@media (max-width:480px){.auth-page{padding:0;align-items:stretch;background:#fff}.auth-page::before{display:none}.auth-card{max-width:100%;border-radius:0;box-shadow:none;min-height:100vh}.auth-card-wide{max-width:100%}.auth-header{padding:2.5rem 1.25rem 1.5rem;border-radius:0 0 var(--radius-2xl) var(--radius-2xl)}.auth-header::after{display:none}.auth-body{padding:1.5rem 1.25rem}.auth-row-2{grid-template-columns:1fr;gap:0}.form-control{padding:.8rem 1rem;font-size:1rem}.input-icon .form-control{padding-left:2.75rem;font-size:1rem}.auth-pwd-input{padding-right:3rem !important}.form-label{font-size:.875rem}.auth-submit-btn{padding:1rem;font-size:1rem}}@media (max-width:360px){.auth-header{padding:2rem 1rem 1.25rem}.auth-body{padding:1.25rem 1rem}.auth-header-icon{width:56px;height:56px}.auth-header h1{font-size:1.1rem}}.db-body{overflow-x:hidden}.db-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:98;transition:opacity .25s ease}.db-overlay.open{display:block;opacity:1}.db-wrap{display:flex;min-height:100vh;position:relative}.sidebar{width:260px;flex-shrink:0;background:var(--primary-900);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:200;overflow-y:auto;overflow-x:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1)}.db-sidebar-admin{background:var(--primary-900)}.sidebar-brand{padding:1.125rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:.625rem;flex-shrink:0}.db-sidebar-close{display:none;margin-left:auto;background:rgba(255,255,255,.1);border:none;color:rgba(255,255,255,.7);width:28px;height:28px;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;flex-shrink:0;align-items:center;justify-content:center;transition:background .15s}.db-sidebar-close:hover{background:rgba(255,255,255,.2);color:#fff}.db-sidebar-user{display:none;padding:.875rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);gap:.625rem;align-items:center}.sidebar-nav{padding:.75rem .625rem;flex:1}.sidebar-section-label{font-size:.68rem;font-weight:700;color:rgba(255,255,255,.3);letter-spacing:.1em;text-transform:uppercase;padding:.5rem .5rem .25rem;margin-top:.5rem}.sidebar-link{display:flex;align-items:center;gap:.625rem;padding:.7rem .875rem;border-radius:var(--radius-md);color:rgba(255,255,255,.65);font-size:.875rem;font-weight:500;transition:var(--transition);margin-bottom:.1rem;text-decoration:none;position:relative}.sidebar-link i{width:18px;text-align:center;font-size:.95rem;flex-shrink:0}.sidebar-link span{flex:1;min-width:0}.sidebar-link:hover,.sidebar-link.active{color:#fff;background:rgba(255,255,255,.1)}.sidebar-link.active{background:var(--primary-600)}.sidebar-link .badge-dot{margin-left:auto;min-width:20px;height:20px;background:var(--danger);border-radius:var(--radius-full);font-size:.7rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 5px}.sidebar-footer{padding:.75rem .625rem;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.db-main{flex:1;margin-left:260px;min-height:100vh;background:var(--gray-50);display:flex;flex-direction:column;min-width:0}.db-topbar{background:#fff;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;position:sticky;top:0;z-index:1055;box-shadow:0 1px 4px rgba(0,0,0,.05);gap:.75rem;min-height:58px}.db-topbar-left{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.db-topbar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.db-topbar-title{font-size:1rem;font-weight:700;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-menu-btn{width:38px;height:38px;background:var(--gray-100);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);color:var(--gray-600);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition);position:relative;z-index:1100;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.db-menu-btn:hover{background:var(--gray-200);color:var(--gray-800)}.db-notif-wrap{position:relative}.db-notif-btn{width:38px;height:38px;background:var(--gray-100);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);color:var(--gray-600);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:var(--transition)}.db-notif-btn:hover{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-700)}.db-notif-btn .notif-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;background:var(--danger);border-radius:var(--radius-full);font-size:.62rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid #fff}.db-user-btn{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem .375rem .375rem;background:var(--gray-100);border:1.5px solid var(--gray-200);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition)}.db-user-btn:hover{background:var(--gray-200)}.db-user-name{font-size:.82rem;font-weight:600;color:var(--gray-700);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-content{padding:1.25rem;flex:1}.page-title{font-size:1.35rem;font-weight:800;color:var(--gray-900);margin-bottom:.35rem}.page-breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--gray-400);margin-bottom:1.25rem;flex-wrap:wrap}.page-breadcrumb a{color:var(--primary-600)}.page-breadcrumb span{color:var(--gray-300)}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem}.stat-card{background:#fff;border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);display:flex;align-items:flex-start;gap:.875rem;transition:var(--transition)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}.stat-card-num{font-size:1.75rem;font-weight:800;color:var(--gray-900);line-height:1;margin-bottom:.15rem;font-family:var(--font-serif)}.stat-card-label{font-size:.78rem;color:var(--gray-500);font-weight:500}.db-wrap.sidebar-collapsed .sidebar{transform:translateX(-100%)}.db-wrap.sidebar-collapsed .db-main{margin-left:0}.db-wrap.sidebar-collapsed .db-overlay{display:none !important}@media (max-width:1024px){.sidebar{transform:translateX(-100%);z-index:1050;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar.open{transform:translateX(0);box-shadow:4px 0 24px rgba(0,0,0,.25)}.db-main{margin-left:0}.db-sidebar-close{display:flex}.db-sidebar-user{display:flex}.db-overlay{z-index:1040}.db-overlay.open{display:block;opacity:1}}@media (max-width:768px){.db-topbar{padding:.625rem .875rem;min-height:52px}.db-topbar-title{font-size:.9rem}.db-user-name{display:none}.main-content{padding:.875rem}.stats-cards{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:1rem;gap:.75rem}.stat-card-num{font-size:1.5rem}.stat-card-icon{width:40px;height:40px;font-size:1rem}.admin-dash-grid{grid-template-columns:1fr !important}.main-content{padding-bottom:calc(72px+env(safe-area-inset-bottom,0))}}@media (max-width:480px){.db-topbar{padding:.5rem .75rem}.main-content{padding:.75rem}.stats-cards{grid-template-columns:1fr 1fr;gap:.625rem}.stat-card-num{font-size:1.35rem}}.buat-layout{display:grid;grid-template-columns:1fr 300px;gap:1.5rem;align-items:start}.buat-form-col{min-width:0}.buat-sidebar{position:sticky;top:70px}.buat-tips-list{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;color:var(--gray-600)}.buat-tip{display:flex;align-items:flex-start;gap:.5rem;line-height:1.5}.buat-tip .fa-check{color:var(--success);flex-shrink:0;margin-top:.15rem}.buat-tip .fa-clock{flex-shrink:0;margin-top:.15rem}.buat-actions{display:flex;gap:.875rem;margin-top:1.5rem;flex-wrap:wrap}.buat-submit-btn{flex:1;justify-content:center;min-width:160px}.file-upload-area{border:2px dashed var(--gray-200);border-radius:var(--radius-lg);transition:border-color .2s,background .2s;overflow:hidden}.file-upload-area.file-drag-over{border-color:var(--primary-400);background:var(--primary-50)}.file-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.75rem 1rem;cursor:pointer;color:var(--gray-400);font-size:.875rem;transition:background .2s}.file-upload-placeholder:hover{background:var(--gray-50)}.file-upload-placeholder i{font-size:2rem}.file-input-hidden{position:absolute;opacity:0;width:0;height:0}.file-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border-top:1px solid var(--gray-100);font-size:.82rem;color:var(--gray-600)}.file-item i{color:var(--primary-400)}#dynamic-fields .form-group{animation:fadeInUp .25s ease both}@media (max-width:900px){.buat-layout{grid-template-columns:1fr}.buat-sidebar{position:static;order:-1}.buat-tips-card{display:none}}@media (max-width:576px){.buat-actions{flex-direction:column}.buat-submit-btn{width:100%}.buat-actions .btn{width:100%;justify-content:center}.file-upload-placeholder{padding:1.25rem}}@media (max-width:768px){.grid-sidebar-sm{grid-template-columns:1fr}[style*="grid-column:span 2"]>div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}}.csd-wrap{position:relative}.csd-trigger{width:100%;padding:.7rem 2.5rem .7rem 1rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;cursor:pointer;font-size:.9rem;color:var(--gray-800);display:flex;align-items:center;justify-content:space-between;gap:.5rem;transition:border-color .2s,box-shadow .2s;min-height:44px;user-select:none}.csd-trigger:hover,.csd-active .csd-trigger{border-color:var(--primary-400);box-shadow:0 0 0 3px rgba(67,160,71,.12)}.csd-arrow{font-size:.75rem;color:var(--gray-400);transition:transform .2s;flex-shrink:0}.csd-active .csd-arrow{transform:rotate(180deg);color:var(--primary-600)}.csd-dropdown{position:absolute;top:calc(100%+ 4px);left:0;right:0;background:#fff;border:1.5px solid var(--primary-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:300;overflow:hidden;max-height:0;opacity:0;pointer-events:none;transition:max-height .25s ease,opacity .2s ease}.csd-dropdown.csd-open{max-height:420px;opacity:1;pointer-events:auto}.csd-search-wrap{position:relative;padding:.625rem .75rem;border-bottom:1px solid var(--gray-100);background:var(--gray-50)}.csd-search-icon{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:.8rem;pointer-events:none}.csd-search{width:100%;padding:.5rem .75rem .5rem 2rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.875rem;outline:none;background:#fff}.csd-search:focus{border-color:var(--primary-400)}.csd-list{overflow-y:auto;max-height:340px;-webkit-overflow-scrolling:touch}.csd-item{padding:.75rem 1rem;cursor:pointer;font-size:.875rem;color:var(--gray-700);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;border-bottom:1px solid var(--gray-50);transition:background .12s}.csd-item:hover{background:var(--primary-50);color:var(--primary-800)}.csd-item.csd-selected{background:var(--primary-600);color:#fff}.csd-item.csd-selected .csd-item-kat{color:rgba(255,255,255,.7)}.csd-item.csd-placeholder{color:var(--gray-400);font-style:italic}.csd-item-kode{font-size:.72rem;font-weight:700;background:rgba(0,0,0,.07);padding:.15rem .4rem;border-radius:4px;flex-shrink:0;font-family:monospace}.csd-item.csd-selected .csd-item-kode{background:rgba(255,255,255,.2)}.csd-item-kat{margin-left:auto;font-size:.72rem;color:var(--gray-400);white-space:nowrap}@media (max-width:768px){.csd-dropdown{position:fixed;left:1rem;right:1rem;top:auto}.csd-dropdown.csd-open{max-height:70vh}.csd-list{max-height:calc(70vh - 60px)}.csd-item{padding:.875rem 1rem;font-size:.9rem}}.doc-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-100);transition:var(--transition)}.doc-item:hover{border-color:var(--primary-200);background:var(--primary-50)}.doc-icon{width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.doc-info{flex:1;min-width:0}.doc-name{font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gray-800)}.doc-meta{font-size:.72rem;color:var(--gray-400);margin-top:.15rem}.doc-actions{display:flex;gap:.375rem;flex-shrink:0}@media (max-width:480px){.doc-item{flex-wrap:wrap;gap:.625rem}.doc-actions{width:100%;justify-content:flex-end}}.detail-header-wrap{margin-bottom:1.5rem}.detail-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;gap:.75rem}.detail-back-btn{flex-shrink:0}.detail-header-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.detail-header-info{flex:1;min-width:0}.detail-header-actions{display:flex;gap:.5rem;flex-shrink:0;align-items:center}@media (max-width:640px){.detail-header-top{flex-wrap:wrap}.detail-header-main{flex-direction:column}.detail-header-actions{width:100%}.detail-header-actions .btn{flex:1;justify-content:center}.detail-back-btn span{display:inline}.grid-sidebar-sm{grid-template-columns:1fr !important}}@media (max-width:400px){.detail-header-actions .btn-text{display:none}}.dt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem}.dt-item{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:.75rem;min-width:0;word-break:break-word}.dt-label{font-size:.7rem;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.dt-value{font-size:.875rem;font-weight:600;color:var(--gray-800);line-height:1.5}@media (max-width:576px){.dt-grid{grid-template-columns:1fr}.dt-item{padding:.625rem .75rem}.dt-value{font-size:.82rem}}.dv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.875rem;padding:1rem}.dv-card{border:1.5px solid var(--gray-100);border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s;background:#fff;position:relative}.dv-card:hover{border-color:var(--primary-300);box-shadow:0 4px 16px rgba(46,125,50,.12);transform:translateY(-2px)}.dv-thumb{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.dv-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.dv-thumb-icon{display:flex;align-items:center;justify-content:center;font-size:2.5rem;width:100%;height:100%}.dv-thumb-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;font-size:1.25rem;color:#fff}.dv-card:hover .dv-thumb-overlay{opacity:1}.dv-card-info{padding:.625rem .75rem .5rem}.dv-card-name{font-size:.78rem;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.3rem}.dv-card-meta{font-size:.7rem;color:var(--gray-400);display:flex;align-items:center;gap:.4rem}.dv-badge{font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;letter-spacing:.04em}.dv-card-actions{display:flex;gap:.25rem;padding:.375rem .625rem .625rem;opacity:0;transition:opacity .2s}.dv-card:hover .dv-card-actions{opacity:1}.dv-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-600);font-size:.75rem;transition:background .15s,color .15s;text-decoration:none}.dv-action-btn:hover{background:var(--primary-100);color:var(--primary-700)}.dv-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:400;backdrop-filter:blur(3px)}.dv-overlay.open{display:block}.dv-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);width:min(94vw,1100px);height:min(90vh,860px);background:#fff;border-radius:var(--radius-2xl);box-shadow:0 24px 80px rgba(0,0,0,.35);z-index:401;flex-direction:column;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s;opacity:0}.dv-modal.open{display:flex;transform:translate(-50%,-50%) scale(1);opacity:1}.dv-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;background:var(--primary-900);flex-shrink:0;gap:1rem}.dv-modal-title{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1;color:#fff}.dv-modal-title>i{font-size:1.25rem;flex-shrink:0;opacity:.8}.dv-modal-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.dv-hdr-btn{width:36px;height:36px;border-radius:var(--radius-md);background:rgba(255,255,255,.1);border:none;color:rgba(255,255,255,.8);font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:background .15s}.dv-hdr-btn:hover{background:rgba(255,255,255,.2);color:#fff}.dv-close-btn{background:rgba(255,255,255,.08)}.dv-close-btn:hover{background:#dc2626;color:#fff}.dv-modal-body{flex:1;overflow:hidden;position:relative;background:#1a1a2e}.dv-img-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;padding:1rem;background:#111}.dv-preview-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 8px 32px rgba(0,0,0,.4)}.dv-pdf-wrap{width:100%;height:100%;background:#525659}.dv-pdf-iframe{width:100%;height:100%;border:none;display:block}.dv-office-wrap{width:100%;height:100%;position:relative;background:#f1f3f4}.dv-office-iframe{width:100%;height:100%;border:none;display:block}.dv-office-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#f1f3f4;color:var(--gray-500);font-size:.875rem;z-index:1}.dv-office-loading small{font-size:.75rem;color:var(--gray-400)}.dv-spinner{width:36px;height:36px;border:3px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dv-other-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:3rem;text-align:center;color:#fff;background:var(--primary-900)}.dv-other-icon{font-size:5rem;opacity:.3;margin-bottom:1.5rem}.dv-other-wrap h3{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.dv-other-wrap p{color:rgba(255,255,255,.6);margin-bottom:.5rem}.dv-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fc8181;gap:1rem;font-size:.95rem}.dv-error i{font-size:3rem;opacity:.5}@media (max-width:768px){.dv-list{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.625rem;padding:.75rem}.dv-modal{width:100vw;height:100vh;border-radius:0;top:0;left:0;transform:none}.dv-modal.open{transform:none}.dv-card-actions{opacity:1}}@media (max-width:480px){.dv-list{grid-template-columns:repeat(2,1fr)}.dv-modal-header{padding:.625rem .875rem}}.edit-section-label{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;margin:1.25rem 0 .875rem;padding-bottom:.5rem;border-bottom:2px solid var(--gray-100)}.edit-section-label i{color:var(--primary-400)}.edit-doc-row{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-md);transition:opacity .2s,background .2s}.edit-doc-row:hover{border-color:var(--gray-200)}.edit-doc-delete{cursor:pointer;flex-shrink:0}.edit-doc-del-btn{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--danger);font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:background .15s;white-space:nowrap}.edit-doc-del-btn:hover{background:#fee2e2}@media (max-width:400px){.btn-text-sm{display:none}}.peng-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap}.filter-bar{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.filter-chips{display:flex;flex-wrap:wrap;gap:.375rem}.chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:9999px;font-size:.8rem;font-weight:600;border:1.5px solid var(--gray-200);color:var(--gray-600);background:#fff;cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s,color .15s;white-space:nowrap}.chip:hover{border-color:var(--primary-400);color:var(--primary-700);background:var(--primary-50)}.chip-active{border-color:var(--primary-600);background:var(--primary-600);color:#fff}.chip-active:hover{background:var(--primary-700);border-color:var(--primary-700);color:#fff}.chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;background:rgba(0,0,0,.12);border-radius:9999px;font-size:.68rem;padding:0 4px}.chip-active .chip-count{background:rgba(255,255,255,.25)}.filter-dropdowns form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filter-select{padding:.45rem .75rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.82rem;color:var(--gray-700);background:#fff;cursor:pointer;min-width:110px}.filter-select:focus{border-color:var(--primary-400);outline:none}.filter-search-wrap{position:relative;flex:1;min-width:160px;max-width:300px}.filter-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:.78rem;pointer-events:none}.filter-search{width:100%;padding:.45rem .75rem .45rem 2rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.82rem}.filter-search:focus{border-color:var(--primary-400);outline:none}.paging-wrap{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-top:1px solid var(--gray-100);flex-wrap:wrap;gap:.75rem}.paging-info{font-size:.78rem;color:var(--gray-400)}.paging-btns{display:flex;gap:.375rem}.page-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);font-size:.82rem;border:1.5px solid var(--gray-200);color:var(--gray-600);background:#fff;text-decoration:none;cursor:pointer;transition:var(--transition)}.page-btn:hover{border-color:var(--primary-400);color:var(--primary-700);background:var(--primary-50)}.page-btn.active{border-color:var(--primary-600);background:var(--primary-600);color:#fff}@media (max-width:640px){.filter-dropdowns form{gap:.375rem}.filter-select{min-width:90px;font-size:.78rem}.filter-search-wrap{min-width:120px}.paging-wrap{flex-direction:column;align-items:flex-start}}@media (max-width:400px){.chip{padding:.3rem .625rem;font-size:.75rem}}.survey-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:500;backdrop-filter:blur(3px)}.survey-overlay.open{display:block}.survey-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:min(92vw,440px);background:#fff;border-radius:var(--radius-2xl);box-shadow:0 24px 80px rgba(0,0,0,.3);z-index:501;overflow:hidden;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s;opacity:0}.survey-modal.open{display:block;transform:translate(-50%,-50%) scale(1);opacity:1}.survey-modal-inner{padding:2.5rem 2rem 2rem;text-align:center;background:linear-gradient(180deg,var(--primary-50) 0%,#fff 40%)}.survey-icon{font-size:3.5rem;margin-bottom:1rem}.survey-title{font-size:1.2rem;font-weight:800;color:var(--gray-900);margin-bottom:.75rem;font-family:var(--font-serif)}.survey-desc{font-size:.875rem;color:var(--gray-500);line-height:1.7;margin-bottom:1.75rem}.survey-cta-btn{width:100%;justify-content:center;padding:.875rem;font-size:1rem;margin-bottom:.875rem}.survey-skip-btn{background:none;border:none;color:var(--gray-400);font-size:.82rem;cursor:pointer;padding:.25rem}.survey-skip-btn:hover{color:var(--gray-600);text-decoration:underline}.rating-card{border:2px solid var(--primary-200);border-radius:var(--radius-xl);overflow:hidden}.rating-stars-display{display:flex;justify-content:center;gap:.25rem}.survey-banner .btn{width:100%;justify-content:center}.rating-overview{display:grid;grid-template-columns:180px 1fr 1fr;gap:1rem;margin-bottom:1.25rem;align-items:start}.rating-score-card .rating-big-score{font-size:3.5rem;font-weight:900;color:var(--gray-900);line-height:1;font-family:var(--font-serif)}.rating-big-stars{margin:.375rem 0 .2rem}.rating-bar-row{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem;font-size:.8rem}.rating-bar-label{width:32px;flex-shrink:0;font-size:.8rem;color:var(--gray-600);font-weight:600}.rating-bar-track{flex:1;height:8px;background:var(--gray-100);border-radius:9999px;overflow:hidden}.rating-bar-fill{height:100%;border-radius:9999px;transition:width .6s ease}.rating-bar-count{width:56px;font-size:.75rem;color:var(--gray-500);text-align:right;flex-shrink:0}.rating-bar-count span{color:var(--gray-400)}.rating-reviews{display:flex;flex-direction:column;gap:0}.review-card{padding:1.125rem 1.25rem;border-bottom:1px solid var(--gray-100);transition:background .15s}.review-card:hover{background:var(--gray-50)}.review-card:last-child{border-bottom:none}.review-card-top{margin-bottom:.75rem}.review-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.review-user{display:flex;align-items:center;gap:.625rem}.review-avatar{width:36px;height:36px;background:var(--primary-600);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.review-stars{font-size:1rem}.review-service{font-size:.78rem;color:var(--gray-500);display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.review-body{position:relative;font-size:.875rem;color:var(--gray-700);line-height:1.6;padding:.75rem 1rem .75rem 1.5rem;background:var(--gray-50);border-radius:var(--radius-md);border-left:3px solid var(--primary-300);margin-bottom:.75rem;font-style:italic}.review-quote-icon{position:absolute;left:.5rem;top:.625rem;font-size:.625rem;color:var(--primary-300);opacity:.7}.review-no-feedback{font-size:.78rem;color:var(--gray-400);font-style:italic;margin-bottom:.625rem}.review-footer{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--gray-400)}.review-footer i{margin-right:.25rem}@media (max-width:900px){.rating-overview{grid-template-columns:1fr 1fr}.rating-score-card{grid-column:span 2}}@media (max-width:640px){.rating-overview{grid-template-columns:1fr}.rating-score-card{grid-column:span 1}.survey-modal-inner{padding:2rem 1.25rem 1.5rem}.review-meta{flex-wrap:wrap}}.ld-fasilitas-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.ld-fasilitas-group-title{font-size:.82rem;font-weight:700;color:var(--primary-700);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.875rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-100);display:flex;align-items:center;gap:.5rem}.ld-fasilitas-group-title i{color:var(--primary-500)}.ld-checklist-icon{width:28px;height:28px;background:var(--primary-100);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary-600);font-size:.75rem;flex-shrink:0}@media (max-width:576px){.ld-fasilitas-grid{grid-template-columns:1fr;gap:1rem}}.ppid-banner{background:linear-gradient(90deg,#1b4332,#276749);padding:.875rem 0;position:relative;z-index:1}.ppid-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:nowrap}.ppid-banner-text{display:flex;align-items:center;gap:.625rem;color:#fff;flex:1;min-width:0}.ppid-banner-icon{font-size:1rem;color:#86efac;flex-shrink:0}.ppid-banner-title{font-weight:700;font-size:.82rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ppid-banner-sub{font-size:.7rem;color:rgba(255,255,255,.6);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ppid-banner-btn{flex-shrink:0;white-space:nowrap;background:rgba(255,255,255,.15) !important;border-color:rgba(255,255,255,.35) !important;color:#fff !important;z-index:2;position:relative}.ppid-banner-btn:hover{background:rgba(255,255,255,.28) !important;color:#fff !important}@media (max-width:480px){.ppid-banner-inner{flex-direction:column;align-items:flex-start;gap:.625rem}.ppid-banner-btn{width:100%;justify-content:center}.ppid-banner-title{font-size:.85rem;white-space:normal}.ppid-banner-sub{display:none}}.ppid-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:1100;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.ppid-overlay.open{display:block}.ppid-modal{display:none;position:fixed;inset:0;z-index:1101;flex-direction:column;padding:env(safe-area-inset-top,1rem) 1rem 1rem;align-items:center;justify-content:center;pointer-events:none}.ppid-modal.open{display:flex;pointer-events:auto}.ppid-modal-inner{background:#fff;border-radius:1rem;box-shadow:0 20px 60px rgba(0,0,0,.35);width:100%;max-width:820px;max-height:calc(100vh - 3rem);display:flex;flex-direction:column;overflow:hidden;animation:ppid-in .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes ppid-in{from{transform:scale(.92) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.ppid-modal-header{background:var(--primary-800);padding:.875rem 1.125rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0}.ppid-modal-title{font-weight:700;font-size:.9rem;color:#fff;display:flex;align-items:center;gap:.5rem;min-width:0}.ppid-modal-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ppid-close-btn{width:32px;height:32px;background:rgba(255,255,255,.12);border:none;color:rgba(255,255,255,.85);border-radius:.5rem;cursor:pointer;font-size:.875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.ppid-close-btn:hover{background:rgba(255,255,255,.24);color:#fff}.ppid-modal-body{overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.ppid-img-wrap{padding:1rem;text-align:center;background:#f8fafc;border-bottom:1px solid var(--gray-100)}.ppid-img{max-width:100%;width:100%;height:auto;object-fit:contain;border-radius:.5rem;display:block}.ppid-tipe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:1rem}.ppid-tipe-card{border-radius:.75rem;overflow:hidden;border:1.5px solid var(--gray-100)}.ppid-tipe-head{padding:.625rem .875rem;display:flex;align-items:center;gap:.625rem}.ppid-tipe-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#fff;flex-shrink:0}.ppid-tipe-name{font-weight:700;font-size:.82rem}.ppid-tipe-output{font-size:.68rem;font-weight:600;margin-top:.1rem}.ppid-a-bg{background:#eff6ff}.ppid-a-ic{background:#2563eb}.ppid-a-name{color:#1e40af}.ppid-a-out{color:#2563eb}.ppid-b-bg{background:#fff7ed}.ppid-b-ic{background:#d97706}.ppid-b-name{color:#78350f}.ppid-b-out{color:#b45309}.ppid-c-bg{background:#f0fdf4}.ppid-c-ic{background:#16a34a}.ppid-c-name{color:#14532d}.ppid-c-out{color:#15803d}.ppid-d-bg{background:#fff1f2}.ppid-d-ic{background:#dc2626}.ppid-d-name{color:#7f1d1d}.ppid-d-out{color:#b91c1c}.ppid-tipe-list{list-style:none;padding:.625rem .875rem .875rem;margin:0;display:flex;flex-direction:column;gap:.3rem;background:#fff}.ppid-tipe-list li{font-size:.78rem;color:var(--gray-600);display:flex;align-items:flex-start;gap:.4rem;line-height:1.45}.ppid-tipe-list li i{margin-top:.2rem;flex-shrink:0;font-size:.65rem}.ppid-modal-footer{padding:.875rem 1.125rem;border-top:1px solid var(--gray-100);display:flex;gap:.625rem;justify-content:flex-end;flex-shrink:0;background:#fff}@media (max-width:640px){.ppid-modal{padding:.5rem}.ppid-modal-inner{max-height:calc(100vh - 1rem);border-radius:.875rem}.ppid-tipe-grid{grid-template-columns:1fr;gap:.5rem;padding:.75rem}.ppid-banner-sub{display:none}.ppid-modal-title span{font-size:.8rem}}@media (max-width:380px){.ppid-modal-footer{flex-direction:column}.ppid-modal-footer .btn{width:100%;justify-content:center}}.peng-detail-header{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}.peng-detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.peng-detail-info{flex:1;min-width:0}.peng-detail-actions{display:flex;gap:.5rem;flex-shrink:0;align-items:center}.peng-detail-back{align-self:flex-start}@media (max-width:576px){.peng-detail-back{width:100%;justify-content:center;order:99}.peng-detail-actions{width:100%}.peng-detail-actions .btn{flex:1;justify-content:center}}.keb-tab{flex:1;padding:.625rem .75rem;background:transparent;border:none;color:rgba(255,255,255,.55);font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.375rem;border-bottom:3px solid transparent;transition:color .15s,border-color .15s,background .15s;white-space:nowrap}.keb-tab:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.06)}.keb-tab.active{color:#fff;border-bottom-color:#60a5fa;background:rgba(255,255,255,.08)}@media (max-width:480px){.keb-tab{font-size:.72rem;padding:.5rem .375rem;gap:.25rem}.keb-tab i{display:none}}.berita-section{background:#fff}.berita-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.berita-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-xl);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;box-shadow:var(--shadow-sm)}.berita-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1);border-color:var(--primary-200)}.bc-media{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--gray-100);flex-shrink:0}.bc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;z-index:1}.berita-card:hover .bc-img{transform:scale(1.04)}.bc-img-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-100),var(--primary-50));color:var(--primary-300);font-size:2.5rem;z-index:0}.bc-cat{position:absolute;top:.625rem;left:.625rem;z-index:2;background:var(--primary-700);color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .55rem;border-radius:9999px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;max-width:calc(100% - 1.25rem);overflow:hidden;text-overflow:ellipsis}.bc-body{padding:1.125rem 1.125rem .875rem;display:flex;flex-direction:column;flex:1;gap:.625rem}.bc-title{font-size:.9rem;font-weight:700;color:var(--gray-900);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.berita-card:hover .bc-title{color:var(--primary-700)}.bc-meta{display:flex;flex-wrap:wrap;gap:.375rem .75rem;font-size:.72rem;color:var(--gray-400);margin-top:auto}.bc-meta i{margin-right:.25rem}.bc-read{font-size:.75rem;font-weight:600;color:var(--primary-600);display:flex;align-items:center;gap:.3rem;margin-top:.125rem;transition:gap .2s}.berita-card:hover .bc-read{gap:.5rem}.bc-read i{font-size:.65rem}.berita-skeleton{border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--gray-100);background:#fff}.bsk-img{width:100%;aspect-ratio:16 / 9;background:var(--gray-100)}.bsk-body{padding:1.125rem;display:flex;flex-direction:column;gap:.625rem}.bsk-line{border-radius:6px;background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:bsk-shimmer 1.4s ease-in-out infinite;height:12px}.bsk-cat{width:30%;height:10px}.bsk-t1{width:100%;height:14px}.bsk-t2{width:80%;height:14px}.bsk-meta{width:60%;height:10px;margin-top:.25rem}@keyframes bsk-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.berita-state{text-align:center;padding:3rem 1rem;color:var(--gray-400)}.berita-state-icon{font-size:2.75rem;opacity:.3;display:block;margin-bottom:1rem}.berita-state p{font-size:.9rem}@media (max-width:900px){.berita-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:540px){.berita-grid{grid-template-columns:1fr;gap:1rem}.bc-body{padding:.875rem .875rem .75rem}.bc-title{font-size:.875rem;-webkit-line-clamp:2}}.upload-note-kunjungan{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .875rem;background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-md);font-size:.8rem;color:var(--gray-700);line-height:1.5;margin-bottom:.625rem}.pengadaan-portal-card{border:1.5px solid var(--gray-100);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;background:#fff;box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s}.pengadaan-portal-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-200)}.pengadaan-portal-img-wrap{position:relative;width:100%;overflow:hidden;background:var(--gray-50);border-bottom:1px solid var(--gray-100)}.pengadaan-portal-img{width:100%;height:auto;display:block;object-fit:contain;transition:transform .35s ease}.pengadaan-portal-card:hover .pengadaan-portal-img{transform:scale(1.01)}.pengadaan-portal-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:linear-gradient(135deg,var(--primary-50),var(--gray-100));color:var(--primary-400);font-size:2.5rem}.pengadaan-portal-placeholder span{font-size:.875rem;font-weight:700;color:var(--gray-500)}.pengadaan-portal-body{padding:1.25rem;display:flex;flex-direction:column;gap:.625rem}.pengadaan-portal-body h4{font-size:.95rem;font-weight:700;color:var(--gray-900);margin:0}.pengadaan-portal-body p{font-size:.875rem;color:var(--gray-600);line-height:1.7;margin:0}@media (max-width:576px){}.hero-brand-row{display:flex;align-items:center;gap:1rem;flex-wrap:nowrap;margin-bottom:.75rem}.hero-brand-icon{width:100px;height:100px;border-radius:1.125rem;object-fit:cover;flex-shrink:0;box-shadow:0 6px 24px rgba(0,0,0,.25);border:2.5px solid rgba(255,255,255,.25)}.hero-brand-row .hero-title{margin-bottom:0}#hero-title-typed{color:var(--accent-400)}.hero-cursor{display:inline-block;color:var(--accent-400);font-weight:300;animation:cursor-blink .75s step-end infinite;margin-left:2px}@keyframes cursor-blink{0%,100%{opacity:1}50%{opacity:0}}#hero-desc-el{opacity:0;transition:opacity .3s ease;min-height:4rem}@media (max-width:480px){.hero-brand-icon{width:68px;height:68px;border-radius:.875rem}.hero-brand-row{gap:.625rem}}.ld-special-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;border-radius:var(--radius-lg);border:1.5px solid transparent;text-decoration:none;color:inherit;cursor:pointer;background:#fff;font-family:var(--font-sans);text-align:left;transition:transform .15s,box-shadow .15s;margin-bottom:.625rem}.ld-special-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1)}.ld-special-btn-icon{width:38px;height:38px;border-radius:.625rem;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.ld-special-btn-text{flex:1;min-width:0}.ld-special-btn-label{display:block;font-size:.8rem;font-weight:700;line-height:1.35;margin-bottom:.15rem}.ld-special-btn-sub{display:block;font-size:.7rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ld-special-btn-arrow{font-size:.7rem;flex-shrink:0;opacity:.5}.ld-special-btn--green{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}.ld-special-btn--green .ld-special-btn-icon{background:#16a34a;color:#fff}.ld-special-btn--green:hover{background:#dcfce7;border-color:#86efac}.ld-special-btn--amber{background:#fffbeb;border-color:#fde68a;color:#78350f}.ld-special-btn--amber .ld-special-btn-icon{background:#d97706;color:#fff}.ld-special-btn--amber:hover{background:#fef3c7;border-color:#fcd34d}.ld-special-btn--blue{background:#eff6ff;border-color:#bfdbfe;color:#1e3a5f}.ld-special-btn--blue .ld-special-btn-icon{background:#2563eb;color:#fff}.ld-special-btn--blue:hover{background:#dbeafe;border-color:#93c5fd}.ld-pdf-iframe{width:100%;height:clamp(400px,65vh,700px);border:none;display:block}.tarif-section{margin-bottom:1.5rem}.tarif-section-head{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.875rem;padding:.625rem .875rem;border-radius:.625rem;margin-bottom:.75rem}.tarif-tanah{background:#fef3c7;color:#78350f}.tarif-pupuk{background:#dcfce7;color:#14532d}.tarif-tanaman{background:#ede9fe;color:#3730a3}.tarif-group-title{font-size:.78rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.tarif-table{width:100%;border-collapse:collapse;font-size:.78rem;margin-bottom:.5rem}.tarif-table thead tr{background:var(--gray-50)}.tarif-table th{padding:.4rem .625rem;text-align:left;font-weight:700;color:var(--gray-500);font-size:.7rem;text-transform:uppercase;border-bottom:1.5px solid var(--gray-200);white-space:nowrap}.tarif-table td{padding:.375rem .625rem;border-bottom:1px solid var(--gray-100);vertical-align:top;color:var(--gray-700);line-height:1.45}.tarif-table td:last-child{font-weight:700;color:var(--primary-700);white-space:nowrap;text-align:right}.tarif-table tr:last-child td{border-bottom:none}.tarif-table tr:hover td{background:var(--gray-50)}@media (max-width:480px){.tarif-table th:nth-child(2){display:none}.tarif-table td:nth-child(2){display:none}.ld-pdf-iframe{height:55vh}}.ld-special-group{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1.25rem}.ld-pdf-container{display:flex;flex-direction:column;min-height:300px;background:#f1f5f9}.ld-pdf-container canvas{display:block;width:100%;height:auto}.ld-pdf-loading{flex:1}.ld-pdf-spinner{width:36px;height:36px;border:3px solid var(--gray-200);border-top-color:var(--primary-600);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.ld-pdf-nav{display:flex;align-items:center;justify-content:center;gap:.875rem;padding:.75rem;background:#fff;border-top:1px solid var(--gray-100);flex-shrink:0}@keyframes icon-wobble{0%,100%{transform:rotate(0deg) scale(1)}15%{transform:rotate(-10deg) scale(1.1)}30%{transform:rotate(8deg) scale(1.1)}45%{transform:rotate(-6deg) scale(1.05)}60%{transform:rotate(4deg) scale(1.05)}75%{transform:rotate(-2deg) scale(1.02)}}@keyframes icon-bounce{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(-8px) scale(1.1)}50%{transform:translateY(-4px) scale(1.05)}70%{transform:translateY(-6px) scale(1.08)}}@keyframes icon-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes icon-spin-once{0%{transform:rotate(0deg) scale(1)}60%{transform:rotate(360deg) scale(1.12)}100%{transform:rotate(360deg) scale(1)}}@keyframes icon-swing{0%,100%{transform:rotate(0deg);transform-origin:top center}20%{transform:rotate(10deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}80%{transform:rotate(-4deg)}}@keyframes icon-tada{0%,100%{transform:scale(1) rotate(0deg)}10%,90%{transform:scale(.95) rotate(-2deg)}20%,80%{transform:scale(1.05) rotate(2deg)}30%,50%,70%{transform:scale(1.08) rotate(-3deg)}40%,60%{transform:scale(1.08) rotate(3deg)}}@keyframes icon-heartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.2)}28%{transform:scale(1)}42%{transform:scale(1.15)}70%{transform:scale(1)}}@keyframes icon-flash{0%,50%,100%{opacity:1;transform:scale(1)}25%,75%{opacity:.6;transform:scale(1.08)}}@keyframes icon-shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px) rotate(-2deg)}20%,40%,60%,80%{transform:translateX(4px) rotate(2deg)}}.icon-konsultasi i{transition:.2s}.layanan-card:hover .icon-konsultasi i{animation:icon-wobble .7s ease both}.layanan-card:hover .icon-pelatihan i{animation:icon-bounce .7s ease both}.layanan-card:hover .icon-pengaduan i{animation:icon-shake .6s ease both}.layanan-card:hover .icon-informasi i{animation:icon-pulse .6s ease both}.layanan-card:hover .icon-laboratorium i{animation:icon-spin-once .8s ease both}.layanan-card:hover .icon-upbs i{animation:icon-wobble .7s ease both}.layanan-card:hover .icon-kunjungan i{animation:icon-swing .7s ease both}.layanan-card:hover .icon-wisata i{animation:icon-tada .8s ease both}.layanan-card:hover .icon-agrimart i{animation:icon-bounce .6s ease both}@media (hover:none){.icon-konsultasi i{animation:icon-wobble .7s ease 1s both,icon-wobble .7s ease 5s both}.icon-pelatihan i{animation:icon-bounce .7s ease 1.2s both,icon-bounce .7s ease 5.2s both}.icon-pengaduan i{animation:icon-shake .6s ease 1.4s both,icon-shake .6s ease 5.4s both}.icon-informasi i{animation:icon-pulse .6s ease 1.6s both,icon-pulse .6s ease 5.6s both}.icon-laboratorium i{animation:icon-spin-once .8s ease 1.8s both,icon-spin-once .8s ease 5.8s both}.icon-upbs i{animation:icon-heartbeat .9s ease 2s both,icon-heartbeat .9s ease 6s both}.icon-kunjungan i{animation:icon-swing .7s ease 2.2s both,icon-swing .7s ease 6.2s both}.icon-wisata i{animation:icon-tada .8s ease 2.4s both,icon-tada .8s ease 6.4s both}.icon-agrimart i{animation:icon-bounce .6s ease 2.6s both,icon-bounce .6s ease 6.6s both}}@media (max-width:480px){.layanan-card-icon{width:64px;height:64px;font-size:1.75rem}}@media (max-width:400px){.layanan-card-icon{width:60px;height:60px;font-size:1.6rem}}.lci-img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;border-radius:inherit;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));transition:filter .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1);will-change:transform}.lci-fallback{display:none}.lci-img.lci-error{display:none}.lci-img.lci-error~.lci-fallback{display:flex}.layanan-card:hover .lci-img{filter:drop-shadow(0 4px 12px rgba(0,0,0,.2));transform:scale(1.08) translateY(-3px)}.ld-hero-card-icon{width:88px !important;height:88px !important;font-size:2rem;border-radius:var(--radius-xl) !important}.ld-hero-card-icon .lci-img{padding:6px}.layanan-card-icon .lci-img{padding:8px}.layanan-card:hover .icon-konsultasi .lci-img{animation:icon-wobble .7s ease both}.layanan-card:hover .icon-pelatihan .lci-img{animation:icon-bounce .7s ease both}.layanan-card:hover .icon-pengaduan .lci-img{animation:icon-shake .6s ease both}.layanan-card:hover .icon-informasi .lci-img{animation:icon-pulse .6s ease both}.layanan-card:hover .icon-laboratorium .lci-img{animation:icon-spin-once .8s ease both}.layanan-card:hover .icon-upbs .lci-img{animation:icon-wobble .7s ease both}.layanan-card:hover .icon-kunjungan .lci-img{animation:icon-swing .7s ease both}.layanan-card:hover .icon-wisata .lci-img{animation:icon-tada .8s ease both}.layanan-card:hover .icon-agrimart .lci-img{animation:icon-bounce .6s ease both}@media (hover:none){.icon-konsultasi .lci-img{animation:icon-wobble .7s ease 1s both,icon-wobble .7s ease 5s both}.icon-pelatihan .lci-img{animation:icon-bounce .7s ease 1.2s both,icon-bounce .7s ease 5.2s both}.icon-pengaduan .lci-img{animation:icon-shake .6s ease 1.4s both,icon-shake .6s ease 5.4s both}.icon-informasi .lci-img{animation:icon-pulse .6s ease 1.6s both,icon-pulse .6s ease 5.6s both}.icon-laboratorium .lci-img{animation:icon-spin-once .8s ease 1.8s both,icon-spin-once .8s ease 5.8s both}.icon-upbs .lci-img{animation:icon-heartbeat .9s ease 2s both,icon-heartbeat .9s ease 6s both}.icon-kunjungan .lci-img{animation:icon-swing .7s ease 2.2s both,icon-swing .7s ease 6.2s both}.icon-wisata .lci-img{animation:icon-tada .8s ease 2.4s both,icon-tada .8s ease 6.4s both}.icon-agrimart .lci-img{animation:icon-bounce .6s ease 2.6s both,icon-bounce .6s ease 6.6s both}}@media (max-width:480px){.layanan-card-icon{width:68px;height:68px}.layanan-card-icon .lci-img{padding:6px}}@media (max-width:380px){.layanan-card-icon{width:60px;height:60px}}@media (prefers-reduced-motion:reduce){.lci-img{transition:none !important;animation:none !important}}.lab-scope-list{display:flex;flex-direction:column;gap:.625rem}.lab-scope-item{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;background:var(--gray-50);border-radius:.625rem;border:1px solid var(--gray-100);font-size:.9rem;font-weight:600;color:var(--gray-700)}.lab-scope-icon{width:38px;height:38px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.lab-list{padding-left:1.25rem;display:flex;flex-direction:column;gap:.625rem;font-size:.875rem;color:var(--gray-700);line-height:1.65}.lab-list li{padding-left:.25rem}.ld-special-btn .fa-file-certificate::before{content:"\f570"}.rl-icon-img{width:48px;height:48px;object-fit:contain;display:block}.catatan-lampiran-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.625rem;width:100%;box-sizing:border-box}.catatan-lampiran-card{display:flex;flex-direction:column;gap:.375rem;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:.625rem;padding:.5rem .5rem .4rem;transition:border-color .15s,box-shadow .15s;min-width:0;box-sizing:border-box}.catatan-lampiran-card:hover{border-color:var(--primary-200);box-shadow:0 2px 12px rgba(0,0,0,.07)}.catatan-lampiran-thumb{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:.4rem;overflow:hidden;cursor:pointer;background:var(--gray-100);display:flex;align-items:center;justify-content:center;flex-shrink:0}.catatan-lampiran-thumb img{width:100%;height:100%;object-fit:cover;display:block}.catatan-lampiran-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);color:#fff;font-size:.8rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.catatan-lampiran-thumb:hover .catatan-lampiran-overlay,.catatan-lampiran-thumb:focus .catatan-lampiran-overlay{opacity:1}@media (hover:none){.catatan-lampiran-overlay{opacity:.6}}.catatan-lampiran-pdf-card{background:#fef2f2;flex-direction:column;gap:.2rem;font-size:.6rem;font-weight:700;color:#dc2626}.catatan-lampiran-pdf-card i{font-size:1.5rem}.catatan-lampiran-file-card{background:var(--primary-50);flex-direction:column;gap:.2rem;font-size:.6rem;font-weight:700;color:var(--primary-600)}.catatan-lampiran-file-card i{font-size:1.5rem}.catatan-lampiran-card-name{font-size:.62rem;color:var(--gray-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.catatan-lampiran-card-actions{display:flex;gap:.2rem;justify-content:center}.catatan-lampiran-card-actions .btn{flex:1;justify-content:center;padding:.2rem .3rem !important;font-size:.65rem !important;min-width:0}@media (max-width:360px){.catatan-lampiran-grid{grid-template-columns:repeat(2,1fr);gap:.4rem}}@media (min-width:361px) and (max-width:480px){.catatan-lampiran-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}}@media (min-width:481px) and (max-width:640px){.catatan-lampiran-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:641px){.modal-overlay{padding-top:80px;align-items:flex-start;padding-bottom:2rem}.modal-overlay .modal{margin:auto;max-height:calc(100vh - 100px)}}@media (max-width:640px){.modal-overlay{padding:0;align-items:flex-end}.modal{max-width:100%;width:100%;max-height:calc(100dvh - 60px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;transform:translateY(100%)}.modal-overlay.open .modal{transform:translateY(0)}.modal-body{padding:1rem}.modal-header{padding:1rem}.modal-footer{padding:.875rem 1rem;padding-bottom:max(.875rem,env(safe-area-inset-bottom))}}.notif-page-row{display:flex;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-100);cursor:pointer;align-items:flex-start;transition:background .15s}.notif-page-row:last-child{border-bottom:none}.notif-page-row:hover{background:var(--gray-50) !important}.notif-page-row.unread{border-left:3px solid var(--primary-500)}.notif-page-icon{width:42px;height:42px;flex-shrink:0;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1rem}.notif-page-body{flex:1;min-width:0}.notif-page-title{font-weight:600;font-size:.875rem;color:var(--gray-800);margin-bottom:.15rem}.notif-page-row.unread .notif-page-title{font-weight:700}.notif-page-msg{font-size:.82rem;color:var(--gray-600);line-height:1.5;margin-bottom:.35rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notif-page-time{font-size:.72rem;color:var(--gray-400);display:flex;align-items:center;gap:.35rem}@media (max-width:480px){.notif-page-row{padding:.875rem 1rem;gap:.75rem}.notif-page-icon{width:36px;height:36px;font-size:.875rem}}
/* â”€â”€ Layanan Detail: Output Layanan section â”€â”€ */
.ld-output-list {
  display: flex;
  flex-direction: column;
  gap: .625rem;
}
.ld-output-item {
  display: flex;
  align-items: flex-start;
  gap: .875rem;
  padding: .875rem 1rem;
  background: #faf5ff;
  border: 1px solid #e9d5ff;
  border-radius: .75rem;
  transition: border-color .15s, box-shadow .15s;
}
.ld-output-item:hover {
  border-color: #a855f7;
  box-shadow: 0 2px 12px rgba(168,85,247,.1);
}
.ld-output-num {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #7c3aed;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .78rem;
  font-weight: 700;
  flex-shrink: 0;
}
.ld-output-body p {
  font-size: .9rem;
  color: var(--gray-700);
  line-height: 1.6;
  margin: 0;
  font-weight: 500;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   AGRIMART KATALOG PRODUK
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Tahun tabs */
.agrimart-tahun-tabs {
  display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1.25rem;
}
.agrimart-tahun-tab {
  background: var(--gray-100); border: none; padding: .4rem 1rem;
  border-radius: var(--radius-full); font-size: .8rem; font-weight: 600;
  color: var(--gray-500); cursor: pointer; transition: .15s;
}
.agrimart-tahun-tab:hover  { background: var(--primary-100); color: var(--primary-700); }
.agrimart-tahun-tab.active { background: var(--primary-600); color: #fff; }

/* Card grid */
.agrimart-katalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1rem;
}

/* Individual card */
.agrimart-card {
  background: #fff; border: 1.5px solid var(--gray-100);
  border-radius: var(--radius-xl); overflow: hidden;
  cursor: pointer; transition: transform .2s, border-color .2s, box-shadow .2s;
  display: flex; flex-direction: column;
}
.agrimart-card:hover:not(.agrimart-card-soldout) {
  transform: translateY(-4px);
  border-color: var(--primary-400);
  box-shadow: 0 6px 24px rgba(0,0,0,.1);
}
.agrimart-card-soldout { opacity: .55; cursor: not-allowed; }

/* Card image */
.agrimart-card-img {
  position: relative; width: 100%; aspect-ratio: 1;
  background: var(--gray-50); overflow: hidden; flex-shrink: 0;
}
.agrimart-card-img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .3s;
}
.agrimart-card:hover:not(.agrimart-card-soldout) .agrimart-card-img img {
  transform: scale(1.05);
}
.agrimart-card-img-placeholder {
  width: 100%; height: 100%; display: flex; align-items: center;
  justify-content: center; font-size: 2.5rem; color: var(--primary-300);
}

/* Stock badge */
.agrimart-stok-badge {
  position: absolute; bottom: 6px; left: 6px;
  font-size: .62rem; font-weight: 700; padding: .2rem .5rem;
  border-radius: var(--radius-full); line-height: 1;
}
.agrimart-stok-badge.badge-ada  { background: #dcfce7; color: #15803d; }
.agrimart-stok-badge.badge-habis { background: #fee2e2; color: #dc2626; }

/* Card body */
.agrimart-card-body { padding: .75rem .75rem .625rem; flex: 1; display: flex; flex-direction: column; gap: .2rem; }
.agrimart-card-kat  { font-size: .62rem; color: var(--gray-400); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.agrimart-card-name { font-size: .85rem; font-weight: 700; color: var(--gray-800); line-height: 1.3; flex: 1; }
.agrimart-card-desc { font-size: .72rem; color: var(--gray-500); line-height: 1.4; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* Card footer */
.agrimart-card-footer {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: .5rem; gap: .25rem;
}
.agrimart-card-price {
  font-size: .82rem; font-weight: 800; color: var(--primary-700); line-height: 1.2;
}
.agrimart-card-satuan { font-weight: 400; font-size: .68rem; color: var(--gray-400); }

/* Order button */
.agrimart-order-btn {
  width: 28px; height: 28px; border-radius: var(--radius-md);
  background: var(--primary-600); border: none; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; cursor: pointer; flex-shrink: 0;
  transition: background .15s, transform .1s;
}
.agrimart-order-btn:hover  { background: var(--primary-700); }
.agrimart-order-btn:active { transform: scale(.9); }

/* Mobile */
@media (max-width: 480px) {
  .agrimart-katalog-grid { grid-template-columns: repeat(2, 1fr); gap: .625rem; }
  .agrimart-card-body { padding: .625rem .625rem .5rem; }
  .agrimart-card-name { font-size: .78rem; }
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   FIX 1 â€” TIMELINE RESPONSIF
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.timeline{overflow:hidden}
.timeline-item{min-width:0}
.timeline-content{overflow-wrap:break-word;word-break:break-word;min-width:0}
.timeline-content h6{font-size:.82rem;line-height:1.35;overflow-wrap:break-word}
.timeline-content p{font-size:.78rem;overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap}
.timeline-content .time{font-size:.7rem;overflow-wrap:break-word;white-space:normal;line-height:1.4}
@media(max-width:480px){
  .timeline{padding-left:1.125rem}
  .timeline-dot{left:-1.125rem;width:12px;height:12px}
  .timeline-content{padding:.625rem .75rem}
  .timeline-content h6{font-size:.75rem}
  .timeline-content p{font-size:.72rem}
  .timeline-content .time{font-size:.65rem}
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   FIX 2 â€” MODAL POPUP GAMBAR (DV-MODAL + CATATAN VIEWER)
   Desktop: offset bawah topbar dashboard (58px)
   Mobile: full-screen dari bawah topbar
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* DV-Modal di dalam dashboard â€” geser bawah topbar */
.db-wrap .dv-modal{
  top:calc(50% + 29px);
  max-height:calc(90vh - 58px);
}
/* Catatan viewer (#m-catatan-overlay) â€” dalam dashboard tambahkan padding-top */
.db-wrap #m-catatan-overlay{
  padding-top:58px;
  align-items:flex-start;
}
.db-wrap #m-catatan-overlay>div{
  margin-top:auto;
  margin-bottom:auto;
  max-height:calc(100dvh - 58px - 2rem);
}

/* Mobile: dv-modal full-screen mulai dari bawah topbar */
@media(max-width:768px){
  /* Desktop dashboard topbar = 52px di mobile */
  .db-wrap .dv-modal{
    top:52px;
    left:0;
    transform:none;
    width:100vw;
    height:calc(100dvh - 52px - 60px);
    max-height:none;
    border-radius:0;
  }
  .db-wrap .dv-modal.open{
    transform:none;
  }
  /* Catatan viewer di mobile */
  .db-wrap #m-catatan-overlay{
    padding-top:52px;
  }
  .db-wrap #m-catatan-overlay>div{
    max-height:calc(100dvh - 52px - 60px - 1rem);
  }
  /* Catatan viewer di masyarakat dashboard */
  #m-catatan-overlay{
    padding-top:52px;
    align-items:flex-start;
  }
  #m-catatan-overlay>div{
    margin-top:0;
    max-height:calc(100dvh - 52px - 60px);
  }
}
/* Tanpa dashboard (admin/masyarakat jika overlay muncul di full viewport) */
@media(min-width:769px){
  #m-catatan-overlay{
    padding-top:58px;
    align-items:flex-start;
  }
  #m-catatan-overlay>div{
    margin-top:0;
    max-height:calc(100dvh - 58px - 2rem);
  }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   FIX 3 â€” LOGIN & REGISTER HALAMAN MOBILE
   Pastikan footer dan isi tidak tertimpa bottom nav (60px)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
@media(max-width:768px){
  .auth-page{
    padding-bottom:calc(60px + env(safe-area-inset-bottom,0px) + 1.5rem);
    min-height:100dvh;
  }
}
@media(max-width:480px){
  /* Di mobile kecil auth-card jadi full-page, tambah padding bawah */
  .auth-card{
    min-height:100dvh;
    padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));
  }
  .auth-body{
    padding-bottom:calc(60px + env(safe-area-inset-bottom,0px) + 1rem);
  }
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   MOBILE BOTTOM NAV CLEARANCE â€” COMPREHENSIVE FIX
   Bottom nav height = 60px + safe-area. All content must clear it.
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
@media (max-width:768px) {

  /* â”€â”€ 1. PUBLIC PAGES: footer & last section â”€â”€ */
  /* Footer inner padding already has 60px, boost it a bit more */
  .footer-bottom {
    padding-bottom: max(1.25rem, calc(env(safe-area-inset-bottom, 0px) + .5rem));
  }
  /* Public page main content â€” add clearance for bottom nav */
  main#main-content {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
  /* Layanan, kontak, tentang containers */
  .layanan-container,
  .kontak-container,
  .ld-body {
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
  }

  /* â”€â”€ 2. DASHBOARD: main-content & cards â”€â”€ */
  /* Increase main-content padding â€” existing rule was 72px, boost to be safe */
  .main-content {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* Cards retain overflow:hidden â€” horizontal scroll inside .table-wrap still works
     because overflow-x:auto on .table-wrap creates its own scroll context */
  /* Ensure table-wrap scrolls horizontally and shows all columns */
  .table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
  }

  /* â”€â”€ 3. Pagination row â€” always fully visible â”€â”€ */
  .paging-wrap {
    padding-bottom: max(.875rem, env(safe-area-inset-bottom, 0px));
    margin-bottom: 0;
  }
  /* If card is the last element in main-content, give it bottom margin */
  .main-content > .card:last-child,
  .main-content > div:last-child > .card:last-child {
    margin-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }

  /* â”€â”€ 4. Dashboard filter bar + chip clearance â”€â”€ */
  .filter-bar {
    margin-bottom: 1rem;
  }
}

@media (max-width:480px) {
  .main-content {
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important;
  }
  /* Public footer */
  .footer {
    padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px));
  }
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   BALASAN ADMIN CARD â€” Status + Catatan + Lampiran
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.balasan-admin-card { overflow: visible; }

/* Header */
.balasan-admin-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem;
  padding: 1rem 1.25rem;
}
.balasan-admin-header-left {
  display: flex;
  align-items: center;
  gap: .875rem;
}
.balasan-admin-icon {
  width: 42px; height: 42px;
  border-radius: .75rem;
  background: var(--primary-100);
  color: var(--primary-700);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.balasan-admin-title {
  font-size: .9rem;
  font-weight: 700;
  margin: 0 0 .1rem;
  color: var(--gray-800);
}
.balasan-admin-sub {
  font-size: .72rem;
  color: var(--gray-400);
  margin: 0;
}
.balasan-status-badge { font-size: .78rem; padding: .35rem .875rem; }

/* Body */
.balasan-admin-body {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: .5rem 0;
}

/* Divider */
.balasan-divider {
  height: 1px;
  background: var(--gray-100);
  margin: .25rem 1.25rem;
}

/* Row */
.balasan-row {
  display: flex;
  gap: 1rem;
  padding: .875rem 1.25rem;
  align-items: flex-start;
}
.balasan-row--col {
  flex-direction: column;
  gap: .75rem;
}
.balasan-row-icon-inline {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.balasan-row-icon {
  width: 36px; height: 36px;
  border-radius: .625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .875rem;
  flex-shrink: 0;
}
.balasan-row-icon--status  { background: #ede9fe; color: #7c3aed; }
.balasan-row-icon--catatan { background: #fef9c3; color: #a16207; }
.balasan-row-icon--lampiran{ background: var(--primary-50); color: var(--primary-600); }

.balasan-row-content { flex: 1; min-width: 0; }
.balasan-row-label {
  font-size: .72rem;
  font-weight: 700;
  color: var(--gray-400);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .4rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.balasan-row-value {
  display: flex;
  align-items: center;
  gap: .625rem;
  flex-wrap: wrap;
}
.balasan-row-time {
  font-size: .72rem;
  color: var(--gray-400);
  display: flex;
  align-items: center;
  gap: .3rem;
}
.balasan-count {
  background: var(--primary-100);
  color: var(--primary-700);
  font-size: .65rem;
  font-weight: 700;
  padding: .1rem .45rem;
  border-radius: var(--radius-full);
  margin-left: .25rem;
}

/* Catatan box */
.balasan-catatan-box {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-left: 3px solid #f59e0b;
  border-radius: .5rem;
  padding: .875rem 1rem;
  font-size: .88rem;
  color: var(--gray-700);
  line-height: 1.7;
  white-space: pre-wrap;
  word-break: break-word;
}

/* Lampiran grid */
.balasan-lampiran-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: .75rem;
  width: 100%;
}
.balasan-lamp-card {
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  border-radius: .75rem;
  overflow: hidden;
  transition: box-shadow .15s, border-color .15s;
}
.balasan-lamp-card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--primary-300);
}
.balasan-lamp-thumb {
  position: relative;
  aspect-ratio: 1;
  background: var(--gray-100);
  cursor: pointer;
  overflow: hidden;
}
.balasan-lamp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .2s;
}
.balasan-lamp-card:hover .balasan-lamp-thumb img { transform: scale(1.05); }
.balasan-lamp-overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.4);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.1rem;
  opacity: 0; transition: opacity .15s;
}
.balasan-lamp-card:hover .balasan-lamp-overlay { opacity: 1; }
.balasan-lamp-icon {
  width: 100%; height: 100%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: .35rem; font-size: 1.75rem; cursor: pointer;
}
.balasan-lamp-icon span { font-size: .6rem; font-weight: 700; letter-spacing: .05em; }

.balasan-lamp-info { padding: .5rem .625rem .625rem; }
.balasan-lamp-name {
  font-size: .7rem;
  color: var(--gray-700);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: .35rem;
}
.balasan-lamp-actions { display: flex; gap: .35rem; }
.balasan-lamp-btn {
  flex: 1;
  height: 26px;
  border: 1px solid var(--gray-200);
  border-radius: .375rem;
  background: #fff;
  color: var(--gray-500);
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem;
  text-decoration: none;
  transition: .15s;
}
.balasan-lamp-btn:hover { background: var(--primary-50); color: var(--primary-600); border-color: var(--primary-300); }

/* Empty state */
.balasan-empty {
  text-align: center;
  padding: 2rem 1.25rem;
}
.balasan-empty-icon {
  font-size: 2rem;
  color: var(--gray-300);
  margin-bottom: .75rem;
}
.balasan-empty-text {
  font-size: .85rem;
  color: var(--gray-400);
  line-height: 1.6;
  max-width: 360px;
  margin: 0 auto;
}


/* Mobile */
@media (max-width: 640px) {
  .balasan-admin-header { padding: .875rem 1rem; }
  .balasan-status-badge { display: none; } /* shown inside body instead */
  .balasan-row { padding: .75rem 1rem; gap: .75rem; }
  .balasan-lampiran-grid { grid-template-columns: repeat(3, 1fr); gap: .5rem; }
  .balasan-admin-icon { width: 36px; height: 36px; font-size: .875rem; }
}
@media (max-width: 380px) {
  .balasan-lampiran-grid { grid-template-columns: repeat(2, 1fr); }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PERBAIKAN RESPONSIVITAS MOBILE â€” HALAMAN DETAIL LAYANAN
   Mengatasi masalah layout UPBS & layanan lainnya di mobile
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
@media (max-width: 768px) {

  /* Override: paksa sidebar tampil di bawah konten utama */
  .ld-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  /* Tampilkan sidebar (di bawah) pada mobile */
  .ld-sidebar {
    display: block !important;
    width: 100% !important;
  }

  /* Sembunyikan CTA mobile duplikat */
  .ld-cta-mobile {
    display: none !important;
  }

  /* Pastikan konten utama tidak meluap */
  .ld-main {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  /* Konten section tidak boleh meluap */
  .ld-section {
    overflow: hidden !important;
    min-width: 0 !important;
  }

  /* Semua konten dari editor tidak boleh meluap */
  .ld-section-body {
    overflow: hidden !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  .ld-section-body * {
    max-width: 100% !important;
  }

  .ld-section-body p,
  .ld-section-body div,
  .ld-section-body span,
  .ld-section-body li {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  .ld-section-body pre,
  .ld-section-body code {
    white-space: pre-wrap !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }

  .ld-section-body img,
  .ld-section-body iframe,
  .ld-section-body video {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Tabel: bungkus dalam scrollable container */
  .ld-section-body table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important;
  }

  /* Hero section fix */
  .ld-hero-title {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  .ld-hero-text {
    min-width: 0 !important;
    width: 100% !important;
    word-break: break-word !important;
    overflow: hidden !important;
  }

  /* Tab navigasi: bisa digeser, tidak memecah layout */
  .ld-strip-grid {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }

  /* Tombol khusus UPBS: tidak melar */
  .ld-special-btn {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .ld-special-btn-label {
    white-space: normal !important;
    word-break: break-word !important;
  }

  /* Breadcrumb tidak boleh melar */
  .ld-hero-meta {
    flex-wrap: wrap !important;
    overflow: hidden !important;
  }
}

@media (max-width: 480px) {
  /* Penyesuaian tambahan layar sangat kecil */
  .ld-info-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.35rem !important;
  }
  .ld-info-val {
    text-align: left !important;
    padding-left: 1.65rem !important;
    font-size: .82rem !important;
  }
  .ld-hero {
    overflow: hidden !important;
  }
  .ld-hero-inner {
    overflow: hidden !important;
  }
}

/* ── DASHBOARD ANIMATION ──────────────────────────────────── */
@keyframes fadeInDashboard {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: none; }
}

.db-fade-in {
  animation: fadeInDashboard 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
