:root{font-family:Roboto,Segoe UI,Arial,sans-serif;color:#17212b;background:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;background:#f5f7fa}body{min-width:320px;min-height:100vh;margin:0;background:#f5f7fa}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-bar{position:sticky;top:0;z-index:10;min-height:3.75rem;display:flex;align-items:center;background:#0756a5;color:#fff;box-shadow:0 1px 3px #17212b33}.app-bar-content{width:min(100%,48rem);margin:0 auto;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.app-bar h1{margin:0;font-size:1.1rem;line-height:1.3;letter-spacing:-.01em}.app-bar .total-badge{font-size:.8rem;background:#fff3;padding:.25rem .75rem;border-radius:999px;white-space:nowrap}.page-shell{width:min(100%,48rem);margin:0 auto;padding:0 1rem max(2rem,env(safe-area-inset-bottom))}.top-nav{display:flex;gap:.5rem;padding:.85rem 0 0}.top-nav a{flex:1;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid #0756a5;border-radius:10px;background:#fff;color:#0756a5;font-size:.9rem;font-weight:700;text-decoration:none;transition:background-color .14s ease}.top-nav a:hover{background:#eaf3fb}.top-nav a.primary{background:#0756a5;color:#fff}.top-nav a.primary:hover{background:#063b73}.search-section{padding:.75rem 0}.search-section .search-input{display:block;width:100%;box-sizing:border-box;min-height:2.75rem;padding:.6rem .85rem;border:1px solid #d0d7de;border-radius:10px;background:#fff;font-size:.925rem;outline:3px solid transparent;transition:border-color .14s ease,outline-color .14s ease}.search-section .search-input:focus-visible{border-color:#0756a5;outline-color:#2b78c5;outline-offset:2px}.summary-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0 .75rem;font-size:.85rem;color:#526579}.summary-bar .baris-select{display:flex;align-items:center;gap:.4rem}.summary-bar select{padding:.3rem .5rem;border:1px solid #d0d7de;border-radius:8px;background:#fff;font-size:.85rem}.state{padding:.85rem 1rem;border-radius:10px;font-size:.9rem;text-align:center}.state-error{border:1px solid #f3c8c5;background:#fff3f2;color:#741a14}.person-list{display:grid;gap:.5rem}.person-card{display:grid;gap:.35rem;padding:.85rem 1rem;border:1px solid #e4e9f0;border-radius:14px;background:#fff;box-shadow:0 1px 3px #17212b0f;transition:box-shadow .14s ease}.person-card:hover{box-shadow:0 2px 8px #17212b1a}.person-card .person-no{font-size:.78rem;font-weight:600;color:#6b7f93}.person-card .person-name{font-size:1rem;font-weight:700;line-height:1.35;color:#17212b}.person-card .person-details{font-size:.85rem;color:#526579;line-height:1.5}.person-card .person-details span{display:block}.person-card .card-action{margin-top:.35rem;display:flex;gap:.5rem}.person-card .card-action button{flex:1;min-height:2.5rem;padding:.45rem .85rem;border:1px solid #0756a5;border-radius:10px;background:#0756a5;color:#fff;font-weight:600;font-size:.875rem;cursor:pointer;transition:background-color .14s ease}.person-card .card-action button:hover:not(:disabled){background:#063b73}.person-card .card-action button:disabled{opacity:.6;cursor:wait}.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;margin-top:1rem;padding:.5rem 0}.pagination button{min-width:2.25rem;min-height:2.25rem;padding:.3rem .5rem;border:1px solid #d0d7de;border-radius:8px;background:#fff;color:#17212b;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.pagination button:hover:not(:disabled){border-color:#0756a5;background:#eaf3fb}.pagination button:disabled{opacity:.45;cursor:default}.pagination button.current{border-color:#0756a5;background:#0756a5;color:#fff}.pagination .page-ellipsis{border:none;background:transparent;color:#6b7f93;cursor:default}.registration-layout{width:100%;padding:1.25rem 0 max(2.5rem,env(safe-area-inset-bottom))}.form-surface{min-width:0}.form-surface form{display:grid;gap:1.35rem}.field{display:grid;gap:.5rem}.field label{color:#263442;font-size:.925rem;font-weight:700}.field label>span{color:#a3241b}.field input{width:100%;min-height:3.25rem;padding:.78rem .95rem;border:1px solid #6b7f93;border-radius:12px;outline:3px solid transparent;background:#fff;color:#17212b;transition:border-color .14s ease,outline-color .14s ease,background-color .14s ease}.field input::placeholder{color:#526579;opacity:1}.field input:hover{border-color:#0756a5}.field input:focus-visible{border-color:#063b73;outline-color:#2b78c5;outline-offset:2px}.field input[aria-invalid=true]{border-color:#a3241b;background:#fff8f7}.field-help,.field-error{margin:0;font-size:.8rem;line-height:1.45}.field-help{color:#526579}.field-error{color:#8d1d16;font-weight:600}.primary-button{width:100%;min-height:3.25rem;margin-top:.35rem;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:1px solid #0756a5;border-radius:12px;padding:.8rem 1.2rem;background:#0756a5;color:#fff;cursor:pointer;font-weight:700;transition:background-color .14s ease,transform .14s ease}.primary-button:hover:not(:disabled){background:#063b73}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled{cursor:wait;opacity:.72}.primary-button:focus-visible{outline:3px solid #2b78c5;outline-offset:3px}.secondary-button{width:100%;min-height:3rem;display:inline-flex;align-items:center;justify-content:center;border:2px solid #0756a5;border-radius:12px;padding:.7rem 1.2rem;background:#fff;color:#0756a5;font-weight:700;cursor:pointer;transition:background-color .14s ease,transform .14s ease}.secondary-button:hover{background:#eaf3fb}.secondary-button:active{transform:translateY(1px)}.secondary-button:focus-visible{outline:3px solid #2b78c5;outline-offset:3px}.submit-error{padding:.9rem 1rem;display:grid;gap:.25rem;border:1px solid #a3241b;border-radius:12px;background:#fff3f2;color:#741a14;font-size:.875rem;line-height:1.45}.qr-result{display:grid;gap:1.25rem;align-content:start;text-align:center}.jamaah-card{width:100%;max-width:640px;height:auto;display:block;margin:0 auto;border-radius:20px;box-shadow:0 8px 32px #6b1d3a47}.save-helper{margin:.25rem 0 0;color:#374758;font-size:.9rem;font-weight:600;line-height:1.5}.success-banner{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.1rem;border:1px solid rgba(255,255,255,.65);border-radius:16px;background:linear-gradient(135deg,#ffffff8c,#fdf0ea59);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);box-shadow:0 8px 24px #17212b1f,inset 0 1px #ffffffb3;color:#17212b;text-align:left;font-size:.9rem;line-height:1.45}.success-banner div{display:grid;gap:.15rem}.success-banner strong{font-size:1rem}.success-banner .registered-at{margin-top:.35rem;font-size:.82rem;font-weight:600;color:#6b1d3a;text-transform:capitalize}.success-icon{flex-shrink:0;width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#d4763a,#a5562a);box-shadow:inset 0 1px #ffffff59;color:#fff;font-size:1.3rem;font-weight:700}.dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1rem;background:#0714218c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card-dialog{width:min(100%,42rem);max-height:92vh;overflow-y:auto;display:grid;gap:.85rem;padding:1.25rem;border:1px solid #d7dee6;border-radius:20px;background:#fff;box-shadow:0 18px 48px #07142159;text-align:center}.card-dialog h2{margin:0;color:#17212b;font-size:1.15rem;line-height:1.3}.card-dialog p.sub{margin:-.3rem 0 0;color:#526579;font-size:.85rem;line-height:1.4}.card-loading{min-height:16rem;display:grid;place-items:center;border:1px solid #ddcfb3;border-radius:14px;background:#fff3d9;color:#4f5f70;font-size:.9rem}.generated-card{width:100%;max-width:640px;height:auto;display:block;margin:0 auto;border-radius:16px;box-shadow:0 8px 32px #6b1d3a47}.card-dialog .dialog-actions{display:flex;gap:.65rem;justify-content:center;flex-wrap:wrap}.card-dialog .dialog-actions button{min-height:2.75rem;padding:.55rem 1.4rem;border-radius:10px;font-weight:600;cursor:pointer;transition:background-color .14s ease}.card-dialog .dialog-secondary{border:1px solid #9fb0c0;background:#fff;color:#263442}.card-dialog .dialog-secondary:hover{background:#f2f6fa}.card-dialog .dialog-primary{border:1px solid #0756a5;background:#0756a5;color:#fff}.card-dialog .dialog-primary:hover:not(:disabled){background:#063b73}.card-dialog .dialog-primary:disabled{opacity:.6;cursor:default}.confirmation-dialog{width:min(100%,26rem);display:grid;gap:.85rem;padding:1.5rem 1.4rem 1.35rem;border:1px solid #d7dee6;border-radius:20px;background:#fff;box-shadow:0 18px 48px #07142159;text-align:center}.confirmation-dialog h2{margin:0;color:#a3241b;font-size:1.2rem;line-height:1.3}.confirmation-dialog p{margin:0;color:#374758;font-size:.95rem;line-height:1.55}.confirmation-dialog .dialog-actions{display:grid;gap:.65rem;margin-top:.35rem}.confirmation-dialog .dialog-primary,.confirmation-dialog .dialog-secondary{width:100%;min-height:3rem;padding:.7rem 1rem;border-radius:12px;cursor:pointer;font-weight:700;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.confirmation-dialog .dialog-primary{border:1px solid #0756a5;background:#0756a5;color:#fff}.confirmation-dialog .dialog-primary:hover{background:#063b73}.confirmation-dialog .dialog-primary:active{transform:translateY(1px)}.confirmation-dialog .dialog-secondary{border:1px solid #9fb0c0;background:#fff;color:#263442}.confirmation-dialog .dialog-secondary:hover{background:#f2f6fa;border-color:#6b7f93}.confirmation-dialog .dialog-primary:focus-visible,.confirmation-dialog .dialog-secondary:focus-visible{outline:3px solid #2b78c5;outline-offset:2px}@media(min-width:26rem){.confirmation-dialog .dialog-actions{grid-template-columns:1fr 1fr}}.spinner{width:1.1rem;height:1.1rem;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.spinner{animation-duration:1.4s}}
