:root{--app-bg: #f3f4f6}html,body,#root{height:100%;margin:0;color:#111;background:#fff;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:#646cff;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--app-bg)}.app-main{flex:1;width:100%;padding:16px 0}.app-main .container>section>p{text-align:center}.container{width:100%;max-width:none;margin:0;padding:0 16px}.app-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #eee}.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;max-width:1100px;margin:0 auto}.header-left,.header-right{display:flex;align-items:center;gap:10px;position:relative}.header-center{display:flex;align-items:center;gap:10px}.brand{height:28px;width:auto;object-fit:contain;display:block}body{font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app-title{font-family:Space Grotesk,Manrope,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(28px,4.6vw,40px);line-height:1.02;letter-spacing:.2px}.app-title--fancy{background:linear-gradient(90deg,#0b3d2e,#2dd4bf,#a7f3d0);-webkit-background-clip:text;background-clip:text;color:transparent}.popover{position:absolute;top:calc(100% + 8px);z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 10px 30px #0000001f;padding:16px;inline-size:clamp(320px,96vw,520px);max-height:min(70vh,520px);overflow:auto}.popover-left{left:0;right:auto}.popover-right{right:0;left:auto}.popover .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.popover .stack{display:grid;gap:10px}.popover .input,.popover .select,.popover input,.popover select,.popover button{width:100%;min-height:44px;font-size:16px}@media (max-width: 600px){:root{--header-h: 56px}.popover{position:fixed;left:12px!important;right:12px!important;top:calc(var(--header-h, 56px) + env(safe-area-inset-top,0px) + 8px);bottom:auto;inline-size:auto;max-width:none;border-radius:16px;max-height:calc(100dvh - (var(--header-h, 56px) + env(safe-area-inset-top,0px) + 24px));overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;transform:none;z-index:1000}.popover .input,.popover .select,.popover input,.popover select,.popover button{width:100%;min-height:44px;font-size:16px}}.app-footer{padding:12px 16px;background:#fff;border-top:1px solid #eee}.app-footer .container{display:flex;align-items:center;justify-content:center;gap:12px}.footer-logo{height:24px;width:auto;object-fit:contain;display:block}.footer-center{display:flex;align-items:center;gap:10px}.app-main .card+.card{margin-top:16px}.card{border:1px solid #eee;border-radius:12px;padding:16px;background:#fff}.card h3{text-align:center;margin:0 0 10px}.actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.table-wrap{max-width:960px;margin:0 auto}.tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:8px 0 12px}.tab{padding:6px 12px;border:1px solid #ddd;border-radius:999px;color:#222;background:#fff;cursor:pointer;font-size:14px}.tab.active{border-color:#222;background:#222;color:#fff}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;align-items:stretch}.catalog-tile{border:1px solid #eee;border-radius:10px;padding:12px;background:#fafafa;text-align:center;display:flex;flex-direction:column}.catalog-actions{margin-top:auto;display:flex;justify-content:center;gap:8px}.catalog-img,.product-img{width:100%;height:160px;object-fit:cover;border-radius:8px;background:#e5e7eb}.pdf-link{display:inline-block;padding:6px 10px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:#fff}.pdf-link:hover{background:#f1f5f9}.product-desc{color:#444;font-size:14px;line-height:1.35;word-break:break-word}.prose :where(p,ul,ol){margin:.4rem 0}.prose ul{padding-left:1.1rem;list-style:disc}.prose ol{padding-left:1.1rem;list-style:decimal}.prose :where(h1,h2,h3){margin:.5rem 0 .25rem;line-height:1.2}.prose a{text-decoration:underline}.prose img{max-width:100%;height:auto;border-radius:8px;display:block;margin:6px auto}.input,.select{appearance:none;width:100%;border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:10px 12px;outline:none;font-size:14px;transition:box-shadow .18s ease,border-color .18s ease,transform .04s ease}.input:focus,.select:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f126}.select{padding-right:36px}input[type=checkbox]{accent-color:#111}.btn{border:1px solid #111;background:#111;color:#fff;border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer;transition:transform .04s ease,opacity .2s ease}.btn:hover{opacity:.95}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.6;cursor:not-allowed}.btn-ghost{border:1px solid #e5e7eb;background:#fff;color:#111;border-radius:10px;padding:10px 12px;cursor:pointer}.btn:focus-visible,.btn-ghost:focus-visible,.input:focus-visible,.select:focus-visible{outline:3px solid rgba(99,102,241,.35);outline-offset:2px}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;color:#fff;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;background:#f1f5f9;color:#111;border:1px solid #e5e7eb}.account-summary{font-size:13px;color:#374151;background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;padding:8px 10px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:10px}.spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;margin-left:8px;animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.catalog-toolbar{display:flex;align-items:center;gap:10px;justify-content:space-between;margin:8px 0 12px}.catalog-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.filters-panel{border:1px solid #eee;border-radius:12px;background:#fff;padding:12px}.filter-group+.filter-group{margin-top:12px}.filter-title{font-weight:600;margin-bottom:6px}.filter-list{display:grid;gap:6px}.check-row{display:flex;align-items:center;gap:8px;font-size:14px}.range-row{display:flex;gap:8px}.range-row .input{width:100%}.filters-overlay{display:none}@media (max-width: 900px){.catalog-layout{display:block}.filters-panel{position:fixed;z-index:50;top:0;bottom:0;left:0;width:min(86vw,360px);border-radius:0 12px 12px 0;transform:translate(-100%);transition:transform .25s ease;overflow:auto;padding:16px}.filters-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:40;-webkit-tap-highlight-color:transparent}.filters-open .filters-panel{transform:translate(0)}.filters-open .filters-overlay{display:block}}@media (min-width: 901px){.filters-panel.hidden{display:none}.filters-panel{position:sticky;top:72px;max-height:calc(100vh - 96px);overflow:auto}}.catalog-layout .filters-panel.hidden+.catalog-grid{grid-column:1 / -1}.catalog-grid{min-width:0}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}}.list-item{width:100%;text-align:left;padding:10px 12px;background:#fff;color:#222;border:0;border-bottom:1px solid #f0f2f5;cursor:pointer}.list-item:hover{background:#f8fafc}.list-item:last-child{border-bottom:none}.muted{color:#6b7280;font-size:12px}.qtypicker{display:inline-flex;align-items:center;gap:6px}.qtypicker-btn{border:1px solid #e5e7eb;background:#fff;color:#111;padding:8px 12px;border-radius:10px;font-size:18px;line-height:1}.qtypicker-input{width:72px;text-align:center;border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:8px 10px;font-size:14px}
