.quota-bar[data-v-af0dd9e4]{align-items:center;gap:10px;font-size:.8125rem;display:flex}.quota-label[data-v-af0dd9e4]{color:var(--color-primary);background:var(--color-primary-light);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.progress-wrap[data-v-af0dd9e4]{align-items:center;gap:8px;display:flex}.progress-track[data-v-af0dd9e4]{background:var(--color-border);border-radius:999px;width:80px;height:6px;overflow:hidden}.progress-fill[data-v-af0dd9e4]{border-radius:999px;height:100%;transition:width .3s}.quota-text[data-v-af0dd9e4]{color:var(--color-text-secondary);white-space:nowrap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-light:#eef2ff;--color-bg:#f8fafc;--color-surface:#fff;--color-border:#e2e8f0;--color-text:#1e293b;--color-text-secondary:#64748b;--color-error:#ef4444;--color-error-bg:#fef2f2;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", sans-serif;--font-mono:"SF Mono", SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace}html{font-size:16px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);z-index:100;justify-content:space-between;align-items:center;gap:16px;padding:12px 32px;display:flex;position:sticky;top:0}.header-left{align-items:baseline;gap:12px;display:flex}.brand-link{text-decoration:none}.header-left h1{color:var(--color-primary);letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.subtitle{color:var(--color-text-secondary);font-size:.875rem}.header-right{align-items:center;gap:16px;display:flex}.header-nav{align-items:center;gap:8px;display:flex}.nav-link{color:var(--color-text-secondary);border-radius:var(--radius-sm);padding:6px 12px;font-size:.875rem;text-decoration:none;transition:background .15s,color .15s}.nav-link:hover,.nav-link.router-link-active{background:var(--color-primary-light);color:var(--color-primary)}.nav-admin{font-weight:600}.btn-login{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);padding:7px 16px;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .2s}.btn-login:hover{background:var(--color-primary-hover)}.lang-switcher{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;outline:none;padding:6px 10px;font-size:.875rem}.lang-switcher:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.main{flex-direction:column;flex:1;display:flex}.main.no-header{padding:0}.btn-primary{border-radius:var(--radius-sm);cursor:pointer;background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm);border:none;padding:12px 28px;font-size:.9375rem;font-weight:600;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:var(--color-surface);color:var(--color-primary);padding:12px 28px;font-size:.9375rem;font-weight:600;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.error{background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-sm);border:1px solid #fecaca;padding:12px 16px;font-size:.875rem}@media (width<=768px){.header{flex-wrap:wrap;padding:10px 16px}.header-right{gap:8px}.subtitle{display:none}}
