#nutreo-app[data-v-32a4baed]{display:flex;min-height:100vh}.sidebar[data-v-32a4baed]{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100}.sidebar-header[data-v-32a4baed]{padding:28px 24px 20px;border-bottom:1px solid var(--border)}.logo[data-v-32a4baed]{font-family:Bebas Neue,sans-serif;font-size:28px;letter-spacing:.12em;color:var(--accent);display:block}.sidebar-nav[data-v-32a4baed]{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.nav-link[data-v-32a4baed]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--muted);font-size:14px;font-weight:500;transition:background .2s,color .2s}.nav-link[data-v-32a4baed]:hover{background:var(--surface2);color:var(--text)}.nav-link.active[data-v-32a4baed]{background:#b8f04a1a;color:var(--accent)}.sidebar-footer[data-v-32a4baed]{padding:16px 12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.user-info[data-v-32a4baed]{display:flex;align-items:center;gap:10px;padding:8px 4px}.user-avatar[data-v-32a4baed]{width:32px;height:32px;border-radius:50%;background:#b8f04a26;color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.user-name[data-v-32a4baed]{font-size:13px;color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn[data-v-32a4baed]{width:100%;justify-content:center;font-size:13px;padding:8px 12px}.main-content[data-v-32a4baed]{margin-left:220px;flex:1;min-height:100vh}.main-content.full-width[data-v-32a4baed]{margin-left:0}@media (max-width: 768px){.sidebar[data-v-32a4baed]{width:100%;height:auto;position:relative;flex-direction:row;align-items:center;padding:0;border-right:none;border-bottom:1px solid var(--border)}.sidebar-header[data-v-32a4baed]{padding:16px 20px;border-bottom:none}.sidebar-nav[data-v-32a4baed]{flex-direction:row;padding:8px}.sidebar-footer[data-v-32a4baed]{flex-direction:row;padding:8px 12px;border-top:none;border-left:1px solid var(--border)}.main-content[data-v-32a4baed]{margin-left:0}#nutreo-app[data-v-32a4baed]{flex-direction:column}}.login-page[data-v-45fd0e3c]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.login-box[data-v-45fd0e3c]{width:100%;max-width:400px}.login-logo[data-v-45fd0e3c]{text-align:center;margin-bottom:40px}.logo-text[data-v-45fd0e3c]{font-family:Bebas Neue,sans-serif;font-size:56px;letter-spacing:.15em;color:var(--accent);display:block;line-height:1}.logo-sub[data-v-45fd0e3c]{color:var(--muted);font-size:13px;margin-top:8px;letter-spacing:.05em}.login-form[data-v-45fd0e3c]{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:20px}.form-group[data-v-45fd0e3c]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-45fd0e3c]{font-family:DM Mono,monospace;font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.form-input[data-v-45fd0e3c]{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;color:var(--text);font-size:14px;outline:none;transition:border-color .2s}.form-input[data-v-45fd0e3c]:focus{border-color:var(--accent)}.form-input[data-v-45fd0e3c]::placeholder{color:var(--muted)}.error-msg[data-v-45fd0e3c]{background:#f04a6a1a;border:1px solid rgba(240,74,106,.3);border-radius:8px;padding:10px 14px;color:var(--red);font-size:13px}.submit-btn[data-v-45fd0e3c]{width:100%;justify-content:center;font-size:15px;padding:13px;border-radius:10px}.submit-btn[data-v-45fd0e3c]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-45fd0e3c]{animation:spin-45fd0e3c .8s linear infinite}@keyframes spin-45fd0e3c{to{transform:rotate(360deg)}}.login-hint[data-v-45fd0e3c]{text-align:center;margin-top:20px;color:var(--muted);font-size:12px}.dashboard[data-v-adaed9b5]{padding:40px;max-width:1200px}.dashboard-header[data-v-adaed9b5]{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;gap:20px}.dashboard-title[data-v-adaed9b5]{font-size:42px;color:var(--text);line-height:1}.dashboard-sub[data-v-adaed9b5]{color:var(--muted);margin-top:6px;font-size:14px}.state-center[data-v-adaed9b5]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 20px;color:var(--muted)}.spinner-large[data-v-adaed9b5]{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-adaed9b5 .8s linear infinite}@keyframes spin-adaed9b5{to{transform:rotate(360deg)}}.error-text[data-v-adaed9b5]{color:var(--red)}.empty-state[data-v-adaed9b5]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 20px;color:var(--muted);text-align:center}.empty-icon[data-v-adaed9b5]{color:var(--border);margin-bottom:8px}.empty-state h2[data-v-adaed9b5]{font-size:32px;color:var(--text)}.plans-grid[data-v-adaed9b5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.plan-card[data-v-adaed9b5]{display:flex;flex-direction:column;gap:14px;transition:border-color .2s,transform .2s}.plan-card[data-v-adaed9b5]:hover{border-color:#b8f04a4d;transform:translateY(-2px)}.plan-card-header[data-v-adaed9b5]{display:flex;justify-content:space-between;align-items:center}.plan-date[data-v-adaed9b5]{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.delete-btn[data-v-adaed9b5]{background:none;border:none;color:var(--muted);padding:4px;border-radius:4px;transition:color .2s,background .2s}.delete-btn[data-v-adaed9b5]:hover{color:var(--red);background:#f04a6a1a}.plan-title[data-v-adaed9b5]{font-size:22px;color:var(--text);line-height:1.1}.plan-stats[data-v-adaed9b5]{display:flex;align-items:center;gap:12px;background:var(--surface2);border-radius:8px;padding:12px 14px}.stat-item[data-v-adaed9b5]{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}.stat-value[data-v-adaed9b5]{font-size:16px;font-weight:600}.stat-label[data-v-adaed9b5]{font-size:10px;color:var(--muted);text-transform:uppercase}.stat-divider[data-v-adaed9b5]{width:1px;height:28px;background:var(--border);flex-shrink:0}.plan-meta[data-v-adaed9b5]{display:flex;gap:10px}.meta-item[data-v-adaed9b5]{font-size:11px;color:var(--muted);background:var(--surface2);padding:3px 8px;border-radius:4px}.view-btn[data-v-adaed9b5]{margin-top:auto;justify-content:space-between;font-size:13px}.modal-overlay[data-v-adaed9b5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.confirm-modal[data-v-adaed9b5]{max-width:400px;width:100%;display:flex;flex-direction:column;gap:16px}.confirm-modal h3[data-v-adaed9b5]{font-size:22px}.confirm-modal p[data-v-adaed9b5]{color:var(--muted);font-size:14px;line-height:1.6}.confirm-modal strong[data-v-adaed9b5]{color:var(--text)}.confirm-actions[data-v-adaed9b5]{display:flex;gap:10px;justify-content:flex-end}.hero[data-v-27c5ab99]{padding:48px 0 36px;display:flex;flex-direction:column;gap:14px}.hero-title[data-v-27c5ab99]{font-size:clamp(42px,6vw,72px);color:var(--text);line-height:1;max-width:700px}.hero-desc[data-v-27c5ab99]{color:var(--muted);font-size:15px;max-width:560px;line-height:1.6}.hero-meta[data-v-27c5ab99]{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.meta-pill[data-v-27c5ab99]{display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:11px}.meta-key[data-v-27c5ab99]{color:var(--muted)}.meta-val[data-v-27c5ab99]{color:var(--text);font-weight:600}.stats-strip[data-v-307c6c76]{display:flex;flex-wrap:wrap;gap:12px}.stat-card[data-v-307c6c76]{flex:1;min-width:120px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:12px}.stat-icon[data-v-307c6c76]{flex-shrink:0;opacity:.8}.stat-info[data-v-307c6c76]{display:flex;flex-direction:column;gap:2px}.stat-value[data-v-307c6c76]{font-size:20px;font-weight:600;line-height:1}.stat-label[data-v-307c6c76]{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.macro-section[data-v-0420e48b]{display:flex;flex-direction:column;gap:14px}.section-title[data-v-0420e48b]{font-size:20px;color:var(--text)}.macro-bar[data-v-0420e48b]{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--surface2);gap:2px}.bar-seg[data-v-0420e48b]{height:100%;border-radius:6px;transition:width .5s ease}.macro-legend[data-v-0420e48b]{display:flex;flex-wrap:wrap;gap:16px}.legend-item[data-v-0420e48b]{display:flex;align-items:center;gap:8px;font-size:13px}.legend-dot[data-v-0420e48b]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-label[data-v-0420e48b]{color:var(--muted)}.legend-pct[data-v-0420e48b]{color:var(--text);font-weight:600}.legend-g[data-v-0420e48b]{color:var(--muted);font-size:11px}.exclusions-section[data-v-75ea52fa]{display:flex;flex-direction:column;gap:16px}.excl-group[data-v-75ea52fa]{display:flex;flex-direction:column;gap:8px}.excl-title[data-v-75ea52fa]{font-size:10px;color:var(--muted);letter-spacing:.1em}.tags-row[data-v-75ea52fa]{display:flex;flex-wrap:wrap;gap:8px}.day-card[data-v-b01febda]{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.day-header[data-v-b01febda]{padding:18px 20px 14px;border-bottom:1px solid var(--border);background:var(--surface2)}.day-name-row[data-v-b01febda]{display:flex;align-items:center;gap:10px}.day-name[data-v-b01febda]{font-size:22px;color:var(--text);line-height:1}.day-label[data-v-b01febda]{font-size:10px;color:var(--muted);letter-spacing:.08em;margin-top:4px}.meals-list[data-v-b01febda]{flex:1;display:flex;flex-direction:column;padding:8px 0}.meal-item[data-v-b01febda]{padding:12px 20px;border-bottom:1px solid rgba(42,51,48,.5);transition:background .15s}.meal-item[data-v-b01febda]:last-child{border-bottom:none}.meal-item[data-v-b01febda]:hover{background:#ffffff05}.meal-top[data-v-b01febda]{display:flex;align-items:center;justify-content:space-between;gap:10px}.meal-info[data-v-b01febda]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meal-hour[data-v-b01febda]{font-size:11px;color:var(--muted);letter-spacing:.06em;min-width:36px}.meal-name[data-v-b01febda]{font-size:14px;font-weight:500;color:var(--text)}.shake-tag[data-v-b01febda]{font-size:9px;padding:2px 7px}.meal-right[data-v-b01febda]{display:flex;align-items:center;gap:10px;flex-shrink:0}.meal-kcal[data-v-b01febda]{font-size:13px;color:var(--accent);font-weight:600}.recipe-btn[data-v-b01febda]{display:flex;align-items:center;gap:5px;background:#4af0b81a;border:1px solid rgba(74,240,184,.2);border-radius:6px;color:var(--accent2);font-size:11px;font-family:DM Mono,monospace;padding:4px 9px;cursor:pointer;transition:background .2s}.recipe-btn[data-v-b01febda]:hover{background:#4af0b833}.meal-detail[data-v-b01febda]{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5;padding-left:44px}.day-totals[data-v-b01febda]{padding:12px 20px;border-top:1px solid var(--border);background:var(--surface2);display:flex;align-items:center;flex-wrap:wrap;gap:6px}.total-item[data-v-b01febda]{display:flex;align-items:center;gap:6px;font-size:11px}.total-key[data-v-b01febda]{color:var(--muted)}.total-val[data-v-b01febda]{font-weight:600}.total-sep[data-v-b01febda]{color:var(--border)}.shopping-section[data-v-931b3109]{display:flex;flex-direction:column;gap:20px}.section-title[data-v-931b3109]{font-size:28px;color:var(--text)}.empty[data-v-931b3109]{color:var(--muted);font-size:14px}.categories-grid[data-v-931b3109]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.category-card[data-v-931b3109]{padding:16px;display:flex;flex-direction:column;gap:10px}.category-name[data-v-931b3109]{font-size:10px;color:var(--accent);letter-spacing:.1em}.items-list[data-v-931b3109]{list-style:none;display:flex;flex-direction:column;gap:6px}.shop-item[data-v-931b3109]{display:flex;align-items:flex-start;gap:10px;cursor:pointer;transition:opacity .2s;font-size:13px;color:var(--text);-webkit-user-select:none;user-select:none}.shop-item.done[data-v-931b3109]{opacity:.4}.shop-item.done .item-text[data-v-931b3109]{text-decoration:line-through}.check-box[data-v-931b3109]{width:16px;height:16px;border:1px solid var(--border);border-radius:3px;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.shop-item.done .check-box[data-v-931b3109]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.shop-item:hover .check-box[data-v-931b3109]{border-color:var(--accent)}.notes-section[data-v-66461f80]{display:flex;flex-direction:column;gap:20px}.section-title[data-v-66461f80]{font-size:28px;color:var(--text)}.empty[data-v-66461f80]{color:var(--muted);font-size:14px}.notes-grid[data-v-66461f80]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.note-card[data-v-66461f80]{display:flex;flex-direction:column;gap:12px}.note-header[data-v-66461f80]{display:flex;align-items:flex-start;gap:12px}.note-num[data-v-66461f80]{font-size:11px;color:var(--accent);margin-top:2px;flex-shrink:0}.note-title[data-v-66461f80]{font-size:15px;font-weight:600;color:var(--text);line-height:1.3}.note-items[data-v-66461f80]{list-style:none;display:flex;flex-direction:column;gap:7px}.note-item[data-v-66461f80]{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--muted);line-height:1.5}.note-bullet[data-v-66461f80]{width:5px;height:5px;border-radius:50%;background:var(--accent3);flex-shrink:0;margin-top:6px}.modal-overlay[data-v-5d07a7ac]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:300;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box[data-v-5d07a7ac]{width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;border-radius:16px}.modal-header[data-v-5d07a7ac]{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 24px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-sub[data-v-5d07a7ac]{font-size:10px;color:var(--muted);letter-spacing:.1em;margin-bottom:4px}.modal-title[data-v-5d07a7ac]{font-size:26px;color:var(--text)}.close-btn[data-v-5d07a7ac]{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--muted);padding:6px;cursor:pointer;transition:color .2s;flex-shrink:0}.close-btn[data-v-5d07a7ac]:hover{color:var(--text)}.modal-body[data-v-5d07a7ac]{overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:28px}.recipe-section[data-v-5d07a7ac]{display:flex;flex-direction:column;gap:12px}.recipe-section-title[data-v-5d07a7ac]{font-size:10px;color:var(--muted);letter-spacing:.12em}.ingredients-list[data-v-5d07a7ac]{list-style:none;display:flex;flex-direction:column;gap:8px}.ingredient-item[data-v-5d07a7ac]{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text)}.ingredient-bullet[data-v-5d07a7ac]{width:6px;height:6px;border-radius:50%;background:var(--accent2);flex-shrink:0}.steps-list[data-v-5d07a7ac]{list-style:none;display:flex;flex-direction:column;gap:12px}.step-item[data-v-5d07a7ac]{display:flex;align-items:flex-start;gap:14px;font-size:14px;color:var(--text);line-height:1.5}.step-num[data-v-5d07a7ac]{font-size:11px;color:var(--accent);font-weight:600;flex-shrink:0;margin-top:2px;min-width:22px}.plan-page[data-v-1403d482]{min-height:100vh}.state-center[data-v-1403d482]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 20px;color:var(--muted)}.spinner-large[data-v-1403d482]{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-1403d482 .8s linear infinite}@keyframes spin-1403d482{to{transform:rotate(360deg)}}.error-text[data-v-1403d482]{color:var(--red)}.plan-topbar[data-v-1403d482]{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:50}.back-link[data-v-1403d482]{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:500;transition:color .2s}.back-link[data-v-1403d482]:hover{color:var(--text)}.plan-date[data-v-1403d482]{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.plan-inner[data-v-1403d482]{padding:0 40px 60px;max-width:1100px;display:flex;flex-direction:column;gap:48px}.week-section[data-v-1403d482]{display:flex;flex-direction:column;gap:20px}.week-header[data-v-1403d482]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.section-title[data-v-1403d482]{font-size:28px;color:var(--text)}.filter-tabs[data-v-1403d482]{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px}.filter-tab[data-v-1403d482]{padding:7px 14px;border-radius:7px;border:none;background:none;color:var(--muted);font-size:11px;font-family:DM Mono,monospace;letter-spacing:.08em;cursor:pointer;transition:all .2s}.filter-tab.active[data-v-1403d482]{background:var(--surface2);color:var(--accent)}.filter-tab[data-v-1403d482]:hover:not(.active){color:var(--text)}.days-grid[data-v-1403d482]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.no-days[data-v-1403d482]{color:var(--muted);font-size:14px;padding:20px 0}@media (max-width: 768px){.plan-topbar[data-v-1403d482]{padding:16px 20px}.plan-inner[data-v-1403d482]{padding:0 20px 40px}}.upload-page[data-v-6600f341]{padding:40px;max-width:720px;display:flex;flex-direction:column;gap:24px}.upload-header h1[data-v-6600f341]{font-size:42px;line-height:1}.upload-sub[data-v-6600f341]{color:var(--muted);margin-top:8px;font-size:14px}.mode-tabs[data-v-6600f341]{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px;width:fit-content}.mode-tab[data-v-6600f341]{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:7px;border:none;background:none;color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.mode-tab.active[data-v-6600f341]{background:var(--surface2);color:var(--accent)}.mode-tab[data-v-6600f341]:hover:not(.active){color:var(--text)}.upload-zone[data-v-6600f341]{border:2px dashed var(--border);border-radius:12px;padding:48px 32px;cursor:pointer;transition:border-color .2s,background .2s;background:var(--surface);text-align:center}.upload-zone[data-v-6600f341]:hover,.upload-zone.dragging[data-v-6600f341]{border-color:var(--accent);background:#b8f04a08}.file-input-hidden[data-v-6600f341]{display:none}.drop-prompt[data-v-6600f341]{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted)}.drop-prompt svg[data-v-6600f341]{color:var(--border)}.drop-prompt p[data-v-6600f341]{font-size:14px}.accent-link[data-v-6600f341]{color:var(--accent);text-decoration:underline}.drop-hint[data-v-6600f341]{font-size:11px;color:var(--muted);letter-spacing:.1em}.file-selected[data-v-6600f341]{display:flex;align-items:center;gap:16px;justify-content:center}.file-selected svg[data-v-6600f341]{color:var(--accent);flex-shrink:0}.file-name[data-v-6600f341]{font-weight:500;color:var(--text)}.file-size[data-v-6600f341]{font-size:11px;color:var(--muted);margin-top:2px}.remove-btn[data-v-6600f341]{background:none;border:none;color:var(--muted);padding:4px;border-radius:4px;margin-left:auto}.remove-btn[data-v-6600f341]:hover{color:var(--red)}.json-textarea[data-v-6600f341]{width:100%;height:320px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;color:var(--text);font-size:13px;line-height:1.6;resize:vertical;outline:none;transition:border-color .2s}.json-textarea[data-v-6600f341]:focus{border-color:var(--accent)}.json-error[data-v-6600f341]{color:var(--red);font-size:12px;margin-top:-16px}.alert[data-v-6600f341]{padding:12px 16px;border-radius:8px;font-size:13px}.alert-error[data-v-6600f341]{background:#f04a6a1a;border:1px solid rgba(240,74,106,.3);color:var(--red)}.alert-success[data-v-6600f341]{background:#b8f04a1a;border:1px solid rgba(184,240,74,.3);color:var(--accent);display:flex;gap:10px;align-items:center}.alert-link[data-v-6600f341]{text-decoration:underline}.submit-btn[data-v-6600f341]{width:fit-content;min-width:160px;justify-content:center;font-size:15px;padding:13px 28px}.submit-btn[data-v-6600f341]:disabled{opacity:.5;cursor:not-allowed}.spinner[data-v-6600f341]{animation:spin-6600f341 .8s linear infinite}@keyframes spin-6600f341{to{transform:rotate(360deg)}}.admin-users[data-v-ea421d45]{padding:32px;max-width:900px}.page-header[data-v-ea421d45]{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.page-title[data-v-ea421d45]{font-size:32px;letter-spacing:.08em;color:var(--text);margin:0 0 4px}.page-sub[data-v-ea421d45]{color:var(--muted);font-size:13px;margin:0}.table-wrap[data-v-ea421d45]{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}table[data-v-ea421d45]{width:100%;border-collapse:collapse}thead tr[data-v-ea421d45]{border-bottom:1px solid var(--border)}th[data-v-ea421d45]{padding:12px 16px;text-align:left;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}td[data-v-ea421d45]{padding:14px 16px;font-size:14px;color:var(--text);border-bottom:1px solid var(--border)}tbody tr:last-child td[data-v-ea421d45]{border-bottom:none}tbody tr[data-v-ea421d45]:hover{background:var(--surface2)}.td-name[data-v-ea421d45]{display:flex;align-items:center;gap:10px;font-weight:500}.td-email[data-v-ea421d45]{color:var(--muted)}.td-date[data-v-ea421d45]{color:var(--muted);font-size:13px}.td-actions[data-v-ea421d45]{display:flex;gap:8px;justify-content:flex-end}.user-avatar-sm[data-v-ea421d45]{width:28px;height:28px;border-radius:50%;background:#b8f04a1f;color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.badge[data-v-ea421d45]{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-admin[data-v-ea421d45]{background:#b8f04a1f;color:var(--accent)}.badge-user[data-v-ea421d45]{background:#ffffff0f;color:var(--muted)}.empty-state[data-v-ea421d45]{padding:48px;text-align:center;color:var(--muted)}.btn-sm[data-v-ea421d45]{padding:6px 12px;font-size:13px}.btn-ghost[data-v-ea421d45]{background:transparent;border:1px solid var(--border);color:var(--muted)}.btn-ghost[data-v-ea421d45]:hover{border-color:var(--accent);color:var(--accent)}.btn-danger[data-v-ea421d45]{background:#f04a6a1f;border:1px solid transparent;color:var(--red)}.btn-danger[data-v-ea421d45]:hover:not(:disabled){background:#f04a6a33}.btn-danger[data-v-ea421d45]:disabled{opacity:.4;cursor:not-allowed}.modal-backdrop[data-v-ea421d45]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-ea421d45]{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;width:100%;max-width:440px}.modal-sm[data-v-ea421d45]{max-width:360px}.modal-title[data-v-ea421d45]{font-size:22px;letter-spacing:.08em;margin:0 0 24px}.form-group[data-v-ea421d45]{margin-bottom:16px}.form-group label[data-v-ea421d45]{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.form-group input[type=text][data-v-ea421d45],.form-group input[type=email][data-v-ea421d45],.form-group input[type=password][data-v-ea421d45]{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:14px;box-sizing:border-box}.form-group input[data-v-ea421d45]:focus{outline:none;border-color:var(--accent)}.form-check[data-v-ea421d45]{margin-top:4px}.check-label[data-v-ea421d45]{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px!important;text-transform:none!important;letter-spacing:0!important;color:var(--text)!important}.check-label input[type=checkbox][data-v-ea421d45]{width:16px;height:16px;accent-color:var(--accent)}.form-error[data-v-ea421d45]{color:var(--red);font-size:13px;margin:-8px 0 12px}.modal-actions[data-v-ea421d45]{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.confirm-text[data-v-ea421d45]{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 8px}:root{--bg: #0d0f0e;--surface: #161a18;--surface2: #1e2421;--border: #2a3330;--accent: #b8f04a;--accent2: #4af0b8;--accent3: #f0b84a;--text: #e8f0ec;--muted: #7a9186;--red: #f04a6a}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.font-display{font-family:Bebas Neue,sans-serif;letter-spacing:.04em}.font-mono{font-family:DM Mono,monospace}.tag{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace}.tag-accent{background:#b8f04a26;color:var(--accent)}.tag-accent2{background:#4af0b826;color:var(--accent2)}.tag-accent3{background:#f0b84a26;color:var(--accent3)}.tag-red{background:#f04a6a26;color:var(--red)}.tag-muted{background:#7a918626;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;border:none;transition:opacity .2s,transform .1s}.btn:hover{opacity:.85}.btn:active{transform:scale(.97)}.btn-accent{background:var(--accent);color:var(--bg);font-weight:700}.btn-surface{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-danger{background:#f04a6a26;color:var(--red);border:1px solid rgba(240,74,106,.3)}
