@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sarabun:wght@300;400;500;600;700&display=swap";.modal-alert[data-v-d020a25f]{max-width:480px}.alert-icon-wrapper.icon-success[data-v-d020a25f]{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.alert-icon-wrapper.icon-warning[data-v-d020a25f]{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.alert-icon-wrapper.icon-danger[data-v-d020a25f]{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.alert-icon-wrapper.icon-info[data-v-d020a25f],.alert-icon-wrapper.icon-confirm[data-v-d020a25f]{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-border)}.alert-title[data-v-d020a25f]{color:var(--text-primary);font-size:1.15rem;font-weight:800}.alert-body-content[data-v-d020a25f]{padding:1.5rem 1.75rem}.alert-message-text[data-v-d020a25f]{color:var(--text-secondary);white-space:pre-line;font-size:.95rem;line-height:1.6}.alert-footer[data-v-d020a25f]{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.btn-danger[data-v-d020a25f]{color:#fff;background:#dc2626;border:1px solid #b91c1c}.btn-danger[data-v-d020a25f]:hover{background:#b91c1c;box-shadow:0 4px 12px #dc262640}.modal-scale-enter-active[data-v-d020a25f],.modal-scale-leave-active[data-v-d020a25f]{transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.modal-scale-enter-from[data-v-d020a25f],.modal-scale-leave-to[data-v-d020a25f]{opacity:0;transform:scale(.95)}.landing-container[data-v-88fa8f50]{min-height:100vh;padding:var(--space-6);background:var(--bg-app);justify-content:center;align-items:center;display:flex}.landing-card[data-v-88fa8f50]{width:100%;max-width:440px;padding:var(--space-8) var(--space-6);text-align:center;border-radius:var(--radius-xl)}.landing-brand-badge[data-v-88fa8f50]{width:64px;height:64px;margin:0 auto var(--space-4);border-radius:var(--radius-lg);background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-md);justify-content:center;align-items:center;display:flex}.landing-title[data-v-88fa8f50]{color:var(--text-main);margin-bottom:var(--space-1);font-size:1.75rem;font-weight:700}.landing-subtitle[data-v-88fa8f50]{color:var(--text-muted);margin-bottom:var(--space-6);font-size:.875rem}.landing-action-box[data-v-88fa8f50]{gap:var(--space-3);flex-direction:column;display:flex}.modal-fade-enter-active[data-v-d24441f6],.modal-fade-leave-active[data-v-d24441f6]{transition:opacity .2s cubic-bezier(.16,1,.3,1)}.modal-fade-enter-from[data-v-d24441f6],.modal-fade-leave-to[data-v-d24441f6]{opacity:0}.modal-fade-enter-active .modal-card[data-v-d24441f6],.modal-fade-leave-active .modal-card[data-v-d24441f6]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.modal-fade-enter-from .modal-card[data-v-d24441f6],.modal-fade-leave-to .modal-card[data-v-d24441f6]{transform:scale(.97)translateY(6px)}.modal-title-content[data-v-d24441f6]{flex-direction:column;gap:.25rem;display:flex}.modal-title-row[data-v-d24441f6]{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.modal-tabbed[data-v-d24441f6]{flex-direction:column;display:flex}.modal-tabs-bar[data-v-d24441f6]{border-bottom:1px solid var(--border-color,#e2e8f0);background:#f8fafc;gap:.5rem;padding:0 1.25rem;display:flex;overflow-x:auto}.modal-tab-item[data-v-d24441f6]{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.45rem;padding:.85rem 1rem;font-size:.84rem;font-weight:600;transition:all .2s;display:inline-flex}.modal-tab-item[data-v-d24441f6]:hover{color:var(--text-primary);background:#00000005}.modal-tab-item.active[data-v-d24441f6]{color:#0284c7;background:#fff;border-bottom-color:#0284c7}.tab-badge[data-v-d24441f6]{color:#0284c7;background:#0ea5e91a;border-radius:10px;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.modal-tab-viewport[data-v-d24441f6]{flex:1;min-height:280px;max-height:calc(88vh - 200px);padding:1.5rem 1.75rem;overflow-y:auto}.cropper-body-layout[data-v-6d92eda6]{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.canvas-container[data-v-6d92eda6]{cursor:grab;-webkit-user-select:none;user-select:none;background:#0f172a;border-radius:14px;width:300px;height:300px;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #0000004d}.canvas-container[data-v-6d92eda6]:active{cursor:grabbing}.crop-canvas[data-v-6d92eda6]{width:100%;height:100%;display:block}.crop-mask-circle[data-v-6d92eda6]{pointer-events:none;border:2px solid #ffffffd9;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 9999px #0f172aa6}.crop-grid-lines[data-v-6d92eda6]{pointer-events:none;background-image:linear-gradient(90deg,#ffffff26 1px,#0000 1px),linear-gradient(#ffffff26 1px,#0000 1px);background-size:33.33% 33.33%;border-radius:50%;position:absolute;inset:0}.cropper-controls[data-v-6d92eda6]{flex-direction:column;gap:.85rem;width:100%;display:flex}.zoom-group[data-v-6d92eda6]{border:1px solid var(--border-color);background:#f8fafc;border-radius:10px;align-items:center;gap:.75rem;padding:.5rem .85rem;display:flex}.control-icon[data-v-6d92eda6]{color:var(--text-muted);cursor:pointer;transition:color .2s}.control-icon[data-v-6d92eda6]:hover{color:var(--primary)}.zoom-slider[data-v-6d92eda6]{accent-color:var(--primary);cursor:pointer;flex:1}.action-tools[data-v-6d92eda6]{gap:.75rem;display:flex}.btn-tool[data-v-6d92eda6]{border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:#fff;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.5rem;font-size:.825rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-tool[data-v-6d92eda6]:hover{background:var(--primary-light);border-color:var(--primary-border);color:var(--primary)}.compression-info[data-v-6d92eda6]{color:var(--text-muted);background:var(--primary-light);border:1px solid var(--primary-border);border-radius:8px;align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:.775rem;display:flex}.sparkle-icon[data-v-6d92eda6]{color:var(--primary);flex-shrink:0}.cropper-footer[data-v-6d92eda6]{border-top:1px solid var(--border-color);background:#f8fafc;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.cropper-modal-overlay[data-v-6d92eda6]{z-index:10000!important;-webkit-backdrop-filter:blur(8px)!important;background:#0f172ab3!important}.cropper-modal-card[data-v-6d92eda6]{z-index:10001!important;box-shadow:0 25px 50px -12px #00000080!important}.reset-form-grid[data-v-2fa05c0c]{gap:var(--space-4);flex-direction:column;display:flex}.has-action-btn[data-v-2fa05c0c]{padding-right:2.5rem}.btn-input-action[data-v-2fa05c0c]{right:var(--space-3);color:var(--text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:none;align-items:center;display:flex;position:absolute}.btn-input-action[data-v-2fa05c0c]:hover{color:var(--text-main)}.password-tools-box[data-v-2fa05c0c]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px dashed var(--border-light);border-radius:var(--radius-md);background:#f8fafc;display:flex}.modal-form-content[data-v-d380685c]{gap:var(--space-5);flex-direction:column;display:flex}.avatar-banner-box[data-v-d380685c]{align-items:center;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--border-light);background:#f8fafc;display:flex}.avatar-meta-info[data-v-d380685c]{gap:var(--space-1);flex-direction:column;display:flex}.avatar-btn-row[data-v-d380685c]{align-items:center;gap:var(--space-2);display:flex}.security-card-box[data-v-d380685c]{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--border-light);border-radius:var(--radius-md);background:#f8fafc;display:flex}.security-card-text[data-v-d380685c]{gap:var(--space-1);flex-direction:column;display:flex}.switch-modal-backdrop[data-v-6530009b]{z-index:9999;-webkit-backdrop-filter:blur(20px);-webkit-user-select:none;user-select:none;background:#0f172a73;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.ambient-backdrop-glow[data-v-6530009b]{filter:blur(48px);pointer-events:none;z-index:0;background:radial-gradient(circle,#0284c72e 0%,#6366f11f 50%,#0000 75%);border-radius:50%;width:580px;height:380px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.switch-modal-card[data-v-6530009b]{z-index:10;-webkit-backdrop-filter:blur(32px);background:#fffffffa;border:1px solid #fffffff2;border-radius:24px;flex-direction:column;width:100%;max-width:720px;animation:.28s cubic-bezier(.16,1,.3,1) forwards modalEnter-6530009b;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #0f172a2e,0 10px 20px -5px #0f172a0f,inset 0 1px 1px #fffffff2}@keyframes modalEnter-6530009b{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.switch-modal-header[data-v-6530009b]{border-bottom:1px solid #e2e8f0d9;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.75rem 1.15rem;display:flex}.header-text-group[data-v-6530009b]{flex-direction:column;gap:.35rem;display:flex}.header-title-row[data-v-6530009b]{align-items:center;gap:.65rem;display:flex}.header-icon-badge[data-v-6530009b]{color:#0284c7;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.header-main-title[data-v-6530009b]{color:#0f172a;letter-spacing:-.015em;margin:0;font-size:1.2rem;font-weight:800;line-height:1.3}.header-sub-title[data-v-6530009b]{color:#64748b;margin:0;font-size:.85rem;line-height:1.4}.btn-modal-close[data-v-6530009b]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.btn-modal-close[data-v-6530009b]:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1;transform:scale(1.05)}.switch-modal-body[data-v-6530009b]{padding:1.75rem}.app-tiles-grid[data-v-6530009b]{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:1.25rem;width:100%;display:flex}.app-tile[data-v-6530009b]{text-align:center;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;outline:none;flex-direction:column;flex:280px;align-items:center;width:100%;max-width:330px;padding:2rem 1.5rem;transition:all .28s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0f172a08}.app-tile[data-v-6530009b]:hover{border-color:#0284c7;transform:translateY(-5px);box-shadow:0 16px 32px -8px #0284c729,0 4px 8px -2px #0284c70a}.tile-core[data-v-6530009b]:hover{border-color:#4f46e5;box-shadow:0 16px 32px -8px #4f46e529,0 4px 8px -2px #4f46e50a}.app-tile.is-current-active[data-v-6530009b]{background:linear-gradient(#f0f9ff 0%,#fff 60%);border-width:2px;border-color:#0284c7;box-shadow:0 12px 28px -6px #0284c724}.tile-core.is-current-active[data-v-6530009b]{background:linear-gradient(#eef2ff 0%,#fff 60%);border-color:#4f46e5;box-shadow:0 12px 28px -6px #4f46e524}.active-status-badge[data-v-6530009b]{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex;position:absolute;top:1rem;right:1rem}.active-pulse-dot[data-v-6530009b]{background:#059669;border-radius:50%;width:6px;height:6px;animation:2s infinite pulseDot-6530009b;box-shadow:0 0 6px #059669cc}@keyframes pulseDot-6530009b{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.3)}to{opacity:.8;transform:scale(.95)}}.tile-icon-box[data-v-6530009b]{border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.25rem;transition:transform .28s cubic-bezier(.16,1,.3,1);display:flex}.box-support[data-v-6530009b]{color:#0284c7;background:#f0f9ff;border:1.5px solid #bae6fd}.box-core[data-v-6530009b]{color:#4f46e5;background:#eef2ff;border:1.5px solid #c7d2fe}.app-tile:hover .tile-icon-box[data-v-6530009b]{transform:scale(1.1)}.tile-info[data-v-6530009b]{flex-direction:column;align-items:center;gap:.45rem;display:flex}.tile-title[data-v-6530009b]{color:#0f172a;margin:0;font-size:1.1rem;font-weight:800;line-height:1.35}.tile-desc[data-v-6530009b]{color:#64748b;max-width:250px;margin:0;font-size:.8rem;line-height:1.55}.switch-modal-footer[data-v-6530009b]{text-align:center;background:#f8fafc;border-top:1px solid #e2e8f0bf;padding:.85rem 1.75rem}.footer-note-text[data-v-6530009b]{color:#64748b;font-size:.775rem}.modal-pop-fade-enter-active[data-v-6530009b],.modal-pop-fade-leave-active[data-v-6530009b]{transition:opacity .25s}.modal-pop-fade-enter-from[data-v-6530009b],.modal-pop-fade-leave-to[data-v-6530009b]{opacity:0}@media (width<=640px){.app-tiles-grid[data-v-6530009b]{grid-template-columns:1fr}}.cosmic-loading-overlay[data-v-7785e2e0]{z-index:99999;-webkit-backdrop-filter:blur(28px);-webkit-user-select:none;user-select:none;background:#f8fafcf5;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow:hidden}.cosmic-loading-card[data-v-7785e2e0]{z-index:10;text-align:center;flex-direction:column;align-items:center;width:100%;max-width:600px;animation:.6s cubic-bezier(.16,1,.3,1) forwards cosmicCardEnter-7785e2e0;display:flex;position:relative}@keyframes cosmicCardEnter-7785e2e0{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.canvas-3d-wrap[data-v-7785e2e0]{justify-content:center;align-items:center;width:560px;max-width:92vw;height:400px;margin-bottom:.75rem;display:flex;position:relative}.sculpture-radial-glow[data-v-7785e2e0]{filter:blur(36px);pointer-events:none;z-index:0;background:radial-gradient(circle,#38bdf859 0%,#0284c733 40%,#818cf81a 65%,#0000 80%);border-radius:50%;width:480px;height:360px;animation:4s ease-in-out infinite alternate pulseCenterGlow-7785e2e0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulseCenterGlow-7785e2e0{0%{opacity:.75;transform:translate(-50%,-50%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}.canvas-3d-wrap canvas[data-v-7785e2e0]{z-index:1;filter:drop-shadow(0 18px 36px #0284c740);display:block;position:relative;width:560px!important;max-width:92vw!important;height:400px!important}.cosmic-greeting-content[data-v-7785e2e0]{flex-direction:column;align-items:center;margin-bottom:1.5rem;display:flex}.cosmic-user-display-name[data-v-7785e2e0]{color:#0f172a;letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.cosmic-user-meta-tags[data-v-7785e2e0]{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.cosmic-tag[data-v-7785e2e0]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem .95rem;font-size:.825rem;font-weight:600;display:inline-flex}.role-glow-tag[data-v-7785e2e0]{color:#0284c7;background:#0284c714;border:1px solid #0284c740;box-shadow:0 2px 6px #0284c714}.org-glow-tag[data-v-7785e2e0]{color:#475569;background:#ffffffbf;border:1px solid #e2e8f0f2;box-shadow:0 2px 6px #00000008}.cosmic-progress-section[data-v-7785e2e0]{flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:380px;display:flex}.cosmic-progress-track[data-v-7785e2e0]{background:#e2e8f0;border-radius:9999px;width:100%;height:6px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0000000a}.cosmic-progress-bar-fill[data-v-7785e2e0]{background:linear-gradient(90deg,#0284c7 0%,#38bdf8 60%,#818cf8 100%);border-radius:9999px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 0 12px #0284c773}.cosmic-progress-shimmer[data-v-7785e2e0]{background:linear-gradient(90deg,#0000,#ffffffd9,#0000);width:100%;height:100%;animation:1.5s infinite shimmer-7785e2e0;position:absolute;top:0;left:-100%}.cosmic-step-status-text[data-v-7785e2e0]{color:#64748b;letter-spacing:.01em;font-size:.85rem;font-weight:600}@keyframes shimmer-7785e2e0{0%{left:-100%}to{left:100%}}.cosmic-fade-enter-active[data-v-7785e2e0],.cosmic-fade-leave-active[data-v-7785e2e0]{transition:opacity .5s}.cosmic-fade-enter-from[data-v-7785e2e0],.cosmic-fade-leave-to[data-v-7785e2e0]{opacity:0}.app-sidebar[data-v-00fdff42]{border-right:1px solid var(--border-light);z-index:50;-webkit-user-select:none;user-select:none;background:#fff;flex-direction:column;width:260px;min-height:100vh;transition:transform .25s;display:flex;position:sticky;top:0}.sidebar-header[data-v-00fdff42]{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;height:68px;padding:0 1.25rem;display:flex}.sidebar-brand[data-v-00fdff42]{flex:1;align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-badge[data-v-00fdff42]{background:var(--primary-gradient);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 3px 8px #0284c740}.brand-info[data-v-00fdff42]{flex-direction:column;display:flex}.brand-title[data-v-00fdff42]{color:var(--text-main);font-size:1rem;font-weight:800;line-height:1.2}.brand-subtitle[data-v-00fdff42]{color:var(--primary);font-size:.7rem;font-weight:600}.mobile-close-btn[data-v-00fdff42]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem;display:none}.sidebar-app-switcher-wrapper[data-v-00fdff42]{flex-shrink:0;margin:.75rem .85rem 0}.app-switcher-btn[data-v-00fdff42]{cursor:pointer;text-align:left;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;align-items:center;gap:.65rem;width:100%;padding:.55rem .75rem;font-family:inherit;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.app-switcher-btn[data-v-00fdff42]:hover{border-color:var(--primary);background:#fff;box-shadow:0 2px 8px #0284c71f}.app-switcher-icon-box[data-v-00fdff42]{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.app-switcher-icon-box.badge-support[data-v-00fdff42],.app-switcher-icon-box.badge-toolkit[data-v-00fdff42]{color:#0284c7;background:#e0f2fe}.app-switcher-icon-box.badge-core[data-v-00fdff42]{color:#4f46e5;background:#e0e7ff}.app-switcher-info-col[data-v-00fdff42]{flex-direction:column;flex:1;min-width:0;display:flex}.app-switcher-sub[data-v-00fdff42]{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:2px;font-size:.65rem;font-weight:600;line-height:1}.app-switcher-name[data-v-00fdff42]{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.825rem;font-weight:700;line-height:1.2;overflow:hidden}.switcher-layers-icon[data-v-00fdff42]{color:var(--text-muted);flex-shrink:0;transition:all .2s}.app-switcher-btn:hover .switcher-layers-icon[data-v-00fdff42]{color:var(--primary);transform:scale(1.15)}.sidebar-nav[data-v-00fdff42]{flex-direction:column;flex:1;gap:1.25rem;padding:1rem .85rem;display:flex;overflow-y:auto}.nav-section[data-v-00fdff42]{flex-direction:column;gap:.35rem;display:flex}.section-label[data-v-00fdff42]{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:0 .5rem .25rem;font-size:.7rem;font-weight:700}.nav-item[data-v-00fdff42]{border-radius:var(--radius-md);color:var(--text-muted);align-items:center;gap:.65rem;padding:.6rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.nav-item[data-v-00fdff42]:hover{color:var(--primary);background:#f8fafc}.nav-item.active[data-v-00fdff42]{background:var(--primary-light);color:var(--primary);font-weight:700}.nav-empty-notice[data-v-00fdff42]{color:var(--text-muted);text-align:center;padding:1rem .5rem;font-size:.8rem}.sidebar-footer[data-v-00fdff42]{border-top:1px solid var(--border-light);padding:.85rem;position:relative}.sidebar-user-card[data-v-00fdff42]{border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;text-align:left;background:#fff;align-items:center;gap:.65rem;width:100%;padding:.5rem .65rem;transition:all .15s;display:flex}.sidebar-user-card[data-v-00fdff42]:hover,.sidebar-user-card.is-active[data-v-00fdff42]{border-color:var(--primary);background:#f8fafc}.sidebar-user-avatar[data-v-00fdff42]{background:var(--primary-light);width:32px;height:32px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar-fit[data-v-00fdff42]{object-fit:cover;width:100%;height:100%}.sidebar-user-info[data-v-00fdff42]{flex-direction:column;flex:1;display:flex;overflow:hidden}.user-display-name[data-v-00fdff42]{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:700;overflow:hidden}.user-display-pos[data-v-00fdff42]{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.685rem;overflow:hidden}.profile-arrow[data-v-00fdff42]{color:var(--text-muted)}.profile-action-menu[data-v-00fdff42]{border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:60;background:#fff;flex-direction:column;gap:.25rem;padding:.5rem;display:flex;position:absolute;bottom:calc(100% + 8px);left:.85rem;right:.85rem}.menu-user-header[data-v-00fdff42]{align-items:center;gap:.65rem;padding:.5rem;display:flex}.menu-user-avatar[data-v-00fdff42]{background:var(--primary-light);width:34px;height:34px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.menu-user-text[data-v-00fdff42]{flex-direction:column;display:flex;overflow:hidden}.menu-user-name[data-v-00fdff42]{color:var(--text-main);font-size:.825rem;font-weight:700}.menu-user-email[data-v-00fdff42]{color:var(--text-muted);font-size:.7rem}.menu-user-role[data-v-00fdff42]{color:var(--primary);font-size:.675rem;font-weight:600}.menu-divider[data-v-00fdff42]{background:var(--border-light);height:1px;margin:.25rem 0}.menu-btn-item[data-v-00fdff42]{border-radius:var(--radius-sm);width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .65rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.menu-btn-item[data-v-00fdff42]:hover{color:var(--primary);background:#f1f5f9}.menu-btn-danger[data-v-00fdff42]{color:var(--danger)}.menu-btn-danger[data-v-00fdff42]:hover{background:var(--danger-light);color:var(--danger)}.menu-slide-enter-active[data-v-00fdff42],.menu-slide-leave-active[data-v-00fdff42]{transition:all .2s}.menu-slide-enter-from[data-v-00fdff42],.menu-slide-leave-to[data-v-00fdff42]{opacity:0;transform:translateY(6px)}@media (width<=992px){.app-sidebar[data-v-00fdff42]{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-sidebar.mobile-open[data-v-00fdff42]{transform:translate(0)}.mobile-close-btn[data-v-00fdff42]{display:flex}}.app-shell[data-v-990d1e41]{background-color:var(--bg-app);min-height:100vh;display:flex}.app-main-viewport[data-v-990d1e41]{flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.app-page-wrapper[data-v-990d1e41]{flex-direction:column;flex:1;display:flex}.sidebar-backdrop[data-v-990d1e41]{-webkit-backdrop-filter:blur(4px);z-index:45;background:#0f172a66;position:fixed;inset:0}.fade-enter-active[data-v-990d1e41],.fade-leave-active[data-v-990d1e41]{transition:opacity .2s}.fade-enter-from[data-v-990d1e41],.fade-leave-to[data-v-990d1e41]{opacity:0}:root{--primary:#0284c7;--primary-hover:#0369a1;--primary-dark:#075985;--primary-light:#e0f2fe;--primary-border:#38bdf8;--primary-gradient:linear-gradient(135deg, #0284c7 0%, #0369a1 100%);--bg-app:#f8fafc;--bg-surface:#fff;--bg-card:#ffffffe6;--bg-card-hover:#fffffffa;--bg-frosted:#f8fafceb;--glass-bg:#f8fafceb;--glass-blur:blur(14px);--text-main:#0f172a;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#64748b;--text-light:#94a3b8;--border-light:#e2e8f0d9;--border-color:#e2e8f0d9;--border-glass:#fff9;--border-focus:#38bdf8;--border-hover:#0284c74d;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--success:#059669;--success-light:#d1fae5;--color-success:#059669;--color-success-bg:#d1fae5;--color-success-border:#a7f3d0;--warning:#d97706;--warning-light:#fef3c7;--color-warning:#d97706;--color-warning-bg:#fef3c7;--danger:#dc2626;--danger-light:#fee2e2;--color-danger:#dc2626;--color-danger-bg:#fee2e2;--color-danger-border:#fecaca;--info:#0284c7;--info-light:#e0f2fe;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--sidebar-width:260px;--header-height:68px;--font-family:"Sarabun", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;overflow-x:hidden}#app{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem}a{color:inherit;text-decoration:none}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.25;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-xs{border-radius:var(--radius-sm);gap:.25rem;padding:.25rem .5rem;font-size:.75rem}.btn-sm{border-radius:var(--radius-sm);gap:.35rem;padding:.375rem .75rem;font-size:.8125rem}.btn-md{border-radius:var(--radius-md);gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem}.btn-lg{border-radius:var(--radius-md);gap:.6rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600}.btn-xl{border-radius:var(--radius-lg);gap:.75rem;padding:.875rem 2rem;font-size:1.125rem;font-weight:600}.btn-block{width:100%;display:flex}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0369a1 0%,#075985 100%);transform:translateY(-1px);box-shadow:0 4px 10px #0284c74d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{color:var(--text-main);border:1px solid var(--border-light);background:#fff}.btn-secondary:hover:not(:disabled){color:var(--text-main);background:#f1f5f9;border-color:#cbd5e1}.btn-secondary:active:not(:disabled){background:#e2e8f0}.btn-danger{background:var(--danger);color:#fff;border:1px solid #0000}.btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 10px #dc26264d}.btn-danger:active:not(:disabled){transform:translateY(0)}.btn-warning{background:var(--warning);color:#fff;border:1px solid #0000}.btn-warning:hover:not(:disabled){background:#b45309;transform:translateY(-1px);box-shadow:0 4px 10px #d977064d}.btn-success{background:var(--success);color:#fff;border:1px solid #0000}.btn-success:hover:not(:disabled){background:#047857;transform:translateY(-1px);box-shadow:0 4px 10px #0596694d}.btn-outline{color:var(--primary);border:1px solid var(--primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-hover);color:var(--primary-hover)}.btn-ghost{color:var(--text-secondary);background:0 0;border:1px solid #0000}.btn-ghost:hover:not(:disabled){color:var(--text-main);background:#f1f5f9}.btn-action-icon{border-radius:var(--radius-sm);border:1px solid var(--border-light);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:#fff;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.btn-action-icon:hover{transform:translateY(-1px)}.btn-action-icon-xs{width:24px;height:24px}.btn-action-icon-sm{width:28px;height:28px}.btn-action-icon-md{width:32px;height:32px}.btn-action-icon-lg{width:38px;height:38px}.btn-action-icon.view:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-light)}.btn-action-icon.edit:hover{color:#d97706;background:#fef3c7;border-color:#d97706}.btn-action-icon.delete:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-light)}.btn-action-icon.success:hover,.btn-action-icon.check:hover{color:var(--success);border-color:var(--success);background:var(--success-light)}.btn-action-icon.key:hover,.btn-action-icon.password:hover{color:#7c3aed;background:#ede9fe;border-color:#7c3aed}.btn-action-icon.info:hover{color:var(--primary-hover);border-color:var(--primary-hover);background:var(--primary-light)}.btn-group{align-items:center;display:inline-flex}.btn-group .btn{border-radius:0;margin-left:-1px}.btn-group .btn:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md);margin-left:0}.btn-group .btn:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.header-actions{align-items:center;gap:.75rem;display:flex}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);-webkit-backdrop-filter:blur(8px);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:999;background:#0f172aeb;padding:.35rem .65rem;font-size:.75rem;font-weight:500;transition:all .18s cubic-bezier(.4,0,.2,1);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 6px -1px #00000026}[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.state-badge{border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.775rem;font-weight:500;line-height:1;display:inline-flex}.state-active{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.state-inactive{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.state-admin{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.state-manager{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.state-staff{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:999;background:#0f172a73;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{border-radius:var(--radius-lg);width:100%;max-height:90vh;box-shadow:var(--shadow-xl);border:1px solid var(--border-light);background:#fff;flex-direction:column;display:flex;overflow:hidden}.modal-sm{max-width:480px}.modal-md{max-width:640px}.modal-lg{max-width:800px}.modal-xl{max-width:1024px}.modal-header{border-bottom:1px solid var(--border-light);background:#fff;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.modal-title-box{align-items:center;gap:.85rem;display:flex}.modal-icon{background:var(--primary-light);width:40px;height:40px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.modal-icon.icon-blue{background:var(--primary-light);color:var(--primary)}.modal-icon.icon-green{color:#059669;background:#ecfdf5}.modal-icon.icon-amber{color:#d97706;background:#fffbeb}.modal-icon.icon-red{color:#dc2626;background:#fef2f2}.modal-title-box h3,.modal-title-content h3{color:var(--text-main);margin:0;font-size:1.2rem;font-weight:700}.modal-subtitle{color:var(--text-muted);margin:.2rem 0 0;font-size:.825rem}.btn-close-modal{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;align-items:center;padding:.4rem;transition:all .15s;display:flex}.btn-close-modal:hover{color:var(--text-main);background:#f1f5f9}.modal-body{flex:1;padding:1.75rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-light);background:#f8fafc;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.75rem;display:flex}.modal-footer-left{align-items:center;gap:.5rem;margin-right:auto;display:flex}.modal-footer-right{align-items:center;gap:.75rem;margin-left:auto;display:flex}.page-container{background:var(--bg-app);flex-direction:column;min-height:100vh;display:flex}.page-header{z-index:30;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex;position:sticky;top:0}.header-main .page-title{color:var(--text-main);margin:0;font-size:1.35rem;font-weight:700}.header-main .page-subtitle{color:var(--text-muted);margin:.25rem 0 0;font-size:.875rem}.page-body{flex:1;padding:1.5rem 2rem}.filter-bar{z-index:20;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1rem 1.25rem;position:sticky;top:73px}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:center;gap:1rem;display:grid}.table-container{border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{color:var(--text-muted);border-bottom:1px solid var(--border-light);white-space:nowrap;background:#f8fafc;padding:.875rem 1.25rem;font-size:.825rem;font-weight:600}.data-table td{color:var(--text-main);border-bottom:1px solid var(--border-light);padding:1rem 1.25rem;font-size:.875rem}.data-table tr:last-child td{border-bottom:none}.table-row-clickable{cursor:pointer;transition:background-color .15s}.table-row-clickable:hover{background-color:#f8fafc}.actions-cell{align-items:center;gap:.4rem;display:inline-flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{color:var(--text-main);font-size:.875rem;font-weight:600}.form-label.required:after{content:" *";color:var(--danger)}.form-input,.form-select{border-radius:var(--radius-md);border:1px solid var(--border-light);width:100%;color:var(--text-main);background:#fff;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:all .2s}.form-input:focus,.form-select:focus{border-color:var(--border-focus);background:#fff;outline:none;box-shadow:0 0 0 3px #38bdf833}.form-input.has-icon{padding-left:2.5rem}.form-input:disabled,.form-input[readonly],.form-select:disabled{color:var(--text-muted);cursor:not-allowed;-webkit-user-select:none;user-select:none;background-color:#f1f5f9;border-color:#e2e8f0;box-shadow:none!important}.form-input:disabled:hover,.form-input[readonly]:hover,.form-select:disabled:hover{border-color:#e2e8f0}.form-input:disabled::placeholder,.form-input[readonly]::placeholder{color:var(--text-light)}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.875rem}.input-error-msg{color:var(--danger);margin-top:.2rem;font-size:.775rem}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);transition:all .25s}.glass-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.gradient-text{background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.8125rem;line-height:1.25rem}.text-base{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-main,.text-dark{color:var(--text-main)}.text-secondary,.text-muted{color:var(--text-muted)}.text-subtle,.text-light{color:var(--text-light)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-primary{color:var(--primary)}.w-16{width:4rem}.w-full{width:100%}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1)}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.form-grid-2,.form-row-2{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.form-grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (width<=640px){.form-grid-2,.form-row-2,.form-grid-3{grid-template-columns:1fr}}.avatar-circle{border-radius:var(--radius-full);background:var(--primary-light);width:36px;height:36px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex;overflow:hidden}.avatar-circle.avatar-lg{width:56px;height:56px;font-size:1.25rem}.avatar-circle.avatar-xl{width:72px;height:72px;font-size:1.5rem}.avatar-img{object-fit:cover;width:100%;height:100%}.empty-state{color:var(--text-muted);text-align:center;padding:3rem 1rem;font-size:.9rem}.detail-grid{flex-direction:column;gap:.75rem;display:flex}.detail-item{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#f8fafc;justify-content:space-between;align-items:center;padding:.65rem .85rem;display:flex}.detail-label{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.detail-val{color:var(--text-main);font-size:.875rem;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:.3s ease-out forwards fadeIn}
