*{box-sizing:border-box;margin:0}:root{--teal: #07b9b3;--teal-dark: #059a95;--text: #1f2a37;--text-2: #5b6b7b;--border: #dde4ea;--bg: #f4f7f9;--danger: #d64550}body{font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.shell{max-width:480px;margin:0 auto;padding:24px 16px 48px}.brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.brand h2{color:var(--teal);font-size:20px;letter-spacing:-.02em}.lang-toggle{border:1px solid var(--border);background:#fff;border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer;color:var(--text-2)}.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px 20px;box-shadow:0 4px 16px #0f283c0d}.card h1{font-size:22px;margin-bottom:6px}.card .subtitle{color:var(--text-2);font-size:14px;margin-bottom:20px}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}.field .help{font-size:12px;color:var(--text-2);margin-top:4px}.field input{width:100%;padding:10px 12px;font-size:15px;border-radius:10px;border:1px solid var(--border);outline:none;background:#fff;color:var(--text)}.field input:focus{border-color:var(--teal)}.btn{width:100%;padding:12px;border:none;border-radius:10px;background:var(--teal);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.btn:hover{background:var(--teal-dark)}.btn:disabled{opacity:.55;cursor:default}.btn-ghost{background:none;border:none;color:var(--text-2);font-size:13px;cursor:pointer;padding:8px 0;margin-bottom:4px}.error{color:var(--danger);font-size:13px;margin:10px 0}.greet{background:#07b9b314;border:1px solid rgba(7,185,179,.3);color:var(--teal-dark);border-radius:10px;padding:10px 12px;font-size:14px;margin-bottom:18px}.section-title{font-size:13px;font-weight:700;margin:22px 0 4px}.section-help{font-size:12px;color:var(--text-2);margin-bottom:12px}.photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.photo-thumb{position:relative;width:84px;height:84px}.photo-thumb img,.photo-thumb .pdf{width:100%;height:100%;object-fit:cover;border-radius:10px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-2);background:var(--bg)}.photo-thumb button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:999px;border:none;background:var(--danger);color:#fff;font-size:12px;line-height:1;cursor:pointer}.add-photos{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:1.5px dashed var(--teal);color:var(--teal-dark);border-radius:10px;background:none;font-size:13.5px;font-weight:600;cursor:pointer}.success{text-align:center;padding:28px 8px}.success .check{width:56px;height:56px;border-radius:999px;background:#07b9b31f;color:var(--teal);font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.success h1{font-size:20px;margin-bottom:8px}.success p{color:var(--text-2);font-size:14px}.footer{text-align:center;color:var(--text-2);font-size:11px;margin-top:22px}.footer a{color:var(--teal-dark);text-decoration:none}.footer a:hover{text-decoration:underline}.cross-link{text-align:center;margin-top:16px;font-size:13px}.cross-link a{color:var(--teal-dark)}.greet .dates{color:var(--text-2);font-weight:400}.svc-card{border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:14px}.svc-card.svc-off{opacity:.65}.svc-name{font-size:15px;font-weight:700}.svc-desc{font-size:13px;color:var(--text-2);margin-top:2px}.svc-badge{display:inline-block;margin-top:10px;font-size:12px;font-weight:600;color:var(--danger);background:#d6455014;border-radius:999px;padding:4px 10px}.svc-time-label{font-size:12.5px;font-weight:600;margin:12px 0 6px}.slots{display:flex;flex-wrap:wrap;gap:8px}.slot{flex:1 1 30%;min-width:92px;padding:10px 6px;border-radius:10px;border:1.5px solid var(--border);background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}.slot:hover{border-color:var(--teal)}.slot.selected{border-color:var(--teal);background:#07b9b314}.slot-time{font-size:15px;font-weight:700;color:var(--text)}.slot-price{font-size:12px;color:var(--text-2)}.pay-note{font-size:12px;color:var(--text-2);text-align:center;margin-top:10px}.conf-detail{margin-top:10px;font-size:13px;color:var(--text-2)}.btn-link{display:inline-block;width:auto;margin-top:16px;padding:12px 22px;text-decoration:none}.spinner{width:34px;height:34px;margin:0 auto 14px;border-radius:999px;border:3px solid var(--border);border-top-color:var(--teal);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
