:root{--pgri:#A6192E;--navy:#0D2B45;--gold:#D9A441;--surface:#f4f7fa;--ink:#1b2733;--muted:#6c7b88}
*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--surface);color:var(--ink)}
a{text-decoration:none}.brand-navy{color:var(--navy)}.brand-red{color:var(--pgri)}
.btn-pgri{background:var(--pgri);border-color:var(--pgri);color:#fff}.btn-pgri:hover{background:#861426;border-color:#861426;color:#fff}
.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff}.btn-navy:hover{background:#071d2f;color:#fff}
.public-hero{background:linear-gradient(135deg,var(--navy),#173f61);color:#fff;position:relative;overflow:hidden}.public-hero:after{content:"";position:absolute;width:360px;height:360px;border:64px solid rgba(255,255,255,.06);border-radius:50%;right:-110px;top:-120px}
.app-card{border:0;border-radius:20px;box-shadow:0 16px 40px rgba(13,43,69,.08)}
.logo-img{width:70px;height:70px;object-fit:contain}.form-control,.form-select{border-radius:12px;padding:.75rem .9rem;border-color:#d7e0e7}.form-control:focus,.form-select:focus{border-color:#9ab2c4;box-shadow:0 0 0 .2rem rgba(13,43,69,.08)}
.autocomplete-menu{position:absolute;z-index:50;width:100%;background:#fff;border:1px solid #dbe3e9;border-radius:14px;box-shadow:0 16px 32px rgba(0,0,0,.12);max-height:280px;overflow:auto}.autocomplete-item{padding:.8rem 1rem;border-bottom:1px solid #eef2f5;cursor:pointer}.autocomplete-item:hover{background:#f6f8fa}.autocomplete-item:last-child{border-bottom:0}
.admin-shell{min-height:100vh;display:flex}.sidebar{width:260px;background:var(--navy);color:#fff;position:fixed;inset:0 auto 0 0;overflow:auto;z-index:100}.sidebar .brand-wrap{padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar .nav-link{color:rgba(255,255,255,.78);padding:.72rem 1rem;border-radius:10px;margin:.15rem .75rem}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:rgba(255,255,255,.11);color:#fff}.admin-main{margin-left:260px;min-width:0;width:calc(100% - 260px)}.topbar{background:#fff;border-bottom:1px solid #e9eef2;position:sticky;top:0;z-index:90}.content-wrap{padding:1.5rem}.metric-card{border:0;border-radius:18px;box-shadow:0 8px 24px rgba(13,43,69,.06)}.metric-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#eef3f7;color:var(--navy)}
.table-card{border:0;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(13,43,69,.06)}.table thead th{background:#f7f9fb;color:#526372;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e8eef2}.badge-soft-success{background:#e8f7ee;color:#1e6c3d}.badge-soft-danger{background:#fdebec;color:#a02030}.badge-soft-warning{background:#fff5d9;color:#8a6500}.badge-soft-navy{background:#e8eef5;color:#0D2B45}
.qr-box{background:#fff;border:1px dashed #b8c6d1;border-radius:16px;padding:1rem;display:inline-block}
.receipt{max-width:720px;margin:auto;background:#fff;border-radius:20px;box-shadow:0 15px 40px rgba(13,43,69,.08);overflow:hidden}.receipt-head{background:linear-gradient(135deg,var(--navy),#164b75);color:#fff;padding:1.5rem}.receipt-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.1rem;letter-spacing:.05em}
@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.show{transform:none}.admin-main{margin-left:0;width:100%}.content-wrap{padding:1rem}}
@media print{.no-print,.sidebar,.topbar{display:none!important}.admin-main{margin:0!important;width:100%!important}body{background:#fff}.receipt,.table-card{box-shadow:none}.content-wrap{padding:0}}
/* v1.0.7.4: compact list navigation */
.admin-pagination .page-link{min-width:32px;text-align:center;border-radius:8px;margin:0 1px}.admin-pagination .pagination{gap:2px}.table-compact td,.table-compact th{padding:.5rem .65rem}.nav-tabs-config{gap:.35rem;border-bottom:0}.nav-tabs-config .nav-link{border:1px solid #dfe6ec;border-radius:12px;color:var(--navy);background:#fff;font-weight:600}.nav-tabs-config .nav-link.active{background:var(--navy);color:#fff;border-color:var(--navy)}.config-panel{border:1px solid #e7edf2;border-radius:16px;background:#fff}.coord-grid .form-control{padding:.55rem .65rem}.coord-grid .form-label{margin-bottom:.25rem}.section-help{font-size:.78rem;color:var(--muted)}
