@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.theme-toggle[data-v-0288e266]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.theme-toggle[data-v-0288e266]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.theme-toggle[data-v-0288e266]:active{transform:scale(.95)}.theme-toggle[data-v-0288e266]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-icon-enter-active[data-v-0288e266],.theme-icon-leave-active[data-v-0288e266]{transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.theme-icon-enter-from[data-v-0288e266]{opacity:0;transform:rotate(-90deg) scale(.8)}.theme-icon-leave-to[data-v-0288e266]{opacity:0;transform:rotate(90deg) scale(.8)}.progress-indicator[data-v-4cc7f6ba]{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;cursor:pointer;padding:0;border-radius:var(--radius-full);transition:transform var(--transition-fast)}.progress-indicator[data-v-4cc7f6ba]:hover{transform:scale(1.1)}.progress-indicator[data-v-4cc7f6ba]:active{transform:scale(.95)}.progress-indicator--processing .progress-ring[data-v-4cc7f6ba]{animation:pulse-ring-4cc7f6ba var(--duration-slower) ease-in-out infinite}.progress-indicator--connecting .progress-ring[data-v-4cc7f6ba]{animation:spin var(--duration-slow) linear infinite}@keyframes pulse-ring-4cc7f6ba{0%,to{opacity:1}50%{opacity:.7}}.progress-ring[data-v-4cc7f6ba]{transform:rotate(-90deg);transform-origin:center}.ring-bg[data-v-4cc7f6ba]{stroke:var(--color-border-secondary)}.ring-progress[data-v-4cc7f6ba]{stroke:var(--color-accent);transition:stroke-dashoffset var(--motion-interact)}.progress-ring.ring--success .ring-progress[data-v-4cc7f6ba]{stroke:var(--color-success)}.progress-ring.ring--error .ring-progress[data-v-4cc7f6ba]{stroke:var(--color-error)}.progress-ring.ring--cancelled .ring-progress[data-v-4cc7f6ba]{stroke:var(--color-text-tertiary)}.progress-text[data-v-4cc7f6ba]{position:absolute;font-size:8px;font-weight:var(--font-weight-semibold);font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:-.02em}@media(max-width:480px){.progress-indicator[data-v-4cc7f6ba]{display:none}}@media(prefers-reduced-motion:reduce){.progress-indicator--processing .progress-ring[data-v-4cc7f6ba],.progress-indicator--connecting .progress-ring[data-v-4cc7f6ba]{animation:none}}.spinner[data-v-aae623c8]{border-radius:var(--radius-full);border:2px solid var(--color-border-primary);border-top-color:var(--color-accent);animation:spin-aae623c8 var(--duration-slow) cubic-bezier(.4,0,.2,1) infinite}.spinner-sm[data-v-aae623c8]{width:16px;height:16px}.spinner-md[data-v-aae623c8]{width:24px;height:24px;border-width:2.5px}.spinner-lg[data-v-aae623c8]{width:32px;height:32px;border-width:3px}.sr-only[data-v-aae623c8]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin-aae623c8{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner[data-v-aae623c8]{animation:none;border-color:var(--color-accent);opacity:.6}}.btn[data-v-9d7b9714]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height-md);padding:var(--btn-padding-md);font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;white-space:nowrap;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-xs)}.btn[data-v-9d7b9714]:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}.btn[data-v-9d7b9714]:focus-visible{box-shadow:var(--shadow-focus)}.btn[data-v-9d7b9714]:disabled{opacity:var(--state-disabled-opacity, .5);cursor:var(--state-disabled-cursor, not-allowed)}.btn-primary[data-v-9d7b9714]{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary[data-v-9d7b9714]:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary[data-v-9d7b9714]:active:not(:disabled){background:var(--color-accent-active);transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-secondary[data-v-9d7b9714]{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);box-shadow:var(--shadow-xs)}.btn-secondary[data-v-9d7b9714]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary[data-v-9d7b9714]:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-ghost[data-v-9d7b9714]{background:transparent;color:var(--color-text-secondary);box-shadow:none}.btn-ghost[data-v-9d7b9714]:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary);box-shadow:none}.btn-ghost[data-v-9d7b9714]:active:not(:disabled){transform:translateY(0)}.btn-danger[data-v-9d7b9714]{background:transparent;color:var(--color-error);border:1px solid var(--color-error);box-shadow:none}.btn-danger[data-v-9d7b9714]:hover:not(:disabled){background:var(--color-error);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-danger[data-v-9d7b9714]:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-sm[data-v-9d7b9714]{height:var(--btn-height-sm);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.btn-lg[data-v-9d7b9714]{height:var(--btn-height-lg);padding:var(--space-3) var(--space-6);font-size:var(--font-size-md)}.btn-icon[data-v-9d7b9714]{width:var(--btn-height-md);padding:0}.btn-icon.btn-sm[data-v-9d7b9714]{width:var(--btn-height-sm)}.btn-icon.btn-lg[data-v-9d7b9714]{width:var(--btn-height-lg)}.app-header[data-v-aa5b425b]{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-4);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:var(--z-sticky)}.header-left[data-v-aa5b425b]{display:flex;align-items:center;gap:var(--space-4)}.mobile-menu-btn[data-v-aa5b425b]{display:none}.logo[data-v-aa5b425b]{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text-primary)}.logo[data-v-aa5b425b]:hover{text-decoration:none}.logo-mark[data-v-aa5b425b]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--color-accent) 0%,#818cf8 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.logo-letter[data-v-aa5b425b]{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);color:#fff;letter-spacing:-.02em}.logo-text[data-v-aa5b425b]{display:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);letter-spacing:var(--letter-spacing-tight)}.header-right[data-v-aa5b425b]{display:flex;align-items:center;gap:var(--space-2)}.auth-pill[data-v-aa5b425b]{display:none;align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--color-text-secondary);transition:all var(--transition-fast)}.auth-pill.expiring[data-v-aa5b425b]{background:var(--color-warning-subtle);color:var(--color-warning-text)}.auth-dot[data-v-aa5b425b]{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-success);flex-shrink:0}.auth-pill.expiring .auth-dot[data-v-aa5b425b]{background:var(--color-warning);animation:pulse var(--duration-slow) ease-in-out infinite}.auth-timer[data-v-aa5b425b]{font-variant-numeric:tabular-nums}.header-sign-in[data-v-aa5b425b]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height-sm);padding:var(--space-1) var(--space-3);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;white-space:nowrap;border-radius:var(--radius-md);cursor:pointer;background:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease-out)}.header-sign-in[data-v-aa5b425b]:hover{background:var(--color-accent-hover);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-1px)}.header-sign-in[data-v-aa5b425b]:active{background:var(--color-accent-active);transform:translateY(0);box-shadow:var(--shadow-xs)}@media(prefers-reduced-motion:reduce){.auth-pill.expiring .auth-dot[data-v-aa5b425b]{animation:none}}@media(min-width:768px){.app-header[data-v-aa5b425b]{padding:0 var(--space-5)}.logo-text[data-v-aa5b425b]{display:inline}.auth-pill[data-v-aa5b425b]{display:flex}}.sidebar[data-v-aa0fd855]{display:none;flex-direction:column;background:var(--color-bg-secondary);border-right:1px solid var(--color-border-secondary);transition:width var(--duration-normal) var(--ease-out);flex-shrink:0;overflow:hidden}.sidebar-header[data-v-aa0fd855]{display:flex;align-items:center;justify-content:flex-end;height:var(--space-12);padding:0 var(--space-3);border-bottom:1px solid var(--color-divider)}.collapsed .sidebar-header[data-v-aa0fd855]{justify-content:center}.collapse-btn[data-v-aa0fd855]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.collapse-btn[data-v-aa0fd855]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-nav[data-v-aa0fd855]{flex:1;display:flex;flex-direction:column;padding:var(--space-3);gap:var(--space-1);overflow-y:auto}.nav-item[data-v-aa0fd855]{position:relative;display:flex;align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-3);border-radius:var(--radius-lg);color:var(--color-text-secondary);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast);overflow:hidden}.collapsed .nav-item[data-v-aa0fd855]{justify-content:center;padding:0}.nav-item[data-v-aa0fd855]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-item.active[data-v-aa0fd855]{background:var(--color-accent-subtle);color:var(--color-accent-text)}.nav-icon[data-v-aa0fd855]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.nav-label[data-v-aa0fd855]{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);white-space:nowrap}.nav-indicator[data-v-aa0fd855]{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--color-accent);border-radius:0 var(--radius-full) var(--radius-full) 0}.collapsed .nav-indicator[data-v-aa0fd855]{left:0;width:3px;height:16px}.label-enter-active[data-v-aa0fd855],.label-leave-active[data-v-aa0fd855]{transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.label-enter-from[data-v-aa0fd855],.label-leave-to[data-v-aa0fd855]{opacity:0;transform:translate(-8px)}.sidebar-footer[data-v-aa0fd855]{padding:var(--space-4);border-top:1px solid var(--color-divider)}.collapsed .sidebar-footer[data-v-aa0fd855]{padding:var(--space-3)}.api-status[data-v-aa0fd855]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.collapsed .api-status[data-v-aa0fd855]{justify-content:center}.api-label[data-v-aa0fd855]{white-space:nowrap}@media(min-width:768px)and (max-width:1023.98px){.sidebar[data-v-aa0fd855]{display:flex;width:var(--sidebar-width-collapsed)!important}.collapse-btn[data-v-aa0fd855],.nav-label[data-v-aa0fd855],.sidebar-header[data-v-aa0fd855],.sidebar-footer .api-label[data-v-aa0fd855]{display:none}.sidebar-footer[data-v-aa0fd855]{justify-content:center;padding:var(--space-3)}.nav-item[data-v-aa0fd855]{justify-content:center;padding:0}.api-status[data-v-aa0fd855]{justify-content:center}}@media(min-width:1024px){.sidebar[data-v-aa0fd855]{display:flex;width:var(--sidebar-width)}.collapse-btn[data-v-aa0fd855]{display:flex}.nav-label[data-v-aa0fd855]{display:block}.sidebar-header[data-v-aa0fd855]{display:flex}.sidebar-footer .api-label[data-v-aa0fd855]{display:inline}.sidebar-footer[data-v-aa0fd855]{padding:var(--space-4)}.nav-item[data-v-aa0fd855]{justify-content:flex-start;padding:0 var(--space-3)}.api-status[data-v-aa0fd855]{justify-content:flex-start}}.sheet-overlay[data-v-2e80c977]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop);background:#0006}.sheet[data-v-2e80c977]{position:fixed;bottom:0;left:0;right:0;height:40vh;background:var(--color-bg-secondary);border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);overflow:hidden}.sheet-handle[data-v-2e80c977]{width:40px;height:4px;background:var(--color-border-primary);border-radius:var(--radius-full);margin:var(--space-3) auto var(--space-2)}.sheet-nav[data-v-2e80c977]{display:flex;flex-direction:column;padding:var(--space-4);gap:var(--space-1)}.sheet-item[data-v-2e80c977]{display:flex;align-items:center;gap:var(--space-3);height:48px;padding:0 var(--space-4);border-radius:var(--radius-lg);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:background var(--transition-fast),color var(--transition-fast)}.sheet-item[data-v-2e80c977]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sheet-item.active[data-v-2e80c977]{background:var(--color-accent-subtle);color:var(--color-accent-text)}.sheet-enter-active[data-v-2e80c977],.sheet-leave-active[data-v-2e80c977]{transition:transform var(--motion-enter)}.sheet-enter-from[data-v-2e80c977],.sheet-leave-to[data-v-2e80c977]{transform:translateY(100%)}.bottom-nav[data-v-c448e433]{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);padding-bottom:env(safe-area-inset-bottom,0px);display:flex;align-items:center;justify-content:space-around;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-top:1px solid var(--glass-border);z-index:var(--z-fixed)}.tab-item[data-v-c448e433]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;gap:var(--space-1);color:var(--color-text-tertiary);text-decoration:none;font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);background:transparent;border:none;cursor:pointer;transition:color var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}.tab-item.active[data-v-c448e433]{color:var(--color-accent-text)}.tab-icon[data-v-c448e433]{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.tab-item--elevated[data-v-c448e433]{position:relative}.tab-item--elevated .tab-icon-wrap[data-v-c448e433]{position:relative;width:48px;height:48px;background:var(--color-accent);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;margin-top:-14px;box-shadow:0 4px 12px #5e5ce659;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.compact-indicator[data-v-c448e433]{position:absolute;top:-2px;right:-2px;width:10px;height:10px;background:var(--color-success);border-radius:var(--radius-full);border:2px solid var(--color-bg-primary);animation:pulse-indicator-c448e433 1.5s ease-in-out infinite}@keyframes pulse-indicator-c448e433{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){.compact-indicator[data-v-c448e433]{animation:none}}.tab-item--elevated:active .tab-icon-wrap[data-v-c448e433]{transform:scale(.92)}.tab-item--elevated.active .tab-icon-wrap[data-v-c448e433]{box-shadow:0 4px 16px #5e5ce680}.tab-label[data-v-c448e433]{line-height:1}@media(min-width:768px){.bottom-nav[data-v-c448e433]{display:none}}.sticky-action-bar[data-v-4b16f186]{position:fixed;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));left:0;right:0;height:var(--mobile-action-bar-height);display:flex;align-items:center;padding:var(--space-2) var(--space-4);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-top:1px solid var(--glass-border);z-index:var(--z-fixed)}.sticky-action-btn[data-v-4b16f186]{width:100%;height:var(--btn-height-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.sticky-action-btn[data-v-4b16f186]:hover:not(:disabled){background:var(--color-accent-hover)}.sticky-action-btn[data-v-4b16f186]:active:not(:disabled){background:var(--color-accent-active)}.sticky-action-btn[data-v-4b16f186]:disabled{opacity:var(--state-disabled-opacity);cursor:var(--state-disabled-cursor)}.btn-spinner[data-v-4b16f186]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:spin .8s linear infinite;flex-shrink:0}.action-bar-enter-active[data-v-4b16f186]{transition:transform var(--motion-enter),opacity var(--motion-enter)}.action-bar-leave-active[data-v-4b16f186]{transition:transform var(--motion-exit),opacity var(--motion-exit)}.action-bar-enter-from[data-v-4b16f186],.action-bar-leave-to[data-v-4b16f186]{transform:translateY(100%);opacity:0}@media(min-width:768px){.sticky-action-bar[data-v-4b16f186]{display:none}}.mobile-progress-bar[data-v-d4eb1751]{position:fixed;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));left:0;right:0;height:var(--mobile-action-bar-height);display:flex;flex-direction:column;justify-content:center;padding:var(--space-2) var(--space-4);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-top:1px solid var(--glass-border);z-index:var(--z-fixed)}.mobile-progress-bar--success[data-v-d4eb1751]{flex-direction:row;align-items:center;gap:var(--space-2);background:var(--color-success-subtle);border-top-color:var(--color-success);color:var(--color-success-text);cursor:pointer}.mobile-progress-bar--success[data-v-d4eb1751]:focus-visible{outline:2px solid var(--color-success);outline-offset:-2px}.progress-info[data-v-d4eb1751]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.progress-status[data-v-d4eb1751]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.mobile-progress-bar--success .progress-status[data-v-d4eb1751]{color:inherit}.progress-percent[data-v-d4eb1751]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-accent-text)}.progress-action[data-v-d4eb1751]{margin-left:auto;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:underline}.progress-track[data-v-d4eb1751]{width:100%;height:4px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill[data-v-d4eb1751]{height:100%;background:var(--color-accent);border-radius:var(--radius-full);transition:width .3s var(--ease-out)}.progress-bar-enter-active[data-v-d4eb1751]{transition:transform var(--motion-enter),opacity var(--motion-enter)}.progress-bar-leave-active[data-v-d4eb1751]{transition:transform var(--motion-exit),opacity var(--motion-exit)}.progress-bar-enter-from[data-v-d4eb1751]{transform:translateY(20px);opacity:0}.progress-bar-leave-to[data-v-d4eb1751]{transform:translateY(-10px);opacity:0}@media(min-width:768px){.mobile-progress-bar[data-v-d4eb1751]{display:none}}.toast-container[data-v-28dcaac9]{position:fixed;bottom:var(--space-4);left:var(--space-4);right:var(--space-4);transform:none;z-index:var(--z-toast, 9999);display:flex;flex-direction:column-reverse;gap:var(--space-2);max-width:none;width:auto;pointer-events:none}@media(min-width:768px){.toast-container[data-v-28dcaac9]{bottom:var(--space-6);left:50%;right:auto;transform:translate(-50%);max-width:380px;width:max-content}}.toast[data-v-28dcaac9]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);border:1px solid;box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);pointer-events:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.toast-success[data-v-28dcaac9]{background:var(--color-success-subtle);border-color:var(--color-success);color:var(--color-success-text)}.toast-error[data-v-28dcaac9]{background:var(--color-error-subtle);border-color:var(--color-error);color:var(--color-error-text)}.toast-warning[data-v-28dcaac9]{background:var(--color-warning-subtle);border-color:var(--color-warning);color:var(--color-warning-text)}.toast-info[data-v-28dcaac9]{background:var(--color-info-subtle);border-color:var(--color-info);color:var(--color-info-text)}.toast-icon[data-v-28dcaac9]{flex-shrink:0}.toast-message[data-v-28dcaac9]{flex:1;line-height:1.4}.toast-close[data-v-28dcaac9]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:inherit;opacity:.7;cursor:pointer;flex-shrink:0;transition:opacity var(--transition-fast),background var(--transition-fast)}.toast-close[data-v-28dcaac9]:hover{opacity:1;background:#ffffff1a}.toast-enter-active[data-v-28dcaac9]{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-spring)}.toast-leave-active[data-v-28dcaac9]{transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in)}.toast-enter-from[data-v-28dcaac9]{opacity:0;transform:translateY(20px) scale(.95)}.toast-leave-to[data-v-28dcaac9]{opacity:0;transform:translateY(10px) scale(.98)}.toast-move[data-v-28dcaac9]{transition:transform var(--duration-normal) var(--ease-out)}.sr-only[data-v-3c816629]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-to-content[data-v-3c816629]{position:absolute;top:-100%;left:var(--space-4);z-index:9999;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:top var(--duration-fast) var(--ease-out)}.skip-to-content[data-v-3c816629]:focus-visible{top:var(--space-4)}.app[data-v-3c816629]{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--color-bg-primary)}.app-body[data-v-3c816629]{display:flex;flex:1;flex-direction:column;overflow:hidden}@media(min-width:768px){.app-body[data-v-3c816629]{flex-direction:row}}.app-main[data-v-3c816629]{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(var(--bottom-nav-height) + var(--mobile-action-bar-height) + env(safe-area-inset-bottom,0px))}@media(min-width:768px){.app-main[data-v-3c816629]{padding-bottom:0}}.app-content[data-v-3c816629]{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-4)}@media(min-width:768px){.app-content[data-v-3c816629]{padding:var(--content-padding)}}@layer reset,tokens,base,components,utilities;@layer tokens{:root{color-scheme:dark;--color-bg-primary: #0c0c0e;--color-bg-secondary: #1c1c1e;--color-bg-tertiary: #2c2c2e;--color-bg-elevated: #3a3a3c;--color-bg-hover: rgba(255, 255, 255, .06);--color-bg-active: rgba(255, 255, 255, .1);--color-surface: #1c1c1e;--color-surface-elevated: #2c2c2e;--color-surface-overlay: rgba(28, 28, 30, .95);--color-text-primary: #f5f5f7;--color-text-secondary: #a1a1a6;--color-text-tertiary: #98989d;--color-text-quaternary: #48484a;--color-text-inverse: #1d1d1f;--color-border-primary: rgba(255, 255, 255, .1);--color-border-secondary: rgba(255, 255, 255, .06);--color-border-focus: var(--color-accent);--color-divider: rgba(255, 255, 255, .08);--color-accent: #5e5ce6;--color-accent-hover: #6e6ce6;--color-accent-active: #4e4cd6;--color-accent-subtle: rgba(94, 92, 230, .15);--color-accent-text: #818cf8;--color-accent-bg: var(--color-accent-subtle);--color-accent-secondary: #0ea5e9;--color-accent-secondary-subtle: rgba(14, 165, 233, .12);--color-accent-tertiary: #f59e0b;--color-accent-tertiary-subtle: rgba(245, 158, 11, .12);--color-success: #34c759;--color-success-subtle: rgba(52, 199, 89, .15);--color-success-text: #30d158;--color-warning: #ff9f0a;--color-warning-subtle: rgba(255, 159, 10, .15);--color-warning-text: #ffd60a;--color-warning-bg: var(--color-warning-subtle);--color-error: #ff453a;--color-error-subtle: rgba(255, 69, 58, .15);--color-error-text: #ff6961;--color-info: #64d2ff;--color-info-subtle: rgba(100, 210, 255, .15);--color-info-text: #70d7ff;--color-link: #0a84ff;--color-link-hover: #409cff;--color-selection: rgba(94, 92, 230, .3);--glass-bg: rgba(28, 28, 30, .72);--glass-border: rgba(255, 255, 255, .08);--glass-blur: 20px;--glass-saturate: 180%}[data-theme=light]{color-scheme:light;--color-bg-primary: #ffffff;--color-bg-secondary: #f5f5f7;--color-bg-tertiary: #e5e5ea;--color-bg-elevated: #ffffff;--color-bg-hover: rgba(0, 0, 0, .04);--color-bg-active: rgba(0, 0, 0, .08);--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-overlay: rgba(255, 255, 255, .95);--color-text-primary: #1d1d1f;--color-text-secondary: #6e6e73;--color-text-tertiary: #636366;--color-text-quaternary: #aeaeb2;--color-text-inverse: #f5f5f7;--color-border-primary: rgba(0, 0, 0, .1);--color-border-secondary: rgba(0, 0, 0, .06);--color-border-focus: var(--color-accent);--color-divider: rgba(0, 0, 0, .08);--color-accent: #5e5ce6;--color-accent-hover: #4e4cd6;--color-accent-active: #3e3cc6;--color-accent-subtle: rgba(94, 92, 230, .12);--color-accent-text: #5856d6;--color-accent-bg: var(--color-accent-subtle);--color-warning-bg: var(--color-warning-subtle);--color-success: #34c759;--color-success-subtle: rgba(52, 199, 89, .12);--color-success-text: #248a3d;--color-warning: #ff9500;--color-warning-subtle: rgba(255, 149, 0, .12);--color-warning-text: #c93400;--color-error: #ff3b30;--color-error-subtle: rgba(255, 59, 48, .12);--color-error-text: #d70015;--color-info: #007aff;--color-info-subtle: rgba(0, 122, 255, .12);--color-info-text: #0040dd;--color-link: #007aff;--color-link-hover: #0056b3;--color-selection: rgba(94, 92, 230, .2);--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(0, 0, 0, .06);--glass-blur: 20px;--glass-saturate: 180%}:root{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", "JetBrains Mono", "Consolas", "Monaco", monospace;--font-family-base: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-2xs: .625rem;--font-size-xs: .6875rem;--font-size-sm: .75rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-fluid-xl: clamp(1.25rem, 1rem + 1.25vw, 2.25rem);--font-size-fluid-lg: clamp(1.125rem, .9rem + .9vw, 1.75rem);--font-size-fluid-md: clamp(1rem, .875rem + .4vw, 1.25rem);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--letter-spacing-wider: .04em;--letter-spacing-widest: .08em}:root{--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-3);--spacing-lg: var(--space-4);--spacing-xl: var(--space-6);--spacing-2xl: var(--space-8)}:root{--radius-none: 0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 12px;--radius-3xl: 16px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 2px 4px rgba(0, 0, 0, .06), 0 4px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .06), 0 8px 16px rgba(0, 0, 0, .1), 0 16px 32px rgba(0, 0, 0, .1);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .08), 0 16px 32px rgba(0, 0, 0, .12), 0 32px 64px rgba(0, 0, 0, .16);--shadow-focus: 0 0 0 3px var(--color-accent-subtle);--shadow-focus-error: 0 0 0 3px var(--color-error-subtle);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .1);--glow-accent: 0 0 20px rgba(94, 92, 230, .3);--glow-success: 0 0 20px rgba(52, 199, 89, .3);--glow-error: 0 0 20px rgba(255, 69, 58, .3)}[data-theme=light]{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 2px 4px rgba(15, 23, 42, .04), 0 4px 8px rgba(15, 23, 42, .08);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .04), 0 8px 16px rgba(0, 0, 0, .08), 0 16px 32px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .06), 0 16px 32px rgba(0, 0, 0, .1), 0 32px 64px rgba(0, 0, 0, .12)}:root{--duration-instant: 50ms;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--duration-slowest: .5s;--ease-linear: linear;--ease-in: cubic-bezier(.32, 0, .67, 0);--ease-out: cubic-bezier(.33, 1, .68, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--transition-fast: var(--duration-fast) var(--ease-out);--transition-normal: var(--duration-normal) var(--ease-out);--transition-slow: var(--duration-slow) var(--ease-out);--transition-spring: var(--duration-normal) var(--ease-spring)}:root{--z-below: -1;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--header-height: 52px;--sidebar-width: 220px;--sidebar-width-collapsed: 60px;--content-max-width: 1400px;--content-padding: var(--space-6);--bottom-nav-height: 56px;--mobile-action-bar-height: 64px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--modal-width-sm: 400px;--modal-width-md: 560px;--modal-width-lg: 800px;--modal-width-xl: 1000px}:root{--btn-height-sm: 32px;--btn-height-md: 36px;--btn-height-lg: 44px;--btn-padding-sm: var(--space-2) var(--space-3);--btn-padding-md: var(--space-2) var(--space-4);--btn-padding-lg: var(--space-3) var(--space-6);--btn-radius: var(--radius-lg);--input-height: 44px;--input-height-sm: 36px;--input-radius: var(--radius-xl);--input-padding: var(--space-3) var(--space-4);--card-radius: var(--radius-2xl);--card-padding: var(--space-5);--table-row-height: 48px;--table-header-height: 40px;--pill-height: 24px;--pill-padding: var(--space-1) var(--space-2-5);--pill-radius: var(--radius-full);--card-bg: var(--color-surface);--card-bg-hover: var(--color-surface-elevated);--card-border: var(--color-border-secondary);--card-border-hover: var(--color-accent-subtle);--nav-item-bg-active: var(--color-accent-subtle);--nav-item-color-active: var(--color-accent-text)}:root{--state-hover-bg: var(--color-bg-hover);--state-hover-border: var(--color-border-primary);--state-active-bg: var(--color-bg-active);--state-disabled-opacity: .5;--state-disabled-cursor: not-allowed;--state-selected-bg: var(--color-accent-subtle);--state-selected-color: var(--color-accent-text)}:root{--motion-enter: var(--duration-normal) var(--ease-spring);--motion-exit: var(--duration-fast) var(--ease-in);--motion-interact: var(--duration-fast) var(--ease-out)}@media(prefers-reduced-motion:reduce){:root{--duration-instant: 0ms;--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms;--duration-slower: 0ms;--duration-slowest: 0ms}}}@layer base{@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes successPulse{0%{box-shadow:0 0 0 0 var(--color-success-subtle)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration-normal) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}.page-enter-active,.page-leave-active{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-4px)}.modal-enter-active{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-spring)}.modal-leave-active{transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in)}.modal-enter-from{opacity:0;transform:scale(.95) translateY(-8px)}.modal-leave-to{opacity:0;transform:scale(.98) translateY(4px)}.slide-right-enter-active,.slide-right-leave-active{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.slide-right-enter-from{opacity:0;transform:translate(16px)}.slide-right-leave-to{opacity:0;transform:translate(8px)}.list-enter-active,.list-leave-active{transition:all var(--duration-normal) var(--ease-out)}.list-enter-from,.list-leave-to{opacity:0;transform:translate(-8px)}.list-move{transition:transform var(--duration-normal) var(--ease-out)}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-spring)}.animate-slide-up{animation:slideInFromBottom var(--duration-normal) var(--ease-out)}.animate-slide-down{animation:slideInFromTop var(--duration-normal) var(--ease-out)}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s var(--ease-in-out) infinite}.animate-shake{animation:shake .5s var(--ease-in-out)}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 0%,var(--color-bg-elevated) 50%,var(--color-bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.press-effect{transition:transform var(--duration-fast) var(--ease-out)}.press-effect:active{transform:scale(.98)}.hover-lift{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.link-underline{position:relative}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--duration-normal) var(--ease-out)}.link-underline:hover:after{transform:scaleX(1);transform-origin:left}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-pulse,.animate-spin,.animate-bounce,.skeleton{animation:none}.hover-lift:hover,.press-effect:active{transform:none}}}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);font-variation-settings:"wght" 450;line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-primary);overflow-x:hidden}}@layer base{h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);font-variation-settings:"wght" 650;line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-fluid-xl)}h2{font-size:var(--font-size-fluid-lg)}h3{font-size:var(--font-size-fluid-md)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}p{color:var(--color-text-secondary)}small{font-size:var(--font-size-sm)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover)}a:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}code{padding:var(--space-0-5) var(--space-1-5);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-accent-text)}pre{padding:var(--space-4);background:var(--color-bg-tertiary);border-radius:var(--radius-lg);overflow-x:auto}pre code{padding:0;background:none;border-radius:0}::selection{background:var(--color-selection);color:var(--color-text-primary)}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}.form-group{display:flex;flex-direction:column;gap:var(--space-1-5)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-input,.form-select,.form-textarea{width:100%;min-height:44px;padding:var(--space-3);font-family:inherit;font-size:16px;color:var(--color-text-primary);background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:var(--input-radius);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}@media(min-width:768px){.form-input,.form-select,.form-textarea{min-height:var(--input-height);padding:var(--input-padding);font-size:var(--font-size-base)}}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-border-focus)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error)}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:var(--shadow-focus-error)}.form-input-sm{min-height:44px;padding:var(--space-2) var(--space-3);font-size:16px}@media(min-width:768px){.form-input-sm{min-height:var(--input-height-sm);font-size:var(--font-size-sm)}}.form-textarea{height:auto;min-height:100px;resize:vertical}.form-hint{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.form-error{font-size:var(--font-size-sm);color:var(--color-error)}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;min-height:44px}.form-checkbox input,.form-radio input{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--color-accent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-primary) transparent}}@layer components{.card{background:var(--color-surface);border:1px solid var(--color-border-secondary);border-radius:var(--card-radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--card-padding);border-bottom:1px solid var(--color-divider)}.card-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.card-body{padding:var(--card-padding)}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--card-padding);border-top:1px solid var(--color-divider)}.badge{display:inline-flex;align-items:center;justify-content:center;height:var(--pill-height);padding:var(--pill-padding);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;letter-spacing:var(--letter-spacing-wide);border-radius:var(--pill-radius);white-space:nowrap}.badge-default{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.badge-primary{background:var(--color-accent-subtle);color:var(--color-accent-text)}.badge-success{background:var(--color-success-subtle);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning-text)}.badge-error{background:var(--color-error-subtle);color:var(--color-error-text)}.badge-info{background:var(--color-info-subtle);color:var(--color-info-text)}.badge-purple{background:#a371f726;color:var(--color-accent-text)}.badge-muted{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.status-dot-success{background:var(--color-success)}.status-dot-warning{background:var(--color-warning)}.status-dot-error{background:var(--color-error)}.status-dot-info{background:var(--color-info)}.status-dot-neutral{background:var(--color-text-tertiary)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-divider)}.tab{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.tab:hover{color:var(--color-text-primary)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border-secondary)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table th{height:var(--table-header-height);padding:0 var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-align:left;text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-tertiary);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-divider)}.table td{height:var(--table-row-height);padding:0 var(--space-4);color:var(--color-text-primary);border-bottom:1px solid var(--color-divider);transition:background var(--transition-fast)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--color-bg-hover)}.table tbody tr.selected td{background:var(--color-accent-subtle)}.divider{height:1px;background:var(--color-divider);border:none}.divider-vertical{width:1px;height:100%;background:var(--color-divider)}.spinner{width:20px;height:20px;border:2px solid var(--color-border-primary);border-top-color:var(--color-accent);border-radius:var(--radius-full);animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px;border-width:1.5px}.spinner-lg{width:32px;height:32px;border-width:3px}.theme-transitioning .app-header,.theme-transitioning .app-content,.theme-transitioning .sidebar,.theme-transitioning .main-content,.theme-transitioning .app-nav{transition:background-color .2s ease,color .2s ease,border-color .2s ease!important}}@layer utilities{.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-mono{font-family:var(--font-mono)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.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)}.p-0{padding:0}.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)}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.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-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.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-6{margin-bottom:var(--space-6)}.w-full{width:100%}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-content{max-width:var(--content-max-width)}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.select-all{-webkit-user-select:all;user-select:all}@media(max-width:767.98px){.hidden-mobile{display:none!important}}@media(min-width:768px){.hidden-desktop{display:none!important}}@media(max-width:1023.98px){.hidden-tablet-down{display:none!important}}@media(min-width:768px){.mobile-only{display:none!important}}@media(max-width:767.98px){.tablet-only{display:none!important}}@media(min-width:1024px){.tablet-only{display:none!important}}@media(max-width:1023.98px){.desktop-only{display:none!important}}}
