:root{--color-brand-900:#0b3b2c;--color-brand-700:#14573f;--color-brand-500:#1d7a57;--color-brand-100:#e6f0ea;--color-brand-050:#f3f6f3;--color-accent-500:#b8922b;--color-accent-600:#9c7a1f;--color-accent-100:#fff4d6;--color-on-brand-muted:#c6d8ce;--color-bg:#f7f8f6;--color-surface:#fff;--color-border:#d9ded9;--color-border-subtle:#e8ece8;--color-text:#14201a;--color-text-muted:#4b5a52;--color-text-subtle:#6b7a72;--color-danger-600:#b42318;--color-danger-100:#fde2e2;--status-menunggu-bg:#fff1c2;--status-menunggu-fg:#7a4b00;--status-diproses-bg:#dcebfa;--status-diproses-fg:#0b4f9c;--status-selesai-bg:#d8f3e0;--status-selesai-fg:#17612f;--status-dibatalkan-bg:#fde2e2;--status-dibatalkan-fg:#a31d14;--font-sans:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #0b3b2c14;--shadow-md:0 10px 28px #0b3b2c24;--shadow-lg:0 18px 40px #0b3b2c2e;--maxw:1200px;--target-sentuh:44px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);margin:0;font-size:16px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.2}h1{font-size:clamp(1.75rem,3.2vw,2.5rem)}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0}ul,ol{margin:0;padding:0}img,svg{max-width:100%;display:block}a{color:var(--color-brand-700);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--color-brand-900)}button{font:inherit}:focus-visible{outline:3px solid var(--color-brand-700);outline-offset:2px}::selection{background:var(--color-brand-100)}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 16px}@media (width>=768px){.container{padding:0 24px}}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--color-brand-900);color:#fff;padding:10px 16px;transition:top .15s;position:absolute;top:-64px;left:12px}.skip-link:focus{color:#fff;top:12px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--color-text-muted)}.muted-kecil{color:var(--color-text-muted);font-size:.8125rem}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.text-center{text-align:center}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);margin-top:40px;padding:20px 0}.site-footer p{color:var(--color-text-muted);font-size:.8125rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header{z-index:100;background-color:var(--color-brand-900);color:#fff;box-shadow:var(--shadow-sm);position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;padding-top:.625rem;padding-bottom:.625rem;display:flex}.site-header__brand{color:#fff;align-items:center;gap:.75rem;min-width:0;text-decoration:none;display:flex}.site-header__brand:hover{color:#fff;text-decoration:none}.site-header__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.brand-mark{border:2px solid var(--color-accent-500);border-radius:var(--radius-md);background-color:var(--color-brand-700);color:#fff;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.brand-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.brand-text strong{letter-spacing:-.01em;font-size:1.0625rem}.brand-text span{color:var(--color-on-brand-muted);font-size:.75rem}.site-footer__judul{color:var(--color-text);font-weight:600}.site-footer__catatan{color:var(--color-text-muted);margin-top:.375rem;font-size:.75rem}.site-footer--admin{margin-top:auto}.demo-banner{z-index:90;border-bottom:1px solid var(--color-accent-500);background-color:var(--color-accent-100);color:#5c450b;font-size:.8125rem}.demo-banner__inner{justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem;padding-bottom:.5rem;display:flex}.demo-banner__inner p{flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:500;display:flex}.demo-banner__inner p svg,.demo-banner__inner .btn{flex:none}.btn{border-radius:var(--radius-md);text-align:center;white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-width:42px;min-height:42px;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--sm{min-height:34px;padding:.375rem .75rem;font-size:.8125rem}.btn--block{width:100%}.btn--primary{background-color:var(--color-brand-900);color:#fff}.btn--primary:hover:not(:disabled){background-color:var(--color-brand-700);color:#fff}.btn--secondary{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background-color:var(--color-brand-050);border-color:var(--color-brand-500);color:var(--color-text)}.btn--accent{background-color:var(--color-accent-500);color:var(--color-brand-900)}.btn--accent:hover:not(:disabled){background-color:var(--color-accent-600)}.btn--danger{background-color:var(--color-danger-600);color:#fff}.btn--danger:hover:not(:disabled){background-color:#931b12}.btn--ghost{color:var(--color-text);background-color:#0000}.btn--ghost:hover:not(:disabled){color:var(--color-text);background-color:#0000000d}.btn--ghost-light{color:#fff;background-color:#0000}.btn--ghost-light:hover:not(:disabled){color:#fff;background-color:#ffffff26}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-sm);padding:1.5rem}.card__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.75rem;display:flex}.card__title{font-size:1.0625rem}.kpi{border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;padding:1.25rem;display:flex;position:relative;overflow:hidden}.kpi:before{content:"";background-color:var(--kpi-accent,var(--color-brand-700));height:4px;position:absolute;top:0;left:0;right:0}.kpi--total{--kpi-accent:var(--color-brand-700)}.kpi--hariini{--kpi-accent:var(--color-brand-500)}.kpi--menunggu{--kpi-accent:var(--color-accent-500)}.kpi--diproses{--kpi-accent:#0b4f9c}.kpi--selesai{--kpi-accent:#17612f}.kpi__label{letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.5rem;font-size:.8125rem;font-weight:600}.kpi__value{font-family:var(--font-mono);color:var(--color-text);margin-bottom:.5rem;font-size:2.25rem;font-weight:700;line-height:1}.kpi__note{color:var(--color-text-muted);margin-top:auto;font-size:.75rem}.field{flex-direction:column;gap:.375rem;display:flex}.field__label{color:var(--color-text);align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;display:flex}.field__wajib{color:var(--color-danger-600)}.field__hint{color:var(--color-text-muted);font-size:.75rem}.field__error{color:var(--color-danger-600);font-size:.75rem;font-weight:500}.field__kaki{justify-content:flex-end;display:flex}.field__counter{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-size:.75rem}.input,.select,.textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:.625rem .875rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;min-height:96px}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-brand-700);outline:none;box-shadow:0 0 0 3px #14573f26}.field--error .input,.field--error .select,.field--error .textarea{border-color:var(--color-danger-600)}.field--error .input:focus,.field--error .select:focus,.field--error .textarea:focus{box-shadow:0 0 0 3px #b4231826}.select--kecil{width:auto;min-height:34px;padding:.3125rem .5rem;font-size:.8125rem}.stepper{align-items:center;gap:.5rem;display:flex}.stepper__btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.25rem;font-weight:700;transition:background-color .15s,border-color .15s;display:flex}.stepper__btn:hover:not(:disabled){background:var(--color-brand-050);border-color:var(--color-brand-500)}.stepper__btn:disabled{opacity:.4;cursor:not-allowed}.stepper__input{max-width:90px;font-family:var(--font-mono);text-align:center;font-size:1.125rem;font-weight:600}.checkbox{color:var(--color-text);cursor:pointer;align-items:flex-start;gap:.625rem;font-size:.875rem;line-height:1.5;display:flex}.checkbox input{width:18px;height:18px;accent-color:var(--color-brand-900);cursor:pointer;flex:none;margin-top:2px}.visitor-form{margin-top:1.25rem}.form-grid{flex-direction:column;gap:1.25rem;display:flex}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.form-hasil{padding-top:.5rem}.form-hasil:focus{outline:none}.error-summary{border:1px solid #b4231859;border-left:4px solid var(--color-danger-600);border-radius:var(--radius-md);background:var(--color-danger-100);color:#7a1a12;flex-direction:column;gap:.375rem;margin-bottom:1rem;padding:.875rem 1rem;font-size:.875rem;display:flex}.error-summary p{align-items:center;gap:.5rem;display:flex}.error-summary ul{margin:0;padding-left:1.25rem}.pill{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.pill__penanda{font-size:.625rem;line-height:1}.pill--menunggu{background-color:var(--status-menunggu-bg);color:var(--status-menunggu-fg);border:1px solid #7a4b0033}.pill--diproses{background-color:var(--status-diproses-bg);color:var(--status-diproses-fg);border:1px solid #0b4f9c33}.pill--selesai{background-color:var(--status-selesai-bg);color:var(--status-selesai-fg);border:1px solid #17612f33}.pill--dibatalkan{background-color:var(--status-dibatalkan-bg);color:var(--status-dibatalkan-fg);border:1px solid #a31d1433}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.data-table th{border-bottom:2px solid var(--color-border);background-color:var(--color-brand-050);color:var(--color-text);white-space:nowrap;padding:.875rem 1rem;font-weight:700}.data-table td{border-bottom:1px solid var(--color-border-subtle);vertical-align:middle;padding:.875rem 1rem}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background-color:#fafcfa}.cell-id{font-family:var(--font-mono);color:var(--color-brand-900);font-size:.8125rem;font-weight:700;display:block}.cell-strong{font-weight:600;display:block}.cell-muted{color:var(--color-text-muted);font-size:.75rem;display:block}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:32ch;display:block;overflow:hidden}.row-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.link-detail{white-space:nowrap;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:600;display:inline-flex}.cards-list{flex-direction:column;gap:.75rem;list-style:none;display:none}.visit-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.visit-card__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.visit-card__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem;margin:0;display:grid}.visit-card__grid dt{letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted);font-size:.6875rem;font-weight:700}.visit-card__grid dd{overflow-wrap:anywhere;margin:0;font-size:.8125rem}.filter-bar{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.filter-bar__group{flex-direction:column;gap:.25rem;min-width:150px;display:flex}.filter-bar__group--cari{flex:260px;min-width:240px}.filter-bar__label{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.search-field{align-items:center;display:flex;position:relative}.search-field>svg{color:var(--color-text-muted);pointer-events:none;position:absolute;left:.75rem}.search-field .input{padding-left:2.25rem;padding-right:2rem;font-size:.875rem}.search-field__clear{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-size:1rem;display:inline-flex;position:absolute;right:.375rem}.search-field__clear:hover{background:#0000000f}.filter-bar__actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:auto;display:flex}.filter-bar__hasil{color:var(--color-text-muted);font-size:.8125rem}.filter-bar__hasil strong{color:var(--color-text)}.pagination{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;font-size:.875rem;display:flex}.pagination__info{color:var(--color-text-muted)}.pagination__pages{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pagination__posisi{color:var(--color-text-muted);font-size:.8125rem}.toast-container{z-index:1000;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:var(--radius-md);max-width:min(420px,100vw - 2rem);box-shadow:var(--shadow-lg);align-items:center;gap:.75rem;padding:.875rem 1.25rem;font-size:.875rem;font-weight:500;animation:.2s ease-out slideIn;display:flex}.toast p{flex:1}.toast--sukses{color:#fff;background-color:#0f5132}.toast--gagal{background-color:var(--color-danger-600);color:#fff}.toast__close{border-radius:var(--radius-sm);color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.toast__close:hover{background:#ffffff26}@keyframes slideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;display:flex}.empty-state svg{color:var(--color-brand-500)}.empty-state__title{color:var(--color-text);font-weight:700}.empty-state__text{max-width:46ch;font-size:.875rem}.empty-state__aksi{margin-top:.5rem}.konfirmasi{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.konfirmasi__ikon{color:var(--color-brand-500)}.konfirmasi__judul{font-size:1.125rem}.konfirmasi__daftar{border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;flex-direction:column;width:100%;max-width:520px;margin:.5rem 0 0;display:flex;overflow:hidden}.konfirmasi__daftar>div{border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:.75rem;padding:.625rem .875rem;display:grid}.konfirmasi__daftar>div:last-child{border-bottom:0}.konfirmasi__daftar dt{color:var(--color-text-muted);font-size:.8125rem;font-weight:600}.konfirmasi__daftar dd{overflow-wrap:anywhere;margin:0;font-size:.875rem;font-weight:600}.konfirmasi__aksi{margin-top:.5rem}.admin-shell{background:var(--color-bg);min-height:100vh;display:flex}.admin-sidebar{z-index:200;background-color:var(--color-brand-900);color:#fff;flex-direction:column;flex:0 0 260px;gap:1.25rem;width:260px;height:100vh;padding:1.25rem 1rem;display:flex;position:sticky;top:0}.admin-sidebar__brand{align-items:center;gap:.75rem;display:flex}.admin-sidebar__brand strong{font-size:.9375rem;display:block}.admin-sidebar__brand small{color:var(--color-on-brand-muted);font-size:.75rem}.admin-nav{flex-direction:column;flex:auto;gap:.25rem;display:flex}.admin-nav__link{border-radius:var(--radius-md);color:var(--color-brand-100);align-items:center;gap:.625rem;padding:.625rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.admin-nav__link:hover{background-color:var(--color-brand-700);color:#fff;text-decoration:none}.admin-nav__link--aktif{background-color:var(--color-brand-700);color:#fff}.admin-sidebar__footer{flex-direction:column;gap:.5rem;display:flex}.admin-sidebar__catatan{color:var(--color-on-brand-muted);font-size:.75rem}.admin-sidebar__footer .btn--ghost{color:#fff;justify-content:flex-start}.admin-main{flex-direction:column;flex:auto;min-width:0;display:flex}.admin-topbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);align-items:center;gap:.75rem;padding:.75rem 1.5rem;display:flex}.admin-topbar__judul{color:var(--color-text-muted);font-size:.875rem;font-weight:600}.sidebar-toggle{display:none}.admin-content{width:100%;max-width:var(--maxw);flex:auto;margin:0 auto;padding:1.5rem}.backdrop{display:none}.modal-overlay{z-index:500;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{border-radius:var(--radius-lg);background:var(--color-surface);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.modal-card:focus{outline:none}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-heading{align-items:center;gap:.75rem;min-width:0;display:flex}.modal-title{overflow-wrap:anywhere;margin:0;font-size:1.25rem}.modal-close{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.modal-close:hover{background:var(--color-bg);color:var(--color-text)}.modal-close:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.modal-meta{border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.modal-meta__item{flex-direction:column;gap:.25rem;display:flex}.modal-meta__item--kanan{text-align:right;align-items:flex-end}.modal-meta__label{color:var(--color-text-muted);font-size:.75rem}.modal-meta__value{color:var(--color-text);font-weight:600}.modal-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.id-tag{border-radius:var(--radius-sm);background:var(--color-brand-100);color:var(--color-brand-900);font-family:var(--font-mono);padding:.125rem .375rem;font-size:.8125rem;font-weight:700}.modal-detail-grid{grid-template-columns:140px 1fr;gap:.75rem 1rem;margin:0;font-size:.875rem;display:grid}.modal-detail-grid dt{color:var(--color-text-muted);font-weight:600}.modal-detail-grid dd{color:var(--color-text);overflow-wrap:anywhere;margin:0}.modal-detail-grid dt svg{vertical-align:-2px;color:var(--color-text-muted);margin-right:.25rem}.modal-detail-grid__kuat{font-weight:600}.modal-detail-grid__catatan{white-space:pre-wrap}.modal-riwayat{border-top:1px solid var(--color-border-subtle);margin-top:1.5rem;padding-top:1rem}.modal-riwayat__judul{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.875rem}.modal-history{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.modal-history__item{align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.modal-history__ikon{color:var(--color-brand-700);flex:none}.modal-history__waktu{color:var(--color-text-subtle);white-space:nowrap;align-items:center;gap:.25rem;margin-left:auto;display:inline-flex}.modal-note{color:var(--color-text-subtle);margin:1.25rem 0 0;font-size:.75rem}@media (width<=1023px){.admin-sidebar{box-shadow:var(--shadow-lg);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.admin-sidebar--open{transform:translate(0)}.sidebar-toggle{display:inline-flex}.backdrop{z-index:150;cursor:pointer;background:#00000073;border:0;padding:0;display:block;position:fixed;inset:0}.admin-content{padding:1rem}}@media (width<=767px){.table-wrap{display:none}.cards-list{display:flex}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar__group,.filter-bar__group--cari{width:100%;min-width:0}.filter-bar__actions{margin-left:0}.form-grid--2{grid-template-columns:minmax(0,1fr)}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.demo-banner__inner{flex-direction:column;align-items:flex-start}}@media (width<=639px){.site-header__inner{gap:.5rem}.brand-text span{display:none}.site-header__actions .btn{padding:.375rem .625rem}.konfirmasi__daftar>div{grid-template-columns:minmax(0,1fr);gap:.125rem}.visit-card__grid{grid-template-columns:minmax(0,1fr)}.modal-detail-grid{grid-template-columns:minmax(0,1fr);gap:.125rem 1rem}}.publik-main{padding-top:24px;padding-bottom:8px}.page-hero{border-radius:var(--radius-md);background:radial-gradient(circle at 100% 0%, #b8922b40, transparent 55%), linear-gradient(135deg, var(--color-brand-900), var(--color-brand-700));color:#fff;box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;margin-bottom:22px;padding:24px;display:flex}.page-hero h1{color:#fff}.page-hero p{color:#e7f0ea;max-width:70ch}.page-hero__badge{border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;color:#fff;border:1px solid #ffffff52;align-self:flex-start;padding:3px 10px;font-size:.6875rem;font-weight:700}.page-hero__tanggal{color:var(--color-on-brand-muted);font-size:.8125rem}.page-hero__tanggal strong{color:#fff}.publik-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;display:grid}.publik-form{padding:24px}.publik-form .card__title{margin-bottom:2px}.publik-aside{flex-direction:column;gap:16px;display:flex}.panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:18px}.panel__title{margin-bottom:12px;font-size:1rem}.langkah-list{counter-reset:langkah;flex-direction:column;gap:14px;list-style:none;display:flex}.langkah{align-items:flex-start;gap:12px;display:flex}.langkah__nomor{background:var(--color-brand-100);width:30px;height:30px;color:var(--color-brand-900);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:inline-flex}.langkah strong{font-size:.875rem;display:block}.langkah p{font-size:.8125rem}.info-box{border:1px solid #cfe0d6;border-left:5px solid var(--color-brand-500);border-radius:var(--radius-md);background:var(--color-brand-050);padding:16px 18px;font-size:.875rem}.info-box .panel__title{margin-bottom:6px}.info-box p{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.info-box p+p{margin-top:6px}.info-box--peringatan{border-color:#e4cd8a;border-left-color:var(--color-accent-500);color:#4a3500;background:#fffaeb}.info-box--peringatan svg{flex:none;margin-top:2px}.kios-page{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.kios-main{flex:auto;width:100%;max-width:960px;margin:0 auto;padding:24px 16px 8px}.kios-main .page-hero{text-align:center;align-items:center}.kios-main .card{padding:24px}.kios-page .site-footer{margin-top:24px}.login-wrap{justify-content:center;padding:40px 0;display:flex}.login-card{width:100%;max-width:540px;padding:24px}.login-card .card__title{margin-bottom:6px}.login-aksi{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-brand-050);flex-direction:column;gap:10px;padding:14px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.page-head h1{font-size:clamp(1.375rem,2.2vw,1.75rem)}.page-head .muted{margin-top:4px;font-size:.875rem}.page-head__aksi{flex-wrap:wrap;gap:8px;display:flex}.breadcrumb{color:var(--color-text-muted);margin-bottom:4px;font-size:.75rem;font-weight:600}.breadcrumb a{color:var(--color-brand-700)}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin-bottom:18px;display:grid}.chart{padding-top:6px}.chart__bars{border-bottom:1px solid var(--color-border);align-items:flex-end;gap:10px;height:190px;padding:8px 4px 0;display:flex}.chart__bar{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:100%;display:flex;position:relative}.chart__value{color:var(--color-brand-700);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:700}.chart__fill{background:linear-gradient(180deg, var(--color-brand-500), var(--color-brand-700));border-radius:4px 4px 0 0;width:100%;max-width:46px;min-height:4px}.chart__label{color:var(--color-text-muted);text-transform:capitalize;white-space:nowrap;padding-top:4px;font-size:.6875rem}.status-ringkas{flex-direction:column;list-style:none;display:flex}.status-ringkas li{border-bottom:1px dashed var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:.875rem;display:flex}.status-ringkas li:last-child{border-bottom:0}.status-ringkas strong{font-size:1rem}.ringkasan-strip{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-wrap:wrap;gap:10px 22px;margin-bottom:14px;padding:12px 16px;font-size:.8125rem;display:flex}.ringkasan-strip p{align-items:baseline;gap:6px;display:flex}.ringkasan-strip strong{color:var(--color-brand-900);font-size:1rem}.rekap .filter-bar{margin-bottom:16px}.detail-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0;display:grid}.detail-list>div{min-width:0}.detail-list dt{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:700}.detail-list dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:.9375rem}.detail-samping{flex-direction:column;gap:16px;display:flex}.riwayat{flex-direction:column;gap:10px;list-style:none;display:flex}.riwayat__item{border-bottom:1px dashed var(--color-border);align-items:flex-start;gap:8px;padding-bottom:10px;display:flex}.riwayat__item:last-child{border-bottom:0;padding-bottom:0}.riwayat__item svg{color:var(--color-brand-500);flex:none;margin-top:3px}.riwayat__item p{font-size:.8125rem}.riwayat__item p+p{margin-top:2px}.notfound{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:64px 16px;display:flex}.notfound svg{color:var(--color-brand-500)}.notfound .muted{max-width:46ch}@media (width<=1199px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1023px){.publik-layout{grid-template-columns:minmax(0,1fr)}.publik-aside{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.detail-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=899px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-list{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.page-head{flex-direction:column;align-items:flex-start}.page-head__aksi{width:100%}.page-head__aksi .btn{flex:auto}.chart__bars{height:150px}}@media (width<=639px){.publik-main,.kios-main{padding-top:16px}.page-hero{padding:18px}.publik-aside,.kpi-grid{grid-template-columns:minmax(0,1fr)}.kpi__value{font-size:1.75rem}.publik-form,.login-card,.kios-main .card{padding:16px}.chart__bars{gap:4px}.chart__label{font-size:.625rem}.ringkasan-strip{gap:8px 14px}}@media print{@page{size:A4 portrait;margin:14mm}body{color:#000;background:#fff;font-size:11pt}.site-header,.demo-banner,.admin-sidebar,.admin-topbar,.site-footer,.filter-bar,.pagination,.page-head__aksi,.toast-container,.toast,.backdrop,.visually-hidden,.link-detail{display:none!important}.admin-shell{display:block}.admin-content{max-width:none;padding:0}.card{box-shadow:none;border:0;padding:0}.table-wrap{border-color:#999;overflow:visible;display:block!important}.cards-list{display:none!important}.data-table{min-width:0;font-size:9pt}.data-table th,.data-table td{border-bottom:1px solid #bbb;padding:4px 6px}.data-table th{color:#000;background:#eee}.pill{border:1px solid #999;padding:0 6px;color:#000!important;background:#fff!important}.truncate{white-space:normal;max-width:none;overflow:visible}a{color:#000;text-decoration:none}}
