:root{--bg: #0f172a;--surface: #1e293b;--surface-2: #334155;--text: #f1f5f9;--text-muted: #94a3b8;--primary: #2563eb;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--radius: 16px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}button{font-family:inherit}.app{min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:16px}.top-bar h1{font-size:1.25rem;margin:0}.icon-button{background:none;border:none;color:var(--text-muted);font-size:1.5rem;padding:8px;cursor:pointer;line-height:1}.icon-button:active{color:var(--text)}.search-field{margin:0 16px 16px;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--surface-2);background:var(--surface);color:var(--text);font-size:1rem}.child-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;padding:0 16px 24px;overflow-y:auto}.child-tile{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--surface);border:none;border-radius:var(--radius);padding:16px 8px;color:var(--text);cursor:pointer;min-height:120px}.child-tile:active{background:var(--surface-2)}.child-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600}.child-name{font-size:1rem;font-weight:500;text-align:center;word-break:break-word}.empty-state{padding:32px 16px;text-align:center;color:var(--text-muted)}.child-action-screen{display:flex;flex-direction:column;flex:1;padding:24px 16px;gap:16px}.child-action-header{display:flex;align-items:center;gap:12px}.child-action-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;align-self:center}.child-action-name{font-size:1.5rem;font-weight:600;text-align:center;margin:0 0 24px}.big-action-button{flex:1;min-height:120px;border-radius:var(--radius);border:none;font-size:1.5rem;font-weight:600;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.big-action-button.arrived{background:var(--success)}.big-action-button.missing{background:var(--warning)}.action-buttons{display:flex;flex-direction:column;gap:16px;flex:1}.followup-card{background:var(--surface);border-radius:var(--radius);padding:24px;text-align:center;display:flex;flex-direction:column;gap:16px}.primary-button{background:var(--primary);color:#fff;border:none;border-radius:12px;padding:16px;font-size:1.1rem;font-weight:600;cursor:pointer;min-height:56px}.secondary-button{background:var(--surface-2);color:var(--text);border:none;border-radius:12px;padding:14px;font-size:1rem;cursor:pointer;min-height:48px}.danger-button{background:var(--danger);color:#fff;border:none;border-radius:12px;padding:14px;font-size:1rem;cursor:pointer;min-height:48px}.admin-screen{flex:1;overflow-y:auto;padding:0 16px 24px;display:flex;flex-direction:column;gap:24px}.admin-section{background:var(--surface);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px}.admin-section h2{margin:0;font-size:1.1rem}.admin-child-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--surface-2)}.admin-child-row:last-child{border-bottom:none}.admin-child-row .child-avatar{width:40px;height:40px;font-size:1rem;flex-shrink:0}.admin-child-row .name{flex:1}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:.9rem;color:var(--text-muted)}.form-field input[type=text],.form-field input[type=tel],.form-field input[type=password],.form-field textarea,.form-field select{padding:12px;border-radius:10px;border:1px solid var(--surface-2);background:var(--bg);color:var(--text);font-size:1rem}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-group label{display:flex;align-items:center;gap:8px;font-size:1rem}.photo-buttons{display:flex;gap:12px}.photo-buttons label{flex:1;text-align:center;background:var(--surface-2);border-radius:10px;padding:12px;cursor:pointer}.photo-buttons input{display:none}.photo-preview{width:96px;height:96px;border-radius:50%;object-fit:cover;align-self:center}.error-list{color:var(--danger);font-size:.9rem;padding-left:20px;margin:0}.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:260px;margin:0 auto}.pin-keypad button{aspect-ratio:1;border-radius:50%;border:none;background:var(--surface);color:var(--text);font-size:1.4rem}.pin-dots{display:flex;justify-content:center;gap:12px;margin:16px 0}.pin-dot{width:14px;height:14px;border-radius:50%;background:var(--surface-2)}.pin-dot.filled{background:var(--primary)}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:12px}.row>*{flex:1}.muted{color:var(--text-muted);font-size:.9rem}
