@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-base:#0b0f1a;--bg-surface:#ffffff0a;--bg-surface-hover:#ffffff12;--bg-card:#ffffff0f;--bg-input:#ffffff0f;--border-subtle:#ffffff14;--border-input:#ffffff1f;--text-primary:#f0f2f5;--text-secondary:#8b92a5;--text-muted:#5a6178;--accent:#6366f1;--accent-hover:#818cf8;--accent-glow:#6366f140;--danger:#ef4444;--danger-hover:#f87171;--success:#22c55e;--warning:#f59e0b;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-card:0 1px 3px #0000004d, 0 8px 32px #00000026;--transition:.2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6}#app{min-height:100vh}.page-container{background:radial-gradient(ellipse at 20% 50%, #6366f11f 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #8b5cf614 0%, transparent 50%), var(--bg-base);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-card);padding:32px}h1{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 20px;font-size:22px;font-weight:700}h2{letter-spacing:-.01em;color:var(--text-primary);margin:0 0 16px;font-size:17px;font-weight:600}h3{color:var(--text-secondary);margin:0 0 12px;font-size:15px;font-weight:600}p{color:var(--text-secondary);margin:8px 0;font-size:14px}.form{flex-direction:column;gap:14px;display:flex}label{color:var(--text-secondary);font-size:13px;font-weight:500}input,select{border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--bg-input);height:42px;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:0 14px;font-family:inherit;font-size:14px}input::placeholder{color:var(--text-muted)}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238b92a5' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}select option{color:var(--text-primary);background:#1a1f2e}button{border-radius:var(--radius-sm);cursor:pointer;height:40px;transition:all var(--transition);background:var(--accent);color:#fff;border:0;padding:0 18px;font-family:inherit;font-size:13px;font-weight:600}button:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 20px var(--accent-glow)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.4;cursor:not-allowed}button.danger{background:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-hover);box-shadow:0 0 20px #ef444440}button.secondary{color:var(--text-secondary);background:#ffffff14}button.secondary:hover:not(:disabled){box-shadow:none;background:#ffffff1f}.error-message,.error{color:var(--danger);margin:4px 0 8px;font-size:13px}.success{color:var(--success);font-size:13px}.hint-text{color:var(--text-muted);margin:8px 0 0;font-size:12px}.panel{background:var(--bg-card);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px}table{border-collapse:separate;border-spacing:0;width:100%;margin-top:16px}th,td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:12px 10px;font-size:13px}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:#ffffff08;font-size:12px;font-weight:600}tr:hover td{background:var(--bg-surface-hover)}td{color:var(--text-secondary)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.toolbar input,.toolbar select{border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--bg-input);height:38px;color:var(--text-primary);padding:0 12px;font-size:13px}.pager{align-items:center;gap:12px;margin-top:16px;display:flex}.pager span{color:var(--text-muted);font-size:12px}.pager button{height:34px;color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0f;padding:0 14px;font-size:12px}.pager button:hover:not(:disabled){box-shadow:none;background:#ffffff1a}.refresh-btn{height:38px;color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0f;padding:0 16px;font-size:13px}.refresh-btn:hover:not(:disabled){color:var(--text-primary);box-shadow:none;background:#ffffff1a}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.login-page[data-v-076a1e94]{background:radial-gradient(at 30% 40%,#6366f126 0%,#0000 50%),radial-gradient(at 70% 60%,#a855f71a 0%,#0000 50%),radial-gradient(at 50% 100%,#3b82f60f 0%,#0000 40%),#0b0f1a;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card[data-v-076a1e94]{-webkit-backdrop-filter:blur(40px);background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;width:100%;max-width:400px;padding:40px 36px;box-shadow:0 4px 6px #0000001a,0 24px 64px #0003}.brand[data-v-076a1e94]{text-align:center;margin-bottom:32px}.brand-icon[data-v-076a1e94]{margin-bottom:12px;display:inline-block}.brand h1[data-v-076a1e94]{letter-spacing:-.03em;background:linear-gradient(135deg,#e0e7ff 0%,#c4b5fd 50%,#a78bfa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:26px;font-weight:700}.subtitle[data-v-076a1e94]{color:#5a6178;margin:6px 0 0;font-size:13px;font-weight:500}.login-form[data-v-076a1e94]{flex-direction:column;gap:18px;display:flex}.field[data-v-076a1e94]{flex-direction:column;gap:6px;display:flex}.field label[data-v-076a1e94]{color:#8b92a5;font-size:13px;font-weight:500}.field input[data-v-076a1e94]{color:#f0f2f5;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;height:46px;padding:0 16px;font-size:15px;transition:all .2s}.field input[data-v-076a1e94]:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f133}.login-btn[data-v-076a1e94]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:48px;margin-top:6px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.login-btn[data-v-076a1e94]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 32px #6366f159}.login-btn[data-v-076a1e94]:active:not(:disabled){transform:translateY(0)}.spinner[data-v-076a1e94]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-076a1e94}@keyframes spin-076a1e94{to{transform:rotate(360deg)}}.error-message[data-v-076a1e94]{text-align:center;color:#f87171;margin:16px 0 0;font-size:13px}.admin-layout[data-v-e54ebc11]{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar[data-v-e54ebc11]{background:#ffffff08;border-right:1px solid #ffffff0f;flex-direction:column;gap:6px;padding:20px 14px;display:flex;overflow-y:auto}.sidebar-brand[data-v-e54ebc11]{align-items:center;gap:10px;padding:4px 10px 16px;display:flex}.brand-text[data-v-e54ebc11]{letter-spacing:-.03em;background:linear-gradient(135deg,#e0e7ff 0%,#c4b5fd 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.user-card[data-v-e54ebc11]{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.avatar[data-v-e54ebc11]{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:flex}.user-meta[data-v-e54ebc11]{flex-direction:column;gap:1px;display:flex;overflow:hidden}.user-name[data-v-e54ebc11]{color:#e5e7eb;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-role[data-v-e54ebc11]{color:#6b7280;font-size:11px;font-weight:500}.nav[data-v-e54ebc11]{flex-direction:column;flex:1;gap:2px;display:flex}.nav-section[data-v-e54ebc11]{color:#4b5563;text-transform:uppercase;letter-spacing:.06em;padding:16px 12px 6px;font-size:11px;font-weight:600}.nav-item[data-v-e54ebc11]{color:#9ca3af;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item[data-v-e54ebc11]:hover{color:#e5e7eb;background:#ffffff0d}.nav-item.router-link-active[data-v-e54ebc11]{color:#a5b4fc;background:#6366f11f}.nav-item.router-link-active svg[data-v-e54ebc11]{color:#818cf8}.logout-btn[data-v-e54ebc11]{color:#6b7280;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:40px;margin-top:auto;font-size:13px;font-weight:500;transition:all .15s;display:flex}.logout-btn[data-v-e54ebc11]:hover{color:#f87171;box-shadow:none;background:#ef444414;border-color:#ef444426}.content[data-v-e54ebc11]{background:radial-gradient(at 80% 20%,#6366f10a 0%,#0000 50%),#0b0f1a;padding:28px;overflow-y:auto}.dashboard[data-v-9d74bb7f]{flex-direction:column;gap:20px;display:flex}.dash-header[data-v-9d74bb7f]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dash-header h1[data-v-9d74bb7f]{margin:0 0 4px}.greeting[data-v-9d74bb7f]{color:var(--text-muted);margin:0;font-size:13px}.header-actions[data-v-9d74bb7f]{align-items:center;gap:10px;display:flex}.period-picker[data-v-9d74bb7f]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff0a;display:flex;overflow:hidden}.period-btn[data-v-9d74bb7f]{height:36px;color:var(--text-muted);border:none;border-right:1px solid var(--border-subtle);cursor:pointer;background:0 0;padding:0 14px;font-size:12px;font-weight:600;transition:all .15s}.period-btn[data-v-9d74bb7f]:last-child{border-right:none}.period-btn[data-v-9d74bb7f]:hover{color:var(--text-primary);box-shadow:none;background:#ffffff0a}.period-btn.active[data-v-9d74bb7f]{background:var(--accent);color:#fff}.period-btn.active[data-v-9d74bb7f]:hover{background:var(--accent-hover)}.stat-grid[data-v-9d74bb7f]{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.stat-card[data-v-9d74bb7f]{background:var(--bg-card);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:14px;padding:18px 20px;transition:border-color .2s;display:flex}.stat-card[data-v-9d74bb7f]:hover{border-color:#ffffff1f}.stat-icon[data-v-9d74bb7f]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.stat-icon.blue[data-v-9d74bb7f]{color:#818cf8;background:#6366f11f}.stat-icon.green[data-v-9d74bb7f]{color:#4ade80;background:#22c55e1f}.stat-icon.purple[data-v-9d74bb7f]{color:#c084fc;background:#a855f71f}.stat-icon.orange[data-v-9d74bb7f]{color:#fb923c;background:#f973161f}.stat-icon.red[data-v-9d74bb7f]{color:#f87171;background:#ef44441f}.stat-body[data-v-9d74bb7f]{flex-direction:column;gap:2px;display:flex}.stat-label[data-v-9d74bb7f]{color:var(--text-muted);font-size:12px;font-weight:500}.stat-value[data-v-9d74bb7f]{letter-spacing:-.02em;color:var(--text-primary);font-size:26px;font-weight:700}.warn-text[data-v-9d74bb7f]{color:#f59e0b}.insight-grid[data-v-9d74bb7f]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.insight-card[data-v-9d74bb7f]{background:var(--bg-card);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:18px 22px;display:flex}.insight-header[data-v-9d74bb7f]{justify-content:space-between;align-items:center;display:flex}.insight-label[data-v-9d74bb7f]{color:var(--text-secondary);font-size:13px;font-weight:500}.insight-value[data-v-9d74bb7f]{letter-spacing:-.03em;color:var(--text-primary);font-size:32px;font-weight:700}.insight-sub[data-v-9d74bb7f]{color:var(--text-muted);font-size:11px}.insight-change[data-v-9d74bb7f]{border-radius:20px;padding:2px 8px;font-size:12px;font-weight:700}.insight-change.up[data-v-9d74bb7f]{color:#4ade80;background:#22c55e1f}.insight-change.down[data-v-9d74bb7f]{color:#f87171;background:#ef44441f}.insight-change.flat[data-v-9d74bb7f]{color:var(--text-muted);background:#ffffff0f}.insight-badge[data-v-9d74bb7f]{color:#a5b4fc;background:#6366f11f;border-radius:20px;padding:2px 8px;font-size:12px;font-weight:700}.chart-panel[data-v-9d74bb7f]{margin-top:0}.chart-header[data-v-9d74bb7f]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.chart-header h2[data-v-9d74bb7f]{margin:0}.chart-area[data-v-9d74bb7f]{gap:8px;height:180px;display:flex}.chart-y-axis[data-v-9d74bb7f]{flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:flex-end;width:36px;padding-bottom:22px;display:flex}.chart-y-axis span[data-v-9d74bb7f]{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10px}.chart-bars[data-v-9d74bb7f]{border-bottom:1px solid var(--border-subtle);flex:1;align-items:flex-end;gap:3px;padding-bottom:22px;display:flex;position:relative}.chart-col[data-v-9d74bb7f]{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;display:flex}.col-bar-track[data-v-9d74bb7f]{flex:1;justify-content:center;align-items:flex-end;width:100%;max-width:32px;display:flex}.col-bar[data-v-9d74bb7f]{border-radius:4px 4px 0 0;width:100%;min-height:2px;transition:height .4s cubic-bezier(.4,0,.2,1)}.user-bar[data-v-9d74bb7f]{background:linear-gradient(#818cf8,#6366f1)}.col-label[data-v-9d74bb7f]{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:6px;font-size:10px}.trend-list[data-v-9d74bb7f]{flex-direction:column;gap:8px;display:flex}.trend-row[data-v-9d74bb7f]{grid-template-columns:56px 1fr 44px;align-items:center;gap:12px;display:grid}.date[data-v-9d74bb7f]{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.total-val[data-v-9d74bb7f]{color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.bar-wrap[data-v-9d74bb7f]{background:#ffffff0a;border-radius:6px;gap:3px;padding:5px;display:flex}.bar[data-v-9d74bb7f]{border-radius:4px;min-width:4px;height:8px;transition:width .5s cubic-bezier(.4,0,.2,1)}.bar.checkin[data-v-9d74bb7f]{background:linear-gradient(90deg,#6366f1,#818cf8)}.bar.confession[data-v-9d74bb7f]{background:linear-gradient(90deg,#22c55e,#4ade80)}.bar.bottle[data-v-9d74bb7f]{background:linear-gradient(90deg,#f97316,#fb923c)}.legend[data-v-9d74bb7f]{gap:16px;display:flex}.legend-item[data-v-9d74bb7f]{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.dot[data-v-9d74bb7f]{border-radius:2px;width:8px;height:8px;display:inline-block}.dot.user-dot[data-v-9d74bb7f],.dot.checkin[data-v-9d74bb7f]{background:#818cf8}.dot.confession[data-v-9d74bb7f]{background:#4ade80}.dot.bottle[data-v-9d74bb7f]{background:#fb923c}.muted[data-v-cf8f223b]{color:#6b7280;font-size:.9em}.actions button[data-v-cf8f223b]{margin-right:6px}.actions .secondary[data-v-cf8f223b]{color:#cbd5e1;background:0 0;border:1px solid #64748b}.actions .secondary[data-v-cf8f223b]:hover{background:#94a3b826}.muted[data-v-959571cf]{color:#6b7280;font-size:.9em}.actions button[data-v-959571cf]{margin-right:6px}.actions .secondary[data-v-959571cf]{color:#cbd5e1;background:0 0;border:1px solid #64748b}.actions .secondary[data-v-959571cf]:hover{background:#94a3b826}.status-active[data-v-6ee37847]{color:#4ade80;cursor:pointer;background:#22c55e26;border:none;border-radius:20px;height:auto;padding:3px 12px;font-size:12px;font-weight:600}.status-active[data-v-6ee37847]:hover{box-shadow:none;background:#22c55e40}.status-disabled[data-v-6ee37847]{color:#f87171;cursor:pointer;background:#ef444426;border:none;border-radius:20px;height:auto;padding:3px 12px;font-size:12px;font-weight:600}.status-disabled[data-v-6ee37847]:hover{box-shadow:none;background:#ef444440}.hint[data-v-98bfa6ce]{color:var(--text-muted);margin:4px 0 16px;font-size:12px}.link[data-v-98bfa6ce]{color:var(--accent);text-decoration:underline}.form-card[data-v-98bfa6ce]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff08;margin-bottom:20px;padding:18px}.form-card h3[data-v-98bfa6ce]{color:var(--text-secondary);margin:0 0 10px;font-size:14px}.form-row[data-v-98bfa6ce]{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.form-row textarea[data-v-98bfa6ce]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-width:300px;color:var(--text-primary);resize:vertical;background:#0003;flex:1;padding:10px 12px;font-family:inherit;font-size:14px}.check-label[data-v-98bfa6ce]{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.filter-bar[data-v-98bfa6ce]{align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-input[data-v-98bfa6ce]{flex:1;max-width:320px}.count-label[data-v-98bfa6ce]{color:var(--text-muted);font-size:12px}.refresh-btn[data-v-98bfa6ce]{margin-left:auto}.mono[data-v-98bfa6ce]{color:var(--text-muted);font-family:SF Mono,Fira Code,monospace;font-size:11px}.badge[data-v-98bfa6ce]{border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.badge-on[data-v-98bfa6ce]{color:#4ade80;background:#22c55e1f}.badge-off[data-v-98bfa6ce]{color:#f87171;background:#ef44441f}.action-group[data-v-98bfa6ce]{gap:6px;display:flex}.empty[data-v-98bfa6ce]{text-align:center;color:var(--text-muted);padding:32px 0}.error[data-v-98bfa6ce]{color:#f87171}.success[data-v-98bfa6ce]{color:#4ade80}.upload-zone[data-v-21bcae83]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.upload-label[data-v-21bcae83]{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;height:42px;transition:all var(--transition);align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:600;display:inline-flex}.upload-label[data-v-21bcae83]:hover{background:var(--accent-hover);box-shadow:0 0 20px var(--accent-glow)}.hint[data-v-21bcae83]{color:var(--text-muted);font-size:12px}.stats[data-v-21bcae83]{color:var(--text-muted);margin:4px 0 14px;font-size:13px}.grid[data-v-21bcae83]{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.img-card[data-v-21bcae83]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff08;transition:border-color .2s;overflow:hidden}.img-card[data-v-21bcae83]:hover{border-color:#ffffff1f}.img-cover[data-v-21bcae83]{background:#0003;height:140px;overflow:hidden}.img-cover img[data-v-21bcae83]{object-fit:cover;cursor:pointer;width:100%;height:100%;transition:transform .2s}.img-cover img[data-v-21bcae83]:hover{transform:scale(1.03)}.meta[data-v-21bcae83]{padding:8px 12px 4px}.name[data-v-21bcae83]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-family:SF Mono,Fira Code,monospace;font-size:11px;display:block;overflow:hidden}.size[data-v-21bcae83]{color:var(--text-muted);font-size:11px}.actions[data-v-21bcae83]{gap:6px;padding:6px 12px 10px;display:flex}.btn-sm[data-v-21bcae83]{border-radius:6px;height:auto;padding:4px 12px;font-size:11px}.form-card[data-v-5ef50000]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff08;margin-bottom:20px;padding:18px}.form-card h3[data-v-5ef50000]{color:#e5e7eb;margin-bottom:12px;font-size:14px}.form-row[data-v-5ef50000]{align-items:center;gap:8px;margin-bottom:10px;display:flex}.form-row textarea[data-v-5ef50000]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:#e5e7eb;resize:vertical;background:#ffffff0f;flex:1;padding:8px 12px;font-size:13px}.form-row select[data-v-5ef50000]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:#e5e7eb;background:#ffffff0f;padding:8px 12px;font-size:13px}.mono[data-v-5ef50000]{color:var(--text-muted);font-family:SF Mono,Fira Code,monospace;font-size:11px}.badge[data-v-5ef50000]{border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.badge-on[data-v-5ef50000]{color:#4ade80;background:#22c55e1f}.badge-off[data-v-5ef50000]{color:#f87171;background:#ef44441f}.actions[data-v-5ef50000]{gap:6px;display:flex}.actions .secondary[data-v-5ef50000]{color:#cbd5e1;background:0 0;border:1px solid #64748b}.actions .secondary[data-v-5ef50000]:hover{background:#94a3b826}.success-btn[data-v-5ef50000]{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e4d}.success-btn[data-v-5ef50000]:hover{background:#22c55e33}.muted[data-v-5ef50000]{color:#6b7280;font-size:.9em}.mono[data-v-8a999fc6]{color:var(--text-muted);font-family:SF Mono,Fira Code,monospace;font-size:11px}.badge[data-v-8a999fc6]{border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.badge-pending[data-v-8a999fc6]{color:#fbbf24;background:#fbbf241f}.badge-cancelled[data-v-8a999fc6]{color:#4ade80;background:#22c55e1f}.badge-purged[data-v-8a999fc6]{color:#f87171;background:#ef44441f}.days-badge[data-v-8a999fc6]{color:#fbbf24;background:#fbbf241f;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.days-urgent[data-v-8a999fc6]{color:#f87171;background:#ef44441f}.muted[data-v-8a999fc6]{color:#6b7280;font-size:.9em}.form-card[data-v-9dd4b3e8]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff08;margin-bottom:20px;padding:18px}.form-row[data-v-9dd4b3e8]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.form-row input[data-v-9dd4b3e8]:not([type=checkbox]){flex:1;min-width:200px}.form-row select[data-v-9dd4b3e8]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);height:42px;color:var(--text-primary);background:#0003;padding:0 12px}.check-label[data-v-9dd4b3e8]{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.filter-bar[data-v-9dd4b3e8]{align-items:center;gap:12px;margin-bottom:16px;display:flex}.refresh-btn[data-v-9dd4b3e8]{margin-left:auto}.mono[data-v-9dd4b3e8]{color:var(--text-muted);font-family:SF Mono,Fira Code,monospace;font-size:11px}.period-badge[data-v-9dd4b3e8]{color:#93c5fd;background:#60a5fa26;border-radius:20px;padding:2px 10px;font-size:11px;display:inline-block}.badge[data-v-9dd4b3e8]{border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.badge-on[data-v-9dd4b3e8]{color:#4ade80;background:#22c55e1f}.badge-off[data-v-9dd4b3e8]{color:#f87171;background:#ef44441f}.action-group[data-v-9dd4b3e8]{gap:6px;display:flex}.empty[data-v-9dd4b3e8]{text-align:center;color:var(--text-muted);padding:32px 0}.error[data-v-9dd4b3e8]{color:#f87171}.success[data-v-9dd4b3e8]{color:#4ade80}.form-card[data-v-f43cd62c]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff08;margin-bottom:20px;padding:18px}.form-card h3[data-v-f43cd62c]{color:var(--text-secondary);margin:0 0 10px;font-size:14px}.form-row[data-v-f43cd62c]{align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.form-row input[data-v-f43cd62c]:not([type=checkbox]):not([type=file]){flex:1}.form-row textarea[data-v-f43cd62c]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);resize:vertical;background:#0003;flex:1;padding:10px 12px;font-family:inherit;font-size:13px}.filter-bar[data-v-f43cd62c]{align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-input[data-v-f43cd62c]{flex:1;max-width:320px}.count-label[data-v-f43cd62c]{color:var(--text-muted);font-size:12px}.refresh-btn[data-v-f43cd62c]{margin-left:auto}.word-grid[data-v-f43cd62c]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;flex-wrap:wrap;gap:8px;min-height:120px;padding:16px;display:flex}.word-chip[data-v-f43cd62c]{color:#fca5a5;background:#ef444414;border:1px solid #ef444440;border-radius:999px;align-items:center;gap:6px;padding:6px 8px 6px 12px;font-size:13px;display:inline-flex}.word-text[data-v-f43cd62c]{white-space:nowrap}.chip-del[data-v-f43cd62c]{color:#fca5a5;cursor:pointer;width:20px;height:20px;transition:all var(--transition);background:#ef444433;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.chip-del[data-v-f43cd62c]:hover{color:#fff;background:#ef444466}.empty[data-v-f43cd62c]{text-align:center;width:100%;color:var(--text-muted);padding:32px 0}.error[data-v-f43cd62c]{color:#f87171}.success[data-v-f43cd62c]{color:#4ade80}.form-card[data-v-0f9b7c94]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff08;margin-bottom:20px;padding:18px}.form-card h3[data-v-0f9b7c94]{color:var(--text-secondary);margin:0 0 10px;font-size:14px}.form-row[data-v-0f9b7c94]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.form-row input[data-v-0f9b7c94]:not([type=checkbox]):not([type=file]):not([type=number]){flex:1}.form-row select[data-v-0f9b7c94],.form-row input[type=number][data-v-0f9b7c94]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);height:42px;color:var(--text-primary);background:#0003;padding:0 12px}.upload-label[data-v-0f9b7c94]{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;height:42px;transition:all var(--transition);align-items:center;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.upload-label[data-v-0f9b7c94]:hover{background:var(--accent-hover)}.upload-label.batch[data-v-0f9b7c94]{background:linear-gradient(135deg, var(--accent) 0%, #6366f1 100%)}.upload-label.batch[data-v-0f9b7c94]:hover{opacity:.9}.batch-progress[data-v-0f9b7c94]{border-radius:var(--radius-sm);color:#93a5fd;background:#6366f11a;border:1px solid #6366f14d;margin-bottom:10px;padding:8px 12px;font-size:13px}.check-label[data-v-0f9b7c94]{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.preview[data-v-0f9b7c94]{margin-bottom:10px}.preview img[data-v-0f9b7c94]{border:2px solid var(--border-subtle);object-fit:cover;border-radius:50%;max-width:120px;max-height:120px}.hint[data-v-0f9b7c94]{color:var(--text-muted);margin:6px 0 0;font-size:12px}.filter-bar[data-v-0f9b7c94]{align-items:center;gap:12px;margin-bottom:16px;display:flex}.refresh-btn[data-v-0f9b7c94]{margin-left:auto}.count-label[data-v-0f9b7c94]{color:var(--text-muted);font-size:12px}.avatar-grid[data-v-0f9b7c94]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;min-height:200px;padding:16px;display:grid}.avatar-card[data-v-0f9b7c94]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition);flex-direction:column;align-items:center;gap:10px;padding:12px;display:flex}.avatar-card[data-v-0f9b7c94]:hover{border-color:var(--accent);transform:translateY(-2px)}.img-wrap[data-v-0f9b7c94]{position:relative}.img-wrap img[data-v-0f9b7c94]{object-fit:cover;border:2px solid var(--border-subtle);background:#2a2a2a;border-radius:50%;width:80px;height:80px}.default-flag[data-v-0f9b7c94],.offline-flag[data-v-0f9b7c94]{border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:-4px;right:-4px}.default-flag[data-v-0f9b7c94]{color:#4ade80;background:#22c55e33}.offline-flag[data-v-0f9b7c94]{color:#f87171;background:#ef444433}.meta[data-v-0f9b7c94]{text-align:center}.id[data-v-0f9b7c94]{color:var(--text-muted);font-size:11px}.sort[data-v-0f9b7c94]{color:var(--text-secondary);font-size:11px}.actions[data-v-0f9b7c94]{gap:6px;display:flex}.actions button[data-v-0f9b7c94]{padding:4px 10px;font-size:12px}.actions button[data-v-0f9b7c94]:disabled{opacity:.4;cursor:not-allowed}.mono[data-v-0f9b7c94]{font-family:SF Mono,Fira Code,monospace}.empty[data-v-0f9b7c94]{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:32px 0}.error[data-v-0f9b7c94]{color:#f87171}.success[data-v-0f9b7c94]{color:#4ade80}.hint[data-v-5534dae7]{color:var(--text-muted);margin:4px 0 16px;font-size:12px}.link[data-v-5534dae7]{color:var(--accent);text-decoration:underline}.form-card[data-v-5534dae7]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff08;margin-bottom:20px;padding:18px}.form-card h3[data-v-5534dae7]{color:var(--text-secondary);margin:0 0 10px;font-size:14px}.form-row[data-v-5534dae7]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.form-row input[data-v-5534dae7]:not([type=checkbox]):not([type=file]):not([type=number]){flex:1}.form-row input[type=number][data-v-5534dae7],.form-row select[data-v-5534dae7]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);height:42px;color:var(--text-primary);background:#0003;padding:0 12px}.upload-label[data-v-5534dae7]{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;align-items:center;height:42px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.upload-label[data-v-5534dae7]:hover{background:var(--accent-hover)}.upload-label.batch[data-v-5534dae7]{background:linear-gradient(135deg, var(--accent) 0%, #6366f1 100%)}.upload-label.batch[data-v-5534dae7]:hover{opacity:.9}.batch-progress[data-v-5534dae7]{border-radius:var(--radius-sm);color:#93a5fd;background:#6366f11a;border:1px solid #6366f14d;margin-bottom:10px;padding:8px 12px;font-size:13px}.check-label[data-v-5534dae7]{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.preview[data-v-5534dae7]{margin-bottom:10px}.preview img[data-v-5534dae7]{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);max-width:280px;max-height:180px}.filter-bar[data-v-5534dae7]{align-items:center;gap:12px;margin-bottom:16px;display:flex}.refresh-btn[data-v-5534dae7]{margin-left:auto}.count-label[data-v-5534dae7]{color:var(--text-muted);font-size:12px}.img-grid[data-v-5534dae7]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;min-height:200px;padding:16px;display:grid}.img-card[data-v-5534dae7]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition);flex-direction:column;gap:8px;padding:10px;display:flex}.img-card[data-v-5534dae7]:hover{border-color:var(--accent);transform:translateY(-2px)}.img-wrap[data-v-5534dae7]{position:relative}.img-wrap img[data-v-5534dae7]{aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-sm);background:#2a2a2a;width:100%}.offline-flag[data-v-5534dae7]{color:#fff;background:#ef4444d9;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:6px;right:6px}.meta[data-v-5534dae7]{justify-content:space-between;display:flex}.id[data-v-5534dae7]{color:var(--text-muted);font-size:11px}.sort[data-v-5534dae7]{color:var(--text-secondary);font-size:11px}.actions[data-v-5534dae7]{gap:6px;display:flex}.actions button[data-v-5534dae7]{flex:1;padding:4px 8px;font-size:12px}.mono[data-v-5534dae7]{font-family:SF Mono,Fira Code,monospace}.empty[data-v-5534dae7]{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:32px 0}.error[data-v-5534dae7]{color:#f87171}.success[data-v-5534dae7]{color:#4ade80}
