.user-menu[data-v-7c1136ef]{flex-shrink:0;position:relative}.user-menu__trigger[data-v-7c1136ef]{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;line-height:0}.user-menu__avatar[data-v-7c1136ef]{background:var(--color-primary);width:36px;height:36px;color:var(--color-on-primary);font-size:12px;font-weight:var(--font-weight-semibold);letter-spacing:.02em;border-radius:50%;place-items:center;display:grid;overflow:hidden}.user-menu__avatar img[data-v-7c1136ef]{object-fit:cover;width:100%;height:100%;display:block}.user-menu__avatar--lg[data-v-7c1136ef]{background:#3a3a3a;flex-shrink:0;width:44px;height:44px;font-size:14px}.user-menu__panel[data-v-7c1136ef]{z-index:60;color:#f5f5f5;background:#1c1c1e;border-radius:18px;width:min(292px,100vw - 24px);padding:14px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 40px #00000047}.user-menu__head[data-v-7c1136ef]{align-items:center;gap:12px;padding:4px 4px 10px;display:flex}.user-menu__meta[data-v-7c1136ef]{flex-direction:column;gap:2px;min-width:0;display:flex}.user-menu__meta strong[data-v-7c1136ef]{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.user-menu__meta span[data-v-7c1136ef]{color:#a8a8a8;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-menu__school[data-v-7c1136ef]{font-weight:500;color:#c9d4c4!important}.user-menu__divider[data-v-7c1136ef]{background:#ffffff1a;height:1px;margin:6px 0}.user-menu__item[data-v-7c1136ef],.user-menu__logout[data-v-7c1136ef]{cursor:pointer;text-align:left;width:100%;color:inherit;font-size:14px;font-weight:var(--font-weight-semibold);border:0;align-items:center;gap:12px;display:flex}.user-menu__item[data-v-7c1136ef]{background:0 0;border-radius:12px;padding:11px 10px}.user-menu__item[data-v-7c1136ef]:hover{background:#ffffff0f}.user-menu__item svg[data-v-7c1136ef],.user-menu__logout svg[data-v-7c1136ef]{fill:currentColor;flex-shrink:0;width:18px;height:18px}.user-menu__logout[data-v-7c1136ef]{color:#fff;background:#e4574d;border-radius:999px;justify-content:center;min-height:44px;margin-top:6px;padding:0 14px}.user-menu__logout[data-v-7c1136ef]:hover{background:#d9483e}.user-menu-fade-enter-active[data-v-7c1136ef],.user-menu-fade-leave-active[data-v-7c1136ef]{transition:opacity .18s,transform .18s}.user-menu-fade-enter-from[data-v-7c1136ef],.user-menu-fade-leave-to[data-v-7c1136ef]{opacity:0;transform:translateY(-6px)}.app-field[data-v-8e9debc9]{flex-direction:column;gap:4px;width:100%;display:flex}.app-field__label[data-v-8e9debc9]{color:var(--color-ink-soft);letter-spacing:-.01em;font-size:12px;font-weight:600}.app-field__req[data-v-8e9debc9]{color:var(--color-danger,#ef4444);margin-left:2px;font-weight:700}.app-field__control[data-v-8e9debc9]{border:1px solid var(--color-hairline);border-radius:var(--radius-sm);width:100%;height:40px;min-height:40px;color:var(--color-ink);-webkit-appearance:none;appearance:none;transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, background-color var(--duration-fast) ease;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 10px center no-repeat;outline:none;padding:0 34px 0 14px;font-size:13.5px;box-shadow:inset 0 1px 2px #0f172a0a,0 1px #fffc}@media (max-width:768px){.app-field__control[data-v-8e9debc9]{font-size:16px}}.app-field__control[data-v-8e9debc9]:focus{border-color:var(--color-accent);background-color:#fff;box-shadow:0 0 0 3px #2563eb24,inset 0 1px 1px #00000005}.app-field--error .app-field__control[data-v-8e9debc9]{border-color:var(--color-danger);box-shadow:0 0 0 3px #ef444424}.app-field__hint[data-v-8e9debc9]{color:var(--color-text-muted);font-size:11.5px}.app-field__hint--error[data-v-8e9debc9]{color:var(--color-danger);font-weight:600}.admin-shell[data-v-b660dee7]{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);height:100vh;background:radial-gradient(1100px 550px at 15% 0%, #2563eb0a, transparent 60%), radial-gradient(900px 600px at 95% 100%, #6366f10a, transparent 60%), var(--color-canvas-ambient);height:100dvh;display:grid;overflow:hidden}.admin-shell__backdrop[data-v-b660dee7]{display:none}.admin-shell__sidebar[data-v-b660dee7]{height:calc(100vh - 28px);overscroll-behavior:contain;height:calc(100dvh - 28px);padding:var(--space-lg) var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--color-hairline-soft);background:var(--color-canvas);box-shadow:var(--shadow-3d-float);z-index:40;transition:transform var(--duration-normal) var(--ease-smooth), box-shadow var(--duration-normal) ease;flex-direction:column;margin:14px 0 14px 14px;display:flex;overflow:hidden auto}.admin-shell__sidebar[data-v-b660dee7]::-webkit-scrollbar{width:4px}.admin-shell__sidebar[data-v-b660dee7]::-webkit-scrollbar-button{width:0;height:0;display:none}.admin-shell__sidebar[data-v-b660dee7]::-webkit-scrollbar-button:vertical:start:decrement{width:0;height:0;display:none}.admin-shell__sidebar[data-v-b660dee7]::-webkit-scrollbar-button:vertical:end:increment{width:0;height:0;display:none}.admin-shell__sidebar[data-v-b660dee7]::-webkit-scrollbar-track{background:0 0;margin-block-start:14px;margin-block-end:14px}.admin-shell__sidebar[data-v-b660dee7]::-webkit-scrollbar-thumb{background:0 0;border-radius:999px}.admin-shell__sidebar[data-v-b660dee7]:hover::-webkit-scrollbar-thumb{background:#cbd5e1}.admin-shell__sidebar[data-v-b660dee7]:focus-within::-webkit-scrollbar-thumb{background:#cbd5e1}.admin-shell__sidebar-top[data-v-b660dee7]{justify-content:flex-start;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);padding:4px 6px;display:flex;position:relative}.brand[data-v-b660dee7]{min-width:0;transition:transform var(--duration-fast) var(--ease-smooth);flex-direction:row;justify-content:flex-start;align-items:end;gap:10px;line-height:1;display:flex}.brand[data-v-b660dee7]:hover{transform:scale(1.02)}.brand__mark[data-v-b660dee7]{object-fit:contain;flex-shrink:0;width:52px;height:36px;display:block}.brand__text[data-v-b660dee7]{letter-spacing:-.02em;color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:800;line-height:1;overflow:hidden}.nav[data-v-b660dee7]{padding-bottom:var(--space-lg);flex-direction:column;gap:4px;display:flex}.nav__label[data-v-b660dee7]{margin:var(--space-md) 0 6px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint);padding:0 10px;font-size:10px;font-weight:700}.nav__label[data-v-b660dee7]:first-child{margin-top:0}.nav__link[data-v-b660dee7]{border-radius:var(--radius-sm);color:var(--color-ink-soft);transition:all var(--duration-fast) var(--ease-smooth);border:1px solid #0000;align-items:center;gap:12px;padding:10px 12px;font-size:13.5px;font-weight:500;display:flex;position:relative}.nav__icon[data-v-b660dee7]{width:19px;height:19px;color:var(--color-text-muted);transition:color var(--duration-fast) ease, transform var(--duration-fast) ease;flex-shrink:0;display:inline-flex}.nav__text[data-v-b660dee7]{min-width:0;line-height:1.25}.nav__link[data-v-b660dee7]:hover{color:var(--color-ink);background:#f1f5f9;transform:translate(3px)}.nav__link:hover .nav__icon[data-v-b660dee7]{color:var(--color-accent);transform:scale(1.1)}.nav__link.router-link-active[data-v-b660dee7]{background:var(--color-primary);color:var(--color-on-primary);font-weight:600;transform:none;box-shadow:0 6px 16px -2px #10a7f059,inset 0 1px #ffffff59}.nav__link.router-link-active .nav__icon[data-v-b660dee7]{color:var(--color-on-primary)}.admin-shell__main[data-v-b660dee7]{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.admin-shell__header[data-v-b660dee7]{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-hairline-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-height:56px;box-shadow:var(--shadow-3d-float);transition:box-shadow var(--duration-normal) ease;background:#ffffffe0;flex-shrink:0;margin:14px 18px 0;padding:8px 18px;display:flex}.admin-shell__header-start[data-v-b660dee7]{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.admin-shell__header-end[data-v-b660dee7]{align-items:center;gap:var(--space-sm);flex-shrink:0;display:flex}.admin-shell__school[data-v-b660dee7]{min-width:0;max-width:260px}.admin-shell__school-select[data-v-b660dee7] .field__label{display:none}.admin-shell__school-select[data-v-b660dee7] select{border-radius:var(--radius-full);min-width:190px;height:38px;font-size:13px}.admin-shell__school-locked[data-v-b660dee7]{border-radius:var(--radius-full);border:1px solid var(--color-hairline);max-width:240px;color:var(--color-ink-soft);white-space:nowrap;text-overflow:ellipsis;background:#f1f5f9;margin:0;padding:6px 14px;font-size:12.5px;font-weight:600;overflow:hidden;box-shadow:inset 0 1px 2px #00000008}.admin-shell__titles[data-v-b660dee7]{min-width:0}.admin-shell__route[data-v-b660dee7]{letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;font-size:20px;font-weight:700;line-height:1.25;overflow:hidden}.admin-shell__content[data-v-b660dee7]{overscroll-behavior:contain;flex:1;min-height:0;padding:16px 18px 20px;overflow:hidden auto}.admin-shell__content[data-v-b660dee7]::-webkit-scrollbar{width:5px}.admin-shell__content[data-v-b660dee7]::-webkit-scrollbar-button{width:0;height:0;display:none}.admin-shell__content[data-v-b660dee7]::-webkit-scrollbar-button:vertical:start:decrement{width:0;height:0;display:none}.admin-shell__content[data-v-b660dee7]::-webkit-scrollbar-button:vertical:end:increment{width:0;height:0;display:none}.admin-shell__content[data-v-b660dee7]::-webkit-scrollbar-track{background:0 0;margin-block-start:16px;margin-block-end:16px}.admin-shell__content[data-v-b660dee7]::-webkit-scrollbar-thumb{background:0 0;border-radius:999px}.admin-shell__content[data-v-b660dee7]:hover::-webkit-scrollbar-thumb{background:#c8c8c8}.admin-shell__content[data-v-b660dee7]:focus-within::-webkit-scrollbar-thumb{background:#c8c8c8}.admin-shell__footer[data-v-b660dee7]{justify-content:space-between;align-items:center;gap:var(--space-md);color:var(--color-text-faint);flex-wrap:nowrap;flex-shrink:0;padding:8px 20px 12px;font-size:12px;display:flex}.admin-shell__footer-muted[data-v-b660dee7]{color:var(--color-text-faint)}.icon-btn[data-v-b660dee7]{border:1px solid var(--color-hairline);border-radius:var(--radius-full);background:var(--color-canvas);cursor:pointer;width:38px;height:38px;box-shadow:var(--shadow-3d-subtle);transition:all var(--duration-fast) var(--ease-smooth);flex-shrink:0;place-items:center;padding:0;display:inline-grid}.icon-btn.admin-shell__menu-btn[data-v-b660dee7],.icon-btn.admin-shell__sidebar-close[data-v-b660dee7]{display:none}.icon-btn.admin-shell__sidebar-close[data-v-b660dee7]{position:absolute;top:50%;right:0;transform:translateY(-50%)}.icon-btn[data-v-b660dee7]:hover{background:var(--color-canvas-soft);transform:translateY(-1px);box-shadow:0 4px 10px #00000014}.icon-btn[data-v-b660dee7]:active{transform:translateY(1px)}.hamburger[data-v-b660dee7]{flex-direction:column;gap:4px;width:16px;display:flex}.hamburger span[data-v-b660dee7]{background:var(--color-ink);border-radius:2px;width:100%;height:2px;display:block}@media (max-width:960px){.admin-shell[data-v-b660dee7]{grid-template-columns:1fr}.admin-shell__backdrop[data-v-b660dee7]{z-index:35;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#0f172a66;transition:opacity .22s;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.admin-shell--nav-open .admin-shell__backdrop[data-v-b660dee7]{opacity:1;pointer-events:auto}.admin-shell__sidebar[data-v-b660dee7]{width:min(var(--sidebar-width), 86vw);height:100vh;border-right:1px solid var(--color-hairline);height:100dvh;transition:transform .25s var(--ease-smooth);box-shadow:none;border-radius:0 24px 24px 0;margin:0;position:fixed;top:0;left:0;transform:translate(-105%)}.admin-shell--nav-open .admin-shell__sidebar[data-v-b660dee7]{transform:translate(0);box-shadow:12px 0 40px #0f172a33}.admin-shell__sidebar-close.icon-btn[data-v-b660dee7],.admin-shell__menu-btn.icon-btn[data-v-b660dee7]{display:inline-grid}.admin-shell__header[data-v-b660dee7]{border-radius:var(--radius-sm);margin:10px 12px 0;padding:8px 14px}.admin-shell__content[data-v-b660dee7]{padding:12px}.admin-shell__footer[data-v-b660dee7]{padding:8px 14px}}@media (max-width:480px){.admin-shell__header[data-v-b660dee7]{padding:6px 10px}.admin-shell__route[data-v-b660dee7]{font-size:17px}}.ctp[data-v-a2378699]{gap:var(--space-xxs);flex-direction:column;width:100%;min-width:0;display:flex;position:relative}.ctp__label[data-v-a2378699]{font-size:12px;font-weight:var(--font-weight-semibold);color:var(--color-ink-soft)}.ctp__req[data-v-a2378699]{color:var(--color-danger,#c62828);font-weight:var(--font-weight-bold,700);margin-left:2px}.ctp--error .ctp__trigger[data-v-a2378699]{border-color:var(--color-danger)}.ctp__hint[data-v-a2378699]{color:var(--color-text-muted);font-size:12px}.ctp__hint--error[data-v-a2378699]{color:var(--color-danger);font-weight:var(--font-weight-semibold)}.ctp__trigger[data-v-a2378699]{border-radius:var(--radius-sm);background:var(--color-field);text-align:left;cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;width:100%;min-height:48px;padding:8px 12px;display:flex}.ctp--sm .ctp__trigger[data-v-a2378699]{border-radius:var(--radius-full);height:40px;min-height:40px;padding:0 10px 0 12px}.ctp--open .ctp__trigger[data-v-a2378699],.ctp__trigger[data-v-a2378699]:focus{border-color:var(--color-ink);outline:none}.ctp--sm.ctp--open .ctp__trigger[data-v-a2378699],.ctp--sm .ctp__trigger[data-v-a2378699]:focus{border-color:#0000}.ctp__trigger--disabled[data-v-a2378699]{opacity:.5;cursor:not-allowed}.ctp__value[data-v-a2378699]{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;font-size:16px;line-height:1.3;display:flex;overflow:hidden}.ctp--sm .ctp__value[data-v-a2378699]{font-size:13px;font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;flex-wrap:nowrap;display:block;overflow:hidden}.ctp__value.is-placeholder[data-v-a2378699]{color:var(--color-text-faint)}.ctp--sm .ctp__value.is-placeholder[data-v-a2378699]{color:var(--color-ink);opacity:.85}.ctp__chip[data-v-a2378699]{background:var(--color-canvas);border:1px solid var(--color-hairline);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;line-height:1.2;display:inline-flex}.ctp__clear[data-v-a2378699],.ctp__chevron[data-v-a2378699]{color:var(--color-text-muted);flex-shrink:0;font-size:14px;line-height:1}.ctp__clear[data-v-a2378699]{cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px}.ctp-menu{box-sizing:border-box;background:var(--color-canvas,#fff);border:1px solid var(--color-hairline,#e5e7eb);border-radius:var(--radius-sm,8px);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 8px 24px #1414141f}.ctp-menu__search-wrap{border-bottom:1px solid var(--color-hairline-soft,#eee);flex-shrink:0;padding:10px}.ctp-menu__search{border:1px solid var(--color-hairline,#e5e7eb);background:var(--color-canvas,#fff);box-sizing:border-box;border-radius:8px;outline:none;width:100%;min-height:40px;padding:8px 10px;font-size:14px}.ctp-menu__search:focus{border-color:var(--color-ink,#111)}.ctp-menu__list{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow:auto}.ctp-menu__row{min-height:40px;padding:8px 10px;padding-left:calc(8px + var(--depth,0) * 16px);cursor:pointer;box-sizing:border-box;align-items:flex-start;gap:4px;display:flex}.ctp-menu__row:hover,.ctp-menu__row.is-active{background:var(--color-canvas-soft,#f5f5f5)}.ctp-menu__row--clear{color:var(--color-text-muted,#6b7280);align-items:center;font-size:13px}.ctp-menu__toggle{width:22px;height:22px;color:var(--color-text-muted,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:0 0 22px;justify-content:center;align-items:center;margin-top:1px;padding:0;display:inline-flex}.ctp-menu__toggle:hover{background:var(--color-field,#f3f3f3)}.ctp-menu__toggle--spacer{visibility:hidden;pointer-events:none}.ctp-menu__row-label{white-space:normal;overflow-wrap:anywhere;min-width:0;color:var(--color-ink,#111);flex:1;font-size:14px;line-height:1.35}.ctp-menu__empty{text-align:center;color:var(--color-text-muted,#6b7280);margin:0;padding:16px;font-size:13px;list-style:none}.opac-cat[data-v-5e32237b]{min-width:0;position:relative}.opac-cat--desktop[data-v-5e32237b]{flex:0 0 min(360px,42vw);width:min(360px,42vw)}.opac-cat--bar[data-v-5e32237b]{flex:1;width:100%;min-width:0;max-width:100%}.opac-cat--sheet[data-v-5e32237b],.opac-cat__control[data-v-5e32237b]{width:100%}.badges[data-v-a3ed2d28]{pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;display:flex}.badges--inline[data-v-a3ed2d28]{pointer-events:auto;flex-flow:wrap;align-items:center;gap:8px}.badges--inline .badges__top[data-v-a3ed2d28]{display:contents}.badges--cover[data-v-a3ed2d28]{z-index:1;pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;max-width:calc(100% - 48px);padding:8px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.badges--cover .badges__top[data-v-a3ed2d28]{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.badges--cover .badge--stock[data-v-a3ed2d28]{position:static}.badge[data-v-a3ed2d28]{border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-semibold);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;align-items:center;gap:4px;padding:4px 10px 4px 8px;line-height:1.2;display:inline-flex;box-shadow:0 2px 8px #0000002e}.badge__icon[data-v-a3ed2d28]{flex-shrink:0;width:12px;height:12px}.badge--stock.is-out[data-v-a3ed2d28]{background:#dc2626e0}.badge--stock.is-low[data-v-a3ed2d28]{background:#ca8a04e6}.badge--stock.is-ok[data-v-a3ed2d28]{background:#16a34ae0}.badge--ebook[data-v-a3ed2d28]{color:#fff;background:#2563ebeb}.badge--published[data-v-a3ed2d28]{color:#fff;background:#0d9488eb}.opac-search[data-v-fa84615f]{z-index:90;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.opac-search__backdrop[data-v-fa84615f]{-webkit-backdrop-filter:blur(10px);cursor:pointer;background:#14141447;border:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.opac-search__sheet[data-v-fa84615f]{z-index:1;gap:var(--space-sm);max-height:min(92dvh,920px);margin-top:env(safe-area-inset-top,0px);padding:var(--space-sm) max(var(--space-md), env(safe-area-inset-right,0px)) max(var(--space-md), env(safe-area-inset-bottom,0px)) max(var(--space-md), env(safe-area-inset-left,0px));border-radius:0 0 var(--radius-lg,16px) var(--radius-lg,16px);-webkit-backdrop-filter:blur(18px);background:#ffffffe0;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #0000001f}.opac-search__bar[data-v-fa84615f]{align-items:center;gap:var(--space-sm);display:flex}.opac-search__back[data-v-fa84615f]{background:var(--color-field);width:40px;height:40px;color:var(--color-ink);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;font-size:18px}.opac-search__field[data-v-fa84615f]{border-radius:var(--radius-full);background:var(--color-field);flex:1;align-items:center;gap:4px;min-width:0;min-height:44px;padding:0 4px 0 14px;display:flex}.opac-search__input[data-v-fa84615f]{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:16px}.opac-search__input[data-v-fa84615f]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}.opac-search__input[data-v-fa84615f]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}.opac-search__clear[data-v-fa84615f]{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%}.opac-search__go[data-v-fa84615f]{background:var(--color-primary);width:36px;height:36px;color:var(--color-on-primary);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.opac-search__go-icon[data-v-fa84615f]{flex-shrink:0;width:18px;min-width:18px;height:18px;min-height:18px;display:block;overflow:visible}.opac-search__go[data-v-fa84615f]:disabled{opacity:.55}.opac-search__cat[data-v-fa84615f]{width:100%}.opac-search__meta[data-v-fa84615f]{font-size:12px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.opac-search__list[data-v-fa84615f]{gap:var(--space-xs);-webkit-overflow-scrolling:touch;padding-bottom:var(--space-sm);flex-direction:column;min-height:120px;display:flex;overflow-y:auto}.opac-search__card[data-v-fa84615f]{gap:var(--space-sm);width:100%;padding:var(--space-xs);border-radius:var(--radius-md);text-align:left;cursor:pointer;background:#ffffffb8;border:0;grid-template-columns:56px minmax(0,1fr);align-items:center;display:grid}.opac-search__card[data-v-fa84615f]:active{transform:scale(.99)}.opac-search__cover[data-v-fa84615f]{aspect-ratio:3/4;border-radius:var(--radius-sm);background-position:50%;background-size:cover;background-color:var(--color-field);flex-shrink:0;width:56px;position:relative;overflow:hidden}.opac-search__ebook[data-v-fa84615f]{z-index:1;font-size:9px;font-weight:var(--font-weight-semibold);color:#fff;background:#2563ebeb;border-radius:999px;padding:2px 6px;line-height:1.2;position:absolute;top:4px;left:4px;box-shadow:0 1px 4px #0003}.opac-search__info[data-v-fa84615f]{flex-direction:column;gap:2px;min-width:0;display:flex}.opac-search__title[data-v-fa84615f]{font-size:14px;font-weight:var(--font-weight-semibold);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.opac-search__genre[data-v-fa84615f]{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.opac-search__more[data-v-fa84615f]{margin:var(--space-sm) 0 0;text-align:center;color:var(--color-text-muted);font-size:12px}.opac-search__more--hint[data-v-fa84615f]{opacity:.7}.sr-only[data-v-fa84615f]{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.opac-search-enter-active[data-v-fa84615f],.opac-search-leave-active[data-v-fa84615f]{transition:opacity .22s}.opac-search-enter-active .opac-search__sheet[data-v-fa84615f],.opac-search-leave-active .opac-search__sheet[data-v-fa84615f]{transition:transform .28s cubic-bezier(.22,1,.36,1)}.opac-search-enter-from[data-v-fa84615f],.opac-search-leave-to[data-v-fa84615f]{opacity:0}.opac-search-enter-from .opac-search__sheet[data-v-fa84615f],.opac-search-leave-to .opac-search__sheet[data-v-fa84615f]{transform:translateY(-12px)}.opac-filter[data-v-f69fca86]{z-index:95;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.opac-filter__backdrop[data-v-f69fca86]{-webkit-backdrop-filter:blur(8px);cursor:pointer;background:#14141452;border:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.opac-filter__sheet[data-v-f69fca86]{z-index:1;gap:var(--space-md);max-height:min(78dvh,640px);padding:var(--space-md) max(var(--space-md), env(safe-area-inset-right,0px)) max(var(--space-lg), env(safe-area-inset-bottom,0px)) max(var(--space-md), env(safe-area-inset-left,0px));background:#fff;border-radius:20px 20px 0 0;flex-direction:column;display:flex;position:relative;overflow:auto;box-shadow:0 -12px 40px #0000001f}.opac-filter__head[data-v-f69fca86]{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.opac-filter__title[data-v-f69fca86]{font-size:18px;font-weight:var(--font-weight-semibold);margin:0}.opac-filter__close[data-v-f69fca86]{background:var(--color-field,#f3f4f6);width:36px;height:36px;color:var(--color-ink);cursor:pointer;border:0;border-radius:50%}.opac-filter__section[data-v-f69fca86]{flex-direction:column;gap:10px;display:flex}.opac-filter__label[data-v-f69fca86]{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-ink-soft,#4b5563);margin:0}.opac-filter__chips[data-v-f69fca86]{flex-wrap:wrap;gap:8px;display:flex}.opac-filter__chip[data-v-f69fca86]{border:1px solid var(--color-hairline-soft,#e5e7eb);color:var(--color-ink,#111);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.opac-filter__chip.is-on[data-v-f69fca86]{background:var(--color-primary,#2563eb);color:#fff;border-color:#0000}.opac-filter__foot[data-v-f69fca86]{grid-template-columns:1fr 1.4fr;gap:10px;margin-top:4px;display:grid}.opac-filter__reset[data-v-f69fca86],.opac-filter__apply[data-v-f69fca86]{cursor:pointer;border:0;border-radius:999px;height:44px;font-size:14px;font-weight:600}.opac-filter__reset[data-v-f69fca86]{background:var(--color-field,#f3f4f6);color:var(--color-ink)}.opac-filter__apply[data-v-f69fca86]{background:var(--color-primary,#2563eb);color:#fff}.opac-filter-enter-active[data-v-f69fca86],.opac-filter-leave-active[data-v-f69fca86]{transition:opacity .22s}.opac-filter-enter-active .opac-filter__sheet[data-v-f69fca86],.opac-filter-leave-active .opac-filter__sheet[data-v-f69fca86]{transition:transform .28s cubic-bezier(.22,1,.36,1)}.opac-filter-enter-from[data-v-f69fca86],.opac-filter-leave-to[data-v-f69fca86]{opacity:0}.opac-filter-enter-from .opac-filter__sheet[data-v-f69fca86],.opac-filter-leave-to .opac-filter__sheet[data-v-f69fca86]{transform:translateY(24px)}.mobile-shell[data-v-e0fed16d]{min-height:100vh;background:var(--color-canvas);min-height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex}.mobile-shell--reader[data-v-e0fed16d]{overscroll-behavior:none;background:#fff;height:100dvh;max-height:100dvh;padding-bottom:0;overflow:hidden}.mobile-shell--reader .mobile-shell__content[data-v-e0fed16d]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.mobile-shell__header[data-v-e0fed16d]{z-index:20;align-items:center;gap:var(--space-sm);min-height:var(--header-height);padding:calc(var(--space-sm) + env(safe-area-inset-top,0px)) max(var(--space-md), env(safe-area-inset-right,0px)) var(--space-sm) max(var(--space-md), env(safe-area-inset-left,0px));border-bottom:1px solid var(--color-hairline-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;display:flex;position:sticky;top:0;overflow:visible}.mobile-shell__brand[data-v-e0fed16d]{align-items:center;gap:var(--space-xs);font-size:22px;font-weight:var(--font-weight-display);flex-shrink:0;display:flex}.mobile-shell__mark[data-v-e0fed16d]{object-fit:contain;background:0 0;border-radius:10px;flex-shrink:0;width:48px;height:48px;display:block}.mobile-shell__brand-text[data-v-e0fed16d]{display:none}.mobile-shell__browse[data-v-e0fed16d]{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:none}.mobile-shell__search[data-v-e0fed16d]{border-radius:var(--radius-full);background:var(--color-field);flex:auto;align-items:center;gap:4px;min-width:0;min-height:40px;padding:0 4px 0 14px;display:flex}.mobile-shell__search-input[data-v-e0fed16d]{min-width:0;color:var(--color-ink);background:0 0;border:0;outline:none;flex:1;font-size:16px}.mobile-shell__search-input[data-v-e0fed16d]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}.mobile-shell__search-input[data-v-e0fed16d]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}.mobile-shell__search-clear[data-v-e0fed16d]{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0}.mobile-shell__search-go[data-v-e0fed16d]{background:var(--color-primary);width:34px;height:34px;color:var(--color-on-primary);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mobile-shell__search-go-icon[data-v-e0fed16d],.mobile-shell__action-icon[data-v-e0fed16d]{flex-shrink:0;width:22px;min-width:22px;height:22px;min-height:22px;display:block;overflow:visible}.mobile-shell__search-go-icon[data-v-e0fed16d]{width:18px;min-width:18px;height:18px;min-height:18px}.mobile-shell__cat-bar[data-v-e0fed16d]{z-index:18;flex:1;min-width:0;overflow:visible}.mobile-shell__actions[data-v-e0fed16d]{align-items:center;gap:var(--space-xs);flex-shrink:0;margin-left:auto;display:flex}.mobile-shell__cat-bar~.mobile-shell__actions[data-v-e0fed16d]{margin-left:0}.mobile-shell__search-trigger[data-v-e0fed16d]{color:#141414;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.mobile-shell__search-trigger[data-v-e0fed16d]:hover{background:var(--color-canvas-soft)}.mobile-shell__search-trigger[data-v-e0fed16d]:active{transform:scale(.94)}.mobile-shell__header-nav[data-v-e0fed16d]{display:none}.mobile-shell__fav[data-v-e0fed16d]{color:#141414;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,color .2s,transform .15s}.mobile-shell__fav-icon[data-v-e0fed16d]{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linejoin:round;width:22px;height:22px}.mobile-shell__fav[data-v-e0fed16d]:hover{color:#e11d48;background:#ffe4ec}.mobile-shell__fav[data-v-e0fed16d]:active{transform:scale(.94)}.mobile-shell__fav.router-link-active[data-v-e0fed16d]{color:#e11d48}.mobile-shell__fav.router-link-active .mobile-shell__fav-icon[data-v-e0fed16d]{fill:#e11d48;stroke:#e11d48}.mobile-shell__requests[data-v-e0fed16d]{color:#141414;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,color .2s,transform .15s}.mobile-shell__requests[data-v-e0fed16d]:hover{color:var(--color-accent,#06f);background:#e8f0ff}.mobile-shell__requests[data-v-e0fed16d]:active{transform:scale(.94)}.mobile-shell__ebook[data-v-e0fed16d]{color:#141414;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,color .2s,transform .15s}.mobile-shell__ebook[data-v-e0fed16d]:hover{color:#4f46e5;background:#eef2ff}.mobile-shell__ebook[data-v-e0fed16d]:active{transform:scale(.94)}.mobile-shell__ebook.router-link-active[data-v-e0fed16d]{color:#4f46e5;background:#eef2ff}.mobile-shell__requests.router-link-active[data-v-e0fed16d]{color:var(--color-accent,#06f)}.mobile-shell__admin[data-v-e0fed16d]{color:var(--color-ink);font-size:13px;font-weight:var(--font-weight-semibold);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);background:var(--color-canvas-soft);flex-shrink:0}.mobile-shell__content[data-v-e0fed16d]{width:100%;max-width:720px;padding:var(--space-md);font-size:var(--opac-font-body,17px);flex:1;margin:0 auto;line-height:1.5}.mobile-shell__content--flush[data-v-e0fed16d]{max-width:none;padding:0}.mobile-shell__tabbar[data-v-e0fed16d]{left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);-webkit-tap-highlight-color:transparent;background:#fffffff0;border:1px solid #ffffffe6;justify-content:center;align-items:center;gap:4px;width:min(440px,100% - 24px);padding:6px 8px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 16px 36px -6px #0f172a29,0 4px 12px #0f172a14,inset 0 1px #fffffff2}.mobile-shell__filter-fab[data-v-e0fed16d]{right:max(16px, env(safe-area-inset-right,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:28;color:#141414;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:0;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .18s,background .2s,color .2s,box-shadow .2s;display:inline-flex;position:fixed;box-shadow:0 10px 24px #0f172a29,0 2px 8px #0f172a14}.mobile-shell__filter-fab[data-v-e0fed16d]:hover{background:#f8fafc}.mobile-shell__filter-fab[data-v-e0fed16d]:active{transform:scale(.94)}.mobile-shell__filter-fab.is-active[data-v-e0fed16d]{background:var(--color-primary,#2563eb);color:#fff;box-shadow:0 12px 28px #2563eb59,0 2px 8px #2563eb33}.mobile-shell__filter-fab-icon[data-v-e0fed16d]{width:22px;height:22px;display:block}.mobile-shell__filter-fab-count[data-v-e0fed16d]{color:#fff;text-align:center;background:#e11d48;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-2px;right:-2px;box-shadow:0 0 0 2px #fff}.tab[data-v-e0fed16d]{border-radius:var(--radius-full);height:42px;color:var(--color-text-muted);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:background var(--duration-normal) ease, color var(--duration-normal) ease, transform var(--duration-normal) var(--ease-spring), box-shadow var(--duration-normal) ease, padding var(--duration-normal) var(--ease-spring);background:0 0;outline:none;flex:none;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.tab span[data-v-e0fed16d]{opacity:0;white-space:nowrap;max-width:0;transition:max-width .35s var(--ease-spring), opacity .25s ease, margin-left .35s var(--ease-spring);margin-left:0;font-size:12.5px;font-weight:600;display:inline-block;overflow:hidden}:is(.tab[data-v-e0fed16d]:focus,.tab[data-v-e0fed16d]:focus-visible,.tab[data-v-e0fed16d]:active){outline:none}.tab__icon[data-v-e0fed16d]{pointer-events:none;width:20px;height:20px;transition:transform .3s var(--ease-spring), color .2s ease;flex-shrink:0}.tab__icon--heart[data-v-e0fed16d]{width:22px;height:22px}.tab.is-active[data-v-e0fed16d],.tab.router-link-active[data-v-e0fed16d]{background:var(--color-primary);color:var(--color-on-primary);padding:0 16px;transform:translateY(-2px);box-shadow:0 6px 16px -2px #10a7f059,inset 0 1px #ffffff59}.tab.is-active[data-v-e0fed16d]:focus,.tab.is-active[data-v-e0fed16d]:active,.tab.router-link-active[data-v-e0fed16d]:focus,.tab.router-link-active[data-v-e0fed16d]:active{background:var(--color-primary);color:var(--color-on-primary)}.tab.is-active span[data-v-e0fed16d],.tab.router-link-active span[data-v-e0fed16d]{opacity:1;max-width:90px;margin-left:8px}.tab.is-active .tab__icon[data-v-e0fed16d],.tab.router-link-active .tab__icon[data-v-e0fed16d]{color:var(--color-on-primary);transform:scale(1.08)}@media (min-width:768px){.mobile-shell[data-v-e0fed16d]{padding-bottom:0}.mobile-shell__brand-text[data-v-e0fed16d]{display:inline}.mobile-shell__browse--desktop[data-v-e0fed16d]{display:flex}.mobile-shell__search-trigger[data-v-e0fed16d],.mobile-shell__cat-bar[data-v-e0fed16d]{display:none}.mobile-shell__header-nav[data-v-e0fed16d]{display:inline-flex}.mobile-shell__content[data-v-e0fed16d]{max-width:1280px;padding-left:var(--space-xl);padding-right:var(--space-xl)}.mobile-shell__content--flush[data-v-e0fed16d]{max-width:none;padding-left:0;padding-right:0}.mobile-shell__tabbar[data-v-e0fed16d]{display:none}.mobile-shell__header[data-v-e0fed16d]{padding-left:var(--space-xl);padding-right:var(--space-xl)}}.blank-layout[data-v-8a60fffe]{min-height:100vh}.toast-host[data-v-046f3781]{top:calc(18px + env(safe-area-inset-top,0px));z-index:1300;pointer-events:none;width:min(420px,100vw - 24px);position:fixed;left:50%;transform:translate(-50%)}.toast[data-v-046f3781]{pointer-events:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-3d-toast);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--color-ink);background:#fffffff2;border:1px solid #ffffffe6;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 14px 14px;display:grid;position:relative;overflow:hidden}.toast__icon[data-v-046f3781]{border-radius:12px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 4px 10px #00000014}.toast__icon svg[data-v-046f3781]{width:20px;height:20px}.toast--success .toast__icon[data-v-046f3781]{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.toast--error .toast__icon[data-v-046f3781]{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.toast--warning .toast__icon[data-v-046f3781]{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.toast--info .toast__icon[data-v-046f3781]{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.toast__body[data-v-046f3781]{flex-direction:column;gap:2px;min-width:0;display:flex}.toast__label[data-v-046f3781]{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0;font-size:11px;font-weight:700}.toast__message[data-v-046f3781]{color:var(--color-ink);word-break:break-word;margin:0;font-size:13.5px;font-weight:600;line-height:1.35}.toast__close[data-v-046f3781]{border:1px solid var(--color-hairline);border-radius:var(--radius-full);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);background:#fff;place-items:center;padding:0;display:grid}.toast__close svg[data-v-046f3781]{width:13px;height:13px}.toast__close[data-v-046f3781]:hover{color:var(--color-ink);background:#f1f5f9;transform:scale(1.1)}.toast__progress[data-v-046f3781]{transform-origin:0;width:100%;height:3px;animation-name:toast-shrink-046f3781;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0}.toast--success .toast__progress[data-v-046f3781]{background:#10b981}.toast--error .toast__progress[data-v-046f3781]{background:#ef4444}.toast--warning .toast__progress[data-v-046f3781]{background:#f59e0b}.toast--info .toast__progress[data-v-046f3781]{background:#3b82f6}@keyframes toast-shrink-046f3781{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-enter-active[data-v-046f3781]{transition:opacity .25s ease, transform .32s var(--ease-spring)}.toast-leave-active[data-v-046f3781]{transition:opacity .2s ease, transform .2s var(--ease-smooth)}.toast-enter-from[data-v-046f3781]{opacity:0;transform:translateY(-16px)scale(.92)}.toast-leave-to[data-v-046f3781]{opacity:0;transform:translateY(-8px)scale(.96)}@media (min-width:768px){.toast-host[data-v-046f3781]{width:min(390px,100vw - 48px);left:auto;right:24px;transform:none}}.app-btn[data-v-9357a47d]{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;min-height:40px;transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast) ease, background var(--duration-fast) ease, border-color var(--duration-fast) ease, opacity var(--duration-fast) ease;border:1px solid #0000;padding:0 18px;font-size:14px;font-weight:600;line-height:1.35;display:inline-flex;position:relative}.app-btn[data-v-9357a47d]:hover:not(:disabled){transform:translateY(-1.5px)}.app-btn[data-v-9357a47d]:active:not(:disabled){transform:translateY(1.5px)}.app-btn[data-v-9357a47d]:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.app-btn--sm[data-v-9357a47d]{min-height:34px;padding:0 14px;font-size:13px}.app-btn--block[data-v-9357a47d]{width:100%}.app-btn--primary[data-v-9357a47d]{background:linear-gradient(180deg, var(--color-primary-light) 0%, var(--color-primary) 100%);color:var(--color-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-3d-button-primary), inset 0 1px 0 #ffffff40}.app-btn--primary[data-v-9357a47d]:hover:not(:disabled){filter:brightness(1.08);box-shadow:var(--shadow-3d-button-primary), inset 0 1px 0 #ffffff59}.app-btn--primary[data-v-9357a47d]:active:not(:disabled){filter:brightness(.96);box-shadow:0 1px 0 color-mix(in srgb, var(--color-primary) 70%, #000), 0 2px 6px #0f172a26, inset 0 1px 0 #ffffff26}.app-btn--accent[data-v-9357a47d]{color:#fff;background:linear-gradient(#3b82f6 0%,#2563eb 100%);border-color:#1d4ed8;box-shadow:0 3px #1e40af,0 6px 16px #2563eb4d,inset 0 1px #ffffff4d}.app-btn--accent[data-v-9357a47d]:hover:not(:disabled){background:linear-gradient(#60a5fa 0%,#3b82f6 100%);box-shadow:0 4px #1e40af,0 8px 20px #2563eb61,inset 0 1px #ffffff59}.app-btn--accent[data-v-9357a47d]:active:not(:disabled){box-shadow:0 1px #1e40af,0 2px 6px #2563eb33}.app-btn--outline[data-v-9357a47d]{color:var(--color-ink);border-color:var(--color-hairline);box-shadow:0 2px 0 var(--color-hairline), 0 3px 6px #0f172a0a, inset 0 1px 0 #fffc;background:#fff}.app-btn--outline[data-v-9357a47d]:hover:not(:disabled){border-color:var(--color-hairline-strong);box-shadow:0 3px 0 var(--color-hairline-strong), 0 6px 12px #0f172a0f;background:#f8fafc}.app-btn--outline[data-v-9357a47d]:active:not(:disabled){box-shadow:0 1px 0 var(--color-hairline), 0 1px 3px #0f172a08}.app-btn--soft[data-v-9357a47d]{color:var(--color-ink);background:#f1f5f9;border-color:#e2e8f099;box-shadow:0 2px #e2e8f0,0 2px 4px #0f172a05}.app-btn--soft[data-v-9357a47d]:hover:not(:disabled){background:#e2e8f0;box-shadow:0 3px #cbd5e1,0 4px 8px #0f172a0d}.app-btn--soft[data-v-9357a47d]:active:not(:disabled){box-shadow:0 1px #e2e8f0,0 1px 2px #0f172a05}.app-btn--danger[data-v-9357a47d]{color:#fff;background:linear-gradient(#f87171 0%,#ef4444 100%);border-color:#dc2626;box-shadow:0 3px #b91c1c,0 6px 14px #ef444447,inset 0 1px #ffffff4d}.app-btn--danger[data-v-9357a47d]:hover:not(:disabled){background:linear-gradient(#fca5a5 0%,#f87171 100%);box-shadow:0 4px #b91c1c,0 8px 18px #ef444459}.app-btn--danger[data-v-9357a47d]:active:not(:disabled){box-shadow:0 1px #b91c1c,0 2px 6px #ef44442e}.app-btn--ghost[data-v-9357a47d]{color:var(--color-ink);background:0 0;border-color:#0000}.app-btn--ghost[data-v-9357a47d]:hover:not(:disabled){color:var(--color-ink);background:#f1f5f9}.app-btn__spin[data-v-9357a47d]{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.65s linear infinite spin-9357a47d}@keyframes spin-9357a47d{to{transform:rotate(360deg)}}.confirm-root[data-v-f8b862ce]{z-index:1200;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));perspective:900px;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-backdrop[data-v-f8b862ce]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a73;position:absolute;top:0;bottom:0;left:0;right:0}.confirm[data-v-f8b862ce]{z-index:1;border-radius:var(--radius-lg);text-align:center;transform-origin:50%;background:#fffffff5;border:1px solid #ffffffe6;flex-direction:column;align-items:center;gap:12px;width:min(100%,380px);padding:30px 24px 22px;display:flex;position:relative;box-shadow:0 24px 50px -10px #0f172a47,0 10px 20px -5px #0f172a1f,inset 0 1px #ffffffe6}.confirm__graphic[data-v-f8b862ce]{place-items:center;margin-bottom:4px;display:grid}.graphic-3d[data-v-f8b862ce]{transform-origin:50%;animation:3.5s ease-in-out infinite float3D;display:block}.confirm__title[data-v-f8b862ce]{letter-spacing:-.015em;color:var(--color-ink);margin:0;font-size:19px;font-weight:700;line-height:1.3}.confirm__message[data-v-f8b862ce]{color:var(--color-text-muted);max-width:32ch;margin:0;font-size:14px;line-height:1.45}.confirm__actions[data-v-f8b862ce]{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:10px;display:grid}.confirm-spring-enter-active[data-v-f8b862ce]{transition:opacity .25s}.confirm-spring-leave-active[data-v-f8b862ce]{transition:opacity .2s}.confirm-spring-enter-active .confirm[data-v-f8b862ce]{transition:transform .32s var(--ease-spring), opacity .25s ease}.confirm-spring-leave-active .confirm[data-v-f8b862ce]{transition:transform .22s var(--ease-smooth), opacity .2s ease}.confirm-spring-enter-from[data-v-f8b862ce]{opacity:0}.confirm-spring-enter-from .confirm[data-v-f8b862ce]{opacity:0;transform:translateY(16px)scale(.9)rotateX(8deg)}.confirm-spring-leave-to[data-v-f8b862ce]{opacity:0}.confirm-spring-leave-to .confirm[data-v-f8b862ce]{opacity:0;transform:translateY(10px)scale(.95)}:root{--color-primary:#10a7f0;--color-primary-light:#3bb8f3;--color-on-primary:#fff;--color-ink:#0f172a;--color-ink-soft:#334155;--color-text-muted:#64748b;--color-text-faint:#94a3b8;--color-canvas:#fff;--color-canvas-soft:#f8fafc;--color-canvas-ambient:#f1f5f9;--color-field:#f1f5f9;--color-field-focus:#fff;--color-hairline-soft:#e2e8f0cc;--color-hairline:#e2e8f0;--color-hairline-strong:#cbd5e1;--color-accent:#2563eb;--color-accent-light:#3b82f6;--color-accent-soft:#2563eb1a;--color-danger:#ef4444;--color-danger-soft:#ef44441f;--color-success:#10b981;--color-success-soft:#10b9811f;--color-warning:#f59e0b;--color-warning-soft:#f59e0b1f;--font-sans:"DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-xs:8px;--radius-sm:14px;--radius-md:20px;--radius-lg:26px;--radius-xl:32px;--radius-full:9999px;--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--sidebar-width:260px;--header-height:64px;--shadow-none:none;--shadow-3d-subtle:0 2px 4px #0f172a0a, 0 1px 2px #0f172a05;--shadow-3d-card:0 10px 25px -5px #0f172a0d, 0 8px 10px -6px #0f172a08, inset 0 1px 0 #ffffffd9;--shadow-3d-hover:0 20px 35px -8px #0f172a17, 0 10px 15px -5px #0f172a0a, inset 0 1px 0 #fffffff2;--shadow-3d-float:0 14px 34px -6px #0f172a14, 0 4px 12px -2px #0f172a0a, inset 0 1px 0 #ffffffe6;--shadow-3d-button:0 4px 12px #0f172a1f, 0 2px 0 #00000026;--shadow-3d-button-primary:0 4px 14px #10a7f059, 0 2px 0 #0b8ac9;--shadow-3d-button-accent:0 4px 14px #2563eb59, 0 2px 0 #1d4ed8;--shadow-3d-button-danger:0 4px 14px #ef44444d, 0 2px 0 #b91c1c;--shadow-3d-modal:0 25px 60px -15px #0f172a40, 0 0 0 1px #fffc inset;--shadow-3d-toast:0 20px 45px -10px #0f172a2e, 0 4px 12px #0f172a0f;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.16, 1, .3, 1);--duration-fast:.18s;--duration-normal:.28s;--font-weight-light:300;--font-weight-body:400;--font-weight-semibold:600;--font-weight-display:700;--opac-font-body:17px;--opac-font-title:16px;--opac-font-meta:14px;--opac-font-lead:16px}*,:before,:after{box-sizing:border-box}html{scrollbar-gutter:stable;overflow-x:hidden}html,body,#app{min-height:100%}@supports ((-moz-appearance:none)){*{scrollbar-width:thin;scrollbar-color:transparent transparent}:hover,:focus-within{scrollbar-color:#c8c8c8 transparent}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-button:start:decrement{width:0;height:0;display:none}::-webkit-scrollbar-button:end:increment{width:0;height:0;display:none}::-webkit-scrollbar-button:vertical:start:decrement{width:0;height:0;display:none}::-webkit-scrollbar-button:vertical:end:increment{width:0;height:0;display:none}::-webkit-scrollbar-button:horizontal:start:decrement{width:0;height:0;display:none}::-webkit-scrollbar-button:horizontal:end:increment{width:0;height:0;display:none}::-webkit-scrollbar-track{background:0 0;margin-block-start:12px;margin-block-end:12px;margin-inline-start:12px;margin-inline-end:12px}::-webkit-scrollbar-thumb{background:0 0;border-radius:999px}:hover::-webkit-scrollbar-thumb{background:#c8c8c8}:focus-within::-webkit-scrollbar-thumb{background:#c8c8c8}::-webkit-scrollbar-thumb:active{background:#adadad}::-webkit-scrollbar-corner{background:0 0}body{font-family:var(--font-sans);font-size:15px;font-weight:var(--font-weight-body);color:var(--color-ink);background:radial-gradient(1000px 600px at 10% 0%, #2563eb09, transparent 60%), radial-gradient(800px 500px at 90% 100%, #6366f108, transparent 60%), var(--color-canvas-ambient);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}@media (max-width:768px){input,select,textarea{font-size:16px}}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-display);letter-spacing:-.015em;color:var(--color-ink);margin:0}h1{font-size:26px;line-height:1.2}h2{font-size:22px;line-height:1.25}h3{font-size:18px;line-height:1.3;font-weight:var(--font-weight-semibold)}p{margin:0}img{max-width:100%;display:block}.page{gap:var(--space-md);flex-direction:column;width:100%;display:flex}.page__header{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:44px;display:flex}.page__title{flex-direction:column;gap:2px;min-width:0;display:flex}.page__title--grow{margin-right:auto}.page__head-with-back{align-items:center;gap:12px;min-width:0;display:flex}.page__head-with-back h1,.page__head-with-back h2,.page__head-with-back h3{letter-spacing:-.015em;color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:22px;font-weight:700;overflow:hidden}.opac-page{width:100%;max-width:520px;padding:var(--space-lg) var(--space-md) calc(96px + env(safe-area-inset-bottom,0px));gap:var(--space-md);box-sizing:border-box;flex-direction:column;margin:0 auto;display:flex}.opac-page__head{align-items:center;gap:12px;min-width:0;display:flex}.opac-page__title{letter-spacing:-.015em;color:var(--color-ink);margin:0;font-size:22px;font-weight:700;line-height:1.25}.page__subtitle{color:var(--color-text-muted);font-size:13px;font-weight:var(--font-weight-body);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.toolbar{gap:var(--space-sm);flex-wrap:nowrap;flex-shrink:0;align-items:center;display:flex}.toolbar--actions{gap:var(--space-xs);flex-wrap:nowrap;justify-content:flex-end}.filter-panel{gap:var(--space-md);flex-direction:column;display:flex}.filter-panel__grid{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;display:grid}.filter-panel .toolbar{padding-top:2px}.surface{background:var(--color-canvas);border:1px solid var(--color-hairline-soft);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-3d-card);transition:transform var(--duration-normal) var(--ease-smooth), box-shadow var(--duration-normal) var(--ease-smooth), border-color var(--duration-normal) ease;position:relative}.surface--hoverable:hover,.surface--interactive:hover{box-shadow:var(--shadow-3d-hover);border-color:var(--color-hairline);transform:translateY(-3px)}.table-wrap{border-radius:var(--radius-md);background:var(--color-canvas);padding:0;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.data-table th,.data-table td{text-align:left;padding:12px var(--space-md);border-bottom:1px solid var(--color-hairline-soft);vertical-align:middle}.data-table th{z-index:5;color:var(--color-text-muted);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-hairline);background:#f8fafc;font-size:11px;position:sticky;top:0}.data-table th:first-child{border-top-left-radius:var(--radius-md)}.data-table th:last-child{border-top-right-radius:var(--radius-md)}.data-table tbody tr{transition:background var(--duration-fast) ease}.data-table tbody tr:hover td{background:#f1f5f9b3}.data-table tbody tr:last-child td{border-bottom:none}.data-table__id{white-space:nowrap;width:1%;color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-weight:500}.form-grid{gap:var(--space-md);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.form-grid>*{grid-column:span 6;min-width:0}.form-grid>.form-grid--half{grid-column:span 3}.form-grid>.form-grid--third{grid-column:span 2}.form-grid>.form-grid--full{grid-column:span 6}@keyframes popSpring{0%{opacity:0;transform:scale(.92)translateY(8px)}70%{opacity:1;transform:scale(1.02)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes float3D{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 #2563eb66}50%{box-shadow:0 0 0 6px #2563eb00}}@media (max-width:1100px){.filter-panel__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>*,.form-grid>.form-grid--full{grid-column:span 2}.form-grid>.form-grid--half,.form-grid>.form-grid--third{grid-column:span 1}}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.form-grid>*,.form-grid>.form-grid--full,.form-grid>.form-grid--half,.form-grid>.form-grid--third{grid-column:1/-1}.filter-panel__grid{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:22px}.surface{padding:var(--space-md);border-radius:var(--radius-sm)}.data-table th,.data-table td{padding:var(--space-xs) var(--space-sm)}.page__header{align-items:stretch;gap:var(--space-sm);flex-direction:column}.toolbar{flex-wrap:wrap}}@media (max-width:480px){.filter-panel__grid{grid-template-columns:1fr}}
