:root{--bg:#fff;--bg-alt:#f7f7f7;--ink:#0a0a0a;--text:#0a0a0a;--text-muted:#0a0a0a99;--border:#00000014;--accent:#1d4ed8;--card-shadow:0 1px 3px #0000000f;--mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:IBM Plex Sans,-apple-system,system-ui,Segoe UI,Roboto,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit}::placeholder{color:#0a0a0a59}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:1.5s ease-in-out infinite pulse}.product-row{transition:border-color .14s,box-shadow .14s,transform .14s}.product-row:hover{border-color:#00000029;transform:translateY(-1px);box-shadow:0 2px 12px #00000012}.product-row:active{transform:translateY(0)}.card-action-btn{transition:background .12s,border-color .12s}.card-action-btn:hover{background:#0000000b;border-color:#00000038}.pd-action-btn{transition:background .12s,border-color .12s,filter .12s}.pd-action-btn:hover{background:#00000009}.tab-btn{border-radius:8px 8px 0 0;transition:color .12s,background .12s}.tab-btn:hover{color:var(--ink);background:#00000008}.method-tile{transition:border-color .15s,box-shadow .15s,transform .15s}.method-tile:hover{transform:translateY(-2px);box-shadow:0 3px 14px #00000012}.product-table-wrap{border:1px solid var(--border);background:var(--bg);-webkit-overflow-scrolling:touch;border-radius:12px;overflow-x:auto}.product-grid-head{z-index:2;background:var(--bg-alt);border-bottom:1px solid var(--border);position:sticky;top:0}.product-grid-row{border-top:1px solid var(--border);transition:background .12s}.product-grid-row:first-of-type{border-top:none}.product-grid-row:hover{background:#00000006}.product-grid-sort:hover{color:var(--ink)}.img-tile-actions{transition:opacity .12s}@media (hover:hover){.img-tile-actions{opacity:0}.img-tile:hover .img-tile-actions{opacity:1}}.auth-split{min-height:100vh;display:flex}.auth-brand{flex-direction:column;flex:1;justify-content:center;display:flex}.auth-form{flex:1;justify-content:center;align-items:center;display:flex}@media (width<=860px){.auth-brand{display:none}}.two-col{grid-template-columns:1fr 1fr;gap:32px;display:grid}.two-pane{align-items:flex-start;gap:24px;display:flex}.two-pane-aside{flex-shrink:0;width:272px}.review-row,.review-head{grid-template-columns:1fr 110px 230px;gap:16px;display:grid}.review-row{align-items:center}.form-2col{grid-template-columns:1fr 1fr;gap:16px;display:grid}.app-hamburger{display:none}.app-topbar{padding:0 32px}.app-content{padding:32px}@media (width<=768px){.two-col{grid-template-columns:1fr;gap:16px}.two-pane{flex-direction:column}.two-pane-aside{width:100%}.review-row{grid-template-columns:1fr;gap:10px}.review-head{display:none}.list-controls{flex-direction:column;align-items:stretch}.list-controls>*{width:100%}.card-action-btn{min-width:40px;min-height:40px;padding:8px 12px;font-size:14px}.app-hamburger{display:inline-flex}.app-topbar{padding:0 16px}.app-content{padding:16px}.app-sidebar{z-index:200;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-sidebar.open{transform:translate(0);box-shadow:0 0 40px #00000040}.app-sidebar-backdrop{z-index:150;background:#00000080;position:fixed;inset:0}}@media (width<=560px){.form-2col{grid-template-columns:1fr}}
