:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:#242424}#root{width:100%;min-height:100vh}h1{font-size:1.5rem;line-height:1.2}button{font-family:inherit;cursor:pointer}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}body{background-color:#fff}}.checkin-page{min-height:100vh;background:#f1f5f9}.checkin-header{background:#0f3460;color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.checkin-header h1{margin:0;font-size:1.35rem}.header-actions{display:flex;align-items:center;gap:.75rem}.header-actions .user{font-size:.9rem;opacity:.95}.btn-logout{padding:.4rem .75rem;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-logout:hover{background:rgba(255,255,255,.3)}.checkin-main{max-width:640px;margin:0 auto;padding:1.5rem 1rem 2rem}.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fef2f2;color:#b91c1c}.checkin-form{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #00000014}.form-section{margin-bottom:1.75rem}.form-section h2{margin:0 0 1rem;font-size:1.1rem;color:#0f3460;border-bottom:2px solid #e2e8f0;padding-bottom:.4rem}.section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.section-head h2{margin:0 0 1rem;border:none;padding:0}.biaya-controls{display:flex;gap:.5rem}.btn-small{padding:.35rem .6rem;border-radius:6px;font-size:.85rem;cursor:pointer;border:none;font-weight:500}.btn-small.add{background:#0f3460;color:#fff}.btn-small.remove{background:#e2e8f0;color:#475569}.field{margin-bottom:1rem}.field label{display:block;font-size:.9rem;font-weight:500;color:#334155;margin-bottom:.35rem}.field input[type=text],.field input[type=number],.field input[type=tel],.field input[type=date],.field select{width:100%;padding:.55rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;box-sizing:border-box}.field input:focus,.field select:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 2px #0f346026}.field input[type=file]{font-size:.9rem;padding:.35rem 0}.field .readonly{padding:.55rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-size:1rem}.field .readonly.amount{font-weight:600;color:#0f3460}.field .readonly.amount.grand{font-size:1.1rem}.field.row{display:flex;gap:1rem}.field .half{flex:1;min-width:0}.foto-preview{margin-top:.5rem;max-width:200px;max-height:150px;border-radius:8px;border:1px solid #e2e8f0;object-fit:contain}.total-section .readonly.amount{font-size:1.05rem}.form-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.btn-submit{width:100%;padding:.85rem;background:#16a34a;color:#fff;border:none;border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.kost-select>input{display:block;width:100%;padding:.55rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;box-sizing:border-box}.kost-select>input:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 2px #0f346026}.kost-option{display:block;width:100%;text-align:left;padding:.55rem .75rem;background:transparent;border:none;border-bottom:1px solid #f1f5f9;font-size:.95rem;color:#1e293b;cursor:pointer}.kost-empty{padding:.55rem .75rem;font-size:.9rem;color:#64748b}.fallback-input{display:block;width:100%;margin-top:.5rem;padding:.55rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;box-sizing:border-box}.info-box{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:8px;padding:.6rem .9rem;font-size:.88rem;margin-bottom:1rem}.field label .opt{font-weight:400;color:#94a3b8;font-size:.82rem}.checkout-page{display:flex;flex-direction:column;min-height:100vh;width:100%;background:#f1f5f9;font-family:system-ui,-apple-system,sans-serif;color:#1e293b}.checkout-page .checkin-header{width:100%;background:#0f3460;color:#fff;padding:1rem 1.25rem;display:flex;align-items:center}.checkout-page .checkin-header h1{margin:0;font-size:1.25rem;font-weight:700}.checkout-page .checkin-main{flex:1;width:100%;padding:1.25rem 1rem 2rem}.checkout-page .alert{width:100%;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-weight:500;font-size:.95rem}.checkout-page .alert.success{background:#dcfce7;color:#166534}.checkout-page .alert.error{background:#fef2f2;color:#b91c1c}.checkout-form{width:100%;background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 1px 4px #00000014}.checkout-form .form-section{margin-bottom:1.25rem}.checkout-form .form-section h2{margin:0 0 1rem;font-size:1rem;font-weight:700;color:#0f3460;padding-bottom:.4rem;border-bottom:2px solid #e2e8f0}.checkout-form .field{margin-bottom:1rem}.checkout-form .field label{display:block;font-size:.875rem;font-weight:600;color:#334155;margin-bottom:.35rem}.checkout-form .field input[type=text],.checkout-form .field input[type=tel],.checkout-form .field input[type=number]{display:block;width:100%;padding:.65rem .75rem;font-size:1rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e293b;transition:border-color .15s,box-shadow .15s}.checkout-form .field input:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f346026}.checkout-form textarea{display:block;width:100%;padding:.65rem .75rem;font-size:1rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e293b;resize:vertical;font-family:inherit;transition:border-color .15s,box-shadow .15s}.checkout-form textarea:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f346026}.kost-select{position:relative;width:100%}.kost-select>input{display:block;width:100%;padding:.65rem .75rem;font-size:1rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e293b;transition:border-color .15s,box-shadow .15s}.kost-select>input:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f346026}.kost-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:200px;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 6px 16px #0000001f;z-index:50}.kost-option{display:block;width:100%;text-align:left;padding:.65rem .75rem;background:transparent;border:none;border-bottom:1px solid #f1f5f9;font-size:.95rem;color:#1e293b;cursor:pointer}.kost-option:last-child{border-bottom:none}.kost-option:hover,.kost-option:active{background:#f0f7ff;color:#0f3460}.kost-empty{padding:.65rem .75rem;font-size:.9rem;color:#64748b}.hint-inline{margin-top:.4rem;font-size:.82rem;color:#64748b}.fallback-input{display:block;width:100%;margin-top:.5rem;padding:.65rem .75rem;font-size:1rem;border:1px solid #cbd5e1;border-radius:8px}.checkout-form .form-actions{padding-top:1rem;border-top:1px solid #e2e8f0}.btn-submit{display:block;width:100%;padding:.9rem;background:#16a34a;color:#fff;font-size:1.05rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;transition:background .15s}.btn-submit:hover:not(:disabled){background:#15803d}.btn-submit:disabled{opacity:.65;cursor:not-allowed}@media (min-width: 600px){.checkout-page .checkin-main{padding:1.5rem 2rem 2.5rem}.checkout-form{border-radius:16px;padding:2rem}}@media (min-width: 960px){.checkout-page .checkin-main{display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem 3rem}.checkout-page .alert{max-width:560px}.checkout-form{width:100%;max-width:560px}}*,*:before,*:after{box-sizing:border-box}.success-page{min-height:100vh;width:100%;background:linear-gradient(160deg,#0f3460 0%,#1e5799 60%,#16a34a 100%);display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem 3rem;font-family:system-ui,-apple-system,sans-serif}.success-card{background:#fff;border-radius:20px;padding:2rem 1.5rem;width:100%;max-width:480px;box-shadow:0 20px 60px #00000040;text-align:center}.success-icon{width:72px;height:72px;margin:0 auto 1.25rem;animation:pop .4s cubic-bezier(.34,1.56,.64,1) both}.success-icon svg{width:100%;height:100%}@keyframes pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.success-title{font-size:1.5rem;font-weight:800;color:#166534;margin:0 0 1.25rem}.success-notice{background:#fef3c7;border:1.5px solid #fbbf24;border-radius:12px;padding:.9rem 1rem;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.75rem;text-align:left}.notice-icon{font-size:1.4rem;flex-shrink:0;margin-top:2px}.success-notice p{margin:0;font-size:.95rem;color:#78350f;line-height:1.5}.success-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.25rem;text-align:left}.success-summary h2{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0 0 .85rem}.summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.45rem 0;border-bottom:1px solid #e2e8f0}.summary-row:last-child{border-bottom:none}.summary-row.highlight{background:#f0fdf4;margin:0 -1.25rem;padding:.55rem 1.25rem;border-bottom:1px solid #bbf7d0}.summary-label{font-size:.85rem;color:#64748b;flex-shrink:0;min-width:130px}.summary-value{font-size:.9rem;font-weight:600;color:#1e293b;text-align:right}.ref-id{color:#0f3460;font-size:1rem;font-weight:800;letter-spacing:.04em}.success-note{font-size:.88rem;color:#64748b;margin-bottom:1.5rem;line-height:1.5}.btn-back{display:inline-block;padding:.75rem 1.5rem;background:#0f3460;color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-back:hover{background:#0c2a50}@media (min-width: 600px){.success-card{padding:2.5rem 2rem}.success-title{font-size:1.75rem}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#root{min-height:100vh}
