:root{--bg: #ffffff;--surface: #f8fbff;--muted: #6b7280;--text: #0f1724;--primary: #0b5fff;--primary-600: #084ed6;--accent: #06b6d4;--success: #16a34a;--danger: #ef4444;--warning: #f59e0b;--card-border: rgba(15,23,36,.06);--shadow-1: 0 6px 18px rgba(12,24,48,.06);--glass: rgba(255,255,255,.6);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;--fs-xs: .75rem;--fs-sm: .875rem;--fs-1: 1rem;--fs-2: 1.125rem;--fs-3: 1.25rem;--fw-regular: 400;--fw-medium: 600;--fw-bold: 700;--line-height: 1.4;--space-xxs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--z-root: 0;--z-floating: 100;--z-drawer: 200;--z-tooltip: 300;--z-modal: 400;--z-toast: 500;--bp-md: 768px;--bp-lg: 1024px}@media (prefers-reduced-motion: reduce){:root{scroll-behavior:auto}*{transition:none!important;animation:none!important}}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-1);line-height:var(--line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}*{box-sizing:border-box}a{color:var(--primary);text-decoration:none}a:hover,a:focus{text-decoration:underline;outline:none}a:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent);border-radius:4px}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5{color:var(--text);margin:0 0 var(--space-sm) 0;font-weight:var(--fw-medium);line-height:1.2}h1{font-size:var(--fs-3)}h2{font-size:var(--fs-2)}h3{font-size:var(--fs-1)}p{margin:0 0 var(--space-md) 0;color:var(--muted)}.small,.muted{font-size:var(--fs-sm);color:var(--muted)}input,textarea,select,button{font:inherit}label{display:block;margin-bottom:calc(var(--space-xs) / 2);font-size:var(--fs-sm);color:var(--muted)}.form-input,.input,input[type=search],.fileuploader-remote-field{width:100%;padding:.5rem .75rem;border:1px solid var(--card-border);border-radius:6px;background:#fff;color:var(--text);transition:box-shadow .12s ease,border-color .12s ease}.form-input:focus,.input:focus,input[type=search]:focus,.fileuploader-remote-field:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 40%,#fff);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent);border-radius:6px}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.45rem .75rem;border-radius:6px;border:1px solid transparent;background:var(--surface);color:var(--text);cursor:pointer;font-weight:var(--fw-medium);transition:transform .06s ease,box-shadow .08s ease,background-color .12s ease}.btn:focus{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary,.btn--primary{background:var(--primary);color:#fff;border-color:var(--primary-600)}.btn-primary:hover,.btn--primary:hover{background:var(--primary-600)}.btn-ghost,.btn--ghost{background:transparent;border:1px solid var(--card-border)}.btn-link,.btn--link,.roifeed-link{background:transparent;color:var(--primary);border:0;padding:.25rem;text-decoration:underline}.btn-sm,.btn-small{padding:.25rem .5rem;font-size:var(--fs-sm);border-radius:4px}.btn-toggle[aria-pressed=true],button[aria-pressed=true]{background:color-mix(in srgb,var(--primary) 10%,var(--surface));border-color:color-mix(in srgb,var(--primary) 16%,var(--card-border))}.btn--toggle{background:transparent;border:1px solid var(--card-border)}.container{width:100%;padding-left:var(--space-md);padding-right:var(--space-md);margin-left:auto;margin-right:auto}@media (min-width:var(--bp-md)){.container{max-width:720px}}@media (min-width:var(--bp-lg)){.container{max-width:1100px}}.visually-hidden,.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:var(--text);color:#fff;padding:.5rem 1rem;z-index:9999;border-radius:6px}.card,.auth-card,.channel-card,.roifeed-card{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-1)}.muted{color:var(--muted)}.layout-grid{display:grid;gap:var(--space-md);grid-template-columns:1fr}@media (min-width:var(--bp-lg)){.layout-grid{grid-template-columns:280px 1fr}}.grid-view{margin-top:var(--space-md);background:#fff;border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);overflow:hidden}.grid-view__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md);background:color-mix(in srgb,var(--surface) 65%,#fff);border-bottom:1px solid var(--card-border)}.grid-view__meta{display:flex;gap:var(--space-lg);align-items:center}.grid-view__meta strong{display:block;font-size:var(--fs-2);color:var(--text)}.grid-view__actions{margin-left:auto}.data-grid{width:100%;overflow-x:auto}.data-grid__table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}.data-grid__table th,.data-grid__table td{padding:.65rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--card-border) 85%,transparent);font-size:var(--fs-sm);color:var(--text);vertical-align:top}.data-grid__table thead th{text-align:left;font-weight:var(--fw-medium);background:color-mix(in srgb,var(--surface) 90%,#fff);position:sticky;top:0;z-index:1}.data-grid__filters th{background:color-mix(in srgb,var(--surface) 95%,#fff);padding-top:.4rem;padding-bottom:.4rem}.data-grid__status{text-align:center;padding:1.5rem .5rem;color:var(--muted)}.grid-input{width:100%;padding:.35rem .5rem;border:1px solid var(--card-border);border-radius:4px;font-size:var(--fs-sm);background:#fff;color:var(--text)}.grid-input:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 35%,var(--card-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.grid-editable-cell{display:flex;align-items:center;gap:.5rem}.grid-editable-cell .grid-input{flex:1 1 auto}.grid-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:999px;font-size:var(--fs-xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.02em;background-color:color-mix(in srgb,var(--card-border) 45%,var(--surface));color:var(--muted)}.grid-badge--override{background-color:color-mix(in srgb,var(--primary) 18%,#ffffff);color:var(--primary-600)}.grid-badge--feed{background-color:color-mix(in srgb,var(--success) 20%,#ffffff);color:var(--success)}.grid-badge--extra{background-color:color-mix(in srgb,var(--accent) 22%,#ffffff);color:var(--accent)}.grid-saving-indicator{font-size:var(--fs-xs);color:var(--muted)}.grid-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-sm)}.grid-toggle input[type=checkbox]{width:1rem;height:1rem}.data-grid__table .is-center{text-align:center}.data-grid__table .is-right{text-align:right}.grid{display:grid;gap:var(--space-md)}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.row{display:flex;gap:var(--space-sm);align-items:center}.col{flex:1}.mt-sm{margin-top:var(--space-sm)}.mb-sm{margin-bottom:var(--space-sm)}.p-sm{padding:var(--space-sm)}.roifeed-grid{width:100%;border:1px solid var(--card-border);border-radius:8px;overflow:hidden;background:linear-gradient(180deg,var(--surface),#fff)}.roifeed-grid-head{background:transparent;border-bottom:1px solid var(--card-border)}.roifeed-grid-row.roifeed-grid-row-head{display:grid;grid-template-columns:2fr 1fr 120px 100px 160px;gap:var(--space-sm);padding:.75rem var(--space-md);font-weight:var(--fw-medium);font-size:var(--fs-sm);color:var(--muted);align-items:center}@media (max-width:599px){.roifeed-grid-row.roifeed-grid-row-head{grid-template-columns:1fr 80px 80px}}.roifeed-grid-body{display:block}.roifeed-grid-row{display:grid;grid-template-columns:2fr 1fr 120px 100px 160px;gap:var(--space-sm);padding:.75rem var(--space-md);align-items:center;border-bottom:1px dashed rgba(15,23,36,.03);transition:background-color .12s ease,transform .06s ease}.roifeed-grid-row:hover{background:color-mix(in srgb,var(--primary) 4%,transparent)}.roifeed-grid-row[data-state=selected],.roifeed-grid-row.js-is-overridden{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}@media (max-width:599px){.roifeed-grid-row{grid-template-columns:1fr 80px 80px;grid-auto-rows:minmax(44px,auto)}}[role=cell]{padding:.125rem 0;color:var(--text);font-size:var(--fs-sm)}[data-testid^=gridview-cell-][data-state=editing],.js-is-editing{outline:2px solid color-mix(in srgb,var(--primary) 14%,transparent);background:color-mix(in srgb,var(--primary) 6%,transparent);border-radius:6px;padding:.5rem}[data-testid^=gridview-row-]{cursor:default}[data-testid^=gridview-cell-]{min-width:0}.roifeed-grid-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.js-channel-toggle{background:transparent;border:1px solid var(--card-border);padding:.25rem .5rem;border-radius:6px}.js-channel-toggle[aria-pressed=true]{background:color-mix(in srgb,var(--primary) 8%,transparent);border-color:color-mix(in srgb,var(--primary) 16%,var(--card-border))}[data-testid^=channel-toggle-]:focus,.js-channel-toggle:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent);border-radius:6px;outline:none}#producteditor-drawer,.roifeed-drawer,.drawer{position:fixed;top:0;right:0;height:100vh;width:100%;max-width:420px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:-24px 0 64px #060f2040;transform:translate(100%);transition:transform .28s cubic-bezier(.2,.9,.3,1);z-index:var(--z-drawer);overflow:auto;border-left:1px solid rgba(15,23,36,.06);padding:var(--space-md)}#producteditor-drawer.js-is-open,.roifeed-drawer.js-is-open,.drawer.js-is-open,#producteditor-drawer[aria-hidden=false],#producteditor-drawer[data-state=open]{transform:translate(0)}.roifeed-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.roifeed-drawer-title{font-size:var(--fs-2);margin:0}#producteditor-drawer :focus{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent);border-radius:6px}#producteditor-drawer[aria-labelledby] .roifeed-drawer-title{outline-offset:3px;font-weight:var(--fw-bold);color:var(--primary)}.roifeed-product-form label{margin-top:var(--space-sm)}.roifeed-product-form input{margin-bottom:var(--space-sm)}.roifeed-drawer-close{background:transparent;border:0;font-size:var(--fs-2)}.roifeed-drawer-close:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent);border-radius:6px;outline:none}.channel-panel{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-md) 0}.channel-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.channel-cards{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.channel-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);background:#fff;border:1px solid var(--card-border);transition:box-shadow .12s ease,transform .08s ease}.channel-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-1)}.channel-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.channel-meta{flex:1}.channel-title{margin:0 0 .25rem;font-size:var(--fs-1)}.channel-desc{margin:0;color:var(--muted);font-size:var(--fs-sm)}.channel-stats{display:flex;gap:var(--space-lg);margin:var(--space-sm) 0;padding:0;list-style:none}.channel-stats div{display:flex;flex-direction:column;font-size:var(--fs-sm);color:var(--muted)}.channel-stats dd{margin:0;font-size:var(--fs-1);color:var(--text)}.channel-generation{margin-top:var(--space-xs);font-size:var(--fs-sm);color:var(--muted)}.mapping-pill{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:999px;font-size:var(--fs-sm);background:#f7f9fc;border:1px solid rgba(11,95,255,.06)}.mapping-complete{background:color-mix(in srgb,var(--success) 6%,#fff)}.mapping-partial{background:color-mix(in srgb,var(--warning) 6%,#fff)}.mapping-missing{background:color-mix(in srgb,var(--danger) 6%,#fff)}.channel-preview{margin-top:var(--space-sm);padding:var(--space-sm);border-radius:8px;border:1px dashed rgba(15,23,36,.04);background:linear-gradient(180deg,#fff,#fbfdff)}.channel-preview.is-closed{display:none}.channel-preview.is-open{display:block}.preview-list{display:grid;gap:.5rem;grid-template-columns:1fr}.preview-row{display:flex;gap:var(--space-sm);align-items:center}.preview-key{width:160px;font-family:monospace;color:var(--muted)}.preview-value{flex:1;color:var(--text)}.sample-product-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-xs)}.sample-product{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.sample-product-actions{display:flex;gap:var(--space-xs)}input[data-testid^=mappingeditor-field-],select[data-testid^=mappingeditor-field-],textarea[data-testid^=mappingeditor-field-]{padding:.5rem;border:1px solid var(--card-border);border-radius:6px;width:100%}.mapping-field.is-invalid,input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 8%,transparent)}[data-testid^=mappingwizard-step-]{display:block;padding:var(--space-sm) 0;border-left:3px solid transparent;margin-bottom:var(--space-xs)}[data-testid^=mappingwizard-step-][aria-selected=true]{border-left-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,transparent)}[role=tablist]{display:flex;gap:var(--space-sm)}[role=tab][aria-selected=true]{border-left-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,transparent)}.feedmanager-root{padding:var(--space-md)}.channel-controls .btn{margin-right:.5rem}[data-testid^=feedmanager-generate-]{background:var(--primary);color:#fff;border-color:var(--primary-600)}[data-testid^=feedmanager-generate-]:disabled,.btn[disabled]{opacity:.6;cursor:not-allowed;transform:none}.history-table-wrap{overflow:auto;border:1px solid var(--card-border);border-radius:8px;padding:var(--space-sm)}.feedpreview-root{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);background:linear-gradient(180deg,#fff,#fbfdff);border-radius:8px;border:1px solid var(--card-border)}.feedpreview-controls{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;justify-content:space-between}.feedpreview-heading{margin:0;display:flex;gap:.5rem;align-items:center;font-size:var(--fs-2)}.feedpreview-toolbar{display:flex;gap:.5rem;align-items:center}.feedpreview-column-toggles .feedpreview-col-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:6px;border:1px solid var(--card-border);background:#fff;cursor:pointer;margin:.25rem .125rem}.feedpreview-col-toggle.is-visible{background:color-mix(in srgb,var(--primary) 6%,#fff);border-color:color-mix(in srgb,var(--primary) 12%,var(--card-border))}.feedpreview-col-toggle:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent);outline:none}.feedpreview-table-wrap{display:block;border-radius:8px;overflow:auto;border:1px solid var(--card-border)}.feedpreview-table-head{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:#fff;padding:.5rem;border-bottom:1px solid var(--card-border)}.feedpreview-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr)) 140px;gap:var(--space-sm);padding:.5rem;border-bottom:1px dashed rgba(15,23,36,.03);align-items:center}.feedpreview-cell{padding:.25rem .5rem;font-size:var(--fs-sm)}.feedpreview-badge-error{margin-left:.35rem;color:var(--danger)}.feedpreview-action-btn{background:transparent;border:1px solid var(--card-border);padding:.35rem .5rem;border-radius:6px}.fileuploader-root{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md)}.fileuploader-upload-section{background:linear-gradient(180deg,#fff,#fbfdff);padding:var(--space-md);border-radius:8px;border:1px solid var(--card-border)}.fileuploader-dropzone{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg);border:2px dashed rgba(11,95,255,.08);border-radius:10px;background:linear-gradient(180deg,#fbfdff,#fff);transition:background-color .12s ease,border-color .12s ease,transform .06s ease;cursor:pointer}.fileuploader-dropzone.is-dragging{background:color-mix(in srgb,var(--primary) 4%,transparent);border-color:color-mix(in srgb,var(--primary) 12%,transparent);transform:translateY(-2px)}.fileuploader-drop-inner{text-align:center}.fileuploader-open-btn{background:transparent;border:none;color:var(--primary);text-decoration:underline;cursor:pointer}.fileuploader-input-label{display:block;cursor:pointer}.app-header__nav{margin-top:var(--space-md)}.app-header__nav-list{list-style:none;display:flex;gap:var(--space-sm);padding:0;margin:0}.app-header__nav-button{border:1px solid transparent;background:transparent;padding:.5rem .75rem;border-radius:6px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.app-header__nav-button[aria-current=page]{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 25%,transparent);background:color-mix(in srgb,var(--primary) 8%,#fff)}.app-header__nav-button:hover{color:var(--primary)}.app-header__nav-button:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.fileuploader-input-label:hover,.fileuploader-input-label:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent);border-radius:6px;outline:none}.fileuploader-preview{margin-top:var(--space-sm);border:1px solid var(--card-border);padding:var(--space-sm);border-radius:8px;background:#fff}.fileuploader-table{width:100%}.fileuploader-cell{padding:.4rem .5rem;border-bottom:1px solid rgba(15,23,36,.02);font-size:var(--fs-sm)}.fileuploader-progress{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:8px;border-radius:6px;overflow:hidden;background:linear-gradient(90deg,var(--primary),var(--accent))}.fileuploader-status dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem}.toast-list{position:fixed;right:var(--space-md);top:var(--space-md);z-index:var(--z-toast);display:flex;flex-direction:column;gap:.5rem;max-width:28rem}.toast-item{display:flex;align-items:flex-start;justify-content:space-between;padding:.5rem .75rem;border-radius:8px;box-shadow:var(--shadow-1);background:#fff;border:1px solid var(--card-border)}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-info{border-left:4px solid var(--primary)}.toast-close-btn{background:transparent;border:0;cursor:pointer;font-size:1rem}.sidebar{width:100%;background:var(--surface);border-right:1px solid var(--card-border);padding:var(--space-md)}.sidebar .sidebar-link{display:block;padding:.5rem 0;color:var(--text)}.sidebar .sidebar-link:hover,.sidebar .sidebar-link:focus{color:var(--primary);text-decoration:underline}#sidebar-navigation[data-state=closed]{width:64px;overflow:hidden}.toolbar__header{background:transparent;border-bottom:1px solid rgba(15,23,36,.03)}.toolbar__title{margin:0}#gridview-container{min-height:220px}[data-state=loading],.js-is-loading{opacity:.85;pointer-events:none}[data-state=open],.js-is-open{visibility:visible}[data-state=closed]{visibility:hidden}[data-state=invalid],.js-is-invalid,.is-invalid{border-color:var(--danger)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 8%,transparent)}.js-is-overridden,[data-state=overridden]{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}.spin{display:inline-block;width:1rem;height:1rem;border-radius:50%;border:2px solid rgba(0,0,0,.08);border-top-color:var(--primary);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width: 768px){.container{padding-left:var(--space-lg);padding-right:var(--space-lg)}.fileuploader-dropzone{padding:var(--space-xl)}.roifeed-grid-row{padding:1rem var(--space-lg)}.feedpreview-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr)) 160px}}@media (min-width: 1024px){.container{max-width:1200px}.sidebar{position:sticky;top:0;height:100vh}.roifeed-grid-row{grid-template-columns:3fr 1fr 140px 120px 180px}}:focus{outline-offset:3px}:focus:not(:focus-visible){outline:none;box-shadow:none}[data-testid^=feedpreview-link-],[data-testid^=feedmanager-generate-],[data-testid^=channelpanel-include-]{outline:none}[data-testid^=feedpreview-link-]:focus,[data-testid^=feedmanager-generate-]:focus,[data-testid^=channelpanel-include-]:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent);border-radius:6px}.btn-primary:hover,.btn-primary:focus{filter:brightness(.98)}button::-moz-focus-inner{border:0;padding:0}input::placeholder,textarea::placeholder{color:#6b728099}[data-testid^=channel-toggle-]{cursor:pointer}[data-testid^=feedpreview-link-]{color:var(--primary)}input[data-testid=fileuploader-input],[data-testid=fileuploader-input]{display:none}[aria-controls]{outline:none}[aria-controls]:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent);border-radius:6px}.btn-secondary{background:var(--surface);border:1px solid var(--card-border);color:var(--text)}.app-shell{max-width:1100px;margin:0 auto;padding:var(--space-xl) var(--space-lg)}.app-header{margin-bottom:var(--space-lg)}.app-header__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.app-header__title{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.app-header__actions{display:flex;align-items:center;gap:var(--space-sm)}.app-header__logout-btn{white-space:nowrap}.feed-manager__list{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:var(--space-lg)}.feed-card{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:var(--space-md)}.feed-card--active{border-color:color-mix(in srgb,var(--primary) 40%,#fff)}.feed-card__header{display:flex;align-items:center;justify-content:space-between}.feed-card__actions{display:flex;justify-content:flex-end}.grid-section{background:#fff;border-radius:var(--radius-md);border:1px solid var(--card-border);padding:var(--space-md);box-shadow:var(--shadow-1);margin-bottom:var(--space-xl)}.grid-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.grid-summary{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 var(--space-sm) 0;font-size:var(--fs-sm);color:var(--muted)}.grid-summary__item strong{margin-right:.25rem;color:var(--text)}.grid-table{border:1px solid var(--card-border);border-radius:var(--radius-sm);overflow:hidden;background:#fff}.grid-table__scroll{overflow-x:auto}.grid-table table{width:100%;min-width:640px;border-collapse:collapse}.grid-table thead th{background:var(--surface);border-bottom:1px solid rgba(15,23,36,.08);padding:var(--space-sm);text-align:left;font-weight:var(--fw-medium);font-size:var(--fs-sm);color:var(--muted)}.grid-table tbody td{padding:var(--space-sm);border-bottom:1px solid rgba(15,23,36,.05);font-size:var(--fs-sm);vertical-align:middle}.grid-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface) 60%,#fff)}.grid-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 4%,#fff)}.grid-table__row{background:transparent}.grid-table__row--loading td,.grid-table__row--empty td{text-align:center;padding:var(--space-lg);color:var(--muted)}.grid-header-cell{display:flex;flex-direction:column;gap:.25rem}.grid-header-cell__filter input,.grid-header-cell__filter select{width:100%;padding:.25rem .5rem;border:1px solid var(--card-border);border-radius:4px;font-size:var(--fs-sm);background:#fff;color:var(--text)}.grid-header-cell__filter select{padding-right:1.75rem}.grid-cell-input{width:100%;padding:.375rem .5rem;border:1px solid var(--card-border);border-radius:4px;font-size:var(--fs-sm);background:#fff;color:var(--text)}.grid-cell-input:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 38%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.grid-table th:first-child,.grid-table td:first-child{width:48px;text-align:center}.toggle{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--fs-sm)}.alert{background:color-mix(in srgb,var(--danger) 10%,#fff);border:1px solid color-mix(in srgb,var(--danger) 30%,#fff);color:var(--danger);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-lg)}.product-editor{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172459;display:none;align-items:flex-end;justify-content:center;z-index:var(--z-drawer);padding:var(--space-lg)}.product-editor--open{display:flex}.product-editor__inner{background:#fff;border-radius:var(--radius-lg);width:min(520px,100%);padding:var(--space-lg);box-shadow:var(--shadow-1)}.product-editor__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.form-field{margin-bottom:var(--space-md)}.form-field--inline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.product-editor__actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}.inline-alert{border-radius:.75rem;padding:.75rem 1rem;font-size:var(--fs-sm);line-height:1.4;border:1px solid transparent;display:flex;gap:.5rem;align-items:center}.inline-alert--info{background-color:#1e40af1a;border-color:#1e40af40;color:#1e3a8a}.inline-alert--destructive{background-color:#dc26261f;border-color:#dc262659;color:#991b1b}
