@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root{
  --green:#2e7d5b;
  --green-dark:#183f31;
  --green-soft:#eaf7f1;
  --purple:#5ec86d;
  --purple-dark:#1d8b4c;
  --orange:#f1704f;
  --orange-soft:#ffe9df;
  --ink:#2e2d3b;
  --muted:#7b7b8b;
  --line:#e7e7ee;
  --white:#ffffff;
  --shadow:0 18px 48px rgba(32, 43, 79, .12);
  --radius:22px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Poppins',Arial,sans-serif;
  color:var(--ink);
  background:#f6f8fb;
}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(1280px,calc(100% - 48px));margin:0 auto}
.narrow{width:min(1100px,calc(100% - 48px));margin:0 auto}

/* Public page */
.public-page{background:#f4f1f6}
.public-topbar{position:relative;z-index:3;padding:16px 0;background:transparent}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.public-brand-mini{display:flex;align-items:center;gap:12px}
.brand-icon{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#8f1631,#d93f49);position:relative;box-shadow:0 10px 22px rgba(143,22,49,.22)}
.brand-icon span,.brand-icon:before{content:"";position:absolute}
.brand-icon:before{left:8px;top:8px;width:20px;height:18px;border:3px solid #fff;border-radius:8px 10px 10px 8px}
.brand-icon span{right:6px;top:12px;width:10px;height:10px;border-top:3px solid #fff;border-right:3px solid #fff;transform:rotate(45deg)}
.brand-icon.large{width:60px;height:60px;border-radius:18px}
.brand-copy strong,.tracking-brand-text strong{display:block;font-size:26px;line-height:1;color:#7f102a;letter-spacing:.06em}
.brand-copy small,.tracking-brand-text small{display:block;font-weight:700;letter-spacing:.12em;color:#7f102a;font-size:13px}
.public-nav{display:flex;gap:36px;font-weight:500;color:#31313f}
.public-nav a{position:relative}
.public-nav a:hover{color:#8f1631}
.public-topbar-right{display:flex;align-items:center;gap:18px}
.office-phone{font-size:14px;color:#4a4a62}
.mini-admin-pill{padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.45);backdrop-filter:blur(10px);font-size:13px;color:#1d8f53;border:1px solid rgba(124,103,216,.12)}

.hero-ptsp{position:relative;overflow:hidden;background:linear-gradient(90deg,#d9f3e4 0%,#eaf7d8 45%,#ffe4bd 100%);min-height:690px}
.hero-grid-lines{position:absolute;inset:0;background-image:linear-gradient(to right, rgba(120,120,140,.10) 1px, transparent 1px);background-size:180px 100%;pointer-events:none}
.hero-orb{position:absolute;border-radius:50%;background:rgba(255,255,255,.28);filter:blur(.2px)}
.orb-left{width:420px;height:420px;left:-50px;top:-130px}
.orb-right{width:220px;height:220px;right:170px;top:-90px}
.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr 420px;align-items:center;gap:48px;padding:80px 0 170px}
.hero-center-copy{text-align:center;max-width:620px;margin:0 auto;transform:translateY(18px)}
.hero-campus{font-size:76px;font-weight:800;line-height:.95;color:#3b3652;letter-spacing:-.05em;margin-bottom:16px}
.hero-center-copy h1{font-size:23px;margin:0 0 10px;color:#4f4560}
.hero-center-copy p{margin:0 auto 28px;max-width:540px;color:#7a758a;font-size:14px;line-height:1.7}
.hero-cta-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.cta-bubble{min-width:146px;padding:17px 26px;border-radius:999px;color:#fff;font-weight:700;font-size:14px;box-shadow:0 12px 24px rgba(62,66,126,.18);position:relative}
.cta-bubble:after{content:"";position:absolute;right:10px;top:50%;transform:translateY(-50%);width:26px;height:26px;background:rgba(255,255,255,.94);border-radius:50%;box-shadow:inset 0 0 0 4px rgba(103,82,213,.18)}
.cta-bubble.orange{background:linear-gradient(90deg,#ff8b2b,#f36d2d,#41b86f)}
.cta-bubble.purple{background:linear-gradient(90deg,#ff8b2b,#39b86f)}

.tracking-card-wrap{position:relative}
.tracking-card{background:rgba(255,255,255,.94);border:1px solid rgba(58,58,75,.12);border-radius:14px;box-shadow:0 16px 34px rgba(20,32,74,.12);padding:24px 22px;position:relative;z-index:2}
.tracking-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px}
.tracking-card h3{margin:4px 0 6px;text-align:center;font-size:22px;color:#403856}
.tracking-card p{margin:0 0 16px;text-align:center;color:#878295;font-size:12px}
.tracking-inputs input{width:100%;padding:14px 16px;border-radius:8px;border:1px solid #d8dae5;background:#f8f8fb;text-align:center;margin-bottom:14px}
.grad-button{display:block;text-align:center;padding:14px 16px;border-radius:999px;color:#fff;font-weight:700;font-size:14px;box-shadow:0 14px 24px rgba(67,69,148,.16)}
.grad-button:before{display:inline-block;margin-right:8px}
.grad-login{background:linear-gradient(90deg,#ff8b2b,#38b66c)}
.grad-login:before{content:"◉"}
.grad-service{background:linear-gradient(90deg,#ff8b2b,#38b66c);margin-top:10px}
.grad-service:before{content:"✦"}
.small-track-note{font-size:11px;text-align:center;color:#7c768a;margin-top:4px}
.small-track-note a{color:#1d8f53}
.target-illustration{position:absolute;right:-40px;bottom:-88px;width:200px;height:200px;z-index:1}
.target-illustration .ring{position:absolute;border-radius:50%;border:10px solid #ff6a2d;inset:auto auto 0 0}
.target-illustration .r1{width:126px;height:126px;left:36px;bottom:30px;border-width:10px}
.target-illustration .r2{width:84px;height:84px;left:57px;bottom:51px;border-width:9px;border-color:#ff7e3c}
.target-illustration .r3{width:42px;height:42px;left:78px;bottom:72px;border-width:8px;border-color:#ff9556}
.target-illustration .dart{position:absolute;width:75px;height:10px;background:#3a4b65;transform:rotate(-52deg);right:14px;bottom:114px;border-radius:10px}
.target-illustration .dart:before{content:"";position:absolute;right:-9px;top:-5px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:18px solid #3a4b65}
.target-illustration .dart:after{content:"";position:absolute;left:-10px;top:-4px;width:14px;height:14px;background:#f6a21a;transform:rotate(45deg)}

.cloud-divider{position:absolute;left:0;right:0;bottom:-1px;height:155px;display:flex;align-items:flex-end;gap:0;overflow:hidden}
.cloud-divider span{display:block;background:#f7f7f8;height:120px;border-radius:999px 999px 0 0;flex:1;min-width:180px}
.cloud-divider span:nth-child(1){height:105px}
.cloud-divider span:nth-child(2){height:146px}
.cloud-divider span:nth-child(3){height:116px}
.cloud-divider span:nth-child(4){height:154px}
.cloud-divider span:nth-child(5){height:112px}

.flow-section{background:#f7f7f8;padding:85px 0 76px;position:relative}
.flow-section h2,.stats-band h2{font-size:52px;line-height:1.1;text-align:center;margin:0 0 42px;font-weight:800;background:linear-gradient(90deg,#ff8b2b,#31b566);-webkit-background-clip:text;background-clip:text;color:transparent}
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:42px;text-align:center}
.flow-item{padding:8px 10px}
.flow-icon{font-size:42px;line-height:1;margin-bottom:14px;filter:grayscale(1)}
.flow-item h4{font-size:20px;margin:0 0 12px;color:#353249}
.flow-item p{margin:0;color:#7d7c8b;font-size:14px;line-height:1.8}

.stats-band{background:linear-gradient(135deg,#168a74 0%, #3cbf6b 55%, #ff962f 100%);padding:72px 0 80px;color:#fff}
.stats-pill-box{background:#fff;color:#2f3148;border-radius:8px;max-width:820px;margin:0 auto 48px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:var(--shadow)}
.mini-stat{text-align:center;padding:26px 12px}
.mini-stat strong{display:block;font-size:32px;line-height:1.1;font-weight:800;margin-bottom:8px}
.mini-stat span{display:block;font-size:14px;color:#76768a}
.service-hours{text-align:center}
.service-hours h5{margin:0 0 12px;color:#f37f4e;font-size:16px}
.service-hours p{margin:4px 0;color:#efeefe;font-size:14px}
.public-services-strip{background:#eef3f0;padding:52px 0 70px}
.center-head{justify-content:center;text-align:center}
.bottom-running-text{position:fixed;left:0;right:0;bottom:0;background:#1b1b1b;color:#f4cb59;font-size:12px;padding:6px 12px;white-space:nowrap;overflow:hidden;text-align:center;z-index:50}

/* App shell */
.app-shell{display:flex;min-height:100vh;background:#eef3f0}
.sidebar{width:300px;background:linear-gradient(180deg,#118c74 0%,#3dbb69 55%,#ff922f 100%);padding:24px 18px;color:#fff;position:sticky;top:0;height:100vh;box-shadow:16px 0 36px rgba(17,40,31,.14)}
.brand{display:flex;align-items:center;gap:14px;padding:6px 8px 20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:16px}
.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#4fd38f,#b7f1d1);color:#163d2d;display:grid;place-items:center;font-weight:800;box-shadow:0 12px 24px rgba(0,0,0,.18)}
.brand h1{font-size:24px;margin:0 0 2px}
.brand p{margin:0;color:rgba(255,255,255,.72);font-size:13px}
.menu{display:flex;flex-direction:column;gap:8px}
.menu-link{padding:13px 14px;border-radius:14px;color:rgba(255,255,255,.82);font-weight:500;transition:.2s ease}
.menu-link:hover,.menu-link.active{background:rgba(255,255,255,.14);color:#fff;transform:translateX(2px)}
.sidebar-footer{position:absolute;left:18px;right:18px;bottom:20px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.78);line-height:1.6}
.main{flex:1;padding:26px}
.topbar{background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border:1px solid rgba(22,57,43,.08);padding:18px 24px;border-radius:22px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 12px 24px rgba(23,60,45,.06);margin-bottom:24px}
.topbar h2{margin:0;font-size:28px;color:#24473a}
.toggle-sidebar{display:none;border:0;background:#edf5f1;padding:10px 12px;border-radius:12px;margin-right:12px}
.topbar>div:first-child{display:flex;align-items:center}
.topbar-right{display:flex;gap:12px;align-items:center}
.notif-pill,.user-pill{padding:10px 14px;border-radius:999px;background:#f2f6f4;font-size:14px;color:#385748;border:1px solid #e3ece7}
.notif-pill span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#2e7d5b;color:#fff;margin-left:8px;padding:0 6px}
.user-pill small{margin-left:8px;color:#6d8d7a}

.flash{padding:14px 16px;border-radius:16px;margin:16px 0;font-weight:600}
.flash.success{background:#eaf8ef;color:#22623f;border:1px solid #bce2ca}
.flash.error{background:#fff1f0;color:#a23d35;border:1px solid #f3c1bc}

.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:22px}
.compact-4{grid-template-columns:repeat(4,1fr)}
.stat-card{background:linear-gradient(180deg,#ffffff,#f6fbf8);border:1px solid #e4efe8;border-radius:22px;padding:22px;box-shadow:0 12px 28px rgba(34,70,51,.06)}
.stat-card span{display:block;color:#6e8579;font-size:14px;margin-bottom:10px}
.stat-card strong{font-size:34px;color:#234738;line-height:1.1}
.cards{display:grid;gap:20px;margin-bottom:22px}
.cards.two{grid-template-columns:1.15fr .85fr}
.cards.three{grid-template-columns:repeat(3,1fr)}
.panel-card{background:#fff;border:1px solid #e4efe8;border-radius:24px;padding:24px;box-shadow:0 18px 30px rgba(31,63,47,.06)}
.panel-card h3,.panel-card h4{margin-top:0}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.section-head h3{margin:0;color:#24473a;font-size:22px}
.section-head small,.muted,.search-note{color:#79887f}
.fake-chart{display:flex;flex-direction:column;gap:14px}
.bar-row{display:grid;grid-template-columns:180px 1fr 44px;align-items:center;gap:12px}
.bar-row label{font-size:14px;color:#3d5c4d;font-weight:600}
.bar{height:14px;background:#edf4ef;border-radius:999px;overflow:hidden}
.bar span{display:block;height:100%;background:linear-gradient(90deg,#46c17f,#2e7d5b)}
.timeline{display:flex;flex-direction:column;gap:14px}
.timeline-item{padding:16px 18px;background:#f8fbf9;border:1px solid #e5efe8;border-radius:18px}
.timeline-item strong{display:block;margin-bottom:6px;color:#274d3c}
.timeline-item p{margin:0 0 6px;color:#677a70;font-size:14px}
.timeline-item small{color:#83948a}
.info-strip{background:linear-gradient(135deg,#eff9f2,#ffffff)}
.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step-box{background:#fff;border:1px solid #e4efe8;border-radius:18px;padding:18px;font-weight:600;color:#2d5a46;text-align:center}
.data-table{width:100%;border-collapse:separate;border-spacing:0 10px}
.data-table th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#71887c;padding:0 14px 8px;text-align:left}
.data-table td{background:#f9fbfa;padding:14px;border-top:1px solid #edf2ef;border-bottom:1px solid #edf2ef}
.data-table tr td:first-child{border-left:1px solid #edf2ef;border-radius:16px 0 0 16px}
.data-table tr td:last-child{border-right:1px solid #edf2ef;border-radius:0 16px 16px 0}
.data-table tbody tr:hover td{background:#f2f8f4}
.status{display:inline-flex;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize}
.status.diajukan{background:#fff2d9;color:#8f6100}
.status.diproses,.status.diverifikasi{background:#e5f3ff;color:#1e5d8c}
.status.selesai{background:#e7faed;color:#247048}
.status.ditolak{background:#ffe7e5;color:#b54842}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.form-grid.compact{grid-template-columns:1fr}
.form-grid .full{grid-column:1/-1}
.form-grid label{display:flex;flex-direction:column;gap:8px;color:#365646;font-weight:600}
input[type=text],input[type=password],input[type=file],select,textarea{width:100%;padding:13px 14px;border-radius:14px;border:1px solid #dfe9e3;background:#fbfcfc;color:#30443a}
textarea{min-height:112px;resize:vertical}
.row-actions{display:flex;gap:10px;flex-wrap:wrap}
.stack-form{display:flex;flex-direction:column;gap:10px}
.template-box{max-height:160px;overflow:auto;padding:14px;border-radius:16px;background:#f6faf7;border:1px solid #e4efe8;line-height:1.6;color:#5a6f63}
.export-box{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:14px;border:0;font-weight:700;cursor:pointer;transition:.2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(90deg,#ff8f2f,#31b566);color:#fff;box-shadow:0 12px 20px rgba(49,181,102,.22)}
.btn-secondary{background:linear-gradient(90deg,#ffb24d,#43be71);color:#fff}
.btn-outline,.btn-ghost{background:#f4f8f5;color:#2e6950;border:1px solid #dce9e1}
.btn-danger{background:linear-gradient(90deg,#ec7d72,#cb5348);color:#fff}
.form-card{max-width:980px}
.tone-soft{background:linear-gradient(180deg,#fff,#f7fbf9)}

@media (max-width: 1200px){
  .hero-layout{grid-template-columns:1fr;gap:24px;padding-top:40px}
  .tracking-card-wrap{max-width:420px;margin:0 auto}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .cards.two,.cards.three,.flow-grid,.step-grid,.stats-pill-box{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 920px){
  .sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);z-index:40;transition:.25s ease}
  body.sidebar-collapsed .sidebar, body:not(.sidebar-collapsed) .sidebar{transform:translateX(-100%)}
  body.show-sidebar .sidebar{transform:translateX(0)}
  .toggle-sidebar{display:inline-block}
  .main{padding:16px}
  .topbar{padding:16px}
  .topbar-right{flex-wrap:wrap;justify-content:flex-end}
  .public-nav{display:none}
}
@media (max-width: 768px){
  .container,.narrow{width:min(100% - 24px,1000px)}
  .hero-campus{font-size:48px}
  .flow-section h2,.stats-band h2{font-size:34px}
  .stats-grid,.compact-4,.cards.two,.cards.three,.flow-grid,.step-grid,.stats-pill-box,.form-grid{grid-template-columns:1fr}
  .public-topbar-right{gap:10px}
  .office-phone{display:none}
  .data-table{display:block;overflow:auto}
  .target-illustration{display:none}
}


/* New public accents */
.public-logo,.tracking-logo-img,.brand-logo-app{object-fit:contain;background:#fff;border-radius:16px;border:1px solid rgba(110,110,140,.12);box-shadow:0 8px 18px rgba(53,53,76,.08)}
.public-logo{width:52px;height:52px;padding:6px}
.tracking-logo-img{width:64px;height:64px;padding:6px}
.brand-logo-app{width:50px;height:50px;padding:6px}
.animated-campus{display:inline-block;animation:campusFloat 3.6s ease-in-out infinite, campusGlow 5s ease-in-out infinite}
@keyframes campusFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes campusGlow{
  0%,100%{text-shadow:0 0 0 rgba(109,86,216,0)}
  50%{text-shadow:0 10px 28px rgba(49,181,102,.22)}
}
.btn-anim{transition:transform .22s ease, box-shadow .22s ease, filter .22s ease}
.btn-anim:hover{transform:translateY(-3px) scale(1.01);filter:saturate(1.04)}
.cta-bubble.green{background:linear-gradient(90deg,#ff8f2f,#31b566,#168a74)}
.grad-button{border:0;cursor:pointer;width:100%}
.public-form-strip{background:#f7f7f8;padding:16px 0 65px}
.landing-form-card{max-width:none}
.service-list-public{display:flex;flex-direction:column;gap:14px;max-height:680px;overflow:auto;padding-right:4px}
.service-public-item{padding:16px 18px;border:1px solid #e7eceb;border-radius:18px;background:linear-gradient(180deg,#fff,#f6fbf8)}
.service-public-item strong{display:block;color:#26473a;margin-bottom:6px}
.service-public-item span{display:inline-block;padding:6px 10px;border-radius:999px;background:#edf6f1;color:#2a6a4d;font-size:12px;font-weight:700;margin-bottom:8px}
.service-public-item p{margin:0;color:#6f8078;font-size:14px;line-height:1.6}
.survey-section{background:#eef3f0;padding:10px 0 78px}
.survey-info-box{margin-top:18px;padding:18px;border-radius:18px;background:#f7fbf8;border:1px solid #e1ece4;color:#5e7168;line-height:1.7}
.inline-preview-settings{margin-top:4px}
.settings-preview-box{padding:18px;border-radius:18px;background:#f7fbf8;border:1px dashed #cfe1d7}
.settings-logo-preview{max-width:110px;max-height:110px;display:block}
.tracking-page{background:linear-gradient(180deg,#f7f1f4,#eef3f0)}
.tracking-page-wrap{padding:34px 0 60px}
.tracking-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.tracking-panel-hero{margin-bottom:20px}
.tracking-inline-form{display:flex;gap:12px;flex-wrap:wrap}
.tracking-inline-form input{flex:1;min-width:260px}
.tracking-table td{background:#fff}
.public-service-cards .panel-card,.public-form-grid .panel-card,.survey-section .panel-card{animation:fadeRise .5s ease}
@keyframes fadeRise{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
.public-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:linear-gradient(90deg,#ff8b2b,#31b566);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.public-nav a:hover:after{transform:scaleX(1)}
.hero-center-copy h1{max-width:720px;margin-left:auto;margin-right:auto}


/* Public extra pages */
.admin-login-page{display:flex;align-items:center;min-height:100vh}
.admin-login-card{max-width:520px;margin:50px auto}
.centered-login-logo{justify-content:center;margin-bottom:12px}
.guestbook-camera-box{padding:16px;border:1px dashed #d7dde7;border-radius:18px;background:#fafbfd}
.guestbook-camera-box video,.guestbook-camera-box img{width:100%;max-width:520px;border-radius:18px;background:#e9edf3;display:block}
.guestbook-camera-box img{margin-top:12px}
.public-service-cards .btn{margin-top:8px}

/* Admin recolor purple-red gradient */
.role-admin .sidebar{background:linear-gradient(180deg,#118c74 0%,#3dbb69 55%,#ff922f 100%)}
.role-admin .brand-mark{background:linear-gradient(145deg,#ffe0b9,#d4ffd8);color:#19634a}
.role-admin .notif-pill span{background:#2fb666}
.role-admin .menu-link:hover,.role-admin .menu-link.active{background:rgba(255,255,255,.16)}
.role-admin .btn-primary{background:linear-gradient(90deg,#ff8f2f,#31b566);box-shadow:0 12px 20px rgba(49,181,102,.23)}
.role-admin .btn-secondary{background:linear-gradient(90deg,#ffb14a,#45be72)}
.role-admin .btn-outline,.role-admin .btn-ghost{color:#1f8f53}
.role-admin .status.diproses,.role-admin .status.diverifikasi{background:#e8fff0;color:#1f8f53}
.role-admin .bar span{background:linear-gradient(90deg,#ff8f2f,#31b566)}

.status.permohonan-diterima{background:#fff2d9;color:#8f6100}
.status.permohonan-direview{background:#e8efff;color:#355faa}
.status.permohonan-diproses,.status.selesai-diproses{background:#efe7ff;color:#6c32b1}
.status.unduh-file,.status.ambil-langsung{background:#e7faed;color:#247048}
.progress-line{height:10px;background:#ebe7f7;border-radius:999px;overflow:hidden;margin:10px 0 6px}
.progress-line span{display:block;height:100%;background:linear-gradient(90deg,#ff8f2f,#31b566);border-radius:999px}
.progress-line.large{height:14px}
.progress-label{font-weight:700;color:#1d8f53}
.flow-mini-bar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.flow-mini-bar span{padding:8px 12px;border-radius:999px;background:#eefcf3;color:#1d8f53;font-size:12px;font-weight:700}
.progress-panel{margin-bottom:18px}


.export-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:8px}
.export-toolbar label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#5e4b7d}
.survey-form-card{background:#faf8ff}
.survey-main-title{text-align:center;font-size:26px;margin-bottom:18px;color:#2c2048}
.survey-form-layout{display:flex;flex-direction:column;gap:14px}
.survey-box{border:1px solid #d9d9e8;border-radius:16px;padding:16px;background:#fff}
.survey-box-title{text-align:center;font-weight:800;color:#2b1f4e;padding:10px 0 16px 0}
.survey-box-title small{display:block;font-weight:600;margin-top:6px}
.survey-grid-1,.survey-grid-2{display:grid;gap:16px}
.survey-grid-2{grid-template-columns:1.4fr 1fr}
.label-inline{font-weight:700;margin-bottom:8px;color:#34264f}
.radio-grid{display:flex;gap:16px;flex-wrap:wrap}
.radio-grid label{font-size:14px;color:#362a52}
.edu-grid label,.job-grid label{min-width:74px}
.survey-questions-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:16px}
.survey-question-item{padding:6px 0}
.survey-question-text{font-weight:600;color:#2f2350;margin-bottom:8px;line-height:1.6}
.survey-admin-table td{vertical-align:top}
@media (max-width: 900px){.survey-grid-2,.survey-questions-grid{grid-template-columns:1fr}}


.question-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.question-chart-box{background:#fff;border:1px solid #ece8ff;border-radius:18px;padding:14px}.question-chart-box h4{margin:0 0 10px;font-size:14px;color:#4b2d7f}.bar-row.mini{grid-template-columns:1.6fr 1fr 40px;gap:8px;margin:8px 0}.bar-row.mini label{font-size:12px;line-height:1.35}.bar-row.mini b{font-size:12px}.bar-row .bar span{background:linear-gradient(90deg,#ff8f2f,#31b566)}@media(max-width:900px){.question-chart-grid{grid-template-columns:1fr}}


/* Index popup maklumat */
.index-popup-overlay{position:fixed;inset:0;background:rgba(18,37,26,.55);display:none;align-items:center;justify-content:center;padding:24px;z-index:2000;backdrop-filter:blur(3px)}
.index-popup-overlay.show{display:flex;animation:fadeIn .28s ease}
.index-popup-card{position:relative;max-width:min(1100px,92vw);max-height:90vh;background:#fff;border-radius:24px;padding:14px;box-shadow:0 24px 60px rgba(20,55,30,.28);overflow:auto;border:4px solid rgba(255,143,47,.35)}
.index-popup-card img{display:block;max-width:100%;height:auto;border-radius:18px}
.index-popup-close{position:absolute;right:14px;top:14px;border:0;border-radius:999px;width:42px;height:42px;background:linear-gradient(90deg,#ff8f2f,#31b566);color:#fff;font-size:22px;font-weight:800;cursor:pointer;box-shadow:0 10px 20px rgba(49,181,102,.28)}
.index-popup-hint{position:absolute;left:18px;bottom:14px;background:rgba(255,255,255,.92);color:#26563a;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid #dcefe0}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}


/* V14 PRO responsive compact */
.main{padding:16px;box-sizing:border-box}
.main > .stats-grid,.main > .cards,.main > .panel-card,.main > .flash{max-width:1160px;margin-left:auto;margin-right:auto}
.panel-card{padding:18px;border-radius:20px}
.form-grid.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.settings-upload-preview{padding:10px;border:1px dashed #d8e5dc;border-radius:16px;background:#f8fbf9}
.data-table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.data-table th,.data-table td{white-space:nowrap}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:980px){
  .app-shell{display:block}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:min(86vw,320px);transform:translateX(-105%);transition:transform .25s ease;z-index:1300;overflow:auto}
  body.show-sidebar .sidebar{transform:translateX(0)}
  body.show-sidebar::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.28);z-index:1200}
  .main{width:100%;padding:14px}
  .topbar{position:sticky;top:0;z-index:50;flex-wrap:wrap;gap:10px;display:flex;justify-content:space-between;align-items:center}
  .topbar-right{width:100%;justify-content:space-between}
  .cards.two,.stats-grid{grid-template-columns:1fr}
  .panel-card{padding:16px;border-radius:18px}
  .mobile-menu-btn{display:inline-flex !important;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:12px;background:#1f8f74;color:#fff;font-size:20px;cursor:pointer}
}
@media (min-width:981px){
  .mobile-menu-btn{display:none !important}
}
@media (max-width:768px){
  .container,.narrow{width:min(100% - 18px,1000px)}
  .public-nav{display:none}
  .hero-ptsp{min-height:auto;padding-bottom:24px}
  .hero-layout{gap:18px}
  .hero-center-copy h1{font-size:28px;line-height:1.25}
  .hero-center-copy p{font-size:13px}
  .tracking-card{padding:18px}
  .panel-card{padding:14px}
  .topbar h2{font-size:20px}
  .data-table th,.data-table td{font-size:12px;padding:8px 10px}
  .index-popup-card{max-width:min(96vw,900px);padding:10px}
}


/* Next patch: wider process pages + better mobile nav */
.wide-card{max-width:none !important}
.wide-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.wide-table-wrap .data-table{min-width:1080px}
@media (max-width:980px){
  .toggle-sidebar,.mobile-menu-btn{display:inline-flex !important;align-items:center;justify-content:center}
  .sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-105%);z-index:1400}
  body.show-sidebar .sidebar{transform:translateX(0)}
  body.show-sidebar::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:1300}
  .main{padding:12px}
  .topbar{gap:10px}
  .topbar>div:first-child{width:100%}
  .topbar-right{width:100%;justify-content:space-between}
}


/* Admin dashboard/menu layout refinement only */
.app-shell{
  display:grid !important;
  grid-template-columns:180px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:start !important;
}
.sidebar{
  width:180px !important;
  max-width:180px !important;
  margin:0 !important;
}
.main{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:10px 12px 16px 0 !important;
  box-sizing:border-box !important;
}
.topbar,
.main > .panel-card,
.main > .cards,
.main > .stats-grid,
.main > .flash{
  max-width:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.panel-card,
.form-card,
.wide-card{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
.stats-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:12px !important;
}
.cards.two{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
.section-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:10px !important;
}
.section-head h3{
  margin:0 !important;
}
.data-table{
  width:100% !important;
  table-layout:auto !important;
}
.data-table th,
.data-table td{
  white-space:normal !important;
  word-break:break-word !important;
  vertical-align:top !important;
}
.wide-table-wrap{
  width:100% !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch !important;
}
.wide-table-wrap .data-table{
  min-width:900px !important;
}
.export-toolbar{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:end !important;
  margin:12px 0 14px !important;
}
.export-toolbar label{
  min-width:190px !important;
  flex:1 1 220px !important;
}
.export-toolbar .btn{
  flex:0 0 auto !important;
}
.timeline-item,
.notif-item{
  width:100% !important;
  box-sizing:border-box !important;
}
@media (max-width:1200px){
  .stats-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:980px){
  .app-shell{
    display:block !important;
  }
  .sidebar{
    width:min(86vw,320px) !important;
    max-width:min(86vw,320px) !important;
  }
  .main{
    padding:12px !important;
  }
  .stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .cards.two{
    grid-template-columns:1fr !important;
  }
}
@media (max-width:640px){
  .stats-grid{
    grid-template-columns:1fr !important;
  }
  .export-toolbar{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .export-toolbar label,
  .export-toolbar .btn{
    width:100% !important;
  }
}


/* V2 sidebar toggle + uniform admin widths */
:root{--sidebar-admin-width:180px}
.app-shell{
  display:grid !important;
  grid-template-columns:var(--sidebar-admin-width) minmax(0,1fr) !important;
  gap:10px !important;
  align-items:start !important;
}
.sidebar{
  width:var(--sidebar-admin-width) !important;
  max-width:var(--sidebar-admin-width) !important;
  min-width:var(--sidebar-admin-width) !important;
  margin:0 !important;
}
.main{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:10px 12px 16px 0 !important;
  box-sizing:border-box !important;
}
.topbar,
.main > .panel-card,
.main > .cards,
.main > .stats-grid,
.main > .flash,
.main .panel-card,
.main .cards,
.main .stats-grid{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
.panel-card,
.form-card,
.wide-card,
.stats-grid > *,
.cards > *{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
.section-head,
.topbar{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:10px !important;
}
.mobile-menu-btn{
  display:none;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:0;
  border-radius:12px;
  background:#1f8f74;
  color:#fff;
  font-size:20px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.topbar-left-pack{
  display:flex;
  align-items:center;
  gap:10px;
}
.data-table,
.tbl{
  width:100% !important;
  table-layout:auto !important;
}
.data-table th,.data-table td,
.tbl th,.tbl td{
  white-space:normal !important;
  word-break:break-word !important;
  vertical-align:top !important;
}
.wide-table-wrap{
  width:100% !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch !important;
}
.wide-table-wrap .data-table,
.wide-table-wrap .tbl{
  min-width:900px !important;
}
@media (max-width:980px){
  .app-shell{
    display:block !important;
  }
  .sidebar{
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:min(84vw,320px) !important;
    max-width:min(84vw,320px) !important;
    min-width:min(84vw,320px) !important;
    transform:translateX(-105%) !important;
    transition:transform .25s ease !important;
    z-index:1400 !important;
    overflow:auto !important;
  }
  body.show-sidebar .sidebar{
    transform:translateX(0) !important;
  }
  body.show-sidebar::after{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.28);
    z-index:1300;
  }
  .main{
    padding:10px !important;
  }
  .mobile-menu-btn{
    display:inline-flex !important;
  }
  .topbar-left-pack{
    width:100%;
  }
  .topbar-right{
    width:100%;
    justify-content:space-between !important;
  }
}


/* V3 compact admin layout + visible sidebar button */
.app-shell{
  display:grid !important;
  grid-template-columns:180px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:start !important;
}
.sidebar{
  width:180px !important;
  max-width:180px !important;
  min-width:180px !important;
  margin:0 !important;
}
.main{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:8px 10px 14px 0 !important;
  box-sizing:border-box !important;
}
.topbar,
.main > .panel-card,
.main > .cards,
.main > .stats-grid,
.main > .flash,
.main .panel-card,
.main .cards,
.main .stats-grid{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
.panel-card,
.form-card,
.wide-card,
.stats-grid > *,
.cards > *{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
.topbar{
  margin-bottom:14px !important;
  padding:14px 16px !important;
  border-radius:18px !important;
}
.topbar h2{
  margin:0 !important;
  font-size:24px !important;
  line-height:1.25 !important;
}
.topbar > div:first-child{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
}
.topbar-right{
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
  flex-wrap:wrap !important;
}
.toggle-sidebar,
.mobile-menu-btn{
  display:none;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:0;
  border-radius:12px;
  background:#edf5f1;
  color:#24473a;
  font-size:20px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}
.stats-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:12px !important;
}
.cards.two{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
.section-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:10px !important;
}
.section-head h3{
  margin:0 !important;
}
.panel-card{
  padding:16px !important;
  border-radius:18px !important;
}
.data-table,
.tbl{
  width:100% !important;
  table-layout:auto !important;
}
.data-table th,
.data-table td,
.tbl th,
.tbl td{
  white-space:normal !important;
  word-break:break-word !important;
  vertical-align:top !important;
  font-size:13px !important;
}
.wide-table-wrap{
  width:100% !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch !important;
}
.wide-table-wrap .data-table,
.wide-table-wrap .tbl{
  min-width:760px !important;
}
.export-toolbar{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:end !important;
  margin:10px 0 12px !important;
}
.export-toolbar label{
  flex:1 1 180px !important;
  min-width:180px !important;
}
.export-toolbar .btn{
  flex:0 0 auto !important;
}
.menu-link{
  padding:10px 12px !important;
  border-radius:14px !important;
}
.brand{
  gap:10px !important;
}
.brand h1{
  font-size:18px !important;
  line-height:1.25 !important;
}
.brand p{
  font-size:12px !important;
  line-height:1.45 !important;
}
@media (max-width:1200px){
  .stats-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:980px){
  .app-shell{
    display:block !important;
  }
  .sidebar{
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:min(82vw,300px) !important;
    max-width:min(82vw,300px) !important;
    min-width:min(82vw,300px) !important;
    transform:translateX(-105%) !important;
    transition:transform .25s ease !important;
    z-index:1400 !important;
    overflow:auto !important;
  }
  body.show-sidebar .sidebar{
    transform:translateX(0) !important;
  }
  body.show-sidebar::after{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.26);
    z-index:1300;
  }
  .main{
    padding:10px !important;
  }
  .toggle-sidebar{
    display:inline-flex !important;
  }
  .topbar{
    flex-wrap:wrap !important;
    gap:10px !important;
  }
  .topbar > div:first-child{
    width:100% !important;
  }
  .topbar-right{
    width:100% !important;
    justify-content:space-between !important;
  }
  .stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .cards.two{
    grid-template-columns:1fr !important;
  }
  .wide-table-wrap .data-table,
  .wide-table-wrap .tbl{
    min-width:680px !important;
  }
}
@media (max-width:640px){
  .main{
    padding:8px !important;
  }
  .topbar{
    padding:12px !important;
    border-radius:16px !important;
  }
  .topbar h2{
    font-size:20px !important;
  }
  .stats-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .panel-card{
    padding:14px !important;
    border-radius:16px !important;
  }
  .export-toolbar{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .export-toolbar label,
  .export-toolbar .btn{
    width:100% !important;
  }
  .wide-table-wrap .data-table,
  .wide-table-wrap .tbl{
    min-width:620px !important;
  }
}


/* V4 widen key admin views + cleaner sidebar branding */
.sidebar{
  width:194px !important;
  max-width:194px !important;
  min-width:194px !important;
}
.app-shell{
  grid-template-columns:194px minmax(0,1fr) !important;
}
.sidebar .brand,
.sidebar .sidebar-brand,
.sidebar .brand-box{
  display:block !important;
  padding:0 4px 6px 4px !important;
  text-align:left !important;
}
.sidebar .brand .brand-logo,
.sidebar .sidebar-brand .brand-logo,
.sidebar .brand-box .brand-logo,
.sidebar .brand .logo,
.sidebar .sidebar-brand .logo,
.sidebar .brand-box .logo,
.sidebar .brand img,
.sidebar .sidebar-brand img,
.sidebar .brand-box img{
  display:none !important;
}
.sidebar .brand h1,
.sidebar .sidebar-brand h1,
.sidebar .brand-box h1{
  margin:0 0 8px 0 !important;
  font-size:17px !important;
  line-height:1.2 !important;
  max-width:none !important;
}
.sidebar .brand p,
.sidebar .sidebar-brand p,
.sidebar .brand-box p{
  margin:0 !important;
  font-size:11px !important;
  line-height:1.45 !important;
  max-width:none !important;
}
.sidebar .brand > div:first-child,
.sidebar .sidebar-brand > div:first-child,
.sidebar .brand-box > div:first-child{
  display:none !important;
}
#applicants .panel-card,
#disposition .panel-card,
#verification .panel-card,
.view-applicants .panel-card,
.view-disposition .panel-card,
.view-verification .panel-card{
  width:100% !important;
  max-width:none !important;
}
#applicants .wide-table-wrap .data-table,
#disposition .wide-table-wrap .data-table,
#verification .wide-table-wrap .data-table,
.view-applicants .wide-table-wrap .data-table,
.view-disposition .wide-table-wrap .data-table,
.view-verification .wide-table-wrap .data-table{
  min-width:1180px !important;
}
.main .panel-card.wide-card{
  width:100% !important;
  max-width:none !important;
}
@media (max-width:980px){
  .sidebar{
    width:min(84vw,300px) !important;
    max-width:min(84vw,300px) !important;
    min-width:min(84vw,300px) !important;
  }
  .sidebar .brand h1,
  .sidebar .sidebar-brand h1,
  .sidebar .brand-box h1{
    font-size:16px !important;
  }
}

/* Access/report/document fix */
.mini-send-doc input[type="text"],.mini-send-doc input[type="file"]{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #dfe9e4;border-radius:10px;background:#fff}
.mini-send-doc .btn{width:100%;justify-content:center}
.access-note{padding:12px 14px;border-radius:14px;background:#f4fbf7;color:#24473a;margin-bottom:12px}

.report-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.report-actions .btn{min-height:42px}
.wide-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.wide-table-wrap .data-table{width:100%;min-width:720px}
@media(max-width:640px){.report-actions{display:grid;grid-template-columns:1fr}.report-actions .btn{width:100%}}


/* Clean ready patch: solid green admin theme, no gradient */
:root{
  --sinu-green:#15986f;
  --sinu-green-dark:#0f7d5c;
  --sinu-green-soft:#eaf8f2;
  --sinu-text:#173b2d;
}
.sidebar{
  background:#15986f !important;
  background-image:none !important;
  box-shadow:12px 0 30px rgba(21,152,111,.12) !important;
}
.sidebar::before,
.sidebar::after{
  display:none !important;
  background:none !important;
}
.menu-link.active,
.sidebar .menu-link.active{
  background:rgba(255,255,255,.20) !important;
  color:#fff !important;
}
.menu-link:hover,
.sidebar .menu-link:hover{
  background:rgba(255,255,255,.14) !important;
}
.sidebar .developer-card,
.sidebar .dev-card,
.sidebar .footer-card,
.sidebar-footer,
.developer-card{
  background:rgba(255,255,255,.14) !important;
  background-image:none !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
.btn-primary{
  background:#15986f !important;
  background-image:none !important;
  border-color:#15986f !important;
}
.btn-primary:hover{
  background:#0f7d5c !important;
}
.stat-card strong,
.topbar h2,
.panel-card h3{
  color:#173b2d !important;
}
.status-pill,
.notif-pill span{
  background:#dff7ec !important;
  color:#0f7d5c !important;
}
input:focus,
select:focus,
textarea:focus{
  border-color:#15986f !important;
  box-shadow:0 0 0 3px rgba(21,152,111,.12) !important;
}

.timeline-list{display:grid;gap:10px;margin-top:10px}
.timeline-item{padding:12px 14px;border:1px solid #e4eee8;border-radius:14px;background:#fbfefd}
.timeline-item strong{display:inline-flex;padding:5px 10px;border-radius:999px;background:#e5f8ee;color:#0b7b50;font-size:13px}
.timeline-item p{margin:8px 0 4px;color:#23483a}
.timeline-item small{color:#789083}

.final-service-card{margin-top:16px}
.final-ready-box,.final-pending-box{border:1px solid #dcebe4;border-radius:16px;padding:16px;background:#fbfefd}
.final-ready-box strong,.final-pending-box strong{display:inline-flex;padding:8px 12px;border-radius:999px;background:#ddf7ea;color:#087a4f;margin-bottom:10px}
.final-ready-box p,.final-pending-box p{margin:8px 0 14px;line-height:1.6;color:#264a3d}
.final-ready-box .btn{margin:4px 6px 4px 0}
.admin-doc-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sent-docs-title{font-weight:700;color:#23483a;margin-top:10px;font-size:13px}

/* archive-download-final */
.status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e5f8ee;color:#0b7b50;font-size:12px;font-weight:700}
.final-service-card{margin-top:16px}
.final-ready-box,.final-pending-box{border:1px solid #dcebe4;border-radius:16px;padding:16px;background:#fbfefd}
.final-ready-box strong,.final-pending-box strong{display:inline-flex;padding:8px 12px;border-radius:999px;background:#ddf7ea;color:#087a4f;margin-bottom:10px}
.final-ready-box p,.final-pending-box p{margin:8px 0 14px;line-height:1.6;color:#264a3d}
.final-ready-box .btn{margin:4px 6px 4px 0}

/* force-final-unduh-fix */
.final-service-card{margin-top:16px}
.final-ready-box,.final-pending-box{border:1px solid #dcebe4;border-radius:16px;padding:16px;background:#fbfefd}
.final-ready-box strong,.final-pending-box strong{display:inline-flex;padding:8px 12px;border-radius:999px;background:#ddf7ea;color:#087a4f;margin-bottom:10px}
.final-ready-box p,.final-pending-box p{margin:8px 0 14px;line-height:1.6;color:#264a3d}
.final-ready-box .btn{margin:4px 6px 4px 0}

/* super-force-total-final */
.status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e5f8ee;color:#0b7b50;font-size:12px;font-weight:700}
.final-service-card{margin-top:16px}
.final-ready-box,.final-pending-box{border:1px solid #dcebe4;border-radius:16px;padding:16px;background:#fbfefd}
.final-ready-box strong,.final-pending-box strong{display:inline-flex;padding:8px 12px;border-radius:999px;background:#ddf7ea;color:#087a4f;margin-bottom:10px}
.final-ready-box p,.final-pending-box p{margin:8px 0 14px;line-height:1.6;color:#264a3d}
.final-ready-box .btn{margin:4px 6px 4px 0}

/* true-top-force-final */
.status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e5f8ee;color:#0b7b50;font-size:12px;font-weight:700}
.final-service-card{margin-top:16px}
.final-ready-box,.final-pending-box{border:1px solid #dcebe4;border-radius:16px;padding:16px;background:#fbfefd}
.final-ready-box strong,.final-pending-box strong{display:inline-flex;padding:8px 12px;border-radius:999px;background:#ddf7ea;color:#087a4f;margin-bottom:10px}
.final-ready-box p,.final-pending-box p{margin:8px 0 14px;line-height:1.6;color:#264a3d}
.final-ready-box .btn{margin:4px 6px 4px 0}

/* form-hint-status-4 */
.form-hint{display:block;margin:6px 0 8px;color:#55746a;font-size:12px;line-height:1.45}

/* backup-text-only-final */
.backup-single-card{
  display:grid !important;
  grid-template-columns:1fr !important;
}
.backup-text-only{
  max-width:none !important;
}
.backup-note{
  margin:8px 0 14px;
  color:#49675b;
  line-height:1.65;
}
.backup-text-only .section-head small{
  color:#6f897d;
}

/* backup-biasa-final */
.backup-text-only h3::after{
  content:"";
}
.backup-note{
  max-width:720px;
}

/* verifikasi-sederhana-final */
.verifikasi-simple .simple-flow-note{
  padding:12px 14px;
  border:1px solid #dcebe4;
  border-radius:14px;
  background:#f7fcf9;
  margin:10px 0 14px;
  color:#24483b;
  line-height:1.6;
}
.simple-actions-cell{
  min-width:320px;
}
.simple-status-form,
.simple-upload-form{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid #e2eee8;
  border-radius:14px;
  background:#fbfefd;
  margin-bottom:10px;
}
.simple-status-form label,
.simple-upload-form label{
  display:grid;
  gap:5px;
  font-size:12px;
  font-weight:700;
  color:#416456;
}
.simple-status-form select,
.simple-status-form textarea,
.simple-upload-form input{
  width:100%;
  box-sizing:border-box;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#e5f8ee;
  color:#0b7b50;
  font-size:12px;
  font-weight:700;
}
@media(max-width:780px){
  .simple-verif-table{min-width:900px}
}

/* backup-restore-final */
.backup-restore-cards{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
.restore-text-only,
.backup-text-only{
  max-width:none !important;
}
.restore-text-only form{
  margin-top:10px;
}
.restore-text-only input[type="file"]{
  width:100%;
}
@media(max-width:760px){
  .backup-restore-cards{
    grid-template-columns:1fr !important;
  }
}

/* petugas-blank-fix-final */
.staff-quick-actions .row-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#e5f8ee;
  color:#0b7b50;
  font-size:12px;
  font-weight:700;
}
@media(max-width:760px){
  .staff-quick-actions .row-actions .btn{
    width:100%;
    justify-content:center;
  }
}

/* petugas-total-no-blank-final */
.staff-quick-actions .row-actions{display:flex;gap:8px;flex-wrap:wrap}
.petugas-brand{padding-bottom:10px!important}
.status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e5f8ee;color:#0b7b50;font-size:12px;font-weight:700}
@media(max-width:760px){.staff-quick-actions .row-actions .btn{width:100%;justify-content:center}}

/* petugas-super-safe-final */
.petugas-brand{padding-bottom:10px!important}
@media(max-width:760px){.petugas-safe-actions .btn{width:100%;justify-content:center}}

/* proses-arsip-separated-final */
.process-info-box{
  padding:12px 14px;
  border:1px solid #dcebe4;
  border-radius:14px;
  background:#f7fcf9;
  color:#24483b;
  line-height:1.6;
  margin:10px 0 14px;
}
.process-cell{
  min-width:340px;
}
.process-upload-form,
.process-status-form{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid #e2eee8;
  border-radius:14px;
  background:#fbfefd;
  margin-bottom:10px;
}
.process-upload-form label,
.process-status-form label{
  display:grid;
  gap:5px;
  font-size:12px;
  font-weight:700;
  color:#416456;
}
.process-upload-form input,
.process-status-form select,
.process-status-form textarea{
  width:100%;
  box-sizing:border-box;
}
.proses-surat-card{
  border-top:4px solid #15986f;
}
.arsip-surat-card{
  border-top:4px solid #0f7d5c;
}
@media(max-width:780px){
  .proses-surat-table{min-width:960px}
}

/* staff-menu-laporan-final */
.sidebar .menu-link{
  white-space:normal;
}
.staff-quick-actions .row-actions,
.petugas-safe-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* staff-edit-delete-final */
.staff-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.btn-sm{
  padding:7px 10px !important;
  font-size:12px !important;
  border-radius:10px !important;
}
.btn-danger{
  background:#b42318 !important;
  border-color:#b42318 !important;
  color:#fff !important;
}
.btn-danger:hover{
  background:#8f1d14 !important;
}
@media(max-width:640px){
  .staff-actions .btn{
    width:100%;
    justify-content:center;
  }
}

/* lampiran-pemohon-admin-final */
.lampiran-admin-list,
.lampiran-pemohon-list{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:6px;
}
.lampiran-admin-list .btn,
.lampiran-pemohon-list .btn{
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.form-hint{
  display:block;
  margin-top:6px;
  color:#60786e;
  font-size:12px;
  line-height:1.45;
}

/* unduh-file-wajib-upload-final */
.simple-flow-note strong,
.process-info-box strong{
  color:#0f7d5c;
}

/* keterangan-status-pemohon-final */
.final-ready-box p,
.final-pending-box p{
  font-size:14px;
  line-height:1.65;
}

/* disposisi-history-final */
.dispo-form,
.return-dispo-form{
  display:grid;
  gap:8px;
  min-width:240px;
}
.dispo-form label{
  display:grid;
  gap:5px;
  font-size:12px;
  font-weight:700;
  color:#416456;
}
.dispo-history{
  display:grid;
  gap:8px;
}
.dispo-history.compact{
  max-width:360px;
}
.dispo-history-item{
  border:1px solid #e2eee8;
  background:#fbfefd;
  border-radius:12px;
  padding:10px;
  line-height:1.45;
}
.dispo-history-item strong{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  background:#e5f8ee;
  color:#0b7b50;
  margin-bottom:6px;
  font-size:12px;
}
.dispo-history-item small{
  display:block;
  color:#6d8178;
  margin-top:3px;
}
.return-note{
  margin-top:7px;
  color:#884b00;
}
.return-dispo-form{
  margin-top:8px;
  border-top:1px dashed #d9e8e0;
  padding-top:8px;
}
.return-dispo-form textarea{
  min-height:60px;
}


/* green-buttons-logo-upload-final */
/* Tombol publik dibuat hijau polos dan bulatan putih CTA dihapus */
.cta-bubble,
.cta-bubble.orange,
.cta-bubble.purple,
.cta-bubble.green,
.grad-button,
.grad-login,
.grad-service,
.mini-admin-pill,
.btn-primary,
.btn-secondary{
  background:#15986f !important;
  background-image:none !important;
  color:#fff !important;
  border-color:#15986f !important;
  box-shadow:0 12px 22px rgba(21,152,111,.20) !important;
}
.cta-bubble:hover,
.grad-button:hover,
.btn-primary:hover,
.btn-secondary:hover,
.mini-admin-pill:hover{
  background:#0f7d5c !important;
  background-image:none !important;
}
.cta-bubble:after{
  content:none !important;
  display:none !important;
}
.cta-bubble{
  padding-right:26px !important;
}
.grad-login:before,
.grad-service:before{
  content:"" !important;
  display:none !important;
  margin:0 !important;
}
.btn-danger{
  background:#0f7d5c !important;
  background-image:none !important;
  border-color:#0f7d5c !important;
  color:#fff !important;
}
.brand-icon{
  background:#15986f !important;
  background-image:none !important;
  box-shadow:0 10px 22px rgba(21,152,111,.22) !important;
}
.public-logo,
.tracking-logo-img,
.settings-logo-preview.ptsp-logo-preview{
  object-fit:contain;
  background:#fff;
}
.public-logo{
  width:44px;
  height:44px;
  border-radius:14px;
}
.tracking-logo-img{
  width:60px;
  height:60px;
  border-radius:18px;
}
.settings-logo-preview.ptsp-logo-preview{
  width:96px;
  height:96px;
  border-radius:18px;
  border:1px solid #dce9e1;
  padding:8px;
}

/* delete-filtered-menus-final */
.btn-danger{
  background:#b42318 !important;
  background-image:none !important;
  border-color:#b42318 !important;
  color:#fff !important;
}
.btn-danger:hover{
  background:#8f1d14 !important;
  border-color:#8f1d14 !important;
}
.btn-sm{
  padding:7px 10px !important;
  font-size:12px !important;
  border-radius:10px !important;
}
.export-toolbar .btn-danger,
.report-actions .btn-danger{
  white-space:nowrap;
}


/* Tombol halaman depan: biru laut gradasi merah tua */
.public-page .btn-primary,
.public-page .btn-secondary,
.public-page .btn-outline,
.public-page .cta-bubble,
.public-page .grad-button,
.public-page .grad-login,
.public-page .grad-service,
.public-page .mini-admin-pill,
body.public-page .btn-primary,
body.public-page .btn-secondary,
body.public-page .btn-outline,
body.public-page .cta-bubble,
body.public-page .grad-button,
body.public-page .grad-login,
body.public-page .grad-service,
body.public-page .mini-admin-pill,
.landing-page .btn-primary,
.landing-page .btn-secondary,
.landing-page .btn-outline,
.landing-page .cta-bubble,
.landing-page .grad-button,
.landing-page .grad-login,
.landing-page .grad-service,
.landing-page .mini-admin-pill,
.front-page .btn-primary,
.front-page .btn-secondary,
.front-page .btn-outline,
.front-page .cta-bubble,
.front-page .grad-button,
.front-page .grad-login,
.front-page .grad-service,
.front-page .mini-admin-pill,
.hero .btn,
.hero-actions .btn,
.public-actions .btn,
.quick-actions .btn,
.cta-bubble.orange,
.cta-bubble.purple,
.cta-bubble.green{
  background:linear-gradient(135deg,#087ea4 0%,#0b6f93 38%,#7b1e2b 100%) !important;
  background-image:linear-gradient(135deg,#087ea4 0%,#0b6f93 38%,#7b1e2b 100%) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:0 14px 28px rgba(8,126,164,.24) !important;
}

.public-page .btn-primary:hover,
.public-page .btn-secondary:hover,
.public-page .btn-outline:hover,
.public-page .cta-bubble:hover,
.public-page .grad-button:hover,
.public-page .grad-login:hover,
.public-page .grad-service:hover,
.public-page .mini-admin-pill:hover,
body.public-page .btn-primary:hover,
body.public-page .btn-secondary:hover,
body.public-page .btn-outline:hover,
body.public-page .cta-bubble:hover,
body.public-page .grad-button:hover,
body.public-page .grad-login:hover,
body.public-page .grad-service:hover,
body.public-page .mini-admin-pill:hover,
.landing-page .btn-primary:hover,
.landing-page .btn-secondary:hover,
.landing-page .btn-outline:hover,
.landing-page .cta-bubble:hover,
.landing-page .grad-button:hover,
.landing-page .grad-login:hover,
.landing-page .grad-service:hover,
.landing-page .mini-admin-pill:hover,
.front-page .btn-primary:hover,
.front-page .btn-secondary:hover,
.front-page .btn-outline:hover,
.front-page .cta-bubble:hover,
.front-page .grad-button:hover,
.front-page .grad-login:hover,
.front-page .grad-service:hover,
.front-page .mini-admin-pill:hover,
.hero .btn:hover,
.hero-actions .btn:hover,
.public-actions .btn:hover,
.quick-actions .btn:hover,
.cta-bubble.orange:hover,
.cta-bubble.purple:hover,
.cta-bubble.green:hover{
  background:linear-gradient(135deg,#066987 0%,#0a5976 40%,#641721 100%) !important;
  background-image:linear-gradient(135deg,#066987 0%,#0a5976 40%,#641721 100%) !important;
  transform:translateY(-1px);
  box-shadow:0 16px 32px rgba(100,23,33,.20) !important;
}

/* Bulatan putih tetap hilang */
.cta-bubble:after{
  content:none !important;
  display:none !important;
}
.cta-bubble{
  padding-right:26px !important;
}


/* front-buttons-exact-gradient-final */
/* Gradasi tombol halaman depan mengikuti contoh: biru tua -> ungu -> merah */
.public-page .btn-primary,
.public-page .btn-secondary,
.public-page .btn-outline,
.public-page .cta-bubble,
.public-page .grad-button,
.public-page .grad-login,
.public-page .grad-service,
.public-page .mini-admin-pill,
body.public-page .btn-primary,
body.public-page .btn-secondary,
body.public-page .btn-outline,
body.public-page .cta-bubble,
body.public-page .grad-button,
body.public-page .grad-login,
body.public-page .grad-service,
body.public-page .mini-admin-pill,
.landing-page .btn-primary,
.landing-page .btn-secondary,
.landing-page .btn-outline,
.landing-page .cta-bubble,
.landing-page .grad-button,
.landing-page .grad-login,
.landing-page .grad-service,
.landing-page .mini-admin-pill,
.front-page .btn-primary,
.front-page .btn-secondary,
.front-page .btn-outline,
.front-page .cta-bubble,
.front-page .grad-button,
.front-page .grad-login,
.front-page .grad-service,
.front-page .mini-admin-pill,
.hero .btn,
.hero-actions .btn,
.public-actions .btn,
.quick-actions .btn,
.cta-bubble.orange,
.cta-bubble.purple,
.cta-bubble.green{
  background:linear-gradient(90deg,#0e439a 0%,#672e61 55%,#be142c 100%) !important;
  background-image:linear-gradient(90deg,#0e439a 0%,#672e61 55%,#be142c 100%) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.14) !important;
  box-shadow:0 14px 30px rgba(58,30,106,.24) !important;
}

.public-page .btn-primary:hover,
.public-page .btn-secondary:hover,
.public-page .btn-outline:hover,
.public-page .cta-bubble:hover,
.public-page .grad-button:hover,
.public-page .grad-login:hover,
.public-page .grad-service:hover,
.public-page .mini-admin-pill:hover,
body.public-page .btn-primary:hover,
body.public-page .btn-secondary:hover,
body.public-page .btn-outline:hover,
body.public-page .cta-bubble:hover,
body.public-page .grad-button:hover,
body.public-page .grad-login:hover,
body.public-page .grad-service:hover,
body.public-page .mini-admin-pill:hover,
.landing-page .btn-primary:hover,
.landing-page .btn-secondary:hover,
.landing-page .btn-outline:hover,
.landing-page .cta-bubble:hover,
.landing-page .grad-button:hover,
.landing-page .grad-login:hover,
.landing-page .grad-service:hover,
.landing-page .mini-admin-pill:hover,
.front-page .btn-primary:hover,
.front-page .btn-secondary:hover,
.front-page .btn-outline:hover,
.front-page .cta-bubble:hover,
.front-page .grad-button:hover,
.front-page .grad-login:hover,
.front-page .grad-service:hover,
.front-page .mini-admin-pill:hover,
.hero .btn:hover,
.hero-actions .btn:hover,
.public-actions .btn:hover,
.quick-actions .btn:hover,
.cta-bubble.orange:hover,
.cta-bubble.purple:hover,
.cta-bubble.green:hover{
  background:linear-gradient(90deg,#0e439a 0%,#672e61 48%,#be142c 100%) !important;
  background-image:linear-gradient(90deg,#0e439a 0%,#672e61 48%,#be142c 100%) !important;
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(185,10,43,.22) !important;
}

.cta-bubble:after{
  content:none !important;
  display:none !important;
}
.cta-bubble{
  padding-right:26px !important;
}
