.resident-card[data-v-ace84082]{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;text-align:center;transition:transform .2s,box-shadow .2s}.resident-card[data-v-ace84082]:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-4px)}.avatar-wrapper[data-v-ace84082]{border-radius:50%;line-height:0;overflow:hidden}.avatar-img[data-v-ace84082]{border-radius:12px;height:200px;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;width:100px}.avatar-wrapper.has-tasks[data-v-ace84082]{animation:task-glow-ace84082 2s ease-in-out infinite;border-radius:12px}@keyframes task-glow-ace84082{0%,to{box-shadow:0 0 8px 4px rgba(255,200,50,.4)}50%{box-shadow:0 0 20px 10px rgba(255,200,50,.85)}}.resident-card.child[data-v-ace84082]{border-top:4px solid #42a5f5}.resident-card.parent[data-v-ace84082]{border-top:4px solid #66bb6a}.info h3[data-v-ace84082]{font-size:1.2rem;font-weight:700;margin:0}.role-badge[data-v-ace84082]{background:#f0f0f5;border-radius:12px;color:#666;display:inline-block;font-size:.75rem;margin-top:.25rem;padding:.15rem .6rem}.stats[data-v-ace84082]{display:flex;gap:2rem;margin-top:.5rem}.stat[data-v-ace84082]{align-items:center;display:flex;flex-direction:column}.stat-value[data-v-ace84082]{color:#1a1a2e;font-size:1.4rem;font-weight:700}.stat-label[data-v-ace84082]{color:#999;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.home[data-v-30c84bb1]{align-items:center;display:flex;justify-content:center;min-height:70vh}.residents-grid[data-v-30c84bb1]{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-width:1000px;width:100%}.loading[data-v-30c84bb1]{color:#999;font-size:1.2rem}.pending-page[data-v-383dd595]{align-items:center;display:flex;justify-content:center;min-height:80vh}.pending-card[data-v-383dd595]{background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.1);max-width:450px;padding:3rem;text-align:center}.pending-card h1[data-v-383dd595]{font-size:1.5rem;margin-bottom:.5rem}.pending-card p[data-v-383dd595]{color:#666;margin-bottom:1.5rem}.code-display[data-v-383dd595]{background:#f0f0f5;border-radius:12px;color:#1a1a2e;font-family:monospace;font-size:3rem;font-weight:700;letter-spacing:.5rem;margin-bottom:1.5rem;padding:1rem 2rem}.hint[data-v-383dd595]{font-size:.875rem}.token-info[data-v-383dd595]{color:#999;font-size:.8rem;margin-top:2rem}.token-info code[data-v-383dd595]{background:#f0f0f5;border-radius:4px;padding:.15rem .4rem}.rejected[data-v-383dd595]{background:#fdeaea;border-radius:8px;color:#e74c3c;margin-top:1.5rem;padding:1rem}.login-page[data-v-021283ec]{align-items:center;display:flex;justify-content:center;min-height:60vh}.login-card[data-v-021283ec]{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);max-width:400px;padding:2rem;width:100%}.login-card h1[data-v-021283ec]{color:#e67e22;margin-bottom:1.5rem;text-align:center}.form-group[data-v-021283ec]{margin-bottom:1rem}.form-group label[data-v-021283ec]{display:block;font-weight:600;margin-bottom:.25rem}.form-group input[data-v-021283ec]{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.5rem;width:100%}.error[data-v-021283ec]{color:#e74c3c;margin-bottom:1rem}button[data-v-021283ec]{background:#e67e22;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;width:100%}button[data-v-021283ec]:disabled{cursor:not-allowed;opacity:.6}.resident-hub[data-v-02fa04a1]{margin:0 auto;max-width:720px}.back-btn[data-v-02fa04a1]{background:none;border:none;color:#666;cursor:pointer;font-size:1.1rem;padding:.75rem 0}.hub-header[data-v-02fa04a1]{align-items:center;display:flex;gap:1.25rem;margin-bottom:2rem}.hub-info h1[data-v-02fa04a1]{font-size:1.75rem;margin:0}.header-stats[data-v-02fa04a1]{align-items:center;display:flex;gap:.75rem;margin-top:.4rem}.points-display[data-v-02fa04a1]{color:#e67e22;font-size:1rem;font-weight:700}.level-display[data-v-02fa04a1]{background:#e8eaf6;border-radius:8px;color:#1a1a2e;font-size:.9rem;font-weight:600;padding:.15rem .6rem}.hub-actions[data-v-02fa04a1]{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.hub-tile[data-v-02fa04a1]{align-items:center;background:#fff;border-radius:20px;border-top:6px solid transparent;box-shadow:0 4px 16px rgba(0,0,0,.08);color:#1a1a2e;display:flex;flex-direction:column;font-size:1.2rem;font-weight:700;gap:.75rem;justify-content:center;min-height:160px;padding:2rem 1rem;text-decoration:none;transition:transform .15s,box-shadow .15s}.hub-tile[data-v-02fa04a1]:active{transform:scale(.97)}.hub-tile[data-v-02fa04a1]:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-4px)}.hub-tile.tasks[data-v-02fa04a1]{border-top-color:#42a5f5}.hub-tile.learn[data-v-02fa04a1]{border-top-color:#3498db}.hub-tile.shop[data-v-02fa04a1]{border-top-color:#e67e22}.hub-tile.gallery[data-v-02fa04a1]{border-top-color:#9b59b6}.tile-icon[data-v-02fa04a1]{font-size:3rem;line-height:1}.tile-label[data-v-02fa04a1]{text-align:center}.empty[data-v-02fa04a1]{color:#999;font-size:1.1rem;margin-top:2rem;text-align:center}.resident-tasks[data-v-1b1f9df8]{margin:0 auto;max-width:600px}.back-btn[data-v-1b1f9df8]{background:none;border:none;color:#666;cursor:pointer;font-size:1.1rem;padding:.75rem 0}.resident-header[data-v-1b1f9df8]{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.header-avatar-img[data-v-1b1f9df8]{border-radius:12px;flex-shrink:0;height:160px;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;width:80px}.resident-header h1[data-v-1b1f9df8]{font-size:1.5rem;margin:0}.header-stats[data-v-1b1f9df8]{align-items:center;display:flex;gap:1rem;margin-top:.25rem}.points-display[data-v-1b1f9df8]{color:#e67e22;font-size:1rem;font-weight:700}.level-display[data-v-1b1f9df8]{background:#e8eaf6;border-radius:8px;color:#1a1a2e;font-size:.9rem;font-weight:600;padding:.1rem .5rem}.learn-link[data-v-1b1f9df8]{background:#3498db}.learn-link[data-v-1b1f9df8],.shop-link[data-v-1b1f9df8]{border-radius:8px;color:#fff;font-size:.9rem;font-weight:600;padding:.2rem .7rem;text-decoration:none}.shop-link[data-v-1b1f9df8]{background:#e67e22}.progress-bar-container[data-v-1b1f9df8]{margin-bottom:1.5rem}.progress-info[data-v-1b1f9df8]{color:#666;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.4rem}.today-points[data-v-1b1f9df8]{color:#2ecc71;font-weight:600}.progress-bar[data-v-1b1f9df8]{background:#e0e0e0;border-radius:5px;height:10px;overflow:hidden}.progress-fill[data-v-1b1f9df8]{background:#42a5f5;border-radius:5px;height:100%;transition:width .5s ease}.progress-fill.complete[data-v-1b1f9df8]{background:#2ecc71}.task-list[data-v-1b1f9df8]{display:flex;flex-direction:column;gap:.75rem}.task-card[data-v-1b1f9df8]{align-items:center;background:#fff;border-left:4px solid #42a5f5;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:pointer;display:flex;min-height:64px;padding:1.1rem 1.25rem;transition:transform .15s,box-shadow .15s}.task-card[data-v-1b1f9df8]:active{transform:scale(.98)}.task-card.optional[data-v-1b1f9df8]{border-left-color:#e67e22}.task-card.started[data-v-1b1f9df8]{background:#fff8e1}.task-card.done[data-v-1b1f9df8]{background:#e8f5e9;cursor:default}.task-card.approved[data-v-1b1f9df8]{background:#e8f5e9;cursor:default;opacity:.6}.task-card.urgent[data-v-1b1f9df8]{animation:pulse-1b1f9df8 2s infinite;border-left-color:#e74c3c}@keyframes pulse-1b1f9df8{0%,to{box-shadow:0 2px 8px rgba(0,0,0,.06)}50%{box-shadow:0 2px 16px rgba(231,76,60,.2)}}.task-content[data-v-1b1f9df8]{flex:1}.task-title[data-v-1b1f9df8]{font-size:1.1rem;font-weight:700}.task-desc[data-v-1b1f9df8]{color:#666;font-size:.85rem;margin-top:.15rem}.task-deadline[data-v-1b1f9df8]{color:#999;font-size:.75rem;margin-top:.3rem}.urgent-text[data-v-1b1f9df8]{color:#e74c3c;font-weight:600}.task-right[data-v-1b1f9df8]{align-items:center;display:flex;gap:.75rem}.task-points[data-v-1b1f9df8]{color:#1a1a2e;font-size:1.2rem;font-weight:700}.task-badge[data-v-1b1f9df8]{align-items:center;border-radius:50%;display:flex;font-size:1.3rem;font-weight:700;height:40px;justify-content:center;width:40px}.task-badge.open[data-v-1b1f9df8]{background:#e3f2fd;color:#1565c0}.task-badge.started[data-v-1b1f9df8]{background:#fff3e0;color:#e65100}.task-badge.done[data-v-1b1f9df8]{background:#c8e6c9;color:#2e7d32}.task-badge.approved[data-v-1b1f9df8]{background:#fff9c4;color:#f9a825}.empty[data-v-1b1f9df8]{color:#999;font-size:1.1rem;margin-top:2rem;text-align:center}.photo-icon[data-v-1b1f9df8]{cursor:pointer;font-size:1.5rem}.feedback[data-v-1b1f9df8]{animation:slideUp-1b1f9df8 .3s ease;border-radius:12px;bottom:2rem;cursor:pointer;font-size:1.1rem;font-weight:700;left:50%;padding:.75rem 2rem;position:fixed;transform:translateX(-50%);z-index:100}.feedback.success[data-v-1b1f9df8]{background:#d1fae5;color:#065f46}.feedback.error[data-v-1b1f9df8]{background:#fee2e2;color:#991b1b}.feedback.info[data-v-1b1f9df8]{background:#e3f2fd;color:#1565c0}@keyframes slideUp-1b1f9df8{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.shop[data-v-c4794368]{margin:0 auto;max-width:700px}.back-btn[data-v-c4794368]{background:none;border:none;color:#666;cursor:pointer;font-size:1.1rem;padding:.75rem 0}.shop-header[data-v-c4794368]{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.shop-header h1[data-v-c4794368]{margin:0}.balance[data-v-c4794368]{color:#e67e22;font-size:1.1rem;font-weight:700}.category[data-v-c4794368]{margin-bottom:2rem}.category h2[data-v-c4794368]{color:#666;font-size:1rem;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.items-grid[data-v-c4794368]{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.item-card[data-v-c4794368]{background:#fff;border-radius:12px;box-shadow:0 2px 6px rgba(0,0,0,.06);padding:1rem;text-align:center;transition:transform .15s}.item-card[data-v-c4794368]:hover{transform:translateY(-2px)}.item-card.unlocked[data-v-c4794368]{border:2px solid #2ecc71}.item-card.equipped[data-v-c4794368]{background:#ebf5fb;border:2px solid #3498db}.item-card.locked[data-v-c4794368]{opacity:.5}.item-preview[data-v-c4794368]{align-items:center;display:flex;height:60px;justify-content:center;margin-bottom:.5rem}.item-preview[data-v-c4794368] svg{max-height:60px;max-width:60px}.item-name[data-v-c4794368]{font-size:.85rem;font-weight:600;margin-bottom:.5rem}.btn[data-v-c4794368]{background:#1a1a2e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;padding:.3rem .8rem}.btn-small[data-v-c4794368]{padding:.25rem .6rem}.btn-buy[data-v-c4794368]{background:#e67e22}.btn-buy[data-v-c4794368]:disabled{cursor:not-allowed;opacity:.4}.btn-equipped[data-v-c4794368]{background:#3498db}.level-req[data-v-c4794368]{color:#999;font-size:.75rem}.message[data-v-c4794368]{border-radius:8px;font-weight:600;margin-top:1rem;padding:.75rem;text-align:center}.message.success[data-v-c4794368]{background:#d1fae5;color:#065f46}.message.error[data-v-c4794368]{background:#fee2e2;color:#991b1b}.learning[data-v-3e08067f]{margin:0 auto;max-width:500px}.back-btn[data-v-3e08067f]{background:none;border:none;color:#666;cursor:pointer;font-size:1.1rem;padding:.75rem 0}h1[data-v-3e08067f]{margin-bottom:1.5rem}.current-level[data-v-3e08067f]{color:#1a1a2e;font-size:1.2rem;font-weight:700;margin-bottom:1rem;text-align:center}.levels[data-v-3e08067f]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.level-card[data-v-3e08067f]{background:#fff;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.06);padding:.75rem 1rem}.level-card.locked[data-v-3e08067f]{opacity:.5}.level-card.complete[data-v-3e08067f]{border-left:3px solid #2ecc71}.level-header[data-v-3e08067f]{align-items:center;display:flex;justify-content:space-between;margin-bottom:.4rem}.level-number[data-v-3e08067f]{font-size:.9rem;font-weight:600}.lock-icon[data-v-3e08067f]{font-size:.8rem}.level-progress[data-v-3e08067f]{align-items:center;display:flex;gap:.75rem}.level-bar[data-v-3e08067f]{background:#e0e0e0;border-radius:4px;flex:1;height:8px;overflow:hidden}.level-fill[data-v-3e08067f]{background:#42a5f5;border-radius:4px;height:100%;transition:width .5s}.level-count[data-v-3e08067f]{color:#666;font-size:.8rem;min-width:3rem;text-align:right}.subject-picker[data-v-3e08067f]{margin-top:1rem}.subject-picker p[data-v-3e08067f]{color:#666;margin-bottom:.75rem}.subjects[data-v-3e08067f]{display:flex;flex-wrap:wrap;gap:.5rem}.subject-btn[data-v-3e08067f]{background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;flex:1;font-size:1rem;font-weight:600;min-width:80px;padding:.75rem 1rem;text-align:center;transition:border-color .2s}.subject-btn[data-v-3e08067f]:hover{border-color:#42a5f5}.subject-btn.random[data-v-3e08067f]{background:#fff3e0;border-color:#e67e22}.question-card[data-v-3e08067f]{background:#fff;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.08);padding:2rem;text-align:center}.question-badge[data-v-3e08067f]{color:#666;font-size:.85rem;margin-bottom:1rem}.question-card h2[data-v-3e08067f]{font-size:1.3rem;margin-bottom:1.5rem}.answers[data-v-3e08067f]{display:flex;flex-direction:column;gap:.6rem}.answer-btn[data-v-3e08067f]{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;font-size:1.05rem;padding:.9rem;transition:background .15s}.answer-btn[data-v-3e08067f]:hover{background:#e3f2fd;border-color:#42a5f5}.answer-btn[data-v-3e08067f]:active{transform:scale(.98)}.result-card[data-v-3e08067f]{background:#fff;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.08);padding:2rem;text-align:center}.result-card.correct[data-v-3e08067f]{border-top:4px solid #2ecc71}.result-card.wrong[data-v-3e08067f]{border-top:4px solid #e74c3c}.result-icon[data-v-3e08067f]{font-size:3rem;margin-bottom:.5rem}.result-card h2[data-v-3e08067f]{margin-bottom:.5rem}.result-card p[data-v-3e08067f]{color:#666;margin-bottom:.5rem}.points-earned[data-v-3e08067f]{color:#2ecc71;font-size:1.2rem;font-weight:700}.level-up[data-v-3e08067f]{animation:pulse-3e08067f 1s ease 3;color:#e67e22;font-size:1.3rem;font-weight:700}@keyframes pulse-3e08067f{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.result-actions[data-v-3e08067f]{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.btn[data-v-3e08067f]{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem}.btn-secondary[data-v-3e08067f]{background:#95a5a6}.all-done[data-v-3e08067f]{padding:3rem 1rem;text-align:center}.done-icon[data-v-3e08067f]{font-size:4rem;margin-bottom:1rem}.all-done h2[data-v-3e08067f]{margin-bottom:.5rem}.all-done p[data-v-3e08067f]{color:#666;margin-bottom:1.5rem}.resident-gallery[data-v-1faeda3e]{margin:0 auto;max-width:960px}.back-btn[data-v-1faeda3e]{background:none;border:none;color:#666;cursor:pointer;font-size:1.1rem;padding:.75rem 0}.gallery-header[data-v-1faeda3e]{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.gallery-header h1[data-v-1faeda3e]{font-size:1.75rem;margin:0}.subtitle[data-v-1faeda3e]{color:#666;margin:.25rem 0 0}.photo-grid[data-v-1faeda3e]{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.photo-card[data-v-1faeda3e]{all:unset;background:#fff;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.08);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:transform .15s,box-shadow .15s}.photo-card[data-v-1faeda3e]:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-4px)}.photo-card img[data-v-1faeda3e]{aspect-ratio:1/1;display:block;-o-object-fit:cover;object-fit:cover;width:100%}.photo-meta[data-v-1faeda3e]{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem}.photo-title[data-v-1faeda3e]{color:#1a1a2e;font-weight:700}.photo-date[data-v-1faeda3e]{color:#999;font-size:.8rem}.empty[data-v-1faeda3e]{color:#999;font-size:1.1rem;margin-top:2rem;text-align:center}.lightbox[data-v-1faeda3e]{align-items:center;background:rgba(0,0,0,.85);cursor:pointer;display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:200}.lightbox img[data-v-1faeda3e]{border-radius:12px;max-height:80vh;max-width:min(90vw,800px);-o-object-fit:contain;object-fit:contain}.lightbox-caption[data-v-1faeda3e]{color:#fff;display:flex;flex-direction:column;gap:.25rem;text-align:center}.admin-layout[data-v-9ab42acc]{display:flex;min-height:100vh}.sidebar[data-v-9ab42acc]{background:#1a1a2e;color:#fff;display:flex;flex-direction:column;padding:1rem;width:220px}.sidebar-brand[data-v-9ab42acc]{border-bottom:1px solid hsla(0,0%,100%,.1);font-size:1.25rem;font-weight:700;margin-bottom:2rem;padding-bottom:1rem}.sidebar-nav[data-v-9ab42acc]{display:flex;flex:1;flex-direction:column;gap:.5rem}.sidebar-nav a[data-v-9ab42acc]{border-radius:4px;color:hsla(0,0%,100%,.7);padding:.5rem .75rem;text-decoration:none}.sidebar-nav a.router-link-active[data-v-9ab42acc],.sidebar-nav a[data-v-9ab42acc]:hover{background:hsla(0,0%,100%,.1);color:#fff}.logout-btn[data-v-9ab42acc]{background:transparent;border:1px solid hsla(0,0%,100%,.3);border-radius:4px;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem}.admin-main[data-v-9ab42acc]{display:flex;flex:1;flex-direction:column}.topbar[data-v-9ab42acc]{background:#fff;border-bottom:1px solid #e0e0e0;font-weight:600;padding:1rem 2rem}.admin-content[data-v-9ab42acc]{flex:1;padding:2rem}.dashboard h1[data-v-4422669c]{margin-bottom:.5rem}.dashboard h2[data-v-4422669c]{font-size:1.1rem;margin-bottom:1rem;margin-top:2rem}.dashboard p[data-v-4422669c]{color:#666;margin-bottom:1.5rem}.stats[data-v-4422669c]{display:flex;flex-wrap:wrap;gap:1rem}.stat-card[data-v-4422669c]{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 4px rgba(0,0,0,.08);display:flex;flex-direction:column;min-width:130px;padding:1.25rem 1.5rem}.stat-card.highlight[data-v-4422669c]{border-top:3px solid #2ecc71}.stat-card.warning[data-v-4422669c]{border-top:3px solid #e67e22}.stat-number[data-v-4422669c]{color:#1a1a2e;font-size:2rem;font-weight:700}.stat-label[data-v-4422669c]{color:#666;font-size:.85rem;margin-top:.25rem}.quick-action[data-v-4422669c]{margin-top:1rem}.btn[data-v-4422669c]{background:#e67e22;border-radius:6px;color:#fff;display:inline-block;font-weight:600;padding:.6rem 1.2rem;text-decoration:none}.resident-cards[data-v-4422669c]{display:flex;flex-wrap:wrap;gap:1rem}.resident-stat-card[data-v-4422669c]{background:#fff;border-radius:10px;box-shadow:0 2px 4px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:.25rem;min-width:160px;padding:1rem 1.25rem}.resident-stat-card strong[data-v-4422669c]{font-size:1rem}.role[data-v-4422669c]{color:#999;font-size:.75rem}.resident-stats[data-v-4422669c]{color:#1a1a2e;display:flex;font-size:.85rem;font-weight:600;gap:1rem;margin-top:.25rem}.list-header[data-v-f233a9f2]{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}table[data-v-f233a9f2]{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.08);overflow:hidden;width:100%}td[data-v-f233a9f2],th[data-v-f233a9f2]{border-bottom:1px solid #eee;padding:.75rem 1rem;text-align:left}th[data-v-f233a9f2]{background:#f8f9fa;font-weight:600}tr.inactive[data-v-f233a9f2]{opacity:.5}.actions[data-v-f233a9f2]{display:flex;gap:.5rem}.btn[data-v-f233a9f2]{background:#1a1a2e;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:.875rem;padding:.5rem 1rem;text-decoration:none}.btn-small[data-v-f233a9f2]{font-size:.8rem;padding:.25rem .75rem}.btn-danger[data-v-f233a9f2]{background:#e74c3c}.btn-primary[data-v-f233a9f2]{background:#2ecc71}.resident-form[data-v-108af9e2]{max-width:500px}.resident-form h1[data-v-108af9e2]{margin-bottom:1.5rem}.form-group[data-v-108af9e2]{margin-bottom:1rem}.form-group label[data-v-108af9e2]{display:block;font-weight:600;margin-bottom:.25rem}.form-group input[data-v-108af9e2],.form-group select[data-v-108af9e2]{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.5rem;width:100%}.error[data-v-108af9e2]{color:#e74c3c;margin-bottom:1rem}.form-actions[data-v-108af9e2]{display:flex;gap:1rem;margin-top:1.5rem}.btn[data-v-108af9e2]{background:#1a1a2e;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;padding:.75rem 1.5rem;text-decoration:none}.btn-cancel[data-v-108af9e2]{background:#95a5a6}.btn[data-v-108af9e2]:disabled{cursor:not-allowed;opacity:.6}.avatar-section[data-v-108af9e2]{border-top:2px solid #e0e0e0;margin-top:2rem;padding-top:1.5rem}.avatar-section h2[data-v-108af9e2]{font-size:1.1rem;margin-bottom:.25rem}.avatar-preview[data-v-108af9e2]{margin-bottom:1rem}.avatar-preview-img[data-v-108af9e2]{border:2px solid #e0e0e0;border-radius:10px;height:160px;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;width:80px}.btn-primary[data-v-108af9e2]{background:#2ecc71}.schedule-section[data-v-108af9e2]{border-top:2px solid #e0e0e0;margin-top:2rem;padding-top:1.5rem}.schedule-section h2[data-v-108af9e2]{font-size:1.1rem;margin-bottom:.25rem}.hint[data-v-108af9e2]{color:#999;font-size:.85rem;margin-bottom:1rem}.schedule-table[data-v-108af9e2]{border-collapse:collapse;margin-bottom:1rem;width:100%}.schedule-table td[data-v-108af9e2],.schedule-table th[data-v-108af9e2]{border-bottom:1px solid #e8e8e8;padding:.5rem .75rem;text-align:left}.schedule-table th[data-v-108af9e2]{color:#666;font-size:.8rem;font-weight:600}.schedule-table td input[type=time][data-v-108af9e2]{border:1px solid #ccc;border-radius:4px;font-size:.9rem;padding:.35rem}.success[data-v-108af9e2]{color:#2ecc71;margin-top:.75rem}h1[data-v-4e2f9813]{margin-bottom:1.5rem}.devices[data-v-4e2f9813]{display:flex;flex-direction:column;gap:1.5rem}.device-card[data-v-4e2f9813]{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:1.5rem}.device-header[data-v-4e2f9813]{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.device-info[data-v-4e2f9813]{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.device-info h2[data-v-4e2f9813]{font-size:1.1rem;margin:0}.name-input[data-v-4e2f9813]{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.25rem .5rem}.code[data-v-4e2f9813]{background:#fff8f0;border-radius:4px;color:#e67e22;font-family:monospace;font-size:1rem;font-weight:600;padding:.15rem .5rem}.device-meta[data-v-4e2f9813]{align-items:flex-end;color:#999;display:flex;flex-direction:column;font-size:.8rem;gap:.15rem}.badge[data-v-4e2f9813]{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:600;padding:.2rem .6rem}.badge.pending[data-v-4e2f9813]{background:#fef3c7;color:#92400e}.badge.approved[data-v-4e2f9813]{background:#d1fae5;color:#065f46}.badge.rejected[data-v-4e2f9813]{background:#fee2e2;color:#991b1b}.residents-section[data-v-4e2f9813]{border-top:1px solid #eee;margin-bottom:1rem;padding-top:1rem}.residents-section h3[data-v-4e2f9813]{color:#666;font-size:.9rem;font-weight:600;margin-bottom:.75rem}.resident-checkboxes[data-v-4e2f9813]{display:flex;flex-wrap:wrap;gap:.5rem}.checkbox-label[data-v-4e2f9813]{align-items:center;background:#f8f9fa;border-radius:8px;cursor:pointer;display:flex;gap:.4rem;padding:.4rem .75rem;transition:background .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label[data-v-4e2f9813]:hover{background:#e8eaf6}.checkbox-label input[type=checkbox][data-v-4e2f9813]{accent-color:#1a1a2e;cursor:pointer;height:1rem;width:1rem}.checkbox-name[data-v-4e2f9813]{font-size:.9rem;font-weight:600}.checkbox-role[data-v-4e2f9813]{color:#999;font-size:.75rem}.device-actions[data-v-4e2f9813]{border-top:1px solid #eee;display:flex;flex-wrap:wrap;gap:.5rem;padding-top:1rem}.btn[data-v-4e2f9813]{background:#1a1a2e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.4rem .9rem}.btn-approve[data-v-4e2f9813]{background:#2ecc71}.btn-reject[data-v-4e2f9813]{background:#e67e22}.btn-danger[data-v-4e2f9813]{background:#e74c3c}.list-header[data-v-a33f7296]{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.template-cards[data-v-a33f7296]{display:flex;flex-direction:column;gap:.75rem}.template-card[data-v-a33f7296]{background:#fff;border-radius:12px;box-shadow:0 2px 6px rgba(0,0,0,.06);padding:1rem 1.25rem}.template-card.inactive[data-v-a33f7296]{opacity:.45}.card-header[data-v-a33f7296]{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.card-header strong[data-v-a33f7296]{font-size:1rem}.desc[data-v-a33f7296]{color:#999;display:block;font-size:.8rem;margin-top:.1rem}.card-badges[data-v-a33f7296]{display:flex;gap:.4rem}.badge[data-v-a33f7296]{background:#e8eaf6;border-radius:8px;color:#3949ab;font-size:.75rem;font-weight:600;padding:.15rem .5rem}.badge.type[data-v-a33f7296]{background:#e3f2fd;color:#1565c0}.badge.role[data-v-a33f7296]{background:#f3e5f5;color:#7b1fa2}.card-details[data-v-a33f7296]{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.detail[data-v-a33f7296]{color:#666;font-size:.8rem}.tag[data-v-a33f7296]{background:#f0f0f5;border-radius:6px;color:#666;font-size:.7rem;padding:.1rem .4rem}.tag.photo[data-v-a33f7296]{background:#fff3e0;color:#e65100}.tag.approval[data-v-a33f7296]{background:#fce4ec;color:#c62828}.tag.random[data-v-a33f7296]{background:#e8f5e9;color:#2e7d32}.card-slots[data-v-a33f7296]{display:flex;gap:.4rem;margin-bottom:.5rem}.slot-badge[data-v-a33f7296]{background:#e0f7fa;border-radius:6px;color:#00695c;font-size:.75rem;font-weight:600;padding:.2rem .6rem}.slot-badge.none[data-v-a33f7296]{background:#f5f5f5;color:#999;font-weight:400}.card-actions[data-v-a33f7296]{display:flex;gap:.4rem}.btn[data-v-a33f7296]{background:#1a1a2e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:.85rem;padding:.5rem 1rem;text-decoration:none}.btn-small[data-v-a33f7296]{font-size:.8rem;padding:.25rem .75rem}.btn-primary[data-v-a33f7296]{background:#2ecc71}.btn-danger[data-v-a33f7296]{background:#e74c3c}.template-form[data-v-1b5c4992]{max-width:700px}.template-form h1[data-v-1b5c4992]{margin-bottom:1.5rem}fieldset[data-v-1b5c4992]{border:1px solid #e0e0e0;border-radius:10px;margin-bottom:1.25rem;padding:1rem 1.25rem}legend[data-v-1b5c4992]{color:#1a1a2e;font-size:.9rem;font-weight:700;padding:0 .5rem}.hint[data-v-1b5c4992]{color:#999;font-size:.8rem;margin-bottom:.5rem}.form-group[data-v-1b5c4992]{margin-bottom:.75rem}.form-group label[data-v-1b5c4992]{display:block;font-size:.85rem;font-weight:600;margin-bottom:.2rem}.form-group input[data-v-1b5c4992],.form-group select[data-v-1b5c4992],.form-group textarea[data-v-1b5c4992]{border:1px solid #ccc;border-radius:6px;font-size:.95rem;padding:.5rem;width:100%}.form-group.small[data-v-1b5c4992]{max-width:100px}.form-row[data-v-1b5c4992]{display:flex;gap:.75rem}.form-row .form-group[data-v-1b5c4992]{flex:1}.checkboxes-row[data-v-1b5c4992]{display:flex;flex-wrap:wrap;gap:1.25rem}.checkbox-label[data-v-1b5c4992]{align-items:center;cursor:pointer;display:flex;font-size:.9rem;font-weight:400;gap:.4rem}.checkbox-label input[data-v-1b5c4992]{width:auto}.weekday-checkboxes[data-v-1b5c4992]{display:flex;flex-wrap:wrap;gap:.5rem}.weekday-label[data-v-1b5c4992]{align-items:center;background:#f0f0f5;border:2px solid transparent;border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.25rem;padding:.4rem .7rem;transition:all .15s}.weekday-label.active[data-v-1b5c4992]{background:#e3f2fd;border-color:#42a5f5}.weekday-label input[data-v-1b5c4992]{display:none;width:auto}.error[data-v-1b5c4992]{color:#e74c3c;margin-bottom:1rem}.form-actions[data-v-1b5c4992]{display:flex;gap:.75rem;margin-top:1rem}.btn[data-v-1b5c4992]{background:#1a1a2e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:.95rem;padding:.6rem 1.25rem;text-decoration:none}.btn-small[data-v-1b5c4992]{font-size:.85rem;padding:.3rem .8rem}.btn-primary[data-v-1b5c4992]{background:#2ecc71}.btn-cancel[data-v-1b5c4992]{background:#95a5a6}.btn-danger[data-v-1b5c4992]{background:#e74c3c}.slots-section[data-v-1b5c4992]{border-top:2px solid #e0e0e0;margin-top:2rem;padding-top:1.5rem}.slots-section h2[data-v-1b5c4992]{font-size:1.1rem;margin-bottom:.25rem}.slots-list[data-v-1b5c4992]{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.slot-card[data-v-1b5c4992]{align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:10px;display:flex;justify-content:space-between;padding:.75rem 1rem}.slot-info[data-v-1b5c4992]{display:flex;flex-direction:column;gap:.15rem}.slot-info strong[data-v-1b5c4992]{font-size:.95rem}.slot-times[data-v-1b5c4992]{color:#666;font-size:.8rem}.slot-extra[data-v-1b5c4992]{color:#999;font-size:.75rem}.slot-actions[data-v-1b5c4992]{display:flex;gap:.4rem}.empty[data-v-1b5c4992]{color:#999;font-size:.9rem;font-style:italic;margin:.75rem 0}.slot-form[data-v-1b5c4992]{background:#f8f9fa;border-radius:10px;margin-top:1rem;padding:1rem 1.25rem}.slot-form h3[data-v-1b5c4992]{font-size:.95rem;margin-bottom:.75rem}.slot-form-actions[data-v-1b5c4992]{display:flex;gap:.5rem;margin-top:.75rem}.slot-mode-badge[data-v-1b5c4992]{background:#e3f2fd;border-radius:3px;color:#1565c0;display:inline-block;font-size:.65rem;margin-left:.4rem;padding:.1rem .35rem;vertical-align:middle}.list-header[data-v-65c89b44]{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.header-actions[data-v-65c89b44]{display:flex;gap:.5rem}.resident-groups[data-v-65c89b44]{display:flex;flex-direction:column;gap:1.5rem}.resident-group[data-v-65c89b44]{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:1.25rem}.resident-group h2[data-v-65c89b44]{border-bottom:1px solid #eee;font-size:1.1rem;margin-bottom:.75rem;padding-bottom:.5rem}.task-list[data-v-65c89b44]{display:flex;flex-direction:column;gap:.5rem}.task-item[data-v-65c89b44]{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:1rem;padding:.5rem .75rem}.task-item.approved[data-v-65c89b44]{background:#d1fae5}.task-item.done[data-v-65c89b44]{background:#fef3c7}.task-item.optional[data-v-65c89b44]{border-left:3px solid #e67e22}.task-info[data-v-65c89b44]{flex:1}.task-title[data-v-65c89b44]{font-weight:600}.task-type[data-v-65c89b44]{color:#999;font-size:.75rem;margin-left:.5rem}.task-status[data-v-65c89b44]{align-items:center;display:flex;gap:.5rem}.badge[data-v-65c89b44]{border-radius:10px;font-size:.75rem;font-weight:600;padding:.15rem .5rem}.badge.open[data-v-65c89b44]{background:#e8eaf6;color:#3949ab}.badge.started[data-v-65c89b44]{background:#fff3e0;color:#e65100}.badge.done[data-v-65c89b44]{background:#fef3c7;color:#92400e}.badge.approved[data-v-65c89b44]{background:#d1fae5;color:#065f46}.points[data-v-65c89b44]{color:#1a1a2e;font-size:.9rem;font-weight:700}.points.muted[data-v-65c89b44]{color:#999;font-weight:400}.btn[data-v-65c89b44]{background:#1a1a2e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.btn-small[data-v-65c89b44]{font-size:.8rem;padding:.25rem .75rem}.btn-approve[data-v-65c89b44]{background:#2ecc71}h1[data-v-4580de56]{margin-bottom:1.5rem}.photos-grid[data-v-4580de56]{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.photo-card[data-v-4580de56]{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.photo-img[data-v-4580de56]{height:200px;-o-object-fit:cover;object-fit:cover;width:100%}.photo-info[data-v-4580de56]{display:flex;flex-direction:column;gap:.15rem;padding:.75rem 1rem}.photo-info strong[data-v-4580de56]{font-size:1rem}.photo-info span[data-v-4580de56]{color:#666;font-size:.85rem}.date[data-v-4580de56]{color:#999;font-size:.75rem}.photo-actions[data-v-4580de56]{display:flex;gap:.5rem;padding:0 1rem 1rem}.btn[data-v-4580de56]{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.4rem 1rem}.btn-approve[data-v-4580de56]{background:#2ecc71}.btn-reject[data-v-4580de56]{background:#e74c3c}.list-header[data-v-060683ac]{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.form-card[data-v-060683ac]{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);margin-bottom:1.5rem;padding:1.5rem}.form-card h2[data-v-060683ac]{font-size:1.1rem;margin-bottom:1rem}.form-group[data-v-060683ac]{margin-bottom:.75rem}.form-group label[data-v-060683ac]{display:block;font-size:.85rem;font-weight:600;margin-bottom:.2rem}.form-group input[data-v-060683ac],.form-group select[data-v-060683ac]{border:1px solid #ccc;border-radius:4px;font-size:.9rem;padding:.4rem;width:100%}.form-row[data-v-060683ac]{display:flex;gap:.75rem}.form-row .form-group[data-v-060683ac]{flex:1}.form-actions[data-v-060683ac]{display:flex;gap:.5rem;margin-top:1rem}table[data-v-060683ac]{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.08);overflow:hidden;width:100%}td[data-v-060683ac],th[data-v-060683ac]{border-bottom:1px solid #eee;font-size:.9rem;padding:.6rem .75rem;text-align:left}th[data-v-060683ac]{background:#f8f9fa;font-weight:600}tr.inactive[data-v-060683ac]{opacity:.5}.actions[data-v-060683ac]{display:flex;gap:.5rem}.btn[data-v-060683ac]{background:#1a1a2e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.4rem .9rem}.btn-small[data-v-060683ac]{font-size:.8rem;padding:.25rem .6rem}.btn-primary[data-v-060683ac]{background:#2ecc71}.btn-danger[data-v-060683ac]{background:#e74c3c}.btn-cancel[data-v-060683ac]{background:#95a5a6}.schedule-override[data-v-1f8d4028]{max-width:800px}.schedule-override h1[data-v-1f8d4028]{margin-bottom:.25rem}.hint[data-v-1f8d4028]{color:#999;font-size:.85rem;margin-bottom:1.25rem}.date-picker[data-v-1f8d4028]{margin-bottom:1.5rem}.date-picker label[data-v-1f8d4028]{font-weight:600;margin-right:.5rem}.date-picker input[data-v-1f8d4028]{border:1px solid #ccc;border-radius:6px;font-size:.95rem;padding:.4rem}.override-table[data-v-1f8d4028]{border-collapse:collapse;margin-bottom:1rem;width:100%}.override-table td[data-v-1f8d4028],.override-table th[data-v-1f8d4028]{border-bottom:1px solid #e8e8e8;padding:.6rem .75rem;text-align:left}.override-table th[data-v-1f8d4028]{color:#666;font-size:.8rem;font-weight:600}.override-table td input[type=time][data-v-1f8d4028]{border:1px solid #ccc;border-radius:4px;font-size:.9rem;padding:.35rem}.default-time[data-v-1f8d4028]{color:#999;font-size:.9rem}.role-badge[data-v-1f8d4028]{background:#e3f2fd;border-radius:4px;color:#1565c0;display:inline-block;font-size:.7rem;margin-left:.4rem;padding:.1rem .4rem}.empty[data-v-1f8d4028],.loading[data-v-1f8d4028]{color:#999;font-style:italic}.form-actions[data-v-1f8d4028]{margin-top:1rem}.btn[data-v-1f8d4028]{background:#1a1a2e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:.95rem;padding:.6rem 1.25rem}.btn[data-v-1f8d4028]:disabled{cursor:not-allowed;opacity:.6}.success[data-v-1f8d4028]{color:#2ecc71;margin-top:.75rem}.error[data-v-1f8d4028]{color:#e74c3c;margin-top:.75rem}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6}.navbar{align-items:center;background:#1a1a2e;display:flex;justify-content:space-between;padding:1rem 2rem}.navbar-brand a{color:#fff;font-size:1.25rem;font-weight:700;text-decoration:none}.navbar-links a{color:hsla(0,0%,100%,.8);font-size:.9rem;text-decoration:none}.navbar-links a:hover{color:#fff}.main-content{margin:2rem auto;max-width:1200px;padding:0 1rem}.home h1{font-size:2rem;margin-bottom:.5rem}