:root{--font-utama: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--biru-tua: #18313f;--biru-tua-2: #244958;--biru: #2d6a6c;--biru-terang: #eaf4f3;--emas: #9a742d;--emas-terang: #fbf6ec;--sinyal: #d9720c;--abu-950: #17212b;--abu-900: #27333d;--abu-700: #47545d;--abu-600: #455a60;--abu-500: #53666c;--abu-400: #718086;--abu-300: #d8dfe1;--abu-200: #e8edee;--abu-100: #f0f3f3;--abu-50: #eef3f2;--putih: #e8efed;--merah: #dc2626;--merah-bg: #fef2f2;--hijau: #059669;--hijau-bg: #ecfdf5;--kuning: #b45309;--kuning-bg: #fffbeb;--radius-sm: 7px;--radius: 10px;--radius-lg: 14px;--bayangan-sm: 0 1px 2px rgba(24, 49, 63, .035);--bayangan: 0 1px 2px rgba(24, 49, 63, .03), 0 8px 22px -16px rgba(24, 49, 63, .2);--bayangan-lg: 0 24px 55px -24px rgba(8, 25, 35, .42);--garis: 1px solid var(--abu-200);font-family:var(--font-utama);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#122730e6 0,#122730e6 128px,#d3dedbc7 430px,#e2eae8d6),url(./login-konstruksi-CRuAf2at.png) center top / cover fixed no-repeat;color:var(--abu-900);font-family:var(--font-utama);line-height:1.5;font-size:15px;letter-spacing:.002em;font-feature-settings:"cv02","cv03","ss01"}h1,h2,h3{margin-top:0;font-weight:800;letter-spacing:-.025em;color:var(--abu-950)}button,input,select,textarea{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(45,106,108,.22);outline-offset:2px}::selection{background:var(--biru-terang);color:var(--biru-tua)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--abu-300);border-radius:999px;border:2px solid var(--abu-50)}::-webkit-scrollbar-thumb:hover{background:var(--abu-400)}.halaman-muat{height:100vh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--abu-500);font-size:14px}.halaman-muat:before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--abu-300);border-top-color:var(--biru);animation:putar .7s linear infinite}@keyframes putar{to{transform:rotate(360deg)}}.halaman-login{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;padding:24px;background:linear-gradient(115deg,#071720c7,#0a1f2ba3),url(./login-konstruksi-CRuAf2at.png) center / cover no-repeat}.halaman-login:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 50% 40%,black,transparent 75%);mask-image:radial-gradient(circle at 50% 40%,black,transparent 75%)}.login-kartu{position:relative;align-self:center;justify-self:center;width:100%;max-width:540px;padding:52px 50px;background:#fffffff5;border:1px solid rgba(255,255,255,.45);border-radius:var(--radius-lg);box-shadow:var(--bayangan-lg);text-align:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.login-logo{width:66px;height:66px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(150deg,var(--biru-tua),var(--biru));color:var(--putih);font-size:22px;font-weight:800;letter-spacing:.02em;box-shadow:0 10px 24px -8px #0f254073}.login-eyebrow{display:block;margin-bottom:7px;color:var(--biru);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-kartu h1{margin:0 0 6px;font-size:28px;letter-spacing:-.03em}.login-deskripsi{margin:0 0 26px;color:var(--abu-500);font-size:14px;line-height:1.55}.lupa-sandi{display:flex;justify-content:flex-end;margin-top:-8px;margin-bottom:14px}.link-lupa-sandi{border:none;background:transparent;color:var(--biru);padding:0;font-size:13px;font-weight:600;cursor:pointer}.link-lupa-sandi:hover{text-decoration:underline}.link-lupa-sandi:disabled{opacity:.5;cursor:not-allowed}.modal-lupa-sandi{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#09182b94}.modal-lupa-sandi-kartu{position:relative;width:min(100%,440px);padding:30px;border-radius:var(--radius-lg);background:var(--putih);box-shadow:var(--bayangan-lg)}.modal-lupa-sandi-kartu h2{margin:0 30px 8px 0}.modal-lupa-sandi-kartu>p{margin:0 0 22px;color:var(--abu-500);font-size:14px;line-height:1.5}.tutup-modal{position:absolute;top:14px;right:16px;border:0;background:transparent;color:var(--abu-500);font-size:28px;line-height:1;cursor:pointer}.pesan-sukses{padding:11px 12px;border-radius:var(--radius-sm);background:#e8f7ee;color:#176b39;font-size:13px}.app-shell{min-height:100vh;position:relative;display:flex;flex-direction:column;isolation:isolate}.app-shell:before{content:"";position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.42;background-image:linear-gradient(rgba(45,106,108,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(45,106,108,.035) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 68%);mask-image:linear-gradient(to bottom,black,transparent 68%)}.app-shell:after{content:"";position:fixed;z-index:-1;top:72px;right:0;width:min(34vw,430px);height:230px;pointer-events:none;opacity:.16;background:url(./login-konstruksi-CRuAf2at.png) right top / cover no-repeat;filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply}.navbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px max(24px,calc((100vw - 1320px)/2));background:#102630f0;backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid rgba(143,170,172,.28)}.navbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--biru-tua) 0%,var(--sinyal) 46%,var(--biru) 100%);opacity:.85}.navbar-brand{display:flex;align-items:center;gap:12px;cursor:pointer}.navbar-logo{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:linear-gradient(150deg,var(--biru-tua),var(--biru-tua-2));color:var(--putih);font-weight:800;letter-spacing:.02em;box-shadow:0 6px 14px -6px #0f254080}.navbar-logo:after{content:"";position:absolute;width:6px;height:6px;margin:30px 0 0 30px;border-radius:50%;background:var(--sinyal);box-shadow:0 0 0 3px #d9720c2e}.navbar-title{color:#f1f6f4;font-size:15px;font-weight:700}.navbar-subtitle{color:#a9bdbe;font-size:12px}.navbar-menu{display:flex;gap:2px;padding:3px;background:#ffffff12;border:1px solid rgba(183,211,209,.16);border-radius:9px}.navbar-menu button{border:none;background:transparent;padding:7px 12px;border-radius:var(--radius-sm);color:#b7c9c9;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.navbar-menu button:hover{background:#ffffff1a;color:#f1f6f4}.navbar-menu button.aktif{background:#dce8e5;color:var(--biru-tua);font-weight:700;box-shadow:var(--bayangan-sm)}.navbar-user{display:flex;align-items:center;gap:14px;padding-left:14px;border-left:1px solid rgba(183,211,209,.2)}.navbar-user-info{text-align:right}.navbar-user-nama{color:#f1f6f4;font-size:14px;font-weight:700}.navbar-user-peran{color:#a9bdbe;font-size:12px}.app-konten{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:34px 24px 56px;background:#e2eae8bd;border-left:1px solid rgba(255,255,255,.24);border-right:1px solid rgba(255,255,255,.24)}.halaman{width:100%}.halaman-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.halaman-header h1{margin:0 0 5px;font-size:27px;letter-spacing:-.025em}.halaman-header .teks-muted{max-width:660px;line-height:1.65}.teks-muted{color:var(--abu-500);font-size:14px}.teks-bahaya{color:var(--merah)}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,Consolas,monospace;font-size:12.5px}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kartu{position:relative;margin-bottom:20px;padding:22px;background:linear-gradient(rgba(45,106,108,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(45,106,108,.025) 1px,transparent 1px),var(--putih);background-size:24px 24px;border:var(--garis);border-top:3px solid rgba(45,106,108,.58);border-radius:var(--radius);box-shadow:var(--bayangan-sm)}.kartu h2{margin:0 0 16px;font-size:17px;letter-spacing:-.015em}.kotak-kosong{padding:48px 20px;color:var(--abu-500);text-align:center;font-size:13.5px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 10px;border-radius:999px;font-size:11.5px;font-weight:700;border:1px solid;letter-spacing:.01em}.status-badge:before{content:"";width:6px;height:6px;flex-shrink:0;border-radius:50%;background:currentColor}.select-filter{padding:8px 12px;border:1px solid var(--abu-300);border-radius:var(--radius-sm);background:var(--putih);color:var(--abu-700);font-size:13.5px;font-family:inherit}.select-filter:focus{outline:none;border-color:var(--biru);box-shadow:0 0 0 3px #2563eb24}.tabel-wrapper{overflow-x:auto;background:var(--putih);border:var(--garis);border-radius:var(--radius);box-shadow:var(--bayangan-sm)}.tabel{width:100%;border-collapse:collapse;font-size:14px}.tabel th{padding:13px 16px;background:#203b48;color:#dce9e8;font-size:11.5px;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--abu-200);white-space:nowrap}.tabel td{padding:14px 16px;color:var(--abu-700);border-bottom:1px solid var(--abu-100)}.tabel tr:last-child td{border-bottom:none}.baris-klik{cursor:pointer;transition:background .12s}.baris-klik:hover{background:#f5faf9}.baris-klik:hover td:first-child{color:var(--biru-tua);font-weight:600}.label-kecil{color:var(--abu-500);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:12px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.form{display:flex;flex-direction:column;gap:16px}.form label{display:flex;flex-direction:column;gap:7px;color:var(--abu-700);font-size:13px;font-weight:700;letter-spacing:.015em;letter-spacing:.01em}.form input,.form select,.form textarea{padding:10px 12px;border:1px solid var(--abu-300);border-radius:var(--radius-sm);background:#f4f7f6;color:var(--abu-900);font-family:inherit;font-size:14.5px;transition:border-color .15s,box-shadow .15s}.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--biru);box-shadow:0 0 0 3px #2563eb24}.form input::placeholder,.form textarea::placeholder{color:var(--abu-400)}.btn{border:none;border-radius:7px;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.01em;transition:transform .08s ease,box-shadow .15s,opacity .15s,background .15s}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primer{background:var(--biru-tua);color:var(--putih);box-shadow:0 7px 16px -10px #18313f94}.btn-primer:hover:not(:disabled){background:#0f2632;box-shadow:0 9px 20px -12px #18313f9e}.btn-ghost{background:var(--putih);color:var(--abu-700);border:1px solid var(--abu-300)}.btn-ghost:hover:not(:disabled){background:var(--abu-50);border-color:var(--abu-400)}.btn-kecil{padding:6px 13px;font-size:12px}.info-rab{margin-bottom:4px;padding:11px 15px;background:linear-gradient(90deg,rgba(45,106,108,.08),transparent),var(--biru-terang);color:var(--biru-tua);border:1px solid rgba(37,99,235,.15);border-radius:var(--radius-sm);font-size:12.5px;font-weight:500}.daftar-item{display:flex;flex-direction:column;gap:8px}.daftar-item-header,.daftar-item-baris{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:center}.daftar-item-header{padding:0 2px;color:var(--abu-500);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.ringkasan-total{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:14px;border-top:1px dashed var(--abu-300);font-size:15.5px;font-weight:700}.pesan-error,.pesan-sukses,.pesan-peringatan{display:flex;align-items:center;gap:9px;padding:11px 15px;border-radius:var(--radius-sm);font-size:13px;font-weight:500}.pesan-error:before,.pesan-sukses:before,.pesan-peringatan:before{content:"";width:7px;height:7px;flex-shrink:0;border-radius:50%}.pesan-error{background:var(--merah-bg);color:var(--merah);border:1px solid #fecaca}.pesan-error:before{background:var(--merah)}.pesan-sukses{background:var(--hijau-bg);color:var(--hijau);border:1px solid #a7f3d0}.pesan-sukses:before{background:var(--hijau)}.pesan-peringatan{background:var(--kuning-bg);color:var(--kuning);border:1px solid #fde68a}.pesan-peringatan:before{background:var(--kuning)}.info-alasan{margin-top:16px;padding-top:16px;border-top:1px solid var(--abu-100)}.daftar-aksi{display:flex;flex-wrap:wrap;gap:10px}.form-aksi{display:flex;flex-direction:column;gap:13px;margin-top:18px;padding:18px;background:linear-gradient(rgba(45,106,108,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(45,106,108,.035) 1px,transparent 1px),var(--abu-50);background-size:22px 22px;border:var(--garis);border-radius:var(--radius)}.form-aksi h3{margin:0;font-size:15px}.form-aksi label{display:flex;flex-direction:column;gap:7px;font-size:12.5px;font-weight:700}.form-aksi input,.form-aksi select,.form-aksi textarea{padding:9px 11px;border:1px solid var(--abu-300);border-radius:var(--radius-sm);background:var(--putih);font-family:inherit;font-size:14px}.baris-checkbox{flex-direction:row!important;align-items:center;gap:8px!important;font-weight:500!important}.linimasa{display:flex;flex-direction:column;gap:18px;position:relative;margin:0;padding:0;list-style:none}.linimasa li{display:flex;gap:14px;position:relative}.linimasa li:not(:last-child):before{content:"";position:absolute;left:3px;top:16px;bottom:-18px;width:1.5px;background:var(--abu-200)}.linimasa-titik{width:8px;height:8px;flex-shrink:0;margin-top:6px;position:relative;z-index:1;border-radius:50%;background:var(--biru);box-shadow:0 0 0 3px var(--biru-terang)}.linimasa-judul{font-size:13.5px;font-weight:500}.linimasa-alasan{margin-top:3px;color:var(--abu-600);font-size:12.5px;font-style:italic}.tab-bar{display:flex;gap:6px;flex-wrap:wrap;width:fit-content;margin-bottom:20px;padding:4px;background:#e8eeee;border-radius:var(--radius-sm)}.tab{border:none;background:transparent;color:var(--abu-600);border-radius:7px;padding:8px 16px;cursor:pointer;font-size:13px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.tab:hover{color:var(--abu-900)}.tab.aktif{background:var(--putih);color:var(--biru-tua);box-shadow:inset 0 -2px 0 var(--biru),var(--bayangan-sm)}.aksi-mini{display:flex;flex-wrap:wrap;gap:6px}.aksi-mini button{border:1px solid var(--abu-300);background:var(--putih);border-radius:6px;padding:5px 10px;cursor:pointer;color:var(--abu-700);font-size:12px;font-weight:600;transition:background .12s,border-color .12s}.aksi-mini button:hover{background:var(--abu-100);border-color:var(--abu-400)}.detail-header{margin-top:18px}.detail-grid p{margin:6px 0 0}.pesan-jarak{margin-bottom:14px}.input-tabel{width:100%;min-width:120px;padding:8px 9px;border:1px solid var(--abu-300);border-radius:6px;background:var(--putih);font:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.input-tabel:focus{outline:none;border-color:var(--biru);box-shadow:0 0 0 3px #2563eb24}.input-kecil{min-width:90px}.daftar-item-header-pengajuan,.daftar-item-baris-pengajuan{grid-template-columns:1.7fr .7fr 1.4fr 1.2fr auto}.subkartu{margin-top:12px;padding:15px;background:linear-gradient(90deg,rgba(45,106,108,.05),transparent 40%),var(--abu-50);border:var(--garis);border-radius:var(--radius-sm)}.subkartu-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:14px;font-weight:600}.subkartu-header span{color:var(--abu-500);font-weight:400}.rab-detail-row{padding:13px;border:var(--garis);border-radius:var(--radius-sm);align-items:end;background:var(--abu-50)}.rab-hapus{align-self:end;margin-bottom:1px}.dashboard-halaman{width:100%;min-height:calc(100vh - 88px);padding-bottom:50px}.dashboard-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px;min-height:250px;padding:36px 38px;background:linear-gradient(115deg,#071720c7,#0a1f2ba3),url(./login-konstruksi-CRuAf2at.png) center / cover no-repeat;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);box-shadow:0 18px 38px -24px #1028339e;overflow:hidden}.dashboard-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(90deg,black,transparent 86%);mask-image:linear-gradient(90deg,black,transparent 86%)}.dashboard-hero:before{content:"";position:absolute;z-index:0;right:34%;bottom:0;width:1px;height:72%;background:linear-gradient(transparent,rgba(244,180,63,.8),transparent);box-shadow:104px 20px #f4b43f57,208px -12px #f4b43f38}.dashboard-hero-content{position:relative;z-index:1;max-width:760px}.dashboard-hero-watermark{position:absolute;z-index:0;right:-36px;bottom:-46px;color:#ffffff1a;pointer-events:none}.dashboard-eyebrow{display:block;margin-bottom:7px;color:#b7d8d4;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.dashboard-hero h1{margin:0 0 7px;color:var(--putih);font-size:30px;letter-spacing:-.035em}.dashboard-hero p{margin:0;max-width:640px;color:#c7d3d7;font-size:14.5px}.dashboard-hero p strong{color:var(--putih)}.dashboard-hero-role{position:relative;z-index:1;flex:0 0 auto;min-width:184px;padding:14px 16px;color:#d5e2e2;background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm)}.dashboard-hero-role span,.dashboard-hero-role small{display:block;color:#aebfc3;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.dashboard-hero-role strong{display:block;margin:4px 0 5px;color:var(--putih);font-size:13px}.dashboard-hero-role small{color:#b7d8d4;font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:none}.dashboard-role-site_manager .dashboard-hero:before{background:linear-gradient(transparent,#e3a62f,transparent)}.dashboard-role-project_manager .dashboard-hero:before{background:linear-gradient(transparent,#8db9c0,transparent)}.dashboard-role-konsultan_pengawas .dashboard-hero:before{background:linear-gradient(transparent,#c9a45d,transparent)}.dashboard-role-unit_purchasing .dashboard-hero:before{background:linear-gradient(transparent,#e08648,transparent)}.ringkasan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.dashboard-stat-grid{width:100%}.dashboard-stat{position:relative;display:block;width:100%;min-height:114px;margin:0;padding:20px;background:linear-gradient(145deg,#f4f7f5,#eaf0ef);border:1px solid var(--abu-200);border-radius:var(--radius);box-shadow:var(--bayangan-sm);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.dashboard-stat:hover{transform:translateY(-1px);box-shadow:var(--bayangan)}.dashboard-stat:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 4px 4px 0}.dashboard-stat .stat-icon{position:absolute;left:20px;top:20px;width:42px;height:42px;margin:0;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:16px;font-weight:800}.dashboard-stat-icon-svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dashboard-stat .stat-content{min-width:0;margin:0;padding-left:56px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0}.dashboard-stat .stat-content>small{display:block;margin:6px 0 0;color:var(--abu-500);font-size:11.5px}.dashboard-stat .stat-content>strong{display:block;margin:0;color:var(--abu-950);font-size:28px;line-height:1;font-weight:700;letter-spacing:-.03em}.dashboard-stat .stat-content>span{color:var(--abu-700);font-size:12px;font-weight:700}.dashboard-stat .stat-content>small{display:block;margin:5px 0 0;color:var(--abu-500);font-size:10.5px;line-height:1.2}.dashboard-stat.stat-total:before{background:var(--biru)}.dashboard-stat.stat-total .stat-icon{background:var(--biru-terang);color:var(--biru)}.dashboard-stat.stat-perhatian:before{background:var(--kuning)}.dashboard-stat.stat-perhatian .stat-icon{background:var(--kuning-bg);color:var(--kuning)}.dashboard-stat.stat-selesai:before{background:var(--hijau)}.dashboard-stat.stat-selesai .stat-icon{background:var(--hijau-bg);color:var(--hijau)}.dashboard-stat.stat-ditolak:before{background:var(--merah)}.dashboard-stat.stat-ditolak .stat-icon{background:var(--merah-bg);color:var(--merah)}.dashboard-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 13px}.dashboard-section-header h2{margin:0 0 4px;color:var(--abu-950);font-size:19px;font-weight:700}.dashboard-section-header p{margin:0;color:var(--abu-500);font-size:14px}.dashboard-count{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--abu-200);border-radius:8px;background:#e9efee;color:var(--abu-700);white-space:nowrap}.dashboard-count strong{font-size:14px}.dashboard-count span{font-size:11px;font-weight:600}.dashboard-table-card .tabel{font-size:13.5px}.dashboard-table-card .tabel th{padding:15px 18px;font-size:10.5px}.dashboard-table-card .tabel td{padding:16px 18px;font-size:13px}.dashboard-table-card .tabel-wrapper{border:none;border-radius:0;box-shadow:none}.dashboard-table-card{overflow:hidden;background:#edf3f1;border:1px solid var(--abu-200);border-radius:var(--radius);box-shadow:var(--bayangan)}.dashboard-table-card .tabel th{background:#203b48;color:#dce9e8;font-size:11px}.dashboard-table-card .tabel td{font-size:14px}.dashboard-table-card .tabel tr:hover{background:#f8fbff}.dashboard-empty{padding:48px 22px;text-align:center;background:linear-gradient(rgba(45,106,108,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(45,106,108,.035) 1px,transparent 1px),#edf3f1;background-size:26px 26px;border:1px dashed var(--abu-300);border-radius:14px}.dashboard-empty-icon{width:48px;height:48px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--hijau-bg);color:var(--hijau);font-size:20px;font-weight:800}.dashboard-empty h3{margin:0 0 6px;font-size:17px}.dashboard-empty p{max-width:450px;margin:0 auto;color:var(--abu-500);font-size:14px}.dashboard-loading{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--abu-500);font-size:13px;background:#edf3f1;border:1px solid var(--abu-200);border-radius:14px}.dashboard-spinner{width:24px;height:24px;border:3px solid var(--abu-200);border-top-color:var(--biru);border-radius:50%;animation:putar .7s linear infinite}.dashboard-error{margin-bottom:14px}@media (max-width: 980px){.navbar{align-items:flex-start;flex-wrap:wrap;gap:10px}.navbar-menu{order:3;width:100%;overflow-x:auto;padding-top:4px}.navbar-menu button{white-space:nowrap}.ringkasan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero{align-items:flex-start;flex-direction:column}.grid-3{grid-template-columns:1fr 1fr}.span-3{grid-column:span 2}.daftar-item-header-pengajuan,.daftar-item-baris-pengajuan{grid-template-columns:1fr 1fr}}@media (max-width: 720px){.halaman-login{padding:18px}.login-kartu{max-width:100%;padding:38px 26px}.login-kartu h1{font-size:24px}.navbar-menu{display:flex}.navbar-user-info{display:none}.navbar-user{padding-left:0;border-left:none}.app-konten{padding:20px 14px 40px}.dashboard-hero{padding:26px 22px}.dashboard-hero h1{font-size:25px}.dashboard-hero-role{width:100%}.grid-2,.grid-3{grid-template-columns:1fr}.span-2,.span-3,.kartu-stat-lebar{grid-column:span 1}.daftar-item-header,.daftar-item-baris{grid-template-columns:1fr}.daftar-item-header-pengajuan{display:none}.daftar-item-baris-pengajuan{grid-template-columns:1fr}.subkartu-header,.dashboard-section-header{align-items:flex-start;flex-direction:column}.dashboard-count{align-self:flex-start}.dashboard-stat{min-height:104px;padding:19px 18px 17px}.dashboard-stat .stat-icon{left:18px;top:19px}.dashboard-stat .stat-content{padding-left:60px}}@media (max-width: 420px){.halaman-login{padding:10px}.login-kartu{padding:34px 18px 28px}.login-kartu h1{font-size:22px}.login-deskripsi{font-size:13px}.navbar{padding:11px 12px}.navbar-title{font-size:13px}.navbar-subtitle{font-size:10px}.navbar-logo{width:36px;height:36px}.navbar-menu button{padding:7px 10px;font-size:12px}.ringkasan-grid{grid-template-columns:1fr;gap:10px}.app-konten{padding:16px 10px 32px}.dashboard-hero{padding:23px 18px}.dashboard-hero h1{font-size:22px}.dashboard-hero p{font-size:13px}.dashboard-stat .stat-content{padding-left:54px}}
