: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;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}.kiosk-container{display:flex;flex-direction:column;height:90vh;justify-content:space-between}.kiosk-header h1{font-size:3.5rem;color:#2c3e50;margin-bottom:.5rem}.card-grid{display:flex;justify-content:center;gap:3rem;margin-top:2rem}.action-card{background-color:#fff;border:2px solid #e0e0e0;border-radius:20px;padding:3rem;width:300px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px #0000001a}.action-card:hover{transform:translateY(-5px);box-shadow:0 10px 15px #0000001a;border-color:#646cff}.action-card .icon{font-size:5rem;display:block;margin-bottom:1rem}.action-card h2{font-size:2rem;margin:0;color:#333}.check-in{border-bottom:8px solid #4caf50}.check-out{border-bottom:8px solid #ff9800}.screen-content{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 4px 6px #0000001a;max-width:600px;margin:0 auto}.back-btn{margin-top:2rem;padding:1rem 2rem;font-size:1.2rem;background-color:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer}.input-display{background-color:#f8f9fa;border:2px solid #ced4da;border-radius:8px;padding:1rem;font-size:2rem;letter-spacing:5px;margin-bottom:2rem;color:#333;min-height:3rem;display:flex;align-items:center;justify-content:center}.secure-mode{font-family:monospace;font-size:3rem;color:#2c3e50}.keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-width:300px;margin:0 auto}.keypad-btn{background-color:#fff;border:1px solid #ddd;border-radius:50%;width:80px;height:80px;font-size:1.8rem;font-weight:700;cursor:pointer;transition:background-color .2s;color:#2c3e50;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a;margin:0 auto}.keypad-btn:active{background-color:#e0e0e0;transform:scale(.95)}.keypad-btn.submit{background-color:#4caf50;color:#fff;border-color:#4caf50;font-size:1.2rem}.keypad-btn.clear{background-color:#ff9800;color:#fff;border-color:#ff9800;font-size:1.5rem}.child-grid{display:flex;justify-content:center;gap:20px;margin-bottom:2rem}.child-card{background-color:#f0f0f0;border:3px solid #ddd;border-radius:15px;padding:1.5rem;width:150px;cursor:pointer;transition:all .2s ease;position:relative;opacity:.7}.child-card.selected{background-color:#e8f5e9;border-color:#4caf50;transform:translateY(-5px);opacity:1;box-shadow:0 5px 15px #4caf504d}.child-emoji{font-size:4rem;display:block;margin-bottom:.5rem}.child-card h3{margin:0;color:#333}.checkmark{position:absolute;top:10px;right:10px;font-size:1.5rem}.submit-action-btn{background-color:#2196f3;color:#fff;font-size:1.5rem;padding:1rem 3rem;border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 6px #0003}.submit-action-btn:hover{background-color:#1976d2}.mode-toggle-container{background:#fff;padding:.5rem 1rem;border-radius:50px;display:inline-flex;align-items:center;gap:10px;box-shadow:0 2px 5px #0000001a}.mode-switch-wrapper{background-color:#f0f4f8;padding:.8rem 1.5rem;border-radius:12px;display:inline-flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #d1d9e6}.mode-hint{margin:0;font-size:.85rem;color:#555;font-style:italic}.mode-btn{background:#fff;border:2px solid #2196f3;color:#2196f3;padding:8px 20px;border-radius:25px;font-weight:700;cursor:pointer;font-size:1rem;transition:all .2s;box-shadow:0 2px 4px #2196f31a}.mode-btn:hover{background:#2196f3;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #2196f34d}.child-card.disabled{background-color:#e0e0e0;border-color:#bdbdbd;opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.status-badge{display:block;margin-top:10px;font-size:.8rem;background-color:#616161;color:#fff;padding:4px 8px;border-radius:10px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:2px solid #eee;padding-bottom:10px}.count-badge{background-color:#2196f3;color:#fff;padding:5px 15px;border-radius:20px;font-weight:700}.roster-list{text-align:left;max-height:400px;overflow-y:auto}.roster-item{display:flex;align-items:center;background:#f9f9f9;border:1px solid #eee;padding:10px;margin-bottom:10px;border-radius:8px}.roster-emoji{font-size:2rem;margin-right:15px}.roster-info h3{margin:0;font-size:1.1rem}.roster-info p{margin:0;font-size:.9rem;color:#666}.locked-msg{color:#d32f2f;font-size:1.5rem;font-weight:700;animation:pulse 1s infinite}.disabled-grid{opacity:.5;pointer-events:none}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.family-header{margin-bottom:2rem;border-bottom:2px solid #f0f0f0;padding-bottom:1rem}.welcome-text{color:#2c3e50;font-size:2rem;margin:0}.sub-text{color:#7f8c8d;font-size:1.1rem;margin-top:.5rem}
