:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-root:#f0f1f3;--bg-elevated:#f7f8fa;--bg-panel:#fff;--bg-panel-hover:#f3f4f6;--border:#e2e5e9;--border-strong:#cfd4dc;--text:#1a1a1a;--text-muted:#6b7280;--accent:#ca3d0c;--accent-hover:#e04e07;--accent-soft:#ca3d0c1a;--accent-on:#fff;--link:#ca3d0c;--info:#2563eb;--danger:#c62828;--warning:#e65100;--success:#2e7d32;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--radius:6px;--radius-sm:4px;--font-sans:"Archivo", system-ui, -apple-system, sans-serif;--font-mono:"Cascadia Code", "Consolas", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg-root);color:var(--text);margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.logo-mark{border-radius:var(--radius-sm);background:var(--accent);width:42px;height:42px;color:var(--accent-on);letter-spacing:-.04em;place-items:center;font-weight:700;display:grid}.logo-mark.lg{width:64px;height:64px;font-size:1.25rem}.app-shell{grid-template-columns:260px 1fr;height:100%;min-height:100dvh;display:grid;overflow:hidden}.app-main{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.app-content{flex-direction:column;flex:1;min-height:0;padding:1.5rem;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--border);background:var(--bg-root);flex-direction:column;gap:1.5rem;padding:1.25rem;display:flex}.sidebar-brand{align-items:center;gap:.85rem;display:flex}.sidebar-brand strong,.sidebar-brand span{line-height:1.1;display:block}.sidebar-brand span{color:var(--text-muted);font-size:.85rem}.sidebar-nav{flex-direction:column;gap:.35rem;display:flex}.sidebar-link{border-radius:var(--radius-sm);color:var(--text-muted);border:1px solid #0000;padding:.75rem .9rem;transition:all .2s}.sidebar-link:hover,.sidebar-link.active{color:var(--text);background:var(--accent-soft);border-color:var(--border)}.sidebar-footer{color:var(--text-muted);margin-top:auto}.menu-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;padding:.45rem;display:none}.menu-toggle-bar{background:currentColor;border-radius:1px;width:100%;height:2px;transition:transform .2s,opacity .2s;display:block}.sidebar-backdrop{z-index:40;cursor:pointer;background:#0006;border:none;padding:0;display:none;position:fixed;inset:0}body.nav-open{overflow:hidden}.app-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.header-title{flex:1;min-width:0}.header-product-name{margin:0;font-size:1.15rem;font-weight:600}.header-actions{align-items:center;gap:.75rem;display:flex}.user-chip{border-radius:var(--radius-sm);background:var(--bg-panel);border:1px solid var(--border);flex-direction:column;align-items:flex-end;padding:.45rem .75rem;display:flex}.user-chip small{color:var(--text-muted)}.header-link{color:var(--link)}.page-card,.auth-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.page-card.narrow{max-width:520px}.page-card h2,.auth-card h1{margin:0}.page-subtitle{color:var(--text-muted);margin:.75rem 0 1.5rem}.placeholder-banner,.table-empty{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px dashed var(--border-strong);color:var(--text-muted);padding:1rem 1.25rem}.placeholder-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.page-title{letter-spacing:-.02em;margin:0;font-size:1.65rem;font-weight:700}.page-title--section{font-size:1.35rem}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.85rem;display:grid}.stat-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem 1rem}.stat-card--alert{background:#fff8f7;border-color:#c6282859}.stat-card__label{color:var(--text-muted);font-size:.78rem;display:block}.stat-card__value{margin-top:.3rem;font-size:1.65rem;font-weight:600;line-height:1.1;display:block}.stat-card__hint{color:var(--text-muted);margin-top:.2rem;font-size:.72rem;display:block}.dashboard-grid{grid-template-columns:1fr 1fr;gap:1rem;min-height:12rem;display:grid}.panel-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);min-height:0;box-shadow:var(--shadow);flex-direction:column;padding:1rem 1.15rem;display:flex}.panel-card--full{flex-shrink:0}.panel-card__title{margin:0 0 .85rem;font-size:.95rem;font-weight:600}.status-list{margin:0;padding:0;list-style:none}.status-list li{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.5rem 0;font-size:.9rem;display:grid}.status-list li:last-child{border-bottom:none}.status-list strong{font-size:.95rem;font-weight:600}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot--success{background:var(--success)}.status-dot--warning{background:var(--warning)}.status-dot--danger{background:var(--danger)}.status-dot--info{background:var(--info)}.status-dot--muted{background:var(--border-strong)}.auth-page{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{width:min(100%,420px)}.auth-brand{text-align:center;margin-bottom:1.5rem}.auth-brand p{color:var(--text-muted)}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-form-footer{justify-content:flex-end;margin-top:-.25rem;display:flex}.auth-link{color:var(--accent);font-size:.92rem;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-success{color:var(--text-muted);margin:0;line-height:1.5}.form-field{flex-direction:column;gap:.4rem;display:flex}.form-label{color:var(--text-muted);font-size:.92rem}.form-input,.form-textarea,.form-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--text);padding:.75rem .85rem}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-hint,.form-error{font-size:.82rem}.form-hint{color:var(--text-muted)}.form-error{color:var(--danger)}.form-actions{gap:.75rem;margin-top:.5rem;display:flex}.form-actions .form-error{width:100%;margin:0}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:.7rem 1rem;transition:all .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-on);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-elevated);border-color:var(--border);color:var(--text)}.btn-ghost{border-color:var(--border);color:var(--text);background:0 0}.btn-danger{color:var(--danger);background:#ffebee;border-color:#ef9a9a}.btn-block{width:100%}.loading{color:var(--text-muted);align-items:center;gap:.75rem;display:inline-flex}.loading-fullscreen{justify-content:center;min-height:100vh}.loading-spinner{border:2px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;width:1.1rem;height:1.1rem;animation:.8s linear infinite spin}.table-wrapper{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.scroll-area{-webkit-overflow-scrolling:touch;overflow:auto}.scroll-area::-webkit-scrollbar{width:8px;height:8px}.scroll-area::-webkit-scrollbar-track{background:var(--bg-elevated);border-radius:4px}.scroll-area::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.scroll-area::-webkit-scrollbar-thumb:hover{background:#00000040}.data-table{border-collapse:collapse;width:100%;min-width:640px}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;padding:.85rem 1rem}.data-table th{color:var(--text-muted);background:var(--bg-elevated);font-size:.85rem;font-weight:600}.modal-backdrop{z-index:50;background:#00000073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-panel{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius);width:min(100%,520px);max-height:min(90vh,640px);box-shadow:var(--shadow);flex-direction:column;display:flex}.modal-panel--wide{width:min(100%,560px)}.modal-panel--confirm{width:min(100%,400px)}.confirm-modal-target{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);word-break:break-word;padding:.85rem 1rem;font-weight:600;line-height:1.4}.modal-header,.modal-footer{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.85rem 1.15rem;display:flex}.modal-header h2{margin:0;padding-right:.5rem;font-size:1rem;line-height:1.35}.modal-footer{border-bottom:none;border-top:1px solid var(--border);flex-wrap:wrap;gap:.75rem}.modal-footer-actions{flex-wrap:wrap;gap:.5rem;margin-right:auto;display:flex}.modal-footer-end{justify-content:flex-end;align-items:center;gap:.75rem;margin-left:auto;display:flex}.modal-body{flex:1;min-height:0;padding:1rem 1.15rem;overflow-y:auto}.modal-form-error{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger);margin:0 0 .85rem;padding:.65rem .75rem;font-size:.875rem;line-height:1.4}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem}.toast-container{z-index:60;flex-direction:column;gap:.75rem;display:flex;position:fixed;bottom:1rem;right:1rem}.toast{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-panel);min-width:280px;max-width:360px;box-shadow:var(--shadow);justify-content:space-between;gap:1rem;padding:.9rem 1rem;display:flex}.toast p{color:var(--text-muted);margin:.35rem 0 0;font-size:.9rem}.toast-success{border-color:#35e0a159}.toast-error{border-color:#ff5c7a59}.toast-info{border-color:#ca3d0c66}.toast button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.2rem}.page-stack{flex-direction:column;flex:1;gap:1.25rem;min-height:0;display:flex;overflow:hidden}.page-stack>.page-header,.page-stack>.page-title,.page-stack>.filters-bar,.page-stack>.placeholder-grid,.page-stack>.metric-grid,.page-stack>.dashboard-grid,.page-stack>.panel-card--full{flex-shrink:0}.page-stack--dashboard{overflow:auto}.page-body{flex-direction:column;flex:1;gap:1.25rem;min-height:0;display:flex}.page-card--fill{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.page-card-scroll{flex:1;min-height:0}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header h2{margin:0}.page-header-actions{flex-wrap:wrap;gap:.75rem;display:flex}.filters-bar{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.filters-bar .form-field{flex:1;min-width:160px}.row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.product-id-cell{align-items:center;gap:.5rem;display:flex}.product-id-value{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);min-width:0;min-height:2.5rem;font-family:var(--font-mono);word-break:break-all;flex:1;align-items:center;padding:.45rem .65rem;font-size:.82rem;line-height:1.35;display:flex}.checkbox-row{color:var(--text);cursor:pointer;align-items:center;gap:.6rem;display:flex}.badge{border:1px solid #0000;border-radius:4px;align-items:center;padding:.15rem .5rem;font-size:.78rem;font-weight:600;display:inline-flex}.badge-success{color:#1b5e20;background:#e8f5e9;border-color:#a5d6a7}.badge-danger{color:#b71c1c;background:#ffebee;border-color:#ef9a9a}.badge-warning{color:#e65100;background:#fff3e0;border-color:#ffcc80}.badge-info{color:#1565c0;background:#e3f2fd;border-color:#90caf9}.badge-muted{color:var(--text-muted);background:var(--bg-elevated);border-color:var(--border)}.text-muted{color:var(--text-muted);font-size:.9rem}.text-mono{font-family:var(--font-mono);word-break:break-all;font-size:.82rem}.alert-warning{border-radius:var(--radius-sm);color:var(--text-muted);background:#ffb02014;border:1px solid #ffb02047;margin-bottom:1rem;padding:.85rem 1rem;font-size:.9rem;line-height:1.5}.license-key-box{font-family:var(--font-mono);resize:vertical;font-size:.82rem}.table-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.copy-row{flex-direction:column;gap:.5rem;display:flex}@media (width>=640px){.copy-row{flex-direction:row;align-items:flex-start}.copy-row .form-textarea{flex:1}}.detail-list{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;font-size:.92rem;display:grid}.detail-list dt{color:var(--text-muted);font-weight:600}.detail-list dd{margin:0}.detail-list--compact{gap:.25rem .75rem;font-size:.88rem}.detail-section{border-top:1px solid var(--border);margin-top:.85rem;padding-top:.85rem}.detail-section h3{margin:0 0 .35rem;font-size:.9rem;font-weight:600}.detail-section .page-subtitle{margin:0 0 .5rem;font-size:.82rem;line-height:1.4}.tabs{flex-direction:column;gap:.75rem;min-height:0;display:flex}.tabs-list{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;gap:.35rem;padding-bottom:.5rem;display:flex}.tabs-trigger{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:.4rem .75rem;font-size:.85rem;font-weight:600}.tabs-trigger:hover{color:var(--text);background:var(--bg-elevated)}.tabs-trigger--active{color:var(--text);background:var(--bg-elevated);border-color:var(--border-strong)}.tabs-panel{min-height:0}.form-textarea--compact{min-height:2.5rem;max-height:4.5rem}.detail-section-actions{flex-wrap:wrap;gap:.5rem;margin-top:.65rem;display:flex}.validate-result{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);flex-direction:column;gap:.65rem;margin:1rem 0;padding:.85rem 1rem;display:flex}.validate-result-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.validate-result-row>span{color:var(--text-muted);font-size:.9rem}.pagination-bar{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1023px){.app-content,.page-card,.auth-card{padding:1.25rem}.app-header{padding:1rem 1.25rem}.header-product-name{font-size:1.05rem}}@media (width<=767px){.app-shell{grid-template-columns:1fr}.menu-toggle{display:inline-flex}.sidebar-backdrop{opacity:0;pointer-events:none;transition:opacity .25s;display:block}.app-shell.nav-open .sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar{z-index:50;border-right:1px solid var(--border);width:min(280px,88vw);max-width:100%;box-shadow:var(--shadow);border-bottom:none;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.app-shell.nav-open .sidebar{transform:translate(0)}.app-shell.nav-open .menu-toggle-bar:first-child{transform:translateY(7px)rotate(45deg)}.app-shell.nav-open .menu-toggle-bar:nth-child(2){opacity:0}.app-shell.nav-open .menu-toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.app-header{grid-template-columns:auto 1fr;grid-template-areas:"menu title""actions actions";align-items:center;gap:.75rem 1rem;padding:.85rem 1rem;display:grid}.menu-toggle{grid-area:menu}.header-title{grid-area:title}.header-actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-start;width:100%}.header-product-name{font-size:1rem}.user-chip{align-items:flex-start}.app-content,.page-card,.auth-card{padding:1rem}.page-header{flex-direction:column;align-items:stretch}.page-header-actions{width:100%}.page-header-actions .btn{flex:1;min-width:0}.page-subtitle{margin-bottom:1rem}.filters-bar{flex-direction:column;align-items:stretch}.filters-bar .form-field{flex:none;width:100%;min-width:0}.filters-bar>.btn{width:100%}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.row-actions{flex-direction:column;align-items:stretch}.row-actions .btn{width:100%}.table-actions{flex-direction:column;align-items:stretch}.table-actions .btn{width:100%}.pagination-bar{flex-direction:column;align-items:stretch}.pagination-bar .btn{width:100%}.modal-backdrop{align-items:flex-end;padding:0}.modal-panel,.modal-panel--wide{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-height:min(92vh,100dvh)}.modal-footer{flex-direction:column;align-items:stretch}.modal-footer-actions,.modal-footer-end{flex-direction:column;align-items:stretch;width:100%;margin:0}.modal-footer-end .btn{width:100%}.toast-container{left:.75rem;right:.75rem;bottom:max(.75rem, env(safe-area-inset-bottom,0px))}.toast{width:100%;min-width:0;max-width:none}.auth-page{padding:1rem;padding-top:max(1.5rem, env(safe-area-inset-top,0px));align-items:flex-start}.validate-result-row{flex-direction:column;align-items:flex-start}.detail-list{grid-template-columns:1fr;gap:.15rem}.detail-list dt{margin-top:.5rem}.detail-list dt:first-child{margin-top:0}.product-id-cell{flex-direction:column;align-items:stretch}.placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=479px){.placeholder-grid{grid-template-columns:1fr}.header-link{text-align:center;width:100%;padding:.5rem 0}.header-actions .btn{flex:1;min-width:calc(50% - .375rem)}}@media (width>=1280px){.app-content{padding:1.75rem 2rem}.page-stack{max-width:1400px}}
