:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2933;background:#eef2f1;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:wait;opacity:.65}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:#182329;color:#e8eeee;display:flex;flex-direction:column;gap:18px}.brand-block{display:flex;align-items:center;gap:10px;padding:4px 6px 12px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-block strong,.brand-block span{display:block}.brand-block span,.api-note{color:#a8b5b8;font-size:12px}.mark{width:34px;height:34px;border-radius:6px;display:grid;place-items:center;background:#d98b5f;color:#182329;font-size:13px;font-weight:800}nav{display:grid;gap:4px}nav a{color:#cad6d8;text-decoration:none;padding:9px 10px;border-radius:6px;font-size:14px}nav a.active,nav a:hover{background:#273941;color:#fff}.api-note{margin-top:auto;overflow-wrap:anywhere;line-height:1.45}.sidebar-footer{margin-top:auto;display:grid;gap:8px}.user-chip{border-top:1px solid rgba(255,255,255,.12);padding-top:10px}.user-chip strong,.user-chip span{display:block;overflow-wrap:anywhere}.user-chip strong{color:#fff;font-size:13px}.user-chip span{color:#a8b5b8;font-size:12px}.sidebar-action{width:100%}.content{min-width:0;padding:20px}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-panel{width:min(380px,100%);display:grid;gap:12px;padding:18px;border-radius:8px;border:1px solid #d7dfdc;background:#fbfcfc;box-shadow:0 8px 28px #1423281f}.login-brand{padding:0 0 12px;color:#1f2933}.login-brand span{color:#65777a}.login-panel label{display:grid;gap:5px}.login-panel label span{color:#526568;font-size:12px}.google-sso{width:100%;min-height:38px}.auth-divider{display:flex;align-items:center;gap:10px;color:#738486;font-size:12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#d7dfdc}.workspace-grid{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);gap:16px;align-items:start}.detail-stack{display:grid;gap:16px}.panel{background:#fbfcfc;border:1px solid #d7dfdc;border-radius:8px;padding:14px;box-shadow:0 1px 2px #1423280d}.panel.full{width:min(1180px,100%)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;margin-bottom:12px}h1{margin:0;font-size:18px;line-height:1.2;font-weight:750;color:#172126}.dropzone{min-height:138px;border:1px dashed #91a4a2;border-radius:8px;background:#f4f8f6;display:grid;place-items:center;gap:4px;padding:18px;color:#3a5054;text-align:center}.dropzone.dragging{border-color:#2f766f;background:#edf7f3}.dropzone input{display:none}.dropzone strong{font-size:12px;color:#617174}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px;margin-top:12px}figure{position:relative;margin:0;border:1px solid #d6dfdc;border-radius:8px;overflow:hidden;background:#f7f9f8}figure img{width:100%;aspect-ratio:1;object-fit:cover;display:block}figcaption{padding:6px 8px;font-size:12px;color:#59696b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}figure .icon-btn{position:absolute;top:6px;right:6px;background:#182329d6;color:#fff}.control-row,.toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.control-row{margin-top:14px}.filter-row{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(130px,1fr));gap:10px;margin-bottom:12px}.filter-row label,.compact-form label{display:grid;gap:5px}.filter-row label span,.compact-form label span,.muted-note{font-size:12px;color:#526568}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:#6a7d80}.input-with-icon input{padding-left:32px}.muted-note{align-self:center}.select-field,.form-grid label,.json-editor{display:grid;gap:5px}.select-field span,.form-grid label span,.json-editor span{font-size:12px;color:#526568;text-transform:capitalize}input,select,textarea{width:100%;border:1px solid #cbd6d4;border-radius:6px;background:#fff;color:#1f2933;padding:8px 9px;outline:none}input:focus,select:focus,textarea:focus{border-color:#2f766f;box-shadow:0 0 0 3px #2f766f21}textarea{resize:vertical;min-height:80px}.primary,.secondary,.icon-btn{min-height:34px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary{background:#2f766f;color:#fff;padding:0 13px;font-weight:650}.secondary{background:#e6eeeb;color:#203036;padding:0 11px;border:1px solid #c9d7d3}.secondary.danger,.icon-btn.danger{background:#f8e8e5;color:#8f2e22;border-color:#e6c1bb}.icon-btn{width:34px;background:#e9efed;color:#24343a;border:1px solid #cdd9d6}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid .wide,.json-editor{grid-column:1 / -1}.json-editor{margin-top:12px}.json-editor textarea{min-height:120px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.json-block{margin:12px 0 0;padding:12px;max-height:360px;overflow:auto;border-radius:8px;border:1px solid #d4ddda;background:#142126;color:#dce8e5;font-size:12px;line-height:1.55}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px 8px;border-bottom:1px solid #e0e7e5;text-align:left;vertical-align:middle}th{color:#5c6f72;font-size:12px;font-weight:700;background:#f3f7f5}td.right{text-align:right;white-space:nowrap}.link-button{min-height:0;padding:0;background:transparent;color:#1f5f77;font-weight:700;text-align:left}.link-button:hover{text-decoration:underline}.table-note{margin-top:3px;color:#687b7f;font-size:12px}.product-thumb{width:52px;height:52px;border-radius:6px;border:1px solid #d2ddda;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:#eef4f2;color:#687b7f;vertical-align:middle}.product-thumb.placeholder{border-style:dashed}.product-gallery{display:grid;grid-template-columns:minmax(260px,1.1fr) repeat(3,minmax(120px,.6fr));gap:10px;margin-bottom:14px}.product-gallery.empty{min-height:74px;display:flex;align-items:center;gap:8px;padding:12px;border:1px dashed #cad8d5;border-radius:8px;color:#687b7f;background:#f5f8f7}.product-gallery figure{min-width:0}.product-gallery figure.main-photo{grid-row:span 2}.product-gallery img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.product-gallery figcaption{min-height:30px}.price-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.catalog-details,.cart-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.quantity-control{display:grid;grid-template-columns:34px minmax(34px,auto) 34px;align-items:center;gap:6px;width:max-content}.quantity-control span{min-width:34px;text-align:center;font-weight:700}.cart-empty{min-height:84px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px dashed #cad8d5;border-radius:8px;color:#4f6468;background:#f5f8f7}.cart-summary{margin-top:14px;max-width:460px;margin-left:auto}.status{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:700;background:#e8eef0;color:#43545a}.status.completed{background:#def0e7;color:#176246}.status.failed{background:#f7dfdc;color:#9a372f}.status.running,.status.pending{background:#f7edcf;color:#7b5717}.notice,.state{margin-top:12px;display:flex;align-items:center;gap:7px;min-height:34px;border-radius:6px;padding:8px 10px;font-size:13px}.notice.ok{background:#e3f2e9;color:#1d684c}.notice.error{background:#fae3df;color:#963b32}.state{background:#eef4f4;color:#4c6064}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.meta-item{border:1px solid #d9e2df;border-radius:8px;padding:9px;background:#f8faf9}.meta-item span{display:block;margin-bottom:4px;color:#607073;font-size:12px}.meta-item strong{font-size:13px;color:#1d2b31}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}nav{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-grid{grid-template-columns:1fr}.product-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.product-gallery figure.main-photo{grid-row:auto}}@media(max-width:640px){.content{padding:12px}.form-grid,.filter-row{grid-template-columns:1fr}table{display:block;overflow-x:auto}}
