.modal-overlay[data-v-697ba544]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:500;display:flex;justify-content:center;align-items:center;overscroll-behavior:contain}.modal[data-v-697ba544]{background:#fff;border-radius:12px;padding:24px;max-width:90vw;max-height:85vh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 20px 60px #0003}.modal h2[data-v-697ba544]{margin-bottom:16px;font-size:18px}.app-layout[data-v-1105e9d6]{max-width:100%;margin:0 auto}.sticky-header[data-v-1105e9d6]{position:sticky;top:0;z-index:100;background:#f0f2f5}.top-bar[data-v-1105e9d6]{overflow:visible;display:flex;align-items:center;gap:16px;padding:14px 24px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;margin:0 10px 8px;flex-wrap:nowrap;min-height:56px;overflow-x:auto;scrollbar-width:none}.top-bar .logo[data-v-1105e9d6]{font-size:18px;font-weight:700;color:#1a73e8;margin-right:24px;white-space:nowrap}.nav-link[data-v-1105e9d6]{padding:6px 20px;border-radius:4px;text-decoration:none;color:#666;font-size:14px;white-space:nowrap;flex-shrink:0}.nav-link.active[data-v-1105e9d6]{background:#1a73e8;color:#fff}.nav-link[data-v-1105e9d6]:hover{background:#e8f0fe}.nav-link.active[data-v-1105e9d6]:hover{background:#1557b0}.user-menu[data-v-1105e9d6]{position:relative}.user-menu-trigger[data-v-1105e9d6]{cursor:pointer;padding:6px 12px;border-radius:6px;font-size:13px;-webkit-user-select:none;user-select:none}.user-menu-trigger[data-v-1105e9d6]:hover{background:#e8f0fe}.user-menu-dropdown[data-v-1105e9d6]{background:#fff;border:1px solid #d0d5dd;border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:10000;min-width:150px;padding:4px 0}.user-menu-item[data-v-1105e9d6]{padding:10px 14px;font-size:13px;cursor:pointer;white-space:nowrap}.user-menu-item[data-v-1105e9d6]:hover{background:#f0f2f5}.user-menu-header[data-v-1105e9d6]{font-weight:600;color:#1a73e8;cursor:default;border-bottom:1px solid #f0f0f0}.user-menu-header[data-v-1105e9d6]:hover{background:#fff}.role-badge[data-v-1105e9d6]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.role-badge-admin[data-v-1105e9d6]{background:#e8f0fe;color:#1a73e8}.role-badge-user[data-v-1105e9d6]{background:#f0f2f5;color:#666}.user-form-area[data-v-1105e9d6]{margin-top:12px;padding:12px;background:#f8f9fa;border-radius:8px}.form-group[data-v-1105e9d6]{display:flex;flex-direction:column;gap:4px;min-width:0}.form-group label[data-v-1105e9d6]{font-size:12px;color:#666;font-weight:500}.form-group input[data-v-1105e9d6],.form-group select[data-v-1105e9d6]{width:100%;padding:8px 10px;border:1px solid #d0d5dd;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box;background:#fff}.form-group input[data-v-1105e9d6]:focus,.form-group select[data-v-1105e9d6]:focus{border-color:#1a73e8}.btn-tag[data-v-1105e9d6]{display:inline-block;padding:2px 10px;border-radius:4px;font-size:12px;border:none;cursor:pointer;color:#000;transition:opacity .2s;line-height:1.6}.btn-tag[data-v-1105e9d6]:hover{opacity:.75}.btn-tag-add[data-v-1105e9d6]{background:#e8f5e9}.btn-tag-edit[data-v-1105e9d6]{background:#e3f2fd}.btn-tag-reset[data-v-1105e9d6]{background:#fff3e0}.btn-tag-delete[data-v-1105e9d6]{background:#ffebee}.btn-tag-close[data-v-1105e9d6]{background:#f5f5f5;border:1px solid #e0e0e0}.btn-tag-lg[data-v-1105e9d6]{padding:4px 14px;font-size:13px}.form-actions[data-v-1105e9d6]{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}*{margin:0;padding:0;box-sizing:border-box}html{overflow-y:scroll;scrollbar-gutter:stable}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f0f2f5;color:#333}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{padding:12px 20px;border-radius:8px;color:#fff;font-size:14px;pointer-events:auto;box-shadow:0 4px 12px #00000026}.toast-success{background:#27ae60}.toast-error{background:#e74c3c}.toast-info{background:#1a73e8}.toast-enter-active{animation:slideIn .3s ease}.toast-leave-active{animation:slideIn .3s ease reverse}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
