/* VIONA Corporate · visual override; load after app.css. */
:root{--navy:#101f35;--navy-deep:#101f35;--orange:#ff6019;--muted:#667387;--line:#e2e7ee;--bg:#f3f5f8;--green:#158264}
body{background:#f3f5f8;color:#101f35;font-family:'Segoe UI',Tahoma,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Segoe UI',Tahoma,Arial,sans-serif}h1{font-weight:650;letter-spacing:-1.3px}h2{font-size:25px;font-weight:650;letter-spacing:-.7px}h3{font-weight:600}
.topbar{min-height:94px;max-width:none;background:#fff;border:0;border-bottom:1px solid #e1e6ee;padding:12px max(5%,calc((100vw - 1160px)/2));gap:22px}
.brand{width:212px;height:68px;flex-shrink:0}.brand img{width:242px;height:121px;transform:translate(-15px,-26px)}
.institution-logos{display:flex;align-items:center;gap:20px;order:3;flex-shrink:0;border-left:1px solid #e1e6ee;padding-left:23px}
.institution-logos .jatim-logo{height:54px;width:38px;object-fit:contain}.institution-logos .badi-logo{height:64px;width:64px;object-fit:contain}
.topbar nav{order:2;margin-left:auto;gap:18px}.nav-link,.ghost{border:1px solid #dbe2eb;border-radius:8px;background:white;color:#172b46;font-size:12px;padding:10px 16px}
button,.button{border-radius:8px;background:#ff6019;color:#101f35;font-weight:650;box-shadow:none;border:1px solid transparent;padding:12px 18px}
button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff60191f}button:focus-visible,a:focus-visible{outline-color:#ff6019}
.guest-layout{display:flex;flex-direction:column;max-width:1160px;padding:0 30px;margin:28px auto;gap:24px}
.welcome{border-radius:17px;background:#101f35;color:white;padding:31px 36px 25px;display:grid;grid-template-columns:1.2fr 1fr;gap:0 40px;position:relative;border:0;box-shadow:none;overflow:hidden}
.welcome:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:#ff6019}
.welcome .eyebrow{grid-column:1/-1;font-size:10px;letter-spacing:1.7px;color:#ff925f;margin:0 0 11px}
.welcome h1{font-size:35px;line-height:1.2;letter-spacing:-1px;font-weight:600;grid-column:1;margin:0 0 24px}
.welcome h1 br:last-child{display:none}.welcome em{font-style:normal;color:#fff;font-weight:400}
.welcome>p{grid-column:2;grid-row:2;align-self:center;max-width:340px;font-size:14px;color:#bdc9d9;margin:0 0 24px;line-height:1.8}
.welcome-art{display:none}.steps{grid-column:1/-1;display:flex;gap:25px;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:19px;margin:0}
.steps>div{font-size:12px;gap:10px;color:#dce4ef}.steps b{background:#ff6019;color:#101f35;border:0;border-radius:7px;width:28px;height:28px;font-size:11px;font-weight:700;flex-shrink:0}
.help-note{display:none}.form-panel{border-radius:17px;border:1px solid #e1e6ee;padding:30px 36px;background:#fff;box-shadow:0 5px 20px #12243f04}
.section-top{margin-bottom:25px;align-items:center}.section-top .eyebrow{color:#b94009;font-size:10px;letter-spacing:1.6px;margin-bottom:6px}.section-top p{color:#728095;font-size:12px}.pill{border-radius:7px;background:#edf7f3;color:#17694d;padding:7px 11px;font-size:10px}
label{font-size:12px;font-weight:600;color:#263a53}label>span,h3>span{color:#c6470f}.form-grid{gap:22px}
input,textarea{background:#f9fafc;border-color:#dce3ec;border-radius:8px;font-size:14px;padding:12px 14px;color:#132941}input:focus,textarea:focus{border-color:#ff6019;background:white;box-shadow:0 0 0 3px #ff60190d}input::placeholder,textarea::placeholder{font-size:12px;color:#8793a4}textarea{min-height:83px}
.capture-grid{gap:24px;margin-top:22px}.camera-box,.signature-box{height:173px;border-radius:11px;border-color:#cbd5e1;background:#f5f7fa}.camera-box .capture-symbol{color:#345273}.camera-box p{color:#415772}.camera-box small{color:#7c8ba0}.signature-box{background:white}.signature-box canvas{height:143px}.signature-box>span{color:#8795a7;border-color:#e4eaf1}
.secondary{background:#edf1f6;color:#172b46;border:1px solid #dce4ee}.upload-button{background:white;border-color:#dce4ee;border-radius:8px;color:#344a66}.text-button{background:none;border:0;color:#b94009;box-shadow:none}.text-button:hover{box-shadow:none}
.privacy-note{background:#f3f5f8;color:#66768a;border-radius:8px;font-size:11px;border:0;margin-top:18px;padding:12px 15px}
.submit-button{background:#ff6019;color:#101f35;padding:14px 19px;border-radius:8px;font-size:14px}.hint{color:#748297;font-size:11px}.tiny{color:#7e8a9a}
footer{max-width:1160px;padding:0 30px 15px;margin:23px auto;color:#7c8899;font-size:10px}
.admin-main{max-width:1220px;padding:0 30px;margin:28px auto}.dashboard-hero{background:#101f35;border-radius:16px;padding:30px 34px;position:relative;overflow:hidden}.dashboard-hero:before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:#ff6019}
.dashboard-hero h1{font-size:32px;font-weight:600}.dashboard-hero em{color:#ff8c51;font-style:normal;font-weight:400}.dashboard-hero .eyebrow{color:#ff925f;letter-spacing:1.5px}.dashboard-hero p{color:#bbc9da}
.today-box{background:#192c45;border:1px solid #314057;border-radius:11px;min-width:205px;padding:18px}.today-box>strong{font-size:22px;font-weight:600}.today-box>a{color:#ff985f}.today-box>span{color:#bdcada}
.stats{gap:18px;margin:22px 0}.stats article{border-radius:12px;padding:22px 24px;background:white;border-color:#e0e6ee}.stats article:after{border-radius:2px;background:#ff6019;width:10px;height:10px}.stats article:nth-child(2):after{background:#2c4c75}.stats article:nth-child(3):after{background:#8093ab}.stats strong{font-size:35px;font-weight:650}.stats span{font-size:12px}.stats small{font-size:11px;color:#7b889b}
.trend-card{border-radius:12px;border-color:#e0e6ee;padding:21px 24px}.trend-card .eyebrow{color:#b94009;letter-spacing:1.3px;font-size:9px}.trend-card h2{font-size:20px}.trend-days strong{font-weight:600;font-size:24px}.trend-days small{font-size:11px;color:#75849a}.trend-days>div{border-color:#e2e8f0}
.data-card{border-radius:14px;border-color:#e0e6ee}.filters{background:#f4f6f9;border-radius:9px}.filters input{background:white}.filter-buttons a{color:#5b6f87}th{background:#f3f5f8;color:#60728b}td{border-color:#e9edf3}.avatar{background:#fff0e8;color:#b4410d;border-radius:8px}.detail-link{color:#9d3b14}.purpose{color:#6f7f94}.date-cell small{color:#7c8b9e}.person strong{font-weight:600}.pagination .button{border-radius:7px}
.center-page{background:#f3f5f8;min-height:72vh}.login-card,.success-card{border-radius:16px;box-shadow:0 10px 40px #12294308;border-color:#dfe6ee;border-top:4px solid #ff6019}.login-card .eyebrow,.success-card .eyebrow,.detail-main .eyebrow{color:#b94009}.login-card h1{font-weight:600}.back-link{color:#5b6f87}.success-check{background:#e9f5ef;color:#198467}.error{background:#fff0e9;color:#98360d}.print-report{background:white}.report-toolbar a{color:#28425e}
@media(max-width:1000px){.topbar{padding-left:4%;padding-right:4%;gap:14px}.institution-logos{gap:14px;padding-left:16px}.welcome{padding:28px}.form-panel{padding:28px}.steps{gap:16px}.steps>div{font-size:11px}}
@media(max-width:760px){.topbar{flex-wrap:wrap;gap:12px;min-height:85px;padding:10px 5%}.brand{width:158px;height:56px}.brand img{width:185px;height:92px;transform:translate(-13px,-18px)}.institution-logos{order:2;border:0;padding:0;gap:12px;margin-left:auto}.institution-logos .jatim-logo{height:42px;width:30px}.institution-logos .badi-logo{height:50px;width:50px}.topbar nav{order:3;width:100%;justify-content:flex-end;border-top:1px solid #e3e8ef;padding-top:9px;margin:0;gap:12px}.topbar nav .ghost{padding:8px 12px}.guest-layout{padding:0 5%;margin:19px auto;gap:18px}.welcome{display:block;padding:23px;border-radius:13px;margin:0}.welcome h1{font-size:29px;margin:0 0 12px}.welcome>p{font-size:12px;margin:0;max-width:none}.steps{display:none}.form-panel{padding:23px 19px;border-radius:13px}.capture-grid{gap:21px}.camera-box{height:190px}.signature-box{height:175px}.signature-box canvas{height:145px}.admin-main{padding:0 5%;margin:20px auto}.dashboard-hero{padding:25px}.dashboard-hero h1{font-size:28px}.stats{gap:9px}.stats article{padding:14px 11px}.stats strong{font-size:28px}.stats small{font-size:10px}.trend-card{padding:18px}.today-box{min-width:0}.today-box>strong{font-size:17px}.trend-days strong{font-size:20px}.trend-days small{font-size:10px}footer{padding-left:5%;padding-right:5%}}
@media print{body{background:white}.topbar,footer{display:none}.print-report{color:#111}.print-report th{background:#eee;color:#333}}
