:root{--bg-dark:#0f172a;--bg-card:#1e293b;--bg-card-hover:#334155;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--accent-blue:#3b82f6;--accent-emerald:#10b981;--accent-red:#ef4444;--accent-purple:#8b5cf6;--accent-amber:#f59e0b;--accent-cyan:#06b6d4;--border-color:#ffffff1a}body.light-mode{--bg-dark:#f8fafc;--bg-card:#fff;--bg-card-hover:#f1f5f9;--text-primary:#0f172a;--text-secondary:#64748b;--accent-blue:#3b82f6;--accent-emerald:#10b981;--accent-red:#ef4444;--accent-purple:#8b5cf6;--accent-amber:#d97706;--accent-cyan:#0891b2;--border-color:#0000001a}body{background-color:var(--bg-dark);color:var(--text-primary);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background-color .3s,color .3s}*{box-sizing:border-box}.layout{height:100vh;display:flex}.sidebar{background-color:var(--bg-card);border-right:1px solid var(--border-color);flex-direction:column;width:250px;transition:width .25s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar.collapsed{width:65px}.logo-text,.nav-text{opacity:1;white-space:nowrap;max-width:200px;transition:opacity .15s,max-width .25s,margin-left .25s;display:inline-block;overflow:hidden}.sidebar.collapsed .logo-text,.sidebar.collapsed .nav-text{opacity:0;max-width:0;margin-left:0}.sidebar-header{border-bottom:1px solid var(--border-color);align-items:center;gap:15px;padding:20px 22px;font-size:1.25rem;font-weight:700;display:flex}.nav-links{flex-direction:column;padding:10px 0;display:flex}.nav-link{color:var(--text-secondary);align-items:center;gap:15px;padding:12px 22px;font-weight:500;text-decoration:none;transition:all .2s,padding .25s;display:flex}.nav-link:hover,.nav-link.active{background-color:var(--bg-card-hover);color:var(--text-primary)}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.header{border-bottom:1px solid var(--border-color);background-color:var(--bg-card);justify-content:flex-end;align-items:center;height:60px;padding:0 20px;display:flex}.content-area{flex:1;padding:30px;overflow-y:auto}.page-title{color:var(--text-primary);margin-bottom:5px;font-size:1.8rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-bottom:25px}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:0 4px 6px -1px #0000001a}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:25px;display:grid}.kpi-card{flex-direction:column;gap:10px;display:flex}.kpi-title{text-transform:uppercase;color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;display:flex}.kpi-value{font-size:1.8rem;font-weight:700}.kpi-subtitle{color:var(--text-secondary);font-size:.75rem}.btn{background-color:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-weight:600;transition:opacity .2s;display:inline-flex}.btn:hover{opacity:.9}.btn-icon{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px;transition:background .2s,color .2s}.btn-icon:hover{background-color:var(--bg-card-hover);color:var(--text-primary)}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:12px 15px}.data-table th{color:var(--text-secondary);text-transform:uppercase;font-size:.85rem;font-weight:600}.data-table tr:hover{background-color:var(--bg-card-hover)}input,select{background-color:var(--bg-dark);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;outline:none;padding:8px 12px}input:focus,select:focus{border-color:var(--accent-blue)}@media (width<=768px){.layout{flex-direction:column;height:auto;min-height:100vh;position:relative}.sidebar{z-index:1000;width:250px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(0);box-shadow:5px 0 15px #00000026}.sidebar.collapsed{width:250px;transform:translate(-100%)}.sidebar.collapsed .logo-text,.sidebar.collapsed .nav-text{opacity:1!important;max-width:200px!important}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;background-color:#0006;display:block;position:fixed;inset:0}.main-content{width:100%;height:auto;min-height:100vh;margin-left:0}.header{z-index:100;background-color:var(--bg-card);width:100%;position:sticky;top:0}.content-area{padding:15px}.page-title{margin-bottom:5px!important;font-size:1.5rem!important}.page-subtitle{margin-bottom:20px!important;font-size:.9rem!important}.inventory-controls{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.inventory-controls .search-input{width:100%!important}.inventory-controls .control-buttons{gap:10px;display:flex;width:100%!important}.inventory-controls .control-buttons .btn{text-align:center;flex:1;justify-content:center}.data-table,.data-table thead,.data-table tbody,.data-table th,.data-table td,.data-table tr{width:100%;display:block}.data-table thead{display:none}.data-table tr.product-row-card{border:1px solid var(--border-color);background-color:var(--bg-card);border-radius:12px;margin-bottom:20px;padding:15px;box-shadow:0 2px 8px #0000000d}.data-table td{border-bottom:1px solid var(--border-color);padding:10px 0;position:relative;text-align:left!important}.data-table td:last-child{border-bottom:none}.data-table td:before{content:attr(data-label);text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px;font-size:.75rem;font-weight:700;display:block}.data-table td[data-label=Imagen] img{width:80px!important;height:80px!important}.data-table td[data-label="Stock y Precios"] div{flex-direction:column;align-items:stretch!important;gap:8px!important}.data-table td[data-label="Stock y Precios"] input,.data-table td[data-label=Tienda\ Web] input{margin-top:4px;width:100%!important;margin-left:0!important}.data-table td[data-label=Acción]{border-top:1px dashed var(--border-color);justify-content:flex-end;padding-top:15px;display:flex}.data-table td[data-label=Acción] button{background-color:var(--accent-blue);color:#fff;border-radius:6px;justify-content:center;width:100%;padding:10px}.data-table tr.web-details-row{border:1px solid var(--border-color);background-color:var(--bg-dark);border-top:none;border-radius:0 0 12px 12px;width:100%;margin-top:-15px;margin-bottom:20px;padding:15px;display:block}.data-table tr.web-details-row td{border:none;width:100%;padding:0;display:block}.data-table tr.web-details-row td:before{display:none}.card[style*="width: 500"]{border-radius:12px;margin:10px;width:100%!important}}
