:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent-primary: #3b82f6;--accent-hover: #2563eb;--accent-glow: rgba(59, 130, 246, .4);--danger: #ef4444;--warning: #f59e0b;--success: #10b981;--border-light: rgba(255, 255, 255, .1);--border-hover: rgba(255, 255, 255, .2);--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}@media(prefers-color-scheme:light){:root{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #e2e8f0;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--border-light: rgba(0, 0, 0, .1);--border-hover: rgba(0, 0, 0, .2);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(0, 0, 0, .05);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .1)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{height:100vh;overflow:hidden;color:var(--text-primary);background:var(--bg-primary);background:radial-gradient(circle at top right,var(--bg-secondary) 0%,var(--bg-primary) 100%);background-attachment:fixed;line-height:1.6;transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary);letter-spacing:-.025em}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow)}.text-gradient{background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#app{height:100vh;overflow:hidden;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-lg)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit;color:inherit}a{text-decoration:none;color:var(--accent-primary);transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}.table-container[data-v-d22bcb3f]{overflow:hidden;display:flex;flex-direction:column}.table-wrapper[data-v-d22bcb3f]{overflow-y:auto;max-height:calc(100vh - 250px)}.data-table[data-v-d22bcb3f]{width:100%;border-collapse:collapse;text-align:left}.data-table thead[data-v-d22bcb3f]{position:sticky;top:0;background:#0f172af2;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.data-table thead tr[data-v-d22bcb3f]{border-bottom:1px solid var(--glass-border)}th[data-v-d22bcb3f],td[data-v-d22bcb3f]{padding:1.25rem 1.5rem}th[data-v-d22bcb3f]{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}th.sortable[data-v-d22bcb3f]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}th.sortable[data-v-d22bcb3f]:hover{color:var(--text-primary)}.sort-indicator[data-v-d22bcb3f]{margin-left:.5rem;font-size:.7rem;opacity:.8}.align-center[data-v-d22bcb3f]{text-align:center}.stat-col[data-v-d22bcb3f]{width:100px}tbody tr[data-v-d22bcb3f]{cursor:pointer;border-bottom:1px solid var(--glass-border);transition:all var(--transition-fast)}tbody tr[data-v-d22bcb3f]:last-child{border-bottom:none}tbody tr[data-v-d22bcb3f]:hover{background:var(--border-light)}tbody tr.selected-row[data-v-d22bcb3f]{background:var(--border-hover);border-left:4px solid var(--accent-primary)}.subject-cell[data-v-d22bcb3f]{display:flex;align-items:center;gap:1rem}.avatar[data-v-d22bcb3f]{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem;box-shadow:0 4px 10px var(--accent-glow);flex-shrink:0}.subject-info[data-v-d22bcb3f]{display:flex;flex-direction:column;gap:.25rem}.subject-name[data-v-d22bcb3f]{font-weight:500;color:var(--text-primary)}.photo-badge[data-v-d22bcb3f]{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--accent-primary);background:#3b82f61a;padding:.1rem .4rem;border-radius:1rem;width:fit-content}.count-indicator[data-v-d22bcb3f]{font-weight:700;color:var(--text-secondary);display:inline-block;min-width:30px}.count-indicator.count-condemn[data-v-d22bcb3f]{color:var(--danger)}.count-indicator.count-praise[data-v-d22bcb3f]{color:var(--success)}.weight-indicator[data-v-d22bcb3f]{font-weight:700;color:var(--text-secondary);display:inline-block;min-width:30px}.weight-indicator.weight-positive[data-v-d22bcb3f]{color:var(--success);text-shadow:0 0 10px rgba(16,185,129,.4)}.weight-indicator.weight-negative[data-v-d22bcb3f]{color:var(--danger);text-shadow:0 0 10px rgba(239,68,68,.4)}.latest-remarks[data-v-d22bcb3f]{display:flex;flex-direction:column;gap:.5rem}.remark-desc-line[data-v-d22bcb3f]{font-size:.9rem;line-height:1.4}.remark-desc-line.second-remark[data-v-d22bcb3f]{opacity:.7}.remark-desc-text[data-v-d22bcb3f]{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.expiration-text[data-v-d22bcb3f]{color:var(--text-secondary);font-variant-numeric:tabular-nums}.empty-state[data-v-d22bcb3f]{text-align:center;padding:4rem!important;color:var(--text-muted);font-style:italic}.remark-detail-panel[data-v-8d51eafe]{display:flex;flex-direction:column;width:100%;box-shadow:-10px 0 30px #00000080;background:#0f172ad9;border-radius:var(--radius-lg)}@media(min-width:1024px){.remark-detail-panel[data-v-8d51eafe]{max-height:calc(100vh - 6rem);overflow:hidden}}.panel-header[data-v-8d51eafe]{padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--glass-border)}.header-info[data-v-8d51eafe]{display:flex;align-items:center;gap:1rem}.avatar-lg[data-v-8d51eafe]{background:var(--bg-tertiary);color:var(--text-primary);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;flex-shrink:0}.panel-header h3[data-v-8d51eafe]{font-size:1.25rem;margin-bottom:.1rem}.sub-label[data-v-8d51eafe]{font-size:.85rem;color:var(--text-muted)}.header-actions[data-v-8d51eafe]{display:flex;align-items:center;gap:.75rem}.date-toggle-group[data-v-8d51eafe]{display:flex;gap:0}.date-btn[data-v-8d51eafe]{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:1px solid var(--glass-border);color:var(--text-secondary);transition:all var(--transition-fast);min-width:36px;height:36px}.date-btn[data-v-8d51eafe]:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.date-btn[data-v-8d51eafe]:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0;border-left:none}.date-btn[data-v-8d51eafe]:hover:not(.active){background:var(--bg-tertiary);color:var(--text-primary)}.date-btn.active[data-v-8d51eafe]{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;z-index:1;position:relative}.close-btn[data-v-8d51eafe]{color:var(--text-muted);padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.close-btn[data-v-8d51eafe]:hover{background:var(--border-light);color:var(--text-primary)}.panel-body[data-v-8d51eafe]{flex:1;padding:1.5rem}@media(min-width:1024px){.panel-body[data-v-8d51eafe]{overflow-y:auto;min-height:0}}.empty-remarks[data-v-8d51eafe]{color:var(--text-muted);padding:3rem 1rem;text-align:center}.panel-body[data-v-8d51eafe]::-webkit-scrollbar{width:6px}.remark-cards[data-v-8d51eafe]{display:flex;flex-direction:column;gap:1rem}.remark-card[data-v-8d51eafe]{background:#ffffff08;border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.25rem;transition:transform var(--transition-fast)}.remark-card[data-v-8d51eafe]:hover{border-color:var(--border-hover);background:#ffffff0d}.card-header[data-v-8d51eafe]{display:flex;justify-content:space-between;margin-bottom:.75rem}.weight-badge[data-v-8d51eafe]{padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600}.weight-badge.weight-positive[data-v-8d51eafe]{background:#10b98126;color:var(--success)}.weight-badge.weight-negative[data-v-8d51eafe]{background:#ef444426;color:var(--danger)}.expire-badge[data-v-8d51eafe]{color:var(--warning);font-size:.8rem;font-weight:500;background:#f59e0b1a;padding:.15rem .5rem;border-radius:var(--radius-sm)}.remark-desc[data-v-8d51eafe]{color:var(--text-primary);font-size:1rem;line-height:1.5;margin-bottom:.75rem}.subjects-badges[data-v-8d51eafe]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.subject-badge[data-v-8d51eafe]{background:#3b82f626;color:var(--accent-primary);padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600}.photo-container[data-v-8d51eafe]{margin-top:1rem}.remark-photo[data-v-8d51eafe]{width:100%;height:auto;border-radius:var(--radius-md);border:1px solid var(--glass-border);object-fit:cover;max-height:300px;cursor:pointer;transition:all var(--transition-fast);display:block}.remark-photo[data-v-8d51eafe]:hover{border-color:var(--accent-primary);transform:scale(1.02);box-shadow:0 8px 20px #0000004d}.photo-overlay[data-v-8d51eafe]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;padding:.5rem;font-size:.75rem;display:flex;align-items:center;gap:.3rem;opacity:0;transition:opacity var(--transition-fast);border-radius:0 0 var(--radius-md) var(--radius-md)}.photo-container[data-v-8d51eafe]{position:relative}.photo-container:hover .photo-overlay[data-v-8d51eafe]{opacity:1}.photo-modal[data-v-8d51eafe]{position:fixed;inset:0;background:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}.modal-content[data-v-8d51eafe]{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:1rem}.modal-image[data-v-8d51eafe]{max-width:100%;max-height:80vh;border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000080}.modal-caption[data-v-8d51eafe]{color:#fff;background:#0009;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:.9rem;max-width:600px;text-align:center}.modal-close[data-v-8d51eafe]{position:absolute;top:-3rem;right:0;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close[data-v-8d51eafe]:hover{background:#fff3;transform:scale(1.1)}.modal-fade-enter-active[data-v-8d51eafe],.modal-fade-leave-active[data-v-8d51eafe]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-8d51eafe],.modal-fade-leave-to[data-v-8d51eafe]{opacity:0}.dashboard-container[data-v-293c447f]{display:flex;flex-direction:column;gap:1.5rem;position:relative;flex:1;overflow-y:auto;min-height:0}.dashboard-header h2[data-v-293c447f]{font-size:2rem;margin-bottom:.25rem}.subtitle[data-v-293c447f]{color:var(--text-muted);font-size:.95rem}.loading-state[data-v-293c447f],.error-state[data-v-293c447f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;color:var(--text-muted)}.error-state[data-v-293c447f]{text-align:center}.error-icon[data-v-293c447f]{color:var(--danger);opacity:.8}.error-state h3[data-v-293c447f]{font-size:1.5rem;color:var(--text-primary);margin:0}.error-message[data-v-293c447f]{font-size:1rem;color:var(--text-secondary);max-width:400px;margin:0}.retry-btn[data-v-293c447f]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--accent-primary);color:#fff;border-radius:var(--radius-md);font-weight:600;margin-top:1rem;transition:all var(--transition-fast)}.retry-btn[data-v-293c447f]:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-glow)}.spinner[data-v-293c447f]{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--accent-primary);border-radius:50%;animation:spin-293c447f 1s linear infinite}@keyframes spin-293c447f{to{transform:rotate(360deg)}}.content-grid[data-v-293c447f]{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}.detail-section[data-v-293c447f]{display:flex;width:100%;margin-bottom:2rem}@media(min-width:1024px){.content-grid[data-v-293c447f]{position:relative}.detail-section[data-v-293c447f]{position:fixed;top:5rem;right:max(2rem,calc((100vw - 1250px)/2 + 2rem));width:520px;max-height:calc(100vh - 9rem);z-index:100}}.slide-fade-enter-active[data-v-293c447f],.slide-fade-leave-active[data-v-293c447f]{transition:all .3s cubic-bezier(.16,1,.3,1)}.slide-fade-enter-from[data-v-293c447f],.slide-fade-leave-to[data-v-293c447f]{transform:translate(400px);opacity:0}.admin-panel[data-v-6f1db77b]{display:flex;flex-direction:column;gap:1.5rem;flex:1;overflow:hidden}.admin-header h2[data-v-6f1db77b]{font-size:1.75rem;margin:0}.tabs[data-v-6f1db77b]{display:flex;gap:.5rem;border-bottom:2px solid var(--glass-border)}.tab[data-v-6f1db77b]{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-2px}.tab[data-v-6f1db77b]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tab.active[data-v-6f1db77b]{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.loading-state[data-v-6f1db77b]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;color:var(--text-muted)}.spinner[data-v-6f1db77b]{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--accent-primary);border-radius:50%;animation:spin-6f1db77b 1s linear infinite}@keyframes spin-6f1db77b{to{transform:rotate(360deg)}}.tab-content[data-v-6f1db77b]{display:flex;flex-direction:column;gap:1rem;flex:1;overflow:hidden}.actions-bar[data-v-6f1db77b]{display:flex;justify-content:flex-end}.btn-primary[data-v-6f1db77b]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--accent-primary);color:#fff;border-radius:var(--radius-md);font-weight:600;transition:all var(--transition-fast)}.btn-primary[data-v-6f1db77b]:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-glow)}.table-container[data-v-6f1db77b]{overflow:hidden;display:flex;flex-direction:column}.table-wrapper[data-v-6f1db77b]{overflow-y:auto;max-height:calc(100vh - 350px)}.admin-table[data-v-6f1db77b]{width:100%;border-collapse:collapse}.admin-table thead[data-v-6f1db77b]{position:sticky;top:0;background:#0f172af2;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-table thead tr[data-v-6f1db77b]{border-bottom:1px solid var(--glass-border)}.admin-table th[data-v-6f1db77b]{padding:1.25rem 1.5rem;text-align:left;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.admin-table td[data-v-6f1db77b]{padding:1.25rem 1.5rem;border-bottom:1px solid var(--glass-border)}.admin-table tbody tr:last-child td[data-v-6f1db77b]{border-bottom:none}.admin-table th[data-v-6f1db77b]:last-child,.admin-table td[data-v-6f1db77b]:last-child{width:10rem;min-width:10rem;position:sticky;right:0;background:var(--glass-bg)}.admin-table thead th[data-v-6f1db77b]:last-child{background:#0f172af2}.admin-table tbody tr:hover td[data-v-6f1db77b]:last-child{background:var(--bg-tertiary)}.admin-table tbody tr[data-v-6f1db77b]:hover{background:var(--bg-tertiary)}.role-badge[data-v-6f1db77b]{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600}.role-admin[data-v-6f1db77b]{background:#ef444426;color:#ef4444}.role-editor[data-v-6f1db77b]{background:#3b82f626;color:#3b82f6}.role-viewer[data-v-6f1db77b]{background:#22c55e26;color:#22c55e}.remark-count[data-v-6f1db77b]{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-weight:600;font-size:.9rem}.action-buttons[data-v-6f1db77b]{display:flex;gap:.5rem}.btn-icon[data-v-6f1db77b]{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.btn-icon[data-v-6f1db77b]:hover{background:var(--border-light);border-color:var(--border-hover);color:var(--text-primary)}.btn-icon.btn-danger[data-v-6f1db77b]{color:#ef4444}.btn-icon.btn-danger[data-v-6f1db77b]:hover{background:#ef444426;border-color:#ef4444;color:#ef4444}.modal-overlay[data-v-6f1db77b]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal[data-v-6f1db77b]{width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header[data-v-6f1db77b]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--glass-border)}.modal-header h3[data-v-6f1db77b]{margin:0;font-size:1.25rem}.btn-close[data-v-6f1db77b]{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);font-size:2rem;line-height:1;cursor:pointer;transition:color var(--transition-fast)}.btn-close[data-v-6f1db77b]:hover{color:var(--text-primary)}.modal-form[data-v-6f1db77b]{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.form-group[data-v-6f1db77b]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-6f1db77b]{font-weight:600;color:var(--text-secondary);font-size:.9rem}.form-group input[data-v-6f1db77b],.form-group select[data-v-6f1db77b]{padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:all var(--transition-fast)}.form-group select[data-v-6f1db77b]{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:2.5rem}.form-group input[data-v-6f1db77b]:focus,.form-group select[data-v-6f1db77b]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.help-text[data-v-6f1db77b]{font-size:.85rem;color:var(--text-muted);font-style:italic}.modal-actions[data-v-6f1db77b]{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--glass-border)}.btn-secondary[data-v-6f1db77b]{padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-weight:600;transition:all var(--transition-fast)}.btn-secondary[data-v-6f1db77b]:hover{background:var(--border-light);border-color:var(--border-hover);color:var(--text-primary)}.modal-actions .btn-danger[data-v-6f1db77b]{padding:.75rem 1.5rem;background:var(--danger);border:none;border-radius:var(--radius-md);color:#fff;font-weight:600;transition:all var(--transition-fast)}.modal-actions .btn-danger[data-v-6f1db77b]:hover{background:#dc2626;transform:translateY(-1px)}.confirm-modal[data-v-6f1db77b]{max-width:400px}.confirm-modal .modal-body[data-v-6f1db77b]{padding:1.5rem;color:var(--text-primary);line-height:1.6}.confirm-modal .modal-body p[data-v-6f1db77b]{margin:0}.confirm-modal .modal-actions[data-v-6f1db77b]{padding:1rem 1.5rem 1.5rem}.login-container[data-v-9b87e49b]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary));padding:2rem}.login-card[data-v-9b87e49b]{width:100%;max-width:500px;padding:2.5rem}.login-header[data-v-9b87e49b]{text-align:center;margin-bottom:2rem}.login-header h1[data-v-9b87e49b]{font-size:2rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle[data-v-9b87e49b]{color:var(--text-muted);font-size:.9rem}.login-form[data-v-9b87e49b],.form-group[data-v-9b87e49b]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-9b87e49b]{font-weight:600;color:var(--text-secondary);font-size:.9rem}.form-group input[data-v-9b87e49b]{padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:all var(--transition-fast)}.form-group input[data-v-9b87e49b]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.form-group input[data-v-9b87e49b]:disabled{opacity:.5;cursor:not-allowed}.error-message[data-v-9b87e49b]{padding:.75rem 1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:var(--danger);font-size:.9rem}.login-btn[data-v-9b87e49b]{padding:.875rem 1.5rem;background:var(--accent-primary);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:1rem;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:1.5rem}.login-btn[data-v-9b87e49b]:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-glow)}.login-btn[data-v-9b87e49b]:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner-small[data-v-9b87e49b]{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-9b87e49b 1s linear infinite}@keyframes spin-9b87e49b{to{transform:rotate(360deg)}}.toast-container[data-v-176265e5]{position:fixed;top:2rem;right:2rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast[data-v-176265e5]{display:flex;align-items:center;gap:.75rem;min-width:300px;max-width:400px;padding:1rem 1.25rem;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #0000004d;pointer-events:auto;cursor:pointer;border:1px solid;animation:slideIn-176265e5 .3s ease-out}.toast-error[data-v-176265e5]{background:#ef444426;border-color:#ef44444d;color:var(--danger)}.toast-warning[data-v-176265e5]{background:#f59e0b26;border-color:#f59e0b4d;color:var(--warning)}.toast-info[data-v-176265e5]{background:#3b82f626;border-color:#3b82f64d;color:var(--accent-primary)}.toast-icon[data-v-176265e5]{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast-content[data-v-176265e5]{flex:1;min-width:0}.toast-message[data-v-176265e5]{margin:0;font-size:.9rem;line-height:1.4;color:var(--text-primary);word-wrap:break-word}.toast-close[data-v-176265e5]{flex-shrink:0;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);color:var(--text-muted)}.toast-close[data-v-176265e5]:hover{background:#ffffff1a;color:var(--text-primary)}@keyframes slideIn-176265e5{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-enter-active[data-v-176265e5]{transition:all .3s cubic-bezier(.16,1,.3,1)}.toast-leave-active[data-v-176265e5]{transition:all .3s ease-in}.toast-enter-from[data-v-176265e5],.toast-leave-to[data-v-176265e5]{transform:translate(400px);opacity:0}.toast-move[data-v-176265e5]{transition:transform .3s ease}@media(max-width:640px){.toast-container[data-v-176265e5]{top:1rem;right:1rem;left:1rem}.toast[data-v-176265e5]{min-width:auto;max-width:none}}.android-download[data-v-4f080c3f]{width:100%}.android-device[data-v-4f080c3f],.other-device[data-v-4f080c3f]{display:flex;justify-content:center;align-items:center;padding:2rem}.download-content[data-v-4f080c3f],.qr-content[data-v-4f080c3f]{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;max-width:400px}.icon[data-v-4f080c3f]{font-size:3rem}h3[data-v-4f080c3f]{font-size:1.5rem;margin:0;color:var(--text-primary)}p[data-v-4f080c3f]{margin:0;color:var(--text-secondary);font-size:.95rem}.download-btn[data-v-4f080c3f]{display:flex;align-items:center;gap:.75rem;padding:.875rem 2rem;background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);margin-top:.5rem}.download-btn[data-v-4f080c3f]:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.download-btn[data-v-4f080c3f]:active{transform:translateY(0)}.qr-code[data-v-4f080c3f]{padding:1rem;background:#fff;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a;margin:1rem 0}.qr-code img[data-v-4f080c3f]{display:block;width:200px;height:200px}.hint[data-v-4f080c3f]{font-size:.875rem;color:var(--text-tertiary);font-style:italic}.app-layout[data-v-e8232b9f]{width:100%;height:100vh;overflow:hidden}.authenticated-layout[data-v-e8232b9f]{display:flex;flex-direction:column;height:100vh;padding:2rem;gap:1.5rem;overflow:hidden;max-width:1200px;margin:0 auto;width:100%}.app-header[data-v-e8232b9f]{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.5rem;border-bottom:1px solid var(--glass-border)}.header-left[data-v-e8232b9f]{display:flex;align-items:center;gap:2rem}.app-title[data-v-e8232b9f]{font-size:1.75rem;margin:0}.main-nav[data-v-e8232b9f]{display:flex;gap:.5rem}.nav-btn[data-v-e8232b9f]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;font-weight:600;transition:all var(--transition-fast)}.nav-btn[data-v-e8232b9f]:hover{background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary)}.nav-btn.active[data-v-e8232b9f]{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.user-controls[data-v-e8232b9f]{display:flex;align-items:center;gap:1rem}.user-menu-container[data-v-e8232b9f]{position:relative}.user-menu-trigger[data-v-e8232b9f]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;height:36px;background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.95rem;cursor:pointer;transition:all var(--transition-fast)}.user-menu-trigger[data-v-e8232b9f]:hover{background:var(--border-light);border-color:var(--border-hover);color:var(--text-primary)}.user-icon[data-v-e8232b9f]{font-size:1.25rem}.chevron[data-v-e8232b9f]{transition:transform var(--transition-fast)}.user-menu-overlay[data-v-e8232b9f]{position:fixed;inset:0;z-index:100}.user-menu-dropdown[data-v-e8232b9f]{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000004d;min-width:180px;z-index:101;overflow:hidden}.menu-item[data-v-e8232b9f]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-secondary);font-size:.9rem;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.menu-item[data-v-e8232b9f]:hover{background:var(--border-light);color:var(--text-primary)}.logout-item[data-v-e8232b9f]:hover{background:#ef44441a;color:var(--danger)}.android-btn[data-v-e8232b9f]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;font-weight:600;transition:all var(--transition-fast)}.android-btn[data-v-e8232b9f]:hover{background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary)}.android-overlay[data-v-e8232b9f]{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.android-modal[data-v-e8232b9f]{position:relative;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.close-btn[data-v-e8232b9f]{position:absolute;top:1rem;right:1rem;background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:.5rem;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;z-index:1}.close-btn[data-v-e8232b9f]:hover{background:var(--border-light);color:var(--text-primary)}
